技術(shù)案例:CPU卡應用方案和密碼管理技術(shù)
本文以L(fǎng)EGIC的CPU卡應用方案——“卡中卡”為例,對CPU卡應用中的加密算法進(jìn)行了綜合性介紹,指出基于通用加密方法的CPU系統的安全性也存在一定的安全隱患。建議CPU卡應用時(shí)選用通過(guò)安全認證(GP,EAL+),最好是采用AES加密方法的CPU卡技術(shù);在COS的選擇上,最好采用具有通訊安全認證的系統,以及最好采用JAVA基礎的COS,如JCOP等。
端到端的安全性
在整個(gè)讀卡的過(guò)程中,LEGIC提供的CPU卡應用方案,不單從最前端的卡片上為數據保密,到最終把讀取的數據從讀卡器發(fā)出去的過(guò)程中,都有非常嚴密的保護。圖1是卡片到數據在空中的傳輸,到讀卡器收集數據,到讀卡器把數據傳輸的一個(gè)點(diǎn)對點(diǎn)的數據安全示意圖。
圖1
1、卡片內的數據保護
該CPU卡獨有的MTSC(主令牌系統)是一個(gè)密鑰管理系統。而每個(gè)令牌內都存有一個(gè)密鑰基因。保護數據的密鑰是由密鑰基因加上卡片的UID號,通過(guò)運算程式,在卡片初始化的過(guò)程中而產(chǎn)生的。所以卡片經(jīng)過(guò)初始化后,就建立了“一卡一密”和“一扇一密”來(lái)保護扇段內的數據。采用的加密方法,除了通用的DES、3DES、SHA-1之外,也有新的CPU卡應用中采用AES加密方法。由于系統提供的讀頭及CPU卡上應用程序,并支持在線(xiàn)更新,安全保障有了保證。
系統不單對卡片內的數據作出保護,如應用需要的話(huà),就連公開(kāi)的序列號(UID)也可以進(jìn)行加密保護。這樣就可保證UID的唯一性,也同時(shí)增強安全性。
系統雖然應用了多樣化密鑰(DiversifyKey)的概念去保護卡內的數據,但每一種芯片卡的密鑰運算程式都不一樣。這對“黑客”而言,破解一種芯片的密鑰運算方法,不代表同時(shí)把其他種類(lèi)的芯片一起解破,實(shí)際上,他又要從頭開(kāi)始。除了傳統高安全的邏輯加密技術(shù)之外,寫(xiě)在CPU卡內的數據不單只靠COS的密鑰保護,同時(shí)也保護自己的數據,這樣不只更安全,而且不會(huì )和其他應用發(fā)生沖突,這也是CPU卡應用上的獨到之處。
2、讀卡器和卡片之間的數據傳輸
所有讀卡器和卡片在通訊開(kāi)始時(shí),都會(huì )通過(guò)一個(gè)鑒證程序來(lái)確保在讀卡器前面的卡片是不是一張真正的CPU卡片,而非“克隆卡”。這樣做的好處是,可以防止有人嘗試盜取空中傳輸數據的企圖。
讀卡器和卡片之間的通訊是絕對不會(huì )把保護數據的密鑰在空中傳輸,這是為了確保密鑰的安全性。
所有數據的傳輸都可選用自有的加密方法,也可以選用市場(chǎng)上通用的DES、3DES或AES(只在A(yíng)FS4096上實(shí)現)的加密方法。這樣做的好處是,即使數據在傳輸中被盜取,也無(wú)法解開(kāi)數據本身的內容。
所有數據的傳輸都可以加驗證功能(CRCCheck),這樣也確保了數據傳輸的穩定性以及可靠性。
3、讀卡器的安全性
CPU卡的讀卡器都有自動(dòng)消除令牌功能,以配合讀卡器一經(jīng)非法打開(kāi),存儲的令牌將自動(dòng)消除。這相對用PSAM卡儲存密鑰要安全得多。因為萬(wàn)一坐卡器或POS終端被盜,PSAM卡也會(huì )一起被盜?,F時(shí)的PSAM卡技術(shù)和對應的DES算法被廣泛應用,但它的安全性一直存在爭論。其一,DES作為lucifer算法的改進(jìn)版本,但卻從lucifer算法的密碼長(cháng)度128位,變成了56位。56位的密碼應該不足以抵御窮舉攻擊。其二,DES內部結構中至關(guān)重要的S盒的設計標準是保密的,無(wú)法確信真是安全。而密碼相關(guān)信息存于芯片內部,安全性更好。
CPU卡的讀卡器需接受相關(guān)令牌的授權才可對相關(guān)的卡片作出讀寫(xiě)操作,無(wú)需進(jìn)行密碼的傳遞。授權卡是實(shí)物形式,可以授權及取回,從而減少管理風(fēng)險。
4、讀卡器到電腦通訊安全
讀寫(xiě)器到電腦之間的通訊,還可以采用鑒證及加密來(lái)實(shí)現數據保護。其實(shí)現與無(wú)線(xiàn)接口的三次認證類(lèi)似,不再詳述。以上所有不同的安全功能,都在技術(shù)基層上增加了本身的復雜性,相對的也增加了技術(shù)本身的抗破解能力。
密碼管理系統
密碼管理一般包括密碼生成、密碼分散、密碼傳遞,下面的密碼管理是建設部的密碼管理的介紹。
密鑰卡中新密鑰的產(chǎn)生主要有兩類(lèi)方式:即直接在密鑰卡中產(chǎn)生新密鑰;在其它安全設備中產(chǎn)生新密鑰,然后裝載到密鑰卡中。產(chǎn)生新密鑰的數據,可以是碼單、密鑰種子等形式。碼單實(shí)際上是密鑰種子的一種形式,它將種子數據分成幾部分,分別由不同的人控制,這樣可以提高系統的安全性。
不同的應用密鑰是根據加密算法進(jìn)行分散運算取得的。經(jīng)過(guò)從種子數據、到應用主密鑰、地區分密鑰、卡分散密鑰等多層次逐級分散。密鑰分散的目的,即使某個(gè)子密鑰泄露了,那也不會(huì )威脅管理主密鑰的安全,因為無(wú)法從子密鑰和分散數據推導出主密鑰,從而提高了系統的安全性,降低了安全風(fēng)險和管理成本。
評論