CPU卡及认证方法
发布时间:2008/8/29 0:00:00 访问次数:488
一、为什么用cpu卡
ic卡从接口方式上分,可以分为接触式ic卡、非接触式ic卡及复合卡。从器件技术上分,可分为非加密存储卡、加密存储卡及cpu卡。非加密卡没有安全性,可以任意改写卡内的数据,加密存储卡在普通存储卡的基础上加了逻辑加密电路,成了加密存储卡。逻辑加密存储卡由于采用密码控制逻辑来控制对eeprom的访问和改写,在使用之前需要校验密码才可以进行写操作,所以对于芯片本身来说是安全的,但在应用上是不安全的。它有如下不安全性因素:
1、密码在线路上是明文传输的,易被截取;
2、对于系统商来说,密码及加密算法都是透明的。
3、逻辑加密卡是无法认证应用是否合法的。例如,假设有人伪造了atm,你无法知道它的合法性,当您插入信用卡,输入pin的时候,信用卡的密码就被截获了。再如intenet网上购物,如果用逻辑加密卡,购物者同样无法确定网上商店的合法性。
正是由于逻辑加密卡使用上的不安全因素,促进了cpu卡的发展。cpu卡可以做到对人、对卡、对系统的三方的合法性认证。
二、 cpu卡的三种认证
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卡中,认证成为卡——卡的认证,系统商不再存在责任。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
一、为什么用cpu卡
ic卡从接口方式上分,可以分为接触式ic卡、非接触式ic卡及复合卡。从器件技术上分,可分为非加密存储卡、加密存储卡及cpu卡。非加密卡没有安全性,可以任意改写卡内的数据,加密存储卡在普通存储卡的基础上加了逻辑加密电路,成了加密存储卡。逻辑加密存储卡由于采用密码控制逻辑来控制对eeprom的访问和改写,在使用之前需要校验密码才可以进行写操作,所以对于芯片本身来说是安全的,但在应用上是不安全的。它有如下不安全性因素:
1、密码在线路上是明文传输的,易被截取;
2、对于系统商来说,密码及加密算法都是透明的。
3、逻辑加密卡是无法认证应用是否合法的。例如,假设有人伪造了atm,你无法知道它的合法性,当您插入信用卡,输入pin的时候,信用卡的密码就被截获了。再如intenet网上购物,如果用逻辑加密卡,购物者同样无法确定网上商店的合法性。
正是由于逻辑加密卡使用上的不安全因素,促进了cpu卡的发展。cpu卡可以做到对人、对卡、对系统的三方的合法性认证。
二、 cpu卡的三种认证
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卡中,认证成为卡——卡的认证,系统商不再存在责任。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
上一篇:非接触智能卡安全分析