IC卡、M1卡、CPU卡、SAM卡、PSAM卡的联系与区别
一、 技术方面(非接触式IC卡)
1、 逻辑加密卡又叫存储卡,卡内的集成电路具有加密逻辑和EEPROM(电可擦除可编程只读存储器)。
2、 CPU卡又叫智能卡,卡内的集成电路包括中央处理器(CPU)、EEPROM、随机存储器(ROM)、以及固化在只读存储器(ROM)中的片内操作系统(COS),有的卡内芯片还集成了加密运算协处理器以提高安全性和工作速度,使其技术指标远远高于逻辑加密卡。
3、 CPU卡由于具有微处理功能,使得在交易速度以及数据干扰方面远远高于逻辑加密卡,且允许多张卡片同时操作,具有防冲突机制。
4、 两者在技术方面的最大区别在于:CPU卡是一种具有微处理芯片的IC卡,可执行加密运算和其它操作,存储容量较大,能应用于不同的系统;逻辑加密卡是一种单一的存储卡,主要特点是内部有只读存储器,但存储容量较CPU卡小,使其在用途方面没有扩展性。
二、 保密方面(非接触式IC卡)
1、 逻辑加密卡具有防止对卡中信息随意改写功能的存储IC卡,当对加密卡进行操作时必须首先核对卡中密码,只有核对正确,卡中送出一串正确的应答信号时,才能对卡进行正确的操作,但由于只进行一次认证,且无其它的安全保护措施,容易导致密码的泄露和伪卡的产生,其安全性能很低。
2、 由于CPU卡中有微处理机和IC卡操作系统(COS),当CPU卡进行操作时,可进行加密和解密算法(算法和密码都不易破解),用户和IC卡系统之间需要进行多次的相互密码认证(且速度极快),提高了系统的安全性能,对于防止伪卡的产生有很好的效果。 综上所述,对于逻辑加密卡和CPU卡来说,CPU卡不仅具有逻辑加密卡的所有功能,更具有逻辑加密卡所不具备的高安全性、灵活性以及支持与应用扩展等优良性能,也是今后IC卡发展的主要趋势和方向。
三、 CPU卡安全系统与逻辑加密系统的比较
众所周知,密钥管理系统(Key Management System),也简称KMS,是IC项目安全的核心。如何进行密钥的安全管理,贯穿着IC卡应用的整个生命周期。
1、 非接触逻辑加密卡的安全认证,依赖于每个扇区独立的KEYA和KEYB的校验,可以通过扇区控制字对KEYA和KEYB的不同安全组合,实现扇区数据的读写安全控制。非接触逻辑加密卡的个人化也比较简单,主要包括数据和各扇区KEYA、KEYB的更新,在期间所有敏感数据包括KEYA和KEYB都是直接以明文的形式更新。由于KEYA和KEYB的校验机制,只能解决卡片对终端的认证,而无法解决终端对卡片的认证,即我们俗称的“伪卡”的风险。接触逻辑加密卡,即密钥就是一个预先设定的确定数,无论用什么方法计算密钥,最后就一定要和原先写入的数一致,就可以对被保护的数据进行读写操作。因此无论是一卡一密的系统还是统一密码的系统,经过破解就可以实现对非接触逻辑加密卡的解密。很多人认为只要是采用了一卡一密、实时在线系统或非接触逻辑加密卡的ID号就能避免密钥被解密,其实,非接触逻辑加密卡被解密就意味着M1卡可以被复制,使用在线系统尽可以避免被非法充值,但是不能保证非法消费,即复制一张一样ID号的M1卡,就可以进行非法消费。现在的技术使用FPGA就可以完全复制。基于这个原理,M1的门禁卡也是不安全的。目前国内80%的门禁产品均是采用原始IC卡的ID号或ID卡的ID号去做门禁卡,根本没有去进行加密认证或开发专用的密钥,其安全隐患远远比Mifare卡的破解更危险,非法破解的人士只需采用的是专业的技术手段就可以完成破解过程,导致目前国内大多数门禁产品都不具备安全性原因之一,是因为早期门禁产品的设计理论是从国外引进过来的,国内大部分厂家长期以来延用国外做法,采用ID和IC卡的只读特性进行身份识别使用,很少关注卡与机具间的加密认证,缺少钥匙体系的设计;而ID卡是很容易可复制的载体,导致所有的门禁很容易几乎可以在瞬间被破解复制;这才是我们国内安防市场最大的灾难。
2、 非接触CPU卡智能卡与非接触逻辑加密卡相比,拥有独立的CPU处理器和芯片操作系统,所以可以更灵活的支持各种不同的应用需求,更安全的设计交易流程。但同时,与非接触逻辑加密卡系统相比,非接触CPU卡智能卡的系统显得更为复杂,需要进行更多的系统改造,比如密钥管理、交易流程、PSAM卡以及卡片个人化等。密钥通常分为充值密钥(ISAM卡),减值密钥(PSAM卡),外部认证密钥(SAM卡)和全能密钥(ASAM卡)。非接触CPU卡智能卡可以通过内外部认证的机制,例如像建设部定义的电子钱包的交易流程,高可靠的满足不同的业务流程对安全和密钥管理的需求。对电子钱包圈存可以使用圈存密钥,消费可以使用消费密钥,清算可以使用TAC密钥,更新数据可以使用卡片应用维护密钥,卡片个人化过程中可以使用卡片传输密钥、卡片主控密钥、应用主控密钥等,真正做到一钥一用。
CPU卡加密算法和随机数发生器与安装在读写设备中的密钥认证卡(SAM卡)相互发送认证的随机数,可以实现以下功能:
1) 通过终端设备上SAM卡实现对卡的认证
2) CPU卡与终端设备上的SAM卡的相互认证,实现对卡终端的认证
3) 通过ISAM卡对CPU卡进行充值操作,实现安全的储值
4) 通过PSAM卡对CPU卡进行减值操作,实现安全的扣款
5) 在终端设备与CPU卡中传输的数据是加密传输
6) 通过对CPU卡发送给SAM卡的MAC1,SAM卡发送给CPU的MAC2和由CPU卡返回的TAC,可以实现数据传输验证的计算。而MAC1、MAC2和TAC就是同一张CPU卡每次传输的过程中都是不同的,因此无法使用空中接收的办法来破解CPU卡的密钥。
IC卡、M1卡、CPU卡、SAM卡、PSAM卡的联系与区别的更多相关文章
- PSAM卡
PSAM卡 终端安全控制模块,符合<中国金融集成电路(IC卡)PSAM卡规范>, 包括普通PSAM卡和高速PSAM卡. PSAM符合以下标准及规范: 识别卡,带触点的集成电路卡标 ...
- PSAM卡与CPU(用户卡)的操作过程
最近我一直在研究关于通过国密PSAM卡作为安全模块来读写cpu(用户卡)的问题 其实,两者都是卡片,或者说都是从设备.它们之间是无法相互访问的. 实际上,PSAM 卡是作为秘密密钥的载体,专门执行加密 ...
- PSAM 卡的应用操作方法
PSAM 卡的应用 PSAM 功能 终端安全存储模块 PASM 常用于 脱机交易的 安全认证 脱机交易的流程 1.卡片对持卡人的认证(防止 ...
- PSAM 卡的应用 操作方法
PSAM 卡的应用 PSAM 功能 终端安全存储模块 PASM 常用于 脱机交易的 安全认证 脱机交易的流程 1.卡片对持卡人的认证(防止 ...
- 社保系列7《PSAM卡》
PSAM卡用于商户POS.网点终端.直联终端等端末设备上,负责机具的安全控管.PSAM卡具有一定的通用性.经过个人化处理的PSAM卡能在不同的机具上使用. PSAM卡支持多级发卡的机制,各级发卡方在卡 ...
- Android4.0Sd卡移植之使用vold自动挂载sd卡
在cap631平台上移植android4.0,发现内核驱动没有任何问题,能够读写,当总不能挂载. 后来发现是因为自动挂载需要vold的支持.vold程序负责检查内核的 sysfs 文件系统,发现有SD ...
- PSAM卡之常用APDU指令错误码【转】
本文转载自:http://blog.csdn.net/lvxiangan/article/details/53933714 PSAM卡的内容交互,是通过APDU指令完成的,常见的APDU报文格式如下: ...
- mysql 启动卡主,cpu 100%
[mysql@mysqlhq scripts]$ cat /etc/redhat-release Kylin Linux release 3.3.1707 (Core) mysql version S ...
- 解决vscode卡顿,CPU占用过高的问题
打开vscode之后,点击文件==>首选项==>设置 搜索设置 search.followSymlinks 然后将这个值改为false
随机推荐
- Java多线程编程总结(精华)
Java多线程编程总结 2007-05-17 11:21:59 标签:多线程 java 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http ...
- php in_array 和 str_replace
有这样的用法哦 $allow_state_array_invoc = array('store_invoice','invoiceno','invoicerec','invoiceing'); if ...
- 安装完CentOS 7 Minimal之后,从头打造桌面工作环境
安装完CentOS 7 Minimal之后,从头打造桌面工作环境 U盘装CentOS 7 DVD版不能引导的解决办法 更改root密码 SSH登录 增加除root之外的常规用户 装完CentOS 7之 ...
- LaTeX中titlesec宏包的使用
在 xelatex 中使用 \usepackage 指令使用 titlesec 宏包时,可以指定一些格式选项,如下: \usepackage[center]{titlesec} 其中 center 可 ...
- ORA-01653:表无法通过64(在表空间USERS中)扩展
问题描述:oracle插入数据时显示ORA-01653 表无法通过64(在表空间USERS中)扩展 原因: oracle 表空间满了,需要扩展 截图: 解决方法: 1.首先查下表空间 select ...
- DataGridView 去掉多余的列
去掉DataGridView多余的列: this.DataGridView.AutoGenerateColumns = false;
- Oracle监控指标
1.数据文件或数据设备 参考:http://f.dataguru.cn/thread-106901-1-1.html2.数据库日志空间活或回滚段(包括大小.设备.文件及可用率.日志空间竞争情况或回滚段 ...
- Java缓存
Java中要用到缓存的地方很多,首当其冲的就是持久层缓存,针对持久层谈一下: 要实现java缓存有很多种方式,最简单的无非就是static HashMap,这个显然是基于内存缓存,一个map就可以搞定 ...
- CodeForces - 527D Clique Problem (图,贪心)
Description The clique problem is one of the most well-known NP-complete problems. Under some simpli ...
- 个人VIM配置文件
个人使用vim配置,安装YCM(YouCompleteMe,jedi, vundle等插件),具体的配置如下: execute pathogen#infect() syntax on filetype ...