智能卡按安全级别可以分为三类:存储器卡、逻辑加密卡和CPU卡,其中CPU卡是安全级别最高的。从“CPU”这个名字可以看出,CPU卡最大的特点就是卡片里面有一个"CPU",有了CPU我们就可以对卡片编程写入软件(COS,卡片操作系统),实现复杂的安全加密算法,所以CPU卡的安全性是最高的。与之形成对比的是,存储器卡和逻辑加密卡中没有"CPU",尽管在我们看来像MIFARE1卡看起来似乎也很智能,但M1卡里存在的仅仅是一个专用集成电路(ASIC),而不是CPU。

说到非接触式CPU卡,就不得不提接触式CPU卡,因为就CPU卡的灵魂——COS来说,二者遵循的协议基本是一样的,都是ISO7816-4,不同之处在于二者进入COS的方式和途径,在此以复旦微电的非接触式CPU卡FM1208M01为例,与接触式CPU卡进入COS的过程对比如下图所示。

CPU卡在进入ISO7816-4协议之前所做的都是一些为卡片和读写器对话进行的准备工作。接触式CPU卡的序列比较简单,卡片插在卡座上,读写器给卡片一个复位(Reset)信号,卡片回送一个应答ATR(Answer To Reset),ATR由5部分组成:

(1)初始字符TS:指定字符传送规则,如果是3B则高电平表示1,低电平表示0,先传送字符最低有效位;如果是3F

则高电平表示0,低电平表示1,先传送字符最高有效位。

(2)格式字符T0:指定存在哪些接口字符以及历史字符的个数。

(3)接口字符  :指定协议参数和协议类型

(4)历史字符  :说明诸如制造商、芯片型号等一般信息

(5)校验字符  :保证ATR数据的完整性,使用的是异或校验

非接触式CPU卡得到ATS(Answer To Select)相对步骤多一些,不过这也是迫不得已,这是由卡片本身的“非接触”特性决定的。不像接触式卡片那样一卡一座,非接触式卡片由于“无源”和“免接触”,读写器的射频场中可能同时存在多张卡片,为了从多张卡片中选中一张进行操作,读写器要启动防冲突和卡选择的过程。由于不能保证射频场中的卡片都是CPU卡,所以读写器选中一张卡片后还要向卡片发送RATS命令,CPU卡会回送一个ATS响应,此ATS与接触式CPU卡的ATR也大同小异,同样由5部分组成:

(1)长度字符TL:指出ATS的长度,不包括后面的校验字节。

(2)格式字符T0:指定存在哪些接口字符以及卡片能接收的帧的最大长度。

(3)接口字符  :指定协议参数和协议类型

(4)历史字符  :说明诸如制造商、芯片型号、序列号等一般信息

(5)校验字符  :保证ATS数据的完整性,使用的是2字节CRC校验

完成ATR或ATS应答之后,卡片可以进行PPS(Protocol Parameter Selection)协商,也可以不协商而使用默认值。此后就进入7816-4,执行COS命令进行数据交换了。

射频识别技术漫谈(27)——CPU卡概述的更多相关文章

  1. 射频识别技术漫谈(6)——通讯协议概述【worldsing笔记】

    通讯协议是通讯的双方或多方在交流时遵守的规矩,包括谁先发起通讯,先交流什么,后交流什么,一方如何问,另一方如何答等.在这里通迅的双方指的是读写器和卡片. 首先是谁先发起通讯,很显然有两种,读写器先发言 ...

  2. 射频识别技术漫谈(7)——ID卡【worldsing笔记】

    ID(Identification)是识别的意思,ID卡就是识别卡.ID卡包含范围广泛,只要具有识别功能的卡片都可以叫ID卡,例如条码卡,磁卡都可以是ID卡,我们这儿说的当然是射频识别卡. 射频ID卡 ...

  3. 射频识别技术漫谈(7)——ID卡

    ID(Identification)是识别的意思,ID卡就是识别卡.ID卡包含范围广泛,只要具有识别功能的卡片都可以叫ID卡,例如条码卡,磁卡都可以是ID卡,我们这儿说的当然是射频识别卡. 射频ID卡 ...

  4. 射频识别技术漫谈(10)——识别号的格式变化【worldsing笔记】

    从事RDID行业的朋友经常会遇到这样的情况,同一张ID卡,在不同厂家生产的读卡器上读出的识别号完全不一样,有时甚至差之千里.ID卡的识别号一般是在出厂时被固化在卡片的ROM里,本身是不会改变的,问题出 ...

  5. 射频识别技术漫谈(1)——概念、分类

    现代社会智能卡已经渗透到生活的方方面面,公交卡.考勤卡.身份证.手机卡等等数不胜数.    智能卡按使用时是否和读卡器接触可分为接触式智能卡和非接触式智能卡,接触式智能卡上有6-8个触点,使用时插在卡 ...

  6. 射频识别技术漫谈(3)——能量、调制【worldsing 笔记】

    无源和免接触是非接触式IC卡相对于接触式IC卡的两大特点.无源是指卡片上没有电源,免接触是指对卡片的读写操作不必和读写器接触.非接触式智能卡也是IC卡,而卡上的IC即集成电路工作时肯定是需要电源的,卡 ...

  7. 射频识别技术漫谈(25)——Felica简介

    Felica是SONY公司开发的射频识别技术,该技术使用的载波频率与ISO14443A和ISO14443B一样,都是13.56MHz,所以有人把它称为ISO14443C,但SONY并没有正式接受这样的 ...

  8. 射频识别技术漫谈(20)——RC系列射频接口芯片

    目前基于13.56MHz的射频识别技术主要有ISO14443A.ISO14443B.ISO15693和FELICA技术.针对13.56MHz的射频识别技术,NXP开发了一系列名字以RC(Radio C ...

  9. 射频识别技术漫谈(4)——数据编码【worldsing 笔记】

    前已述及,射频识别技术中的调制方法一般使用调幅(AM),也就是将有用信号调制在载波的幅度上传送出去.这里的"有用信号"指用高低电平表示的数据"0"或" ...

随机推荐

  1. asp.net mvc 对象和集合序列化

    private List<Model.Organization.Organization> GetOrganiztions(){var organizations = new List&l ...

  2. JTable只要一双击就进入编辑状态,禁止的方法实现

    我用JTable做了一个表格,表格内容只供查看和选择,可每次只要一双击,就进入编辑状态,可是现在我不需要当双击的时候修改表格的内容.这时候需要重载isCellEditable方法. 下面是我的实现的代 ...

  3. java23中设计模式详解

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  4. BZOJ 1832: [AHOI2008]聚会( LCA )

    LCA模板题...不难发现一定是在某2个人的LCA处集合是最优的, 然后就3个LCA取个最小值就OK了. 距离就用深度去减一减就可以了. 时间复杂度O(N+MlogN) (树链剖分) -------- ...

  5. [转载]标签a的href和onclick

    转载自:http://gocom.primeton.com/blog21307_27051.htm 我以前在写<A>的href和onclick一直很随意,后来出过几次问题,以后才开始重视这 ...

  6. Gow工具

    一 Gow 是什么 Gow (Gnu On Windows) is the lightweight alternative to Cygwin. It uses a convenient NSIS i ...

  7. AAU账号分割

    import win.ui; import fsys.dlg; import string.list; /*DSG{{*/ var winform = win.form(text="aard ...

  8. Qt 如何处理密集型耗时的事情(频繁调用QApplication::processEvents)

    有时候需要处理一些跟界面无关的但非常耗时的事情,这些事情跟界面在同一个线程中,由于时间太长,导致界面无法响应,处于“假死”状态.例如:在应用程序中保存文件到硬盘上,从开始保存直到文件保存完毕,程序不响 ...

  9. SpringMVC深入理解

    核心类与接口 - DispatcherServlet 前置控制器- HandlerMapping 请求映射(到Controller)- HandlerAdapter 请求映射(到Controller类 ...

  10. TerminateThread函数学习

    终结一个线程. BOOL WINAPI TerminateThread( _Inout_  HANDLE hThread, _In_     DWORD dwExitCode ); Parameter ...