智能卡安全數(shù)據(jù)傳輸組合模式過(guò)程
文章出處:http://www.sgrivertours.com 作者:語(yǔ)馨 收編 人氣: 發(fā)表時(shí)間:2011年09月26日
組合模式過(guò)程表現(xiàn)了更高水平的安全性。APDU的數(shù)據(jù)部分不再作為明文傳送,而由加密的形式取代,其過(guò)程為鑒別模式過(guò)程的擴(kuò)充。
在組合模式過(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線上竊聽(tīng)的攻擊者不可能發(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)出密鑰。
考慮到安全性的優(yōu)勢(shì),普遍對(duì)所有APDU使用組合模式過(guò)程是值得推薦的。然而,安全性的增加伴隨著數(shù)據(jù)傳輸率的顯著降低。
圖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í)的形式傳輸。