RFID原理与实践 课件 8.2 高频卡基础_第1页
RFID原理与实践 课件 8.2 高频卡基础_第2页
RFID原理与实践 课件 8.2 高频卡基础_第3页
RFID原理与实践 课件 8.2 高频卡基础_第4页
RFID原理与实践 课件 8.2 高频卡基础_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MifareS50简介MIFAREClassicMIFAREClassic是恩智浦半导体开发的可用于非接触式智能卡,工作频率为13.56MHz,符合ISO/IEC14443A类标准。特征在制造时有唯一的卡片序列号,该序列号无法复制。具有较强的数据通信加密并双向验证密码系统,有防冲突功能,能在同一时间处理读写器天线内的多张重叠的卡片有高速的CRC协处理器,符合CCITT标准提供具有高安全的电子钱包,及具有增值/减值的专项命令芯片框图卡片特点MIFARERF接口(ISO/IEC14443A)

非接触数据传输,无电源工作距离:10cm内(取决于天线尺寸结构)工作频率:13.56MHz快速数据传输:106kbit/s高度数据完整性保护:16BitCRC,奇偶校验,位编码,位计数真正的防冲突典型票务交易:<100ms(包括备份管理)卡片特点EEPROM8Kbit,分为16个区,每区4个块,每块16字节。用户可定义内存块的读写条件数据保存期10年可改写10万次卡片特点安全性相互三轮认证(ISO/IECDIS9798-2)带重现攻击保护的射频通道数据加密每区(每应用)两个密钥,支持密钥分级的多应用场合每卡一个唯一序列号以传输密钥保护对EEPROM的访问权读卡的通信过程M1卡运作机理:整个过程包含复位应答、防冲突、选卡、三次互相认证和操作数据块。读卡的通信过程整个过程包含复位应答、防冲突、选卡、三次互相认证、操作数据块。复位应答(Answertorequest)M1射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。防冲突循环(AnticollisionLoop)当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待,该过程会返回被选卡的序列号。选择卡片(SelectTag)读写器通过selectcard命令选定一张卡以进行认证和存储器相关操作。该卡返回选定应答码(ATS=08h),明确所选卡的卡型。三次互相确认(3PassAuthentication)选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,则必须进行另一扇区密码校验。)读卡的通信过程认证后可执行的对数据块的操作有:读(Read):读一个块;写(Write):写一个块;加(Increment):对数值块进行加值;减(Decrement):对数值块进行减值;存储(Restore):将块中的内容存到数据寄存器中;传输(Transfer):将数据寄存器中的内容写入块中;中止(Halt):将卡置于暂停工作状态;MifareS50安全性安全性在读写器和卡的通信过程中,为了保证数据传输的可靠性,对每块数据采用16bit的CRC校验,同时通过密码认证和存取控制来保障安全。相互认证最常见的相互认证是双方见面时一方给另一方一个随机数,让对方利用密码和约定的算法对这个随机数进行运算,如果结果符合预期则认证通过,否则认证不通过。相互认证卡片认证读写器的合法性,先向读写器发送一个随机数,读写器用事先约定的有密码参与的算法对随机数进行运算,然后把运算的结果回送给卡片,卡片收到后检查这个结果对不对,如果对就通过认证,不对就没有通过认证,读写器认证卡片也是向卡片发送一个随机数,卡片用事先约定的有密码参与的算法对随机数进行运算,然后把运算的结果回送给读写器,读写器收到后检查这个结果对不对,如果对就通过认证,不对就没有通过认证,相互认证无论卡片还是读写器,认证对方时都是给对方一个随机数,对方返回对随机数的运算结果。那么卡片与读写器互相认证就需要两个“一来一回”,一共“四次相互认证”。当然读写器在回送对卡片随机数的运算结果时搭了一次便车,把自己认证卡片的随机数也一同送了过去,从而减少了一次数据传送,四次相互认证就变成了“三次相互认证”。认证流程读写器指定要访问的区,选择密钥A或B。卡从指定扇区中的块读取密钥和访问权限,并向读写器发送随机数B。读写器利用密钥和收到的随机数B计算返回值。返回值连同读写器自己产生的随机数A,发送给卡卡片收到后先检查读写器对随机数B运算的返回值对不对,如果不对就不再往下进行.如果正确就用密钥对随机数A计算返回值,然后把结果送给读写器。读写器收到后检查这个结果对不对,正确就通过验证,否则认证失败。S50卡的数据存储结构S50卡数据存储结构1K字节,分为16个扇区,每个扇区又分为4个块,(我们也将16个扇区的64个块按绝对地址编号为0~63)每个块16个字节S50卡数据存储结构数据块每个扇区的块0、块1、块2为数据块(除去0区0块),可用于存贮数据。数据块可通过读写控制位进行设置,作两种应用:★读写块:用作一般的数据保存,可以进行读、写操作,如用于门禁★数值块:可以进行初始化值、加值、减值、读值操作,如用于电子钱包。存储器操作操作说明使用块型读Read读存储器块读写、数值、控制写Write写存储器块读写、数值、控制增值Increment增加块的内容,并将结果存入内部寄存器数值减值Decrement减少块的内容,并将结果存入内部寄存器数值传输

Transfer将内部寄存器内容写入块中数值存储

Restore将块中内容读到内部寄存器数值数值块的存储结构数值块有固定的数据格式,以便于错误检测、纠错和备份管理。数值块只能通过以数值块格式的写操作生成:•数值:有符号4字节数值。数值的最低字节存储在最低地址字节。负值以标准的2的补码形式存储。

出于数据完整性和安全原因,数值存储三次,两次不取反,一次取反。•地址(Adr):1字节地址,当进行备份管理时,可用于保存块的地址。地址保存四次。两次取反,两次不取反。在increment、decrement、restore和transfer操作中,地址保持不变。它只能通过write命令更改。数值块的存储结构在第4块中写入数值1000,那么块4的16个字节分别是什么?1000000003E8E803000017FCFFFF十进制的数值1000转换为16进制低字节在前,高字节在后取反04FB地址块取反E803000017FCFFFFE803000004FB04FB数值块的存储结构如图所示,这是读取的一张S50卡中某一个扇区的数据。请判断其中有没有数值块,如果有的话,里面的数值是多少?观察图中的数据可知,块5,块6符合数值块的存储格式。其中,块5中的数值为,最高位为0,数值为2块6中的数值,最高位为1,是负值,数值为﹣20S50卡的数据存储结构S50卡数据存储结构1K字节,分为16个扇区,每个扇区又分为4个块,(我们也将16个扇区的64个块按绝对地址编号为0~63)每个块16个字节控制块控制块每个扇区的块3为控制块,包括了密码A、存取控制、密码B。每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。其中第0-5字节为48位的密钥A;第6-8字节为访问控制条件;第9字节为备用区;剩下的6个字节存放密钥B,如用户不需要密钥B,则可用于存放一般的应用数据。原装的PhilpsS50芯片在出厂时设置每个分区的的第四块A密钥是“FFFFFFFFFFFF”,控制字是:“FF078069”,B密钥是:“FFFFFFFFFFFF”,A密钥是供用户读写操作的,利用A密钥可对对除0区外其它所有扇区块进行读写操作。B密钥不可操作,数据块的存取控制权限释义编号C1C2C3释义内容1000校验KEYA或者KEYB正确时,允许读出和写入块数据,也可对块值进行加、减以及转存等操作。2001校验KeyA|B正确时,可对数据块作读出、减值、转存等操作;任何情况下都无法对数据块作写数据或加值操作。3010校验KeyA或者KeyB正确时,仅允许读出块数据,任何情况下都无法改写块数据或对块值进行加、减以及转存等操作。4011校验KeyB正确时,仅允许读写块数据,任何情况下都无法作加值、减值及转存等操作。5100校验KeyB正确时,允许对用户块作数据读写,校验KeyA正确时,仅允许对用户块读出,任何情况下都无法作加值、减值及转存等操作。。6101校验KeyB正确时可读数据块。任何情况下都无法改写数据块或者作加值、减值及转存等操作。7110校验KeyB正确时,允许对用户块作数据读写、加值、减值、转存等全功能操作,校验KeyA正确时,仅允许对用户块作读值、减值及转存操作。8111任何情况下都无法对用户数据块作任何功能操作。控制块的控制权限释义编号C1C2C3释义内容1000任何情况下都无法读出密钥KeyA及改写控制值;但校验KeyA正确时,允许改写KeyA|B及读出控制值和KeyB(这里KeyB为可显示明码,故不能用明码去认证)。2001任何情况下都无法读出密钥KeyA;但校验KEYA正确时,允许改写KEYA、读写控制值和读出KeyB(这里KeyB为可显示明码,故不能用明码去认证)。3010任何情况下都无法读出KeyA以及改写其控制值、KeyA|B。校验KeyA正确时,仅允许读出控制值及密码KeyB。4011任何情况下都无法读出密钥KeyA|B;但校验KEYB正确时,允许改写KeyA|B和控制值;校验KeyA|B正确时,允许读出其控制值。5100任何情况下都无法读出KeyA|B以及改写其控制值。校验KeyA|B正确时,均可读出控制值,只有校验KeyB正确时,才允许改写KeyA|B。6101任何情况下都无法读出或改写KeyA|B。校验KeyA|B正确时,均可读出控制值,只有校验KeyB正确时,允许改写其控制值。7110任何情况下都无法读或写KeyA|B,也无法改写其控制值。但校验KeyA|B正确时,均可读出控制值8111任何情况下都无法读或写KeyA|B,也无法改写其控制值。但校验KeyA|B正确时,均可读出控制值。常见控制字默认方式。密钥A或密钥B都可以读写数据区,密钥A可写密钥区,优点是密钥控制字无需重新计算,读写方便,缺点是安全性能差,密钥A容易泄露。“FF078069”密钥B写方式。密钥A或密钥B都可以读写数据区,而对于密钥区只能由密钥B来写。优点是密钥B权限最高,只要知道密钥B,无论密钥A写成什么都可以改写,缺点是密钥B很重要,一旦忘记,卡就失效。“7F 07 88 69”A读B写方式。这种方式下由密钥A读密钥B来写,可以说是上面一种方式的变体,对于密钥B有更强的保护。“08 77 8F 69”只读不写方式。这种方式下密钥A或密钥B都可以读数据区,但都不能写数据区。密钥A可以改写密钥区。这种方式对于数据是极大的保护,“FF00F069”S50卡数据存储结构一张Mifare1S50卡可以同时用于16种不同的应用,例如门禁考勤、公交、预付费水表等。每个应用都是完全独立的,拥有独立的两套密码:密钥A和密钥B。所有的应用只是共用“射频接口”和“数字控制单元”。编号C1C2C3释义内容1000任何情况下都无法读出密钥KeyA及改写控制值;但校验KeyA正确时,允许改写KeyA|B及读出控制值和KeyB(这里KeyB为可显示明码,故不能用明码去认证)。2001任何情

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论