智能卡电子钱包系统可能的密钥导出过程
文章出处:http://www.singbon.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标准中,目前对这种类型的转移尚无叙述。然而,各种团体正试图将这种支付交易包括在标准中。