攀枝花醫(yī)保管理系統(tǒng)IC卡數(shù)據(jù)結(jié)構(gòu)分析
文章出處:http://bookmouse.cn 作者:fondcard 人氣: 發(fā)表時(shí)間:2011年09月17日
[文章內(nèi)容簡(jiǎn)介]:本文主要說(shuō)明醫(yī)保系統(tǒng)中采用的各種IC卡片中的數(shù)據(jù)結(jié)構(gòu)及相互關(guān)系,是系統(tǒng)構(gòu)成的重要技術(shù)性文章。
概 述
本文主要說(shuō)明醫(yī)保系統(tǒng)中采用的各種IC卡片中的數(shù)據(jù)結(jié)構(gòu)及相互關(guān)系,是系統(tǒng)構(gòu)成的重要技術(shù)性文章。
在本系統(tǒng)中,根據(jù)IC卡類型可分為兩種:CPU卡和SLE4428邏輯加密卡;根據(jù)其應(yīng)用功能的不同,可以分為:總控卡、密鑰傳輸卡、密鑰卡和醫(yī)保卡(也可以叫用戶卡)。另外,由于系統(tǒng)管理的需要,特別添加了管理員卡(用于登錄發(fā)卡系統(tǒng))。
其相互關(guān)系如下:
一、 CPU卡
本系統(tǒng)采用的CPU卡系符合國(guó)家勞動(dòng)保障部規(guī)定的智能IC卡,芯片采用符合社保要求的國(guó)產(chǎn)華大芯片,自帶8位微處理器,數(shù)據(jù)存儲(chǔ)空間為8K ,CPU卡的操作系統(tǒng)(COS)為廣東德生科技有限公司自主開發(fā)并獲得社保認(rèn)證的社保IC卡操作系統(tǒng)。目前已在廣東省、云南省等地區(qū)廣泛應(yīng)用。
CPU卡中所有信息都是以文件形式保存的,而文件又是以目錄形式組織的〔事實(shí)上,在CPU卡里,目錄也被稱為文件,叫專用文件(DF),而保存具體數(shù)據(jù)的文件叫基本文件(EF)〕,在創(chuàng)建文件的時(shí)候,即可以設(shè)置對(duì)該文件的操作限制,如允許直接讀、允許通過安全認(rèn)證后改寫、固化不得改寫等。
而為了控制對(duì)不同的文件的讀寫控制,又可以設(shè)置不同的密鑰(長(zhǎng)度為8/16個(gè)字節(jié)),換言之,可以設(shè)置為要讀某一個(gè)文件,需驗(yàn)證密鑰1,要改寫該文件,則需驗(yàn)證密鑰2,而要讀另外一個(gè)文件,又可以設(shè)置要求驗(yàn)證密鑰3……這樣一來(lái),其安全性得到了明顯的提高。
二、 邏輯加密(SLE4442)
邏輯加密卡常被通俗地叫成IC卡,它是通過一個(gè)邏輯安全機(jī)制,來(lái)控制卡片信息的讀/寫操作的。
4428卡有三重?cái)?shù)據(jù)安全機(jī)制:卡片密碼、密碼錯(cuò)誤計(jì)數(shù)器及數(shù)據(jù)保護(hù)。
1.卡片密碼:控制著IC卡數(shù)據(jù)區(qū)數(shù)據(jù)的改寫,即要改寫IC卡的信息,必須驗(yàn)證IC卡的密碼——保證卡上數(shù)據(jù)安全而不被撰改;
2.卡片密碼錯(cuò)誤計(jì)數(shù)器:當(dāng)IC卡密碼驗(yàn)證失敗時(shí),該計(jì)數(shù)器減1,如果減到0,則該卡片物量鎖死,如果驗(yàn)證成功,則該計(jì)數(shù)器恢復(fù)到初始值——防止惡意跟蹤和嘗試;
3.數(shù)據(jù)保護(hù)指將寫在IC卡上的信息進(jìn)行寫保護(hù)操作,如同磁盤的寫保護(hù)開關(guān),一旦寫保護(hù)操作成功,則該數(shù)據(jù)信息不可改(可針對(duì)一個(gè)字節(jié)進(jìn)行寫保護(hù)操作)——防止數(shù)據(jù)修改和保證唯一性。
本系統(tǒng)在IC卡(也就是醫(yī)??ǎ┑陌踩?guī)劃上,采用了綜合、全面的安全措施,使得系統(tǒng)的安全性得到了最大限度的保障,其具體的措施如下:
1.最大的也是最核心的,一卡一密
首先說(shuō)明,很多IC卡應(yīng)用中,都是用相同一個(gè)密碼,長(zhǎng)度一般為2-3個(gè)字節(jié),其安全隱患在于如果有人破得了一張IC 卡的密碼,則整個(gè)系統(tǒng)將面臨危險(xiǎn)。
一卡一密則很好地解決了這一問題,它的原理是先從IC卡的數(shù)據(jù)保護(hù)區(qū)內(nèi)讀取一個(gè)(唯一的、足夠長(zhǎng)的、不可改的)卡片序列號(hào)(SN),長(zhǎng)度為8?jìng)€(gè)字節(jié),然后通過標(biāo)準(zhǔn)的、通過安全認(rèn)證的、通用的加密算法(3DES),進(jìn)行加密運(yùn)算(DEA),得到一個(gè)8字節(jié)的密文,對(duì)該密文進(jìn)行某種固定的取舍,即可得IC卡的密碼。
具體過程如下圖:
2.卡序列號(hào)唯一并固定
相對(duì)來(lái)說(shuō),該方案很多應(yīng)用中都采用它,一來(lái)它可以保證卡片的合法性,另一方,也方便了IC卡的管理。防止一些回收卡重新非正常渠道流入應(yīng)用中。
補(bǔ)充說(shuō)明:該序列號(hào)可以為明碼,也可以為密文
3.數(shù)據(jù)加密
數(shù)據(jù)加密同樣也是應(yīng)用得較多的一種安全措施,因?yàn)椋桑每ū旧淼脑硎侨魏螘r(shí)候都可以讀取卡上的信息,試想,如果一個(gè)攻擊者可以輕易地看到你的目標(biāo)和路徑的話,那他接下來(lái)想的一定是無(wú)論如何也要達(dá)到,而相反,如果一個(gè)攻擊者一開始面對(duì)的就是漆黑一片,他幾乎很難讓自己再堅(jiān)持走下去。(以上僅為個(gè)人想法)
4.數(shù)據(jù)校驗(yàn)碼和兩種校驗(yàn)算法同時(shí)采用
數(shù)據(jù)校驗(yàn)是防止外人惡意篡改,這也是信息安全的一種常用模式,也是必須采用的。
本系統(tǒng)采用兩種數(shù)據(jù)校驗(yàn)算法,分別為:加權(quán)平均和求異或校驗(yàn)碼長(zhǎng)度為1個(gè)字節(jié),分高低2位BCD碼,高位為加權(quán)平均值,低位為求異或。兩種算法同時(shí)應(yīng)用,為系統(tǒng)的安全性加重了科學(xué)依據(jù)。
5.CPU卡的加入
CPU卡加入為系統(tǒng)的安全性提供的最大的保障,CPU卡主要應(yīng)用在醫(yī)保卡卡片密碼的計(jì)算和卡上數(shù)據(jù)區(qū)數(shù)據(jù)信息的加/解密。CPU卡的加入,為系統(tǒng)增添了許多特點(diǎn),如:
系統(tǒng)安全控制密鑰由用戶方領(lǐng)導(dǎo)入系統(tǒng)管理員共同輸入產(chǎn)生,卡片供應(yīng)商、軟件開商發(fā)無(wú)法獲知系統(tǒng)的原始密鑰;
CPU卡在卡片內(nèi)計(jì)算產(chǎn)生密文信息,避免了在程序中進(jìn)行數(shù)據(jù)加/解密運(yùn)算所帶來(lái)的不確定因素;
CPU卡為其本身的安全提供了嚴(yán)格的管理機(jī)制,系統(tǒng)將嚴(yán)格按此機(jī)制設(shè)計(jì)開發(fā)發(fā)卡系統(tǒng)。
其它在此不再作詳細(xì)的論述。
三、 總控卡
總控卡主要完成對(duì)所有CPU卡的安全控制,包括通過它對(duì)密鑰傳輸卡的安全認(rèn)證從而啟動(dòng)一般密鑰卡的發(fā)行;通過它解鎖密鑰卡上的操作口令;通過它完成已經(jīng)使用過的CPU卡洗卡操作,從而清空CPU中的安全數(shù)據(jù)等。
總控卡通過系統(tǒng)管理員輸入一串16個(gè)字節(jié)的系統(tǒng)卡片總控密鑰產(chǎn)生。該總控密鑰該被分散到每一張密鑰卡中,作為密鑰卡合法性鑒別的依據(jù)。
具體關(guān)系圖如下:
說(shuō)明:由于總控中存放的密鑰卡卡片主控密鑰系校驗(yàn)密鑰卡的合法性,以使有別與其它應(yīng)用中的CPU卡,所以,它的安全性不是至關(guān)重要的。因此它的產(chǎn)生和管理也就相對(duì)來(lái)說(shuō)簡(jiǎn)單些。
四、 密鑰傳輸卡
它的重要性就在于它存放了密鑰卡中真正進(jìn)行數(shù)據(jù)加密計(jì)算和醫(yī)??ㄆ艽a計(jì)算的兩組密鑰,同時(shí)還存放了該密鑰產(chǎn)生的原碼串(也就是由負(fù)責(zé)領(lǐng)導(dǎo)輸入的原兩組原碼串和系統(tǒng)管理員輸入的分散因子),該卡將是系統(tǒng)安全的來(lái)源。
密鑰傳輸卡由總控卡控制發(fā)行,如下圖所示:
密鑰傳輸卡中的信息結(jié)構(gòu):
1.由用戶方負(fù)責(zé)人直接輸入兩組16個(gè)字符,通過系統(tǒng)轉(zhuǎn)換為BCD碼。并由系統(tǒng)管理員輸入兩組分散因子(長(zhǎng)度為8?jìng)€(gè)字節(jié)),分別為卡片密碼計(jì)算密鑰分散因子(PSUB)、卡片數(shù)據(jù)加密計(jì)算密鑰分散因子(DSUB);
2.以上三人輸入的字符串將分別保存在三個(gè)順序文件中:0004、0005、0006;
3.以上三人還要求分別輸入各自的口令,分別為:Pin1,Pin2,Pin3,長(zhǎng)度為2-8?jìng)€(gè)字節(jié),該口令控制著各自的原碼信息讀出;
4.將領(lǐng)導(dǎo)I輸入的原碼串對(duì)PSUB進(jìn)行分散,得8字節(jié)臨時(shí)密文I:PkeyL;
5.將領(lǐng)導(dǎo)II輸入的原碼串對(duì)PSUB進(jìn)行分散,得8字節(jié)臨時(shí)密文II:PkeyR;
6.PkeyL & PkeyR=Pkey(卡片密碼計(jì)算密鑰);
7.將領(lǐng)導(dǎo)I輸入的原碼串對(duì)DSUB進(jìn)行分散,得8字節(jié)臨時(shí)密文I:DkeyL;
8.將領(lǐng)導(dǎo)II輸入的原碼串對(duì)DSUB進(jìn)行分散,得8字節(jié)臨時(shí)密文II:DkeyR;
9.DkeyL & DkeyR=Dkey(卡片數(shù)據(jù)信息加/解密計(jì)算密鑰);
10.將卡片數(shù)據(jù)加/解密計(jì)算密鑰(Dkey)保存到文件EF01中,該文件的讀寫控制為:改寫:不允許;讀:卡片主控密鑰認(rèn)證和線路加密;
11.將卡片密碼計(jì)算密鑰(Pkey)保存到文件EF02中,該文件的讀寫控制為:改寫:不允許;讀:卡片主控密鑰認(rèn)證和線路加密。
邏輯結(jié)構(gòu)圖如下:
關(guān)于密鑰傳輸卡的一些安全特性如下:
1.其使用必須通過總控卡的有效性認(rèn)證(認(rèn)證卡片主控密鑰),本系統(tǒng)中所有密鑰卡的卡片主控密鑰(MK)都是一致的。該密鑰是對(duì)卡片合法性的有效認(rèn)證;
2.密鑰傳輸卡是系統(tǒng)安全數(shù)據(jù)源,有其有效的管理,也就是對(duì)系統(tǒng)安全性的管理。它是系統(tǒng)原始密鑰的;
3.密鑰傳輸卡的原始密鑰數(shù)據(jù)的改寫權(quán)限為不允許,讀操作要求驗(yàn)證相應(yīng)人員的PIN,同時(shí),數(shù)據(jù)在卡與終端的傳輸過程中采用了線路加密技術(shù),防止他人截取。
五、 管理員卡
管理員卡的加入,主要是為了加強(qiáng)對(duì)醫(yī)保發(fā)卡系統(tǒng)的有效管理,控制醫(yī)??ǖ陌l(fā)行工作了密鑰卡的安全產(chǎn)生。
管理員卡按權(quán)限的不同,又分為系統(tǒng)管理員卡和發(fā)卡管理員卡,前者擁有發(fā)卡系統(tǒng)的全部操作權(quán)限,而后者則只能完成與發(fā)醫(yī)保IC 卡相關(guān)的操作,如數(shù)據(jù)鏈接、醫(yī)保IC卡的發(fā)行、重寫以及數(shù)據(jù)清除等。
管理員卡是在總控卡和密鑰傳輸卡控制下產(chǎn)生的,具體過程如下圖:
管理員卡的安全特性:
1. 管理員口令控制著兩組密鑰的使用權(quán)
2. 終端管理員對(duì)終端的安全管理就是對(duì)該密鑰卡的管理,同時(shí),該密鑰卡又成為了終端管理員身份卡
3. 終端管理員基本信息可以根據(jù)應(yīng)用需要進(jìn)行擴(kuò)充。
管理卡的數(shù)據(jù)結(jié)構(gòu)如下圖:
六、 密鑰卡(終端應(yīng)用)
密鑰卡與管理員卡的數(shù)據(jù)結(jié)構(gòu)幾乎是相同的,只是要密鑰卡的根目錄下添加了一個(gè)標(biāo)識(shí)文件,具體內(nèi)容請(qǐng)參見管理員卡。
七、 醫(yī)保IC卡
醫(yī)保IC卡的數(shù)據(jù)結(jié)構(gòu)主要分為三部分:前32個(gè)字節(jié)的卡序列號(hào)(卡號(hào))、持卡人基本信息、交易記錄。
本文關(guān)鍵詞:IC卡,數(shù)據(jù)結(jié)構(gòu),CPU卡,邏輯加密,總,C卡,數(shù)據(jù)結(jié)構(gòu),CPU卡,邏輯加密,總控,卡,數(shù)據(jù)結(jié)構(gòu),CPU卡,邏輯加密,總控卡
上一篇:PKI技術(shù)漫談[ 09-17 ]
下一篇:技術(shù)與大型體育賽事的安全防衛(wèi)、管理控制(上)[ 09-17 ]