CPU 卡的三種認證方法
持卡者合法性認證——PIN 校驗,卡合法性認證——內部認證,系統合法性認證——外部認證
持卡者合法性認證:通過持卡人輸入個人口令來進行驗證的過程。系統合法性認證(外部認證)過程:
系統 卡,
送隨機數X
[用指定算法、密鑰]對隨機數加密
[用指定算法、密鑰]解密Y,得結果Z
比較X,Z,如果相同則表示系統是合法的;
卡的合法性認證(內部認證)過程:
系統 卡
送隨機數X
用指定算法、密鑰]對隨機數加密
[用指定算法、密鑰]解密Y,得結果Z
比較X,Z,如果相同則表示卡是合法的;
在以上認證過程中,密鑰是不在線路上以明文出現的,它每次的送出都是經過隨機數加密的,
而且因為有隨機數的參加,確保每次傳輸的內容不同。如果截獲了沒有任何意義。這不單單
是密碼對密碼的認證,是方法認證方法,就象早期在軍隊中使用的密碼電報,發送方將報文
按一定的方法加密成密文發送出去,然后接收方收到后又按一定的方法將密文解密。
通過這種認證方式,線路上就沒有了攻擊點,同時卡也可以驗證應用的合法性;
但是因為系統方用于認證的密鑰及算法是在應用程序中,還是不能去除系統商的攻擊性。
在此,我們引進了SAM 卡的概念。
SAM 卡是一種具有特殊性能的CPU 卡,用于存放密鑰和加密算法,可完成交易中的相互認
證、密碼驗證和加密、解密運算,一般用作身份標志。
由于SAM 卡的出現,我們有了一種更完整的系統解決方案。
在發卡時,我們將主密鑰存入SAM 卡中,然后由SAM 卡中的主密鑰,對用戶卡的特征字節
(如:應用序列號)加密生成子密鑰,將子密鑰注入用戶卡中。由于應用序列號的唯一性,
使每張用戶卡內的子密鑰都不同。
密鑰一旦注入卡中,則不會在卡外出現。在使用時,由SAM 卡的主密鑰生成子密鑰存放在
RAM 區中,用于加密、解密數據。
上述的認證過程就成為如下形式:
系統合法性認證(外部認證)過程:
SAM 卡 系統 卡
送隨機數X
SAM 卡生成子密鑰對隨機數加密
解密Y,得結果Z
比較X,Z,如果相同則表示系統是合法的;
卡的合法性認證(內部認證)過程:
SAM 卡 系統 卡
送隨機數X
用指定算法、密鑰]對隨機數加密
SAM 卡解密Y,得結果Z比較X,Z,如果相同則表示卡是合法的;這樣在應用程序中的密鑰,就轉移到了SAM 卡中,認證成為卡——卡的認證,系統商不再存在責任。