CPU 卡的三种认证方法

2013-09-02 10:31:07 诺塔斯智能科技 462

持卡者合法性认证——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 卡中,认证成为卡——卡的认证,系统商不再存在责任。