1 绪论1.1 课题的研究背景工业3.0将世界带入信息化的时代,信息技术的发展日新月异,一个以电子商务为主要特征的经济时代成为主要潮流,智能射频卡是一种将用户数据最快捷地送入到环球信息互联网并获得信息的最有用的工具,智能IC卡成为了人们身份识别和实现电子支付的手段,影响了我们生活工作的方式。
智能IC卡与普通磁卡对比具有更高的安全性,所以,对智能IC卡的功能进行研究是非常有意义的。
智能IC卡,又是CPU卡。
顾名思义, 这种卡片上集成了存储器、通信接口及CPU,具有存储数据、对外交流和数据处理的能力,因此,又是一片卡上的单片机系统。
为了使这一系统中的硬件和软件资源充分得到利用, 卡上存放了进行数据读写和安全通信的协议,以及管理这些程序的Chip Operating system卡上操作系统。
这操作系统是按照IC卡性能特征而专门设计的操作系统,它极大地不同于计算机上常见的DOS和WINDOWS 等操作系统,IC 卡存储器的容量大小和CPU的性能的限制着Chip Operating system卡上操作系统。
主要功能是:控制IC卡与读卡器的数据交流;管理IC卡上各种存储器;在IC卡内执行读写器发来的各种操作命令。
有了CPU与COS系统,成就了智能IC卡。
所以,智能射频卡具有超强的管理性能,提供很高的数据安全性和可靠性[1]。
1.2 非接触式IC卡1.2.1 非接触式IC卡的简介非接触式IC卡又称射频卡,由IC芯片、感应天线组成,封装在一个标准的PVC卡片内,芯片及天线无外露部分[2]。
它是全球上最近发展成熟的一项技术,射频识别技术和IC卡技术被成功地结合起来,解决了无源和非接触这一难题,无源即卡中没有电源,这是电子科学领域的一大突破[2]。
卡片接近读写器天线产生电磁场的一定空间范围 (通常为50—100mm),通过电磁波的发送来完成数据的读写操作。
1.2.2 非接触式IC卡的特点(1)操作快捷卡与读卡器之间的通讯是非接触的。
不用定向使用和插拔卡。
操作时,卡也可以不用拿出,可以放在钱夹、裤子口袋中,极大加快了刷卡速度。
同时,卡与读卡器进行通信时的载波频率较高,卡内芯片可以在较高的频率时钟下工作,提高了二者的通信速率[3]。
(2)高抗干扰性射频卡具有防冲撞机制,读卡器可以同一时间读写多张卡片,并且不会导致卡片之间产生数据干扰,用算法逐一选定一张卡,相当于读卡器添加了“并行”处理功能。
(3)具有多种工作距离目前,IC卡的工作距离有好几米的远距离IC卡,可用于车库门禁收费系统中,又有工作距离为几厘米、可作为电子支付的近距离IC卡,使得应用灵活多变。
(4)高可靠性非接触式IC卡与读卡器之间无机械接触,不会产生由接触通信而导致的各种故障,同时,无需担心由于触点残损或金属生锈而导致卡片接触不良[4],增强了通信的可靠性,增加了读卡器和卡的寿命。
而且尘土、潮气和震动的干扰不会影响无线电磁波,使得非接触式IC卡在多变的环境下使用。
(5)高安全性厂商在产品投入批量生产之前,将卡的卡号一次性写入第一个存储区的块0中,以后不可再更改,保证此的序列号是唯一的。
读写前射频卡与读写系统要进行三次应答认证,并且通信过程会产生随机数和加密的数据,防止各种破解和篡改,卡内每个存储区的访问密码和条件都不同。
1.2.3 非接触式IC卡的发展趋势随着非接触式IC卡的广泛应用与迅速发展,从目前看来,非接触式IC卡主要有以下几个发展趋势:(1)大容量“一卡多用”的新功能处于新的阶段,这种功能使得目前卡内16K的存储容量远远不能满足要求。
将来用户只用带着的一张具有多个功能IC卡,既能成为身份证和护照,又可以当做电子钱包、工作证,能存储个人简历,因此,研发更大卡内存储器的容量变得重要。
除了目前已经广泛使用的E2PROM存储器,一些新的存储器技术也正在开发,列如Flash+技术和铁电技术,未来IC卡行业使用的主要存储器极大可能是铁电存储器(FeRAM)[4]。
(2)更强的处理能力IC卡在日常生活的普及,相关技术迅速发展,我们需要一张具有更强的处理能力的IC卡,有两种增强处理能力的方法:其一是增加具有多样寻址方式的汇编指令,它能加快寻找有效数据的地址的速率,减少指令译码的工作量;二是增加数据总线位数到32位,同时还可以提高内部时钟频率从5MHz到10MHz。
(3)低功耗无论非接触式IC卡的是有源还是无源,低压低功耗设计对卡内芯片都是非常重要。
可以使用新型低功耗电池,达到增加电源提供给IC卡的时间,相当于增加了卡的使用时间;可以增加无源非接触式IC卡的工作距离,远距离卡在通信效率和快捷性上都超过了近距离卡,远距离低功耗成为非接触式IC卡发展的必然趋势[4]。
(4)发展复合式IC卡复合式卡的意思是双界面卡,接触式和非接触式的通信工作方式集成在一张卡上,也就是一卡两用,所以在结构上既有天线也有触点,使用起来更加灵活多变。
如今大多数国际大企业都成功开发并开始使用复合式卡。
1.3 非接触式IC卡读卡器发展状况现在,由于应用的场合不同,国内外出现大同小异的非接触式IC卡读卡器,有读卡器模块、便携式读卡器、高低频读卡器、双频标签读卡器、微波读卡器等各种各样的产品[5]。
这些产品有适合读写的距离大大不同。
但都有一个共同的特征,各种产品之间的区别不大,同质化严重,性能也相似,结构上都是读卡器芯片结合单片机,而并没有核心技术,缺乏成套技术的自主产权。
国外公司手中拥有读卡器的读卡器芯片的核心技术的控制权,在整个读卡器市场的利润,国外公司如TI、NXP等芯片厂商占绝大部分。
随着市场的发展,这些国外公司又同时在加强对整个非接触式IC卡技术的掌控,却有新的实力雄厚的ST(意法半导体)公司加入这一行,许多公司也觊觎这一迅速发展的市场。
TI和NXP公司牢牢控制着市场的主动权,提供从读卡模块、读卡器、读卡芯片及系统应用等一整套设备及服务。
令人欣慰的是,我国在这项技术的研究方面发展迅猛,在IC卡身份识别技术研究及产品研发方面,我国已经能够独立开发微波、低频和高频波的电子标签,拥有系统集成能力及读写器的技术。
1.4 课题的设计内容非接触近距离识别技术主要研究基于射频原理的非接触IC卡识别技术,具有操作快捷便利、可靠性高、安全性好、寿命长、防伪性好、抗干扰能力强等优点,被广泛应用于各种身份识别、收费系统中。
本次研究将掌握非接触式IC卡读卡器的原理,实现对非接触式IC卡的读写,能够正确读取IC卡的序列号及读卡用户信息,并通过计算机将信息显示出来。
2 非接触式IC卡Mifare 1 S50技术支持2.1 Mifare 1 S50简介MIFARE 1 s50是非接触智能IC卡。
其通信协议符合ISO/IEC 14443A,通讯层(MIFARE RF 接口)符合ISO/IEC 14443A标准的第2和第3部分。
其安全层支持域检验的CRYPTO1数据流加密。
在MIFARE卡结构中,芯片与一个几匝的天线线圈相连接,并封装到塑料中,制作了一个无源的近距离卡,不需要电池。
当卡接近读写器天线时,进入带有能量的电磁场,高速的RF通讯接口将以106 kBit/s 的速率传输数据[6]。
图2.1 Mifare 1 s50卡2.1.1 Mifare 1 S50的特性(1) MIFARE RF 接口 (ISO/IEC 14443 A)•非接触数据通信并提供能量(无需电源)•通信距离:大约100mm (取决于天线尺寸匝数)•工作频率:13.56 MHz•数据传输速率:106 kbit/s•高度数据安全性:16位CRC,奇偶校验,位编码,位计数•多卡防冲撞•典型票务交易: < 100 ms(2) EEPROM• 1 Kbyte,分为16个区,每区4个块,每块16字节。
•用户自定义存储块的读写条件•数据可存储长达10年•可重复写入10万次(3)安全性安全的重点是防盗窃。
相互随机数和应答认证、数据加密和报文鉴别检查和,防止各种破解和篡改,使其更适于票务应用。
不可更改的序列号,保证了每张卡的唯一性[7]。
•相互三轮应答认证(ISO/IEC DIS9798-2)•射频通道数据加密•每个区的尾块有两个密钥,按应用场合不同密钥分级•每张卡的序列号唯一•在通信过程中以发送密钥保护对存储区的访问权2.1.2 结构功能说明卡4匝线圈读卡器嵌入的芯片模块天线能量数据图2.2 Mifare卡内部结构RF接口数字控制单元防冲突认证控制和算逻单元EEPROM接口加密天线图2.3 Mifare卡的功能说明○1RF接口:•调制解调器•检波器•时钟发生器•上电复位•稳压器○2防冲突:一一选定通信范围内的几张卡,然后先后操作。
○3认证:在对任意存储器的存储块进行读写操作之前得先通过认证,必须各个存储区指定的密钥相匹配才能获得访问资格。
○4控制和算术逻辑单元:写入特定的冗余格式的数据,可以读写、加减。
○5EEPROM接口○6加密单元:每次数据交换的 CRYPTO1 数据流都进行加密,防止数据被非法盗窃。
○7EEPROM: 1 KB,分16区,每区4块。
每一块有16字节。
2.1.3 存储区结构1024 x 8 bit EEPROM存储器分为16区,每区4块,每块16字节。
在擦处后的状态下,EEPROM的单元读为逻辑“0”,写后的状态下读为“1”。
(1)制造商占用块第1个区的第1个块(块0)。
它含有卡的序列号、检查字节和制造商数据。
由于安全和系统要求,此块只能由制造商在生产过程进行一次编程。
用户对块0只能进行只读,前4个字节是卡的序列号,此值唯一。
字节序列号检查字节制造厂商数据最高位最低位0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15X X X X X X X X 0图2.4 块0的存储结构(2)数据块各区均有3个16字节的块用于存储数据,除区0只有两个数据块以及一个只读的厂商代码块。
数据块可以通过读写控制位设置为:○1读写块,比如用于非接触门禁系统,存储用户资料。
○2数值块,可以加减,可作电子钱包的用途。
在进行任一数据块操作之前,必须先通过认证环节。
此次研究我只使用读写块功能,用于存储用户的信息,我将自己的名字存储到0区的块1中。
(3)尾块各区都有一个尾块,存有:○1密钥A和B(可选),读块时返回逻辑“0”。
○2该区四个块的读写条件,存储在字节6至9。
读写控制位也指定了数据块的类型(读写块或数值块)。
每张卡的密钥A的默认密码是6个字节的“FF”。
如果不需要密钥B,块3的最后6字节可以用作数据字节,尾块的字节9可用于用户数据,因为此字节享有与字节6、7、8相同的读写权限[7]。
表2.2 尾块的存储结构字节号0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 说明密钥A 读写条件密钥B(可选)2.2 通信原理图2.5 通信流程图读写器发出或根据commandReg寄存器里得到的命令,按照对应区访问条件,再由数字控制单元来处理。