智能卡安全數(shù)據(jù)傳輸組合模式過(guò)程
在組合模式過(guò)程中,就像在鑒別模式過(guò)程中那樣,用加密校驗(yàn)和保護(hù)的數(shù)據(jù)對(duì)象首先要填補(bǔ)成8字節(jié)的整倍數(shù)并用CBC模式的DES算法加密,如圖1所示。在這項(xiàng)處理中,為了和T=0協(xié)議所需的相容性,略去了頭標(biāo)。如果期望也對(duì)頭標(biāo)加密,則送給卡的命令就無(wú)法被識(shí)別,就必須使用T=0的ENVELOPE命令。用類字節(jié)中的一位表明使用了安全通信,數(shù)據(jù)在經(jīng)接口傳輸時(shí)是已經(jīng)加了密的。由于接收方知道加密用的秘密密鑰,它可對(duì) APDU解密,接收方可憑借重新計(jì)算在傳輸層的同一水平的附加的密碼校驗(yàn)和以驗(yàn)證解密的正確性。讀者在閱讀圖1時(shí),應(yīng)注意圖中CLA,h和LDATA的改變(有或無(wú)“'’)。
當(dāng)采用這一過(guò)程時(shí),在I/O線上竊聽的攻擊者不可能發(fā)現(xiàn)在卡和終端的命令和應(yīng)答中交換了那些數(shù)據(jù)。由于使用了CBC模式的DES使這些字組都相互鏈接在一起,因而也不可能替換APDU中的一個(gè)加密字組,任何代換將立即引起接收方的注意。
關(guān)于加密算法,那些對(duì)鑒別模式過(guò)程的解釋也適用于此處。原則上,可使用任何字組加密算法。密鑰應(yīng)當(dāng)是動(dòng)態(tài)的,就像在鑒別模式過(guò)程中那樣,對(duì)每一會(huì)話都使用導(dǎo)出密鑰。
圖1 用組合模式過(guò)程建立一命令A(yù)PDU,情況3的命令(例如UPDATE BINARY)被用于此,頭標(biāo)包括在加密校驗(yàn)和(ccs)中,應(yīng)答APDU可用類似方式建立(‘PB’作為填補(bǔ)字節(jié)的指示)
未保護(hù)的APDU和用組合模式過(guò)程保護(hù)的APDU二者之間的傳輸率的差別的良好近似是因子4。這樣鑒別模式過(guò)程和組合模式過(guò)程之間的速度差別就是因子2。于是,在每種情況下都要小心地檢查,以便斷定那些數(shù)據(jù)要用那種安全但費(fèi)時(shí)的形式傳輸。
評(píng)論