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