智能卡電子錢包系統可能的密鑰導出過程
文章出處:http://5052h112.com 作者:中國一卡通網 收編 人氣: 發表時間:2011年10月10日
下述例子由圖1 和圖2解釋,按有關部件:電子錢包(IEP),終端(PDA)和終端中的安全模塊(PSAM)說明了支付過程。
圖1 EN 1546電子錢包系統可能的密鑰導出過程(密鑰依賴于傳送給卡的某一代專用密鑰和會話專用交易計數器的組合,這樣產生的密鑰可用于完成支付或借出貨幣)
當卡已插入終端后,終端執行一復位以便從PSAM和IEP二者請求-ATR,如果有一個ATR不滿足所期待之值,則終端取消支付過程。如果ATR都滿足所期待之值,則終端在IEP中選擇錢包的DF。如果文件選擇不能被執行,則亦將取消此過程。然而,為了清楚起見,這兩點和一般的錯誤處理未做描述。
選擇了在IEP卡中的錢包DF之后,終端送出用于購物的初始化命令INITIALIZE IEPoIEP卡接收此命令,增值交易計數器并為各數據元產生一簽名(S1),后把數據和簽名送給終端。
其次,終端PSAM送去為了購物的初始化命令INITIALIZE PSAM。這條命令直接轉發了從卡接收的數據給PSAM。PSAM檢查這些數據,這就是指終了日期(DEXPIEp)、貨幣(CURRIEp)、所用加密算法(ALGIEp)和其他接收的數據都要和存儲在PSAM中之值相比較,如果所有的比較都是成功的,則交易計數器(NTIEP)被增值。如果任一比較失敗(例如,IEP的終了日期已經到達),進一步的命令處理立即被取消并傳送給終端(PDA)一適當的回送代碼。
圖2 按照EN 1546用電子錢包(IEP)和終端(PDA)以及安全模塊(PSAM)的支付交易過程
然后PSAM用IEP送來的數據產生一導出密鑰且產生一會話密鑰,并檢查簽名黽。如果簽名是正確的,則所有傳輸的數據都是真實的,與此同時IEP已為PSAM所鑒明。換言之,15.4M知道卡中所含電子錢包是真的。
上圖1顯示了一個EN 1546標準中,電子錢包系統中可能的密鑰導出過程。這樣導出的密鑰,可用來完成圖2中所描述的支付過程。
在接著的步驟中,PSAM也產生一個簽名(S3),它和少量的另外的數據元被送給終端。要支付的金額(MPDA)和所用貨幣現在已進入到終端了。于是,終端把輸入的金額和先前從PSAM接收的數據用命令DEBIT IEP傳送給卡,卡現在檢查錢包中是否有足夠的錢來完成支付。若有,則驗證簽名餳,若簽名是正確的,則數據在傳輸時未被篡改,于是PSAM也被IEP所驗明。這是因為只有真正的PSAM可以掌握產生簽名島所必需的秘密密鑰。適當的金額從錢包的余額中被減去,記錄文件被更新并產生第3個簽名(S3)以確認借出交易已被執行。
簽名S3和借出金額經終端傳送到PSAM,它驗證S3,若此簽名是正確的,在IEP中借出的金額被加到一內部的數據元(MTOTpSAM)。另外一條命令“PSAM購物完工”把MTOTpSAM加至錢包余額TM從而更新了PSAM余額。最后,PSAM 接收一簽名(S3)確認支付已成功完成。
上述過程是EN 1546所述各種支付過程中的一個十分簡單的例子。存在著其他可能性,包括電話卡的快速借出過程,以及在交易結束時可以產生一收據清單等。
上述關于卡的文件、命令和過程也對所有其他重要的系統部件有所規定。最重要的是用于安全模塊的,因為系統的安全性惟一地依賴于此模塊。統計方法可用來監視整個系統的運營,在大型應用的情況中,可能含有數萬臺終端和數十萬張智能卡。對每張單獨的卡產生一個完整的賬目將和不具名的要求相矛盾,而且還需要極其巨大的計算量。然而,如實驗所表明,整個系統的安全性的驗證能夠在運行的基礎上(以可接受的成本)用采樣檢查來監視貨幣流證亙。
歐洲EN 1546標準為多分區智能卡電子錢包系統奠定了基礎。標準出臺時,它包括了幾乎所有在使用中的過程和功能。只有一項功能迄今未予描述,然而對卡的用戶卻是非常重要的,這就是錢包至錢包的交易,即將電子錢幣直接從一個錢包轉至另一個。
在EN 1546標準中,目前對這種類型的轉移尚無敘述。然而,各種團體正試圖將這種支付交易包括在標準中。