CPU卡應(yīng)用系統(tǒng)密鑰管理技術(shù)
文章出處:http://56733.cn 作者:廣州市明華澳漢科技有限公司技術(shù)部 人氣: 發(fā)表時間:2011年10月11日
一、密鑰管理系統(tǒng)的設(shè)計前提
密鑰管理是密碼技術(shù)的重要環(huán)節(jié)。在現(xiàn)代密碼學中,在密碼編碼學和密碼分析學之外,又獨立出一支密鑰管理學。密鑰管理包括密鑰的生成、分配、注入、保管、銷毀等環(huán)節(jié),而其中最重要的就是密鑰的分配。IC卡的密鑰管理機制直接關(guān)系到整個系統(tǒng)的安全性、靈活性、通用性。密鑰的生成、發(fā)行、更新是系統(tǒng)的一個核心問題。
為保證一個大型的CPU卡應(yīng)用系統(tǒng)的安全使用、保證信息不被侵犯,應(yīng)在系統(tǒng)實施前建立起一套完整的密鑰管理系統(tǒng)。密鑰管理系統(tǒng)的設(shè)計目標是在安全、靈活的前提下,可以安全地產(chǎn)生各級主密鑰和各類子密鑰,并將子密鑰安全地下發(fā)給子系統(tǒng)的發(fā)卡中心,用來產(chǎn)生SAM卡、用戶卡和操作員卡的各種密鑰,確保以上所有環(huán)節(jié)中密鑰的安全性和一致性,實現(xiàn)集中式的密鑰管理。在全省內(nèi)保證各個城市能夠發(fā)行自己的用戶卡和密鑰卡,并由省級管理中心進行監(jiān)控。
二、密鑰管理系統(tǒng)的設(shè)計方法
1.系統(tǒng)安全的設(shè)計
本文以一個省級醫(yī)療保險CPU卡應(yīng)用系統(tǒng)為例,介紹密鑰管理系統(tǒng)的設(shè)計。該系統(tǒng)是面向省級醫(yī)療保險行業(yè)、在各個城市進行應(yīng)用的系統(tǒng),系統(tǒng)最終所發(fā)行的卡片包括SAM卡和用戶 卡。SAM卡將放在多種脫機使用的設(shè)備上;用戶卡是由用產(chǎn)自己保存與使用并存儲用產(chǎn)的基本信息和電子資金信息。系統(tǒng)設(shè)計的關(guān)鍵是保障系統(tǒng)既具有可用性、開放性,又具有足夠的安全性。
本系統(tǒng)密鑰的存儲、傳輸都是使用智能卡來實現(xiàn)的,因為智能卡具有高度的安全性。用戶卡(提供給最終用戶使用的卡片)上的密鑰根本無法讀出,只是在達到一定的安全狀態(tài)時才可以使用。SAM卡(用來識別用戶卡的認證密鑰卡)中的密鑰可以用來分散出用戶卡中部分脫機使用的密鑰,但也無法讀出。各級發(fā)行密鑰母卡上的密鑰在達到足夠的安全狀態(tài)時可以導出,但導出的密鑰為密文,只有送到同類的卡片內(nèi)才可以解密。
本系統(tǒng)的安全機制主要有卡片的物理安全、智能卡操作系統(tǒng)的安全、安全的算法、安全的密鑰生成與存儲、密鑰的安全傳輸與分散、保障安全的管理措施與審計制度。
2.密鑰的分層管理
密鑰主要分層進行管理,即省級密鑰管理中心只負責生成種子密鑰,各個城市根據(jù)密鑰種子負責生成自己的密鑰系統(tǒng)和用戶卡,這樣既可以在全省范圍內(nèi)統(tǒng)一規(guī)劃,又可以靈活使用。
3.安全的密鑰管理體制
密鑰受到嚴格的權(quán)限控制,特別是對密鑰的使用權(quán)限進行分級管理和控制;密鑰的生成、注入、導出等功能由發(fā)卡中心(省醫(yī)療保險基金管理中心)進行統(tǒng)一的控制和管理。
三、系統(tǒng)功能
密鑰管理系統(tǒng)的目標就是安全地產(chǎn)生各級主密鑰和各類子密鑰。并將子密鑰安全地下發(fā)給子系統(tǒng)的發(fā)卡中心,用來產(chǎn)生SAM卡、用戶卡和操作員卡中的各種密鑰,確保以上所有環(huán)節(jié)中密鑰的安全性和一致性,實現(xiàn)集中式的密鑰管理。系統(tǒng)通過IC卡硬件、IC卡操作系統(tǒng)、合理的密鑰管理系統(tǒng)設(shè)計、嚴格的安全管理規(guī)定來實現(xiàn)以上目標。
密鑰管理系統(tǒng)是IC卡應(yīng)用系統(tǒng)中最重要的環(huán)節(jié),主要功能有密鑰的產(chǎn)生、分配、使用、更新和銷毀。
1.密鑰的生成
產(chǎn)生省級各類主密鑰和市級各類子密鑰:產(chǎn)生用戶卡和操作員卡的各種密鑰。密鑰生成主要由三種形式結(jié)合使用:
·使用安全可靠、快速的軟件生成方法;
·使用卡片存儲密鑰;
·使用加密機生成密鑰。在密鑰生成過程中,必須在安全、保密的環(huán)境下進行。
2.密鑰的分配:密鑰生成之后,再根據(jù)不同的業(yè)務(wù)種類進行密鑰的分發(fā)。之后將密鑰下發(fā)給城市,并保證密鑰的安全性和一致性。密鑰在IC卡中以密文的形式進行下裝或分發(fā)到各個子系統(tǒng),并且密鑰受到相應(yīng)的安全控管,只有達到安全條件才可以使用密鑰進行分配或下裝。IC卡作為傳輸密鑰的載體,由于其自身的安全系數(shù)非常高,通過合理的設(shè)計完全可以有效進行密鑰傳輸和分發(fā)。
3.密鑰的使用:在各個分系統(tǒng)和IC卡中,可以設(shè)計密鑰使用的安全條件,只有達到密鑰的安全使用條件,才可以使用密鑰進行相應(yīng)的操作。而且密鑰的使用過程中,都是以非可見性的形式存儲的,任何人都沒有權(quán)限進行讀取,包括卡片制造商和系統(tǒng)商。密鑰在受到非法攻擊時,能夠自行鎖住,從而達到防止非法破譯的目的。
4.密鑰的更新:密鑰的更新涉及到的安全問題比較多,由于大多數(shù)密鑰的更新是在安全強度較弱的環(huán)境進行的,且涉及的范圍很大,所以應(yīng)當謹慎地進行密鑰更新。如果需要更新密鑰,可以在安全保密的狀態(tài)下,密鑰以密文的形式,并且在一定的安全條件管理下,定期地進行更新。
5.密鑰的失效:密鑰在使用一段時間后,由于安全的需要,可以將其強制失效,但可以起用備份密鑰進行管理。如果密鑰受到非法攻擊,其也可以自動換效,以保護整個密鑰系統(tǒng)的安全。密鑰卡和存有關(guān)鍵數(shù)據(jù)的IC卡失效之后,必須回收秘密銷毀。
密鑰管理系統(tǒng)主要分為兩大模塊:
·省級密鑰管理模塊
·市級密鑰管理模塊
省級密鑰管理模塊的主要功能是產(chǎn)生省級主密鑰,并為各城市產(chǎn)生城市主密鑰,以密鑰卡的形式傳輸?shù)礁鞒鞘?,同時在密鑰卡上記錄發(fā)卡信息以便跟蹤審計,密鑰卡的文件結(jié)構(gòu)和使用方法以書面形式記載。
市級密鑰管理模塊的主要功能是生成SAM卡、生成和安裝用戶卡上的各種密鑰并且初始化用戶卡。
四、密鑰管理系統(tǒng)的運行與管理地點的設(shè)置
考慮到醫(yī)療保險IC卡發(fā)行的要求,密鑰管理系統(tǒng)應(yīng)在省或市醫(yī)療保險基金管理中心運行與管理。其中生成母密鑰的密碼應(yīng)在省勞動和社會保障廳或市勞動和社會保障局封存。
五、密鑰管理系統(tǒng)的總體功能結(jié)構(gòu)
1.母密鑰生成模塊
該模塊負責生成醫(yī)療保險系統(tǒng)的根密鑰(即母密鑰),只能在省醫(yī)療保險基金管理中心使用與控制。在完成二級密鑰的生成后,應(yīng)將母密鑰卡進行封存。母密鑰的生成必須在高度安全保密的情況下進行,并由少數(shù)人進行管理。生成母密鑰的種子由相關(guān)各部門的主要負責入輸入,然后再使用安全算法進行處理,最終生成醫(yī)療保險系統(tǒng)的母密鑰。母密鑰生成之后,分成多個載體進行保存和使用。
·存放到IC卡中生成母密鑰卡(密鑰不可見)用于生成二級密鑰卡,并且每張每密鑰卡都受到PLN和外部認證密鑰卡的保護,也就是說在生成母密鑰卡的同時也給每張母密鑰卡生成一個PLN和外部認證密鑰,且相對應(yīng)生成外部認證密鑰卡,在使用母密鑰卡生成二級密鑰時,首先輸入個人密碼,然后母密鑰卡和外部認證卡進行雙向認證,達到使用母密鑰的安全條件后才可以使用母密鑰生成下級密鑰。
·密鑰種子必須以書面的形式嚴格保密存儲且必須分開由幾個人各掌管一部分。
·母密鑰的作用是生成二級密鑰。
2.二級密鑰生成模塊
用母密鑰根據(jù)醫(yī)療保險系統(tǒng)的要求,生成二級密鑰。二級密鑰包括:發(fā)卡主密鑰、市級主密鑰、省級應(yīng)用主密鑰。該級別的密鑰由省醫(yī)療保險基金管理中心使用與保管。
發(fā)卡主密鑰的作用:用于生成與發(fā)卡相關(guān)的各級功能密鑰,即發(fā)放密鑰、掛失密鑰、補辦密鑰、注銷密鑰、充值密鑰、查詢密鑰。
市級主密鑰的作用:根據(jù)系統(tǒng)要求,生成與市級應(yīng)用相關(guān)的應(yīng)用密鑰。
省級應(yīng)用主密鑰的作用:根據(jù)系統(tǒng)功能要求,生成各種功能的省級應(yīng)用密鑰。
3.發(fā)卡密鑰生成模塊:該模塊將按要求生成各個市的發(fā)卡密鑰。
4.市級密鑰生成模塊:該模塊將按要求,用本市的市級主密鑰生成相應(yīng)的各種應(yīng)用密鑰。
5.省級應(yīng)用密鑰生成模塊:該模塊將按要求,用省級應(yīng)用主密鑰生成省級各種應(yīng)用密鑰。
6.密鑰管理:該模塊將按要求,對所有密鑰的生成、發(fā)放進行記錄與管理,并負責各種密鑰卡的掛失、注銷、黑名單、補辦等管理。
六、密鑰的安全特性
1.密鑰的裝載
密鑰的裝載采用方式,其控制過程如下:
·卡片主控密鑰在卡片主控密鑰的控制下更新;
·應(yīng)用主控密鑰在片卡主控密鑰的控制下裝載;
·應(yīng)用主控密鑰在應(yīng)用主控密鑰的控制下更新;
·應(yīng)用主密鑰在應(yīng)用主控密鑰的控制下裝載和更新。
2.密鑰的訪問
·密鑰不允許直接讀;
·密鑰必須在主控密鑰的控制下更新;
·各級密鑰不能被外界直接訪問,只能接受內(nèi)部操作系統(tǒng)發(fā)來的指令進行計算;
·計算臨時密鑰產(chǎn)生的結(jié)果只保留在卡片內(nèi)部,不能被外界直接訪問。
3.密鑰的屬性:密鑰的使用都有一定的限制,必須滿足密鑰屬性的要求。
七、密鑰的生成流程(略)
八、系統(tǒng)的發(fā)卡流程
1.IC卡生產(chǎn)發(fā)行過程的安全機制
當省或城市向卡廠訂購卡片時,制造商使用傳輸密鑰裝入測試合格的IC卡芯片內(nèi)制成卡片,運送省級或城市IC管理中心。傳輸密鑰用來控制IC卡的安全傳輸,以防止卡片在生產(chǎn)商和省級或城市之間運送時被替換。
當省級或市級IC卡管理中心接到訂購的IC卡后,首先使用傳輸密鑰對卡片進行鑒別,以檢驗卡片的合法性,防止非法卡片。
鑒別通過后,將省級或市級IC卡管理中心自己的主控密鑰用廠商傳輸密鑰加密,載入到IC卡中,再在IC卡中用廠商傳輸密鑰解密,得到主控密鑰用來替換掉IC卡中的傳輸密鑰,之后才可以在本系統(tǒng)內(nèi)使用主控密鑰進行密鑰的裝載。
2.發(fā)卡流程
用來發(fā)行用戶卡的IC卡由指定的用戶卡制造商提供。省級或市級給每個授權(quán)的用戶卡制造商發(fā)放一張用戶卡傳輸主密鑰卡,卡廠將傳輸主密鑰裝入測試合格的IC卡芯片內(nèi)制成卡片,再運送市級IC卡應(yīng)用管理中心。
市級IC卡管理中心首先使用用戶卡制造主密鑰卡對這些卡片進行認證,確保卡片安全傳輸,認證通過以后,使用市級主密鑰卡、城市主密鑰卡授權(quán)卡、SAM卡母卡、SAM卡母卡授權(quán)將這些卡片初始化成用戶卡。