CPU卡及CPU卡認證方法
文章出處:http://psychicreadingswithdeb.com 作者: 人氣: 發(fā)表時(shí)間:2012年02月23日
一、為什么用CPU卡
IC卡從接口方式上分,可以分為接觸式IC卡、非接觸式IC卡及復合卡。從器件技術(shù)上分,可分為非加密存儲卡、加密存儲卡及CPU卡。非加密卡沒(méi)有安全性,可以任意改寫(xiě)卡內的數據,加密存儲卡在普通存儲卡的基礎上加了邏輯加密電路,成了加密存儲卡。邏輯加密存儲卡由于采用密碼控制邏輯來(lái)控制對EEPROM的訪(fǎng)問(wèn)和改寫(xiě),在使用之前需要校驗密碼才可以進(jìn)行寫(xiě)操作,所以對于芯片本身來(lái)說(shuō)是安全的,但在應用上是不安全的。它有如下不安全性因素:
1、密碼在線(xiàn)路上是明文傳輸的,易被截取;
2、對于系統商來(lái)說(shuō),密碼及加密算法都是透明的。
3、邏輯加密卡是無(wú)法認證應用是否合法的。例如,假設有人偽造了ATM,你無(wú)法知道它的合法性,當您插入信用卡,輸入PIN的時(shí)候,信用卡的密碼就被截獲了。再如INTENET網(wǎng)上購物,如果用邏輯加密卡,購物者同樣無(wú)法確定網(wǎng)上商店的合法性。
正是由于邏輯加密卡使用上的不安全因素,促進(jìn)了CPU卡的發(fā)展。CPU卡可以做到對人、對卡、對系統的三方的合法性認證。
二、 CPU卡的三種認證
CPU卡具有三種認證方法:
持卡者合法性認證——PIN校驗
卡合法性認證——內部認證
系統合法性認證——外部認證
持卡者合法性認證:
通過(guò)持卡人輸入個(gè)人口令來(lái)進(jìn)行驗證的過(guò)程。
系統合法性認證(外部認證)過(guò)程:
系統 卡,
送隨機數X
用指定算法、密鑰]對隨機數加密
用指定算法、密鑰]解密Y,得結果Z
比較X,Z,如果相同則表示系統是合法的;
卡的合法性認證(內部認證)過(guò)程:
系統 卡
送隨機數X
用指定算法、密鑰]對隨機數加密
用指定算法、密鑰]解密Y,得結果Z
比較X,Z,如果相同則表示卡是合法的;
在以上認證過(guò)程中,密鑰是不在線(xiàn)路上以明文出現的,它每次的送出都是經(jīng)過(guò)隨機數加密的,而且因為有隨機數的參加,確保每次傳輸的內容不同。如果截獲了沒(méi)有任何意義。這不單單是密碼對密碼的認證,是方法認證方法,就象早期在軍隊中使用的密碼電報,發(fā)送方將報文按一定的方法加密成密文發(fā)送出去,然后接收方收到后又按一定的方法將密文解密。
通過(guò)這種認證方式,線(xiàn)路上就沒(méi)有了攻擊點(diǎn),同時(shí)卡也可以驗證應用的合法性;
但是因為系統方用于認證的密鑰及算法是在應用程序中,還是不能去除系統商的攻擊性。
在此,我們引進(jìn)了SAM卡的概念。
SAM卡是一種具有特殊性能的CPU卡,用于存放密鑰和加密算法,可完成交易中的相互認證、密碼驗證和加密、解密運算,一般用作身份標志。
由于SAM卡的出現,我們有了一種更完整的系統解決方案。在發(fā)卡時(shí),我們將主密鑰存入SAM卡中,然后由SAM卡中的主密鑰,對用戶(hù)卡的特征字節(如:應用序列號)加密生成子密鑰,將子密鑰注入用戶(hù)卡中。由于應用序列號的唯一性,使每張用戶(hù)卡內的子密鑰都不同。
密鑰一旦注入卡中,則不會(huì )在卡外出現。在使用時(shí),由SAM卡的主密鑰生成子密鑰存放在RAM區中,用于加密、解密數據。
上述的認證過(guò)程就成為如下形式:
系統合法性認證(外部認證)過(guò)程:
SAM卡 系統 卡
送隨機數X
SAM卡生成子密鑰對隨機數加密
解密Y,得結果Z
比較X,Z,如果相同則表示系統是合法的;
卡的合法性認證(內部認證)過(guò)程:
SAM卡 系統 卡
送隨機數X
用指定算法、密鑰]對隨機數加密
SAM卡解密Y,得結果Z
比較X,Z,如果相同則表示卡是合法的;
這樣在應用程序中的密鑰,就轉移到了SAM卡中,認證成為卡——卡的認證,系統商不再存在責任。