這里我們將敘述一個(gè)基于智能卡系統(tǒng)的密鑰管理之例,。其目的是用一個(gè)比較容易理解集中事例來進(jìn)一步說明前面所敘述的原則。和這個(gè)例子相比,,真正大型系統(tǒng)經(jīng)常的安排更復(fù)雜些而且有幾個(gè) 結(jié)構(gòu)層次,。小型的系統(tǒng)通常不需要任何密鑰層次,因?yàn)橐粋€(gè)秘密的全局密鑰叮用于所有的卡,。此處所給出 的系統(tǒng)處?kù)洞笮拖到y(tǒng)和結(jié)構(gòu)簡(jiǎn)單的系統(tǒng)的中間位置,,因此是個(gè)很好的例子。
供裝入或支付的密鑰可用于電子錢包,,它們用對(duì)稱加密方法,,在系統(tǒng)中這些密鑰在 任何情況下都是重要的,因?yàn)樗鼈兌急容^好地由所述的密鑰層次予以保護(hù)。各個(gè)導(dǎo)出功能在此處不做詳述 ,,但DES或3重DES算法總是可用于它們的,。密鑰的長(zhǎng)度也未做詳細(xì)討論,但它們確實(shí)是可變的,。為了安全起 見,,在層次頂層的密鑰通常用比其較低層的密鑰更強(qiáng)有力的加密功能導(dǎo)出。
位于頂層的密鑰被稱為通用主密鑰,,對(duì)于整個(gè)一代的密鑰只有一個(gè)這樣的密鑰,。例如,—代可在一年內(nèi)保 持有效,,在相繼的年份可用新一代來替換,,這就是新一代的通用主密鑰了。這個(gè)密鑰是整個(gè)系統(tǒng)中對(duì)安全 最敏感的密鑰,。如果它被知道了,,則所有屬于它這一代的密鑰都可算出,系統(tǒng)的這一代被攻破,。主密鑰可 由隨機(jī)數(shù)產(chǎn)生,,也可以設(shè)想使通用主密鑰由數(shù)個(gè)人各自單獨(dú)擲骰子得出之值來形成,其中每個(gè)人只知道密 鑰的部分值,,通用主密鑰應(yīng)當(dāng)絕對(duì)不會(huì)由任何單獨(dú)的個(gè)人完全知道,,而在它的一代中必須不具各可以復(fù)制 出來的條件。
每項(xiàng)功能的單獨(dú)主密鑰由通用主密鑰導(dǎo)出,,密鑰的功能可以是對(duì)一個(gè)電子錢包的裝人或支付,。一個(gè)單向函 數(shù),諸如變型的DES算法,,在此例中可用來導(dǎo)出各個(gè)功能的主密鑰,,這使得應(yīng)用逆向計(jì)算過程由主密鑰來計(jì) 算通用主密鑰是不可能的。如果不是用單向函數(shù)去導(dǎo)出主密鑰,,盡管有各種安全方法,,如果一個(gè)主密鑰變 成了已知的,若也知道了導(dǎo)出參數(shù),,那么就可以算出通用主密鑰來,。這里使用單向函數(shù)的理由是假定在這 個(gè)想像的電子錢包系統(tǒng)中,主密鑰將位于本地終端的安全模塊之中,。這就是說,,比起總是位于后臺(tái)系統(tǒng)的 通用主密鑰來,它們就更易于受到攻擊,。
導(dǎo)出密鑰形成了密鑰層次中的下一層,,它們是位于智能卡中的密鑰。每張卡含有一組導(dǎo)出密鑰,,它們是按 照其功能和朝“代”數(shù)分開的,。如果這樣的一張卡用于終端,則立足于導(dǎo)出該密鑰時(shí)所用的參數(shù)終端可為 它本身計(jì)算導(dǎo)出密鑰,。當(dāng)然,,終端首先要從卡讀取導(dǎo)出參數(shù)。一旦導(dǎo)出密鑰是可用的,,則按下列步驟去計(jì) 算動(dòng)態(tài)密鑰,,它對(duì)于一次單獨(dú)的會(huì)話是專用的。此密鑰僅在一單獨(dú)的會(huì)話期間有效,。在絕大多數(shù)智能卡應(yīng)用中,,會(huì)話期持續(xù)時(shí)間的范圍可從數(shù)百毫秒到數(shù)秒,會(huì)話結(jié)束后不再使用此動(dòng)態(tài)密鑰,。
乍看此例中的系統(tǒng)似乎有點(diǎn)復(fù)雜,,但比起實(shí)際的系統(tǒng)來它還是比較簡(jiǎn)單的。這個(gè)例子的目的是表明在一個(gè)系統(tǒng)中的所有密鑰是如何產(chǎn)生的,。它同時(shí)也暗示了如果一個(gè)密鑰被知道了必須采取的方法,。如果通用主密鑰被知道了,就必須轉(zhuǎn)換至新的一代以便系統(tǒng)能夠運(yùn)行而不必考慮安全的風(fēng)險(xiǎn),。另一方面,,如果一個(gè)導(dǎo)出密鑰被知道了,所需要的是閉鎖有關(guān)的卡,,對(duì)密鑰管理的任何其他改變都是不適宜的,。所有這些方法假定的前提是能夠確定一個(gè)(或數(shù)個(gè))密鑰被知道了,就在以后能予以防范,。
給出這種密鑰層次,,很明顯是要在智能卡中產(chǎn)生與存儲(chǔ)很多密鑰。當(dāng)然,,為了節(jié)約存儲(chǔ)空間總能指定幾項(xiàng)功能共用一個(gè)密鑰,,也完全可以設(shè)想不同的密鑰層次安排。這當(dāng)然在很大程度上取決于對(duì)系統(tǒng)的密鑰管理,。