歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠信通企業(yè)
全國咨詢熱線:40000-63966
興邦電子,中國水控機第一品牌

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

校園一卡通系統(tǒng)中密鑰管理系統(tǒng)的設(shè)計與實現(xiàn)

文章出處:http://www.xianjuhong.com 作者: 人氣: 發(fā)表時間:2011年09月13日

[文章內(nèi)容簡介]:本文首先以IC卡技術(shù)和密碼算法技術(shù)為基礎(chǔ),提出了一卡通系統(tǒng)的密鑰管理系統(tǒng)的解決方案;然后針對系統(tǒng)的實現(xiàn),詳細描述了密鑰分散的設(shè)計和實現(xiàn)過程;最后對系統(tǒng)中使用的算法進行了描述和安全性分析。

  摘要:以密鑰管理在校園一卡通系統(tǒng)中的應(yīng)用為中心,研究密鑰管理系統(tǒng)在一卡通系統(tǒng)中的具體應(yīng)用模式,并在校園一卡通項目中實現(xiàn)了密鑰管理。首先以IC卡技術(shù)和密碼算法技術(shù)為基礎(chǔ),提出了一卡通系統(tǒng)的密鑰管理系統(tǒng)的解決方案;然后針對系統(tǒng)的實現(xiàn),詳細描述了密鑰分散的設(shè)計和實現(xiàn)過程;最后對系統(tǒng)中使用的算法進行了描述和安全性分析。

  我校的校園一卡通項目采用雙界面CPU卡作為加密和存儲介質(zhì),CPU卡的加密\解密功能由內(nèi)嵌的硬件加密協(xié)處理器來實現(xiàn),具有很高的安全性。按照對稱加密體制設(shè)計和實現(xiàn)了一種新型密鑰管理系統(tǒng)。系統(tǒng)中的密鑰涉及到兩部分,一部分是由銀行負責(zé)產(chǎn)生并維護的密鑰,另一部分由校園一卡通系統(tǒng)中的密鑰管理系統(tǒng)產(chǎn)生,并由校方進行維護。密鑰管理系統(tǒng)作為一卡通工程的核心部分,符合PBOC的密鑰管理規(guī)范,密鑰管理系統(tǒng)將生成涉及PBOC交易的8個主密鑰,并安全存放和使用。

  1 密鑰系統(tǒng)的設(shè)計與實現(xiàn)

  密鑰管理包括密鑰的生成、裝入、傳遞、存儲、恢復(fù)、銷毀等內(nèi)容。密鑰管理系統(tǒng)中使用的密鑰都是雙倍長度的密鑰(16B),交易過程中使用的過程密鑰都是單倍長度(8B)。

  一卡通生成的主密鑰稱為根密鑰,標(biāo)志為G*K,主要有消費/取現(xiàn)共享密鑰。一卡通生成和使用的密鑰稱為主密鑰,或稱為一卡通專有密鑰,標(biāo)志為M *K。用戶卡使用的經(jīng)過主密鑰分散的密鑰成為用戶卡密鑰,標(biāo)志為D*K。用戶卡交易過程中使用的過程密鑰標(biāo)志為S*K。

  系統(tǒng)利用密鑰卡來承載密鑰,密鑰卡在一卡通密鑰管理系統(tǒng)內(nèi),一卡通與一卡通,一卡通與用戶卡之間進行安全的傳遞。

  1.1 密鑰類型

  在密鑰管理系統(tǒng)中的密鑰可分為三大類:一卡通共享密鑰;一卡通專有密鑰和管理密鑰[2]。一卡通共享密鑰由一卡通生成和維護,安全存放在一卡通的母卡A和母卡B中。消費/取現(xiàn)根密鑰是一卡通共享主密鑰,用于PBOC卡的取現(xiàn)/消費交易。一卡通專有密鑰由一卡通生成和維護,安全存放在一卡通的母卡A 和母卡B中。一卡通生成其他交易使用的主密鑰,包括部分PBOC卡片的維護密鑰。管理密鑰有兩種作用:作為認證密鑰和保護密鑰(傳輸密鑰)。認證密鑰用來對卡片做外部認證的,一般記為ADMK。保護密鑰是用來對主密鑰進行加密保護注入到卡片或輸出到另一張卡片。保護密鑰分為導(dǎo)人密鑰和導(dǎo)出密鑰兩種,所有保護密鑰都用外層的認證密鑰加密保護進入卡片中。

  1.2 密鑰的索引

  每張用戶卡含有兩組密鑰,用兩個索引值來區(qū)分。正常時使用第一索引的密鑰,異常情況下(如密鑰泄露)啟用第二索引。此機制保證在異常情況下更換密鑰時,不需收回已發(fā)出的用戶卡,只需將應(yīng)用系統(tǒng)(包括PSAM)中的密鑰更新為新的索引。

  每個版本的消費/取現(xiàn)根密鑰含有兩個索引,預(yù)留兩個索引作為根密鑰的備用索引。所以,消費/取現(xiàn)密鑰采用4個索引。

  1.3 密鑰卡的分類

  為了將共享密鑰安全地傳遞到各個子系統(tǒng),一卡通密鑰管理系統(tǒng)采用幾種密鑰卡來實現(xiàn)。密鑰卡分為3類:母卡;控制卡和認證卡。

  母卡里存放著一卡通生成的專有密鑰,一卡通的母卡由母卡A 租母卡B實現(xiàn),只有同時持有A、B卡,才可以將主密鑰導(dǎo)出,一卡通發(fā)行一卡通的發(fā)卡母卡,發(fā)卡母卡里存放著一卡通的消費/取現(xiàn)主密鑰,一卡通將專有密鑰注入發(fā)卡母卡,一卡通利用該卡將消費/取現(xiàn)密鑰,圈存、圈提等密鑰注入用戶卡。

  控制卡里的主密鑰是有輸出次數(shù)控制的,一卡通密鑰管理系統(tǒng)里有總控卡、HSAM 控制卡、PSAM 控制卡三種。總控卡的主密鑰由一卡通母卡A和母卡B導(dǎo)人;HSAM 控制卡、PSAM 控制卡是總控卡的子卡??偪貑T持有HSAM 控制卡,將密鑰導(dǎo)人HSAM 模組,HSAM 控制卡的主密鑰只能導(dǎo)出一次;操作員持有PSAM 控制卡,將一卡通的M *K導(dǎo)人PSAM 卡;一卡通發(fā)卡母卡是由一卡通發(fā)行的,一卡通將銀行生成的其他專有密鑰注入發(fā)卡母卡,發(fā)卡員利用一卡通發(fā)卡母卡和發(fā)卡控制卡來發(fā)行用戶卡。

  認證密鑰卡的主密鑰文件里存放著密鑰卡的認證密鑰,有一卡通操作員卡、一卡通認證密鑰卡兩種。一卡通操作員卡是一卡通制卡員持有的制卡“鑰匙”,操作卡里存放著一卡通密鑰卡的管理密鑰,不可以輸出,但可以對密鑰卡的管理密鑰進行認證修改;一卡通認證密鑰卡是一卡通密鑰卡的認證密鑰卡,由一卡通發(fā)行,一卡通用它來驗證一卡通所發(fā)下來的一卡通卡是否正確,并可以修改該一卡通卡的管理密鑰。

  1.4 系統(tǒng)結(jié)構(gòu)

  一卡通密鑰管理系統(tǒng)包含了幾項主要的功能模塊:密鑰生成模塊;密鑰傳遞模塊;用戶卡發(fā)卡(相關(guān)系統(tǒng));PSAM 卡管理系統(tǒng)模塊;測試發(fā)卡(附加功能模塊);一卡通交易測試系統(tǒng)(附加功能模塊);密鑰的應(yīng)用關(guān)系。如圖1所示為密鑰管理系統(tǒng)發(fā)卡過程中卡片產(chǎn)生的主要流程圖。

 ?、傩@“一卡通”密鑰生成模塊。利用密鑰生成模塊來生成所需的主密鑰,包括:消費主密鑰;圈存、圈提主密鑰;解鎖(PIN)主密鑰、重裝(PIN)主密鑰;修改(透支限額)主密鑰,應(yīng)用維護主密鑰;TAC主密鑰。

 密鑰管理系統(tǒng)總體流程圖

  圖1 密鑰管理系統(tǒng)總體流程圖

  一卡通主密鑰由種子A、種子B、系統(tǒng)的隨機數(shù)決定生成,生成的主密鑰由一卡通決定該密鑰的版本和索引,也可以采用系統(tǒng)默認的順序。一卡通主密鑰生成后,分別注入到母卡A、母卡B,母卡A和母卡B由校領(lǐng)導(dǎo)保存,并持有該卡的PIN。

  主密鑰的生成算法為:輸入種子A(SEEDA)和種子B(SEEDB)后,產(chǎn)生一個隨機數(shù)RAND,該隨機數(shù)固定在這個生成模塊上。KEY1=3DES(SEEDA I1SEEDB,RAND),主密鑰檢查該KEY的強度,若合格則作為候選的主密鑰輸出;若不合格,RAND=RAND+1;繼續(xù)產(chǎn)生KEY1,直到產(chǎn)生合格的主密鑰。KEY2—3DES(SEEDA l l SEEDB,RAND+ +),繼續(xù)產(chǎn)生KEY2,直到輸出外界所需個數(shù)的主密鑰。系統(tǒng)可以采用KG卡來實現(xiàn)這一個過程,如圖2所示。

 一卡通密鑰生成模塊圖

  圖2 一卡通密鑰生成模塊圖

  主密鑰生成后,注入到母卡A 和母卡B中,母卡A中的主密鑰必須使用母卡B的主密鑰方可以導(dǎo)出。必須同時持有母卡A、母卡B及密鑰卡的密碼,才可以導(dǎo)出其中的主密鑰。

 ?、?校園“一卡通”密鑰傳遞模塊。利用圖2所表示的密鑰生成模塊,學(xué)校兩位校領(lǐng)導(dǎo)分別在密鑰系統(tǒng)上輸人種子A、B,密鑰系統(tǒng)生成一卡通系統(tǒng)所需的密鑰,并分別保存在母卡A和母卡B中。為了便于使用,密鑰系統(tǒng)將母卡A、B的密鑰合成在一張總控卡中(包括多個版本和多個索引)。校方嚴格保管好總控卡,為最大程度上防范風(fēng)險,通過總控卡,密鑰系統(tǒng)分別制作出3種不同的密鑰卡,參見圖3。發(fā)卡母卡和發(fā)卡控制卡交給發(fā)卡機構(gòu)(建設(shè)銀行或其他發(fā)卡公司)I主機HSAM 卡內(nèi)的密鑰(圈存密鑰、卡片應(yīng)用維護密鑰等)通過安全方式傳遞給IC卡片瞥理系統(tǒng) 校園IC卡結(jié)算服務(wù)器、圈存設(shè)備。密鑰系統(tǒng)還做出PSAM 卡發(fā)卡控制卡,利用PSAM 卡發(fā)卡子系統(tǒng)發(fā)出PSAM 卡。

密鑰卡制作示意圖

圖3 密鑰卡制作示意圖

  2 相關(guān)算法

  CPU雙界面卡一般采用DES加密算法,這是一種迭代分組密碼算法,使用的密鑰長度為64位,為了進一步提高系統(tǒng)安全強度,在我們的校園一卡通系統(tǒng)中,雙界面CPU卡采用的是三重DES算法,采用的密碼長度為128位。相關(guān)算法如下。

  2.1 3DES算法

  MK對輸入數(shù)據(jù)進行3DEA運算。如圖4所示。

  推導(dǎo)DK右半部分的方法是:將分散數(shù)據(jù)的最右16個數(shù)字求反,作為輸入數(shù)據(jù);將MK作為加密密鑰;用MK對輸入數(shù)據(jù)進行3DES運算。如圖5所示。

  密鑰分散算法為:

  2.3 安全報文算法


  3 結(jié) 論

  按照PB0C的密鑰管理系統(tǒng)規(guī)范,并結(jié)合我校校園一卡通的具體情況,我們開發(fā)了一個嚴密靈活的雙界面CPU卡密鑰管理系統(tǒng),該系統(tǒng)包括密鑰管理系統(tǒng)和PSAM 卡發(fā)卡子系統(tǒng)。它具有很好的安全性,密鑰管理系統(tǒng)既保證密鑰的安全存放、安全傳遞和安全使用;也有對異常情況的應(yīng)對措施,這樣保證了高強度的校園一卡通系統(tǒng)的安全性。

    【稿件聲明】:如需轉(zhuǎn)載,必須注明來源和作者,保留文中圖片和內(nèi)容的完整性,違者將依法追究。

本文關(guān)鍵詞:密鑰管理,密鑰系統(tǒng),密鑰,校園一卡通,一卡通
回到頂部