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