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
随机推荐
- 求绝对值,hdu-2003
求绝对值 Problem Description 求实数的绝对值. Input 输入数据有多组,每组占一行,每行包含一个实数. Output 对于每组输入数据,输出它的绝对值,要求每组数据输出 ...
- 命令行参数解析:getopt,getopt_long
#include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring); extern c ...
- 正式学习React (七) react-router 源码分析
学习react已经有10来天了,对于react redux react-redux 的使用流程和原理,也已经有一定的了解,在我上一篇的实战项目里,我用到了react-route,其实对它还只是 停留在 ...
- MFC子窗口和父窗口(SetParent,SetOwner)
一.概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表.系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口.这个数据结构中有四个数据用来构建list, ...
- extjs让按钮可用或者不可用
Ext.getCmp(‘按钮ID’).enable();//设置为可用Ext.getCmp(‘按钮ID’).disable();//设置为不可用
- poj 1088 滑雪_记忆化搜索
题意:略 直接用记忆化搜索就行了 #include<cstdio> #include<iostream> using namespace std; int n,m; int m ...
- 解决的方法:warning: Clock skew detected. Your build may be incomplete.
因为时钟同步问题.出现 warning: Clock skew detected. Your build may be incomplete.这种警告, 解决的方法: find . -type f ...
- Mansory算法分析
相信大家对mansory排版算法印象十分深刻,它能够十分有效的实现页面紧凑排版,节省空间,并且还显得十分美观.在很多网站,包括鼎鼎有名的pinterest都使用了这个算法来实现排版.这个过程有点象瓦匠 ...
- 利用gridview实现计时消费,有点复杂,谁有好的方法可以讨论一下...
这是前段时间做项目遇到的一个问题,做出来的效果图如下, 由会员id查询出会员来,然后开始计费.然后点击结束消费,传到别的页面,主要就是结束时间和开始时间的一个时间差. 用到的数据表设计视图如下, 为了 ...
- T-SQL索引
索引 使用索引可以提高查询速度,不是越多越好,会损耗存储空间.应用于出现在where子句中的列建立索引.可以使用sql server 内置工具Profiler捕捉在SQL Server实例上执行的活动 ...