基于射频卡芯片AT88SC6416CRF设计的门诊电子病历
摘要:介绍了一套基于AT88SC6416CRF开发医院门诊电子病历的射频识别系统设计方法。该系统既能方便安全地记录门诊病人相关的各种就诊信息,又能确保数据在传输过程中的安全性,完全可以满足门诊电子病历的基本要求。
关键词:射频识别系统电子病历AT88SC6416CRF
1 引言
射频卡(简称RF卡)是一种新式非接触IC卡,具有使用寿命长、对读写设备(PCD)无物理磨损、不存在因接触而引起病菌交叉传染等优点,所以特别适用于在医院这种特殊场所进行信息储存。RF卡的关键部分为镶嵌在卡片内部的RF芯片,下面以AT-MEL公司的AT88SC6416CRF射频卡芯片为例来讨论其在门诊电子病历中的应用。
2 芯片简介
AT88SC6416CRF射频卡芯片在出厂时已被做成封装好的微型模块,其体积仅为5.06×8.00×0.38mm3。内部带有64kB的用户EEPROM和2kB的系统EEPROM,遵循ISO14443 B标准,使用13.56MHz频段,内设防重叠系统,可支持多卡同时使用。该器件采用3组64位长、相互加密校验的密钥和密码对,能重复写100000次以上,数据可保持10年,并可抵抗各种恶劣的使用环境,温度使用范围为-40~+85℃。AT88SC6416CRF采用开放式结构,具有良好的兼容性,允许用户自行选择读卡设备同时与常用的PHILIPS公司的MC531兼容,而且价格低廉,每个芯片售价不到7元人民币。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3 内部结构
AT88SC6416CRF射频卡芯片内部分为RF射频接口电路和其它数字电路两大部分,其功能组成框图如图1所示。
3.1 系统配置区结构
AT88SC6416CRF内有大小为2.048bit的EEP-ROM单元,称为系统配置区,专门用于存储系统数据,如密码、数据编码方式和用户内存中每个扇区的安全级别定义等。对配置区的操作可通过安全熔丝技术对卡的配置区等特定部分的编程写入进行控制。该类操作只能由系统开发者以规定的控制时序逻辑来完成,普通的最终用户如电子病历卡的使用者无法改变其中的信息。
3.2 用户区内存结构
AT88SC6416CRF给用户提供有8192个字节64kB的EEPROM存储容量,整个用户内存划分为16个扇区,编号为扇区0~扇区15。每个扇区有16个页(page),每个页的长度为32个字节,这样,一个扇区共有32Byte×16=512Byte。用户区内存具体的分配结构如表1所列。
表1 用户EEPROM具体分配结构
扇区0 | 000 | 001 | 002 | 003 | 004 | 005 | 006 | 007 |
共512个字节 | ||||||||
1F8 | 1F9 | 1FA | 1FB | 1FC | 1FD | 1FE | 1FF | |
扇区1~扇区14 | 000 | |||||||
…… | ||||||||
1FF | ||||||||
扇区15 | 000 | 001 | 002 | 003 | 004 | 005 | 006 | 007 |
共512个字节 | ||||||||
1F8 | 1F9 | 1FA | 1FB | 1FC | 1FD | 1FE | 1FF |
3.3 用户区内存的存取
在读卡器(即PCD)对RF卡进行配置时,将会加载安全认证协议,并对每一次读/写操作的当前密码进行双向校验,同时用此安全认证机制来验证数据的正确性。为了保证每个用户扇区的数据安全,每个用户扇区可以配置成自由读/写数据,或者设置操作密码。各个不同的用户扇区可以设置自己互不相同的密码。AT88SC6416CRF芯片内部设有特殊计数器,同时可以限定尝试密码的次数,还可以有效地抵抗外界暴力破解密码的攻击。具体的安全认证过程如图2所示。
在RF卡和识别系统建立起信任关系前,首先应将自己的卡号送给识别系统,以使识别系统计算出一个验明身份的Challenge A,并将它送给RF卡进行校验。RF卡接着计算验明身份的Challenge B,同时将它送回给识别系统进行校验。完成第一次双向校验后,识别系统开始读取密码,并由RF卡对读取的该密码进行检查,检查通过后,将发送检验用的Checksum和数据给识别系统,以便由识别系统对Checksum进行校验。完成上面的第二步双向校验后,识别系统将写密码、数据和Checksum送给RF卡,再由RF卡对Checksum进行校验。完成这第三步双向校验后,双方即可建立起信任关系,同时识别系统即可对RF卡执行读/写操作。
在用户卡与识别系统进行初始化系统配置区时,应当将不同类型的数据存储在不同的区域(即存储在多扇区的结构内),而且只有在分别进行了安全认证后,才能进行存取操作;实际上,也可以给多个扇区选择同样的安全模式,以便把这些扇区当作一块整体存储区域来操作。这种特点为该卡的使用带来了极大的灵活性。
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 工作原理
笔者设计的这种射频识别系统是由镶嵌有AT88SC6416CRF以及天线的用户卡片(PICC)和读写PICC的PCD系统共两部分组成。其中PCD有两种构成方法,第一种是用现成的ISO14443 B读写OEM模块,它带有与PC机可以直接相连的接口,因而可以方便地实现对PICC的操作;第二种方法是只使用专用芯片RF531,它可与MCU(如AT89C52)一起构成PCD,该种方法比较复杂