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