您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > Mifare1技术说明(M1卡说明文档)
1Mifare1非接触IC卡技术说明1特性1.1MIFARERF接口(ISO/IEC14443A)非接触数据传输并提供能源(不需电池)工作距离:可达100mm(取决于天线尺寸结构)工作频率:13.56MHz快速数据传输:106kbit/s高度数据完整性保护:16BitCRC,奇偶校验,位编码,位计数真正的防冲突典型票务交易:100ms(包括备份管理)1.2EEPROM1Kbyte,分为16个区,每区4个块,每块16字节。用户可定义内存块的读写条件数据耐久性10年写入耐久性100.000次1.3安全性相互三轮认证(ISO/IECDIS9798-2)带重现攻击保护的射频通道数据加密每区(每应用)两个密钥,支持密钥分级的多应用场合每卡一个唯一序列号在运输过程中以传输密钥保护对EEPROM的访问权2概述MIFAREMF1是符合ISO/IEC14443A的非接触智能卡。其通讯层(MIFARERF接口)符合ISO/IEC14443A标准的第2和第3部分。其安全层支持域检验的CRYPTO1数据流加密。2.1非接触能源和数据传递在MIFARE卡中,芯片连接到一个几匝的天线线圈上,并嵌入塑料中,形成了一个无源的非接触卡。不需要电池。当卡接近读写器天线时,高速的RF通讯接口将以106kBit/s的速率传输数据。卡4匝线圈读卡器嵌入的芯片模块天线能量数据22.2防冲突智能的防冲突功能可以同时操作读写范围内的多张卡。防冲突算法逐一选定每张卡,保证与选定的卡执行交易,不会导致与读写范围内其他卡的数据冲突。2.3用户便捷性MIFARE是针对用户便捷性优化的。例如,高速数据传输使得完整的票务交易在不到100ms内处理完毕。因此用户不必在读写器天线处停留,形成高的通过率,减少了公共汽车的登车时间。在交易时,MIFARE卡可以留在钱包里,甚至钱包里有硬币也不受影响。2.4安全安全的重点是防欺诈。相互随机数和应答认证、数据加密和报文鉴别检查和,防止各种破解和篡改,使其更适于票务应用。不可更改的序列号,保证了每张卡的唯一性。2.5多应用功能MIFARE提供了可以与CPU卡媲美的真正多应用功能。每区两个不同的密钥支持采用分级密钥的系统。3功能说明RF接口数字控制单元防冲突认证控制和算逻单元EEPROM接口加密天线3.1方框图说明MF1S50集成电路芯片内含1KbyteEEPROM、RF接口和数字控制单元。能量和数据通过天线传输,卡中天线为几匝线圈,直接连接到芯片上。.不再需要额外的组件。RF接口:–调制解调器–检波器–时钟发生器–上电复位–稳压器防冲突:读写范围内的几张卡可以逐一选定和操作。3认证:在所有存储器操作之前进行认证过程,以保证必须通过各块指定的密钥才能访问该块。控制和算术逻辑单元:数值以特定的冗余格式存储,可以增减。EEPROM接口加密单元:域验证的CRYPTO1数据流加密,保证数据交换的安全。EEPROM:1Kbyte,分16区,每区4块。每一块有16字节。每区的最后一块称作“尾块”,含有两个密钥和本区各块的读写条件。3.2通讯原理命令由读写器发出,根据相应区读写条件受数字控制单元的控制。卡呼叫(休眠卡/全部)防冲突循环,取得卡号选卡(激活)三轮认证(对指定扇区)读块切换扇区不切换扇区写块加值减值恢复休眠转存3.2.1呼叫(REQUESTSTANDARD/ALL)卡上电复位后,通过发送request应答码(ATQA符合ISO/IEC14443A),能够回应读写器向天线范围内所有卡发出的request命令。3.2.2防冲突循环(ANTICOLLISIONLOOP)在防冲突循环中,读回一张卡的序列号。如果在读写器的工作范围内有几张卡,它们可以通过唯一序列号区分开来,并可选定以进行下一步交易。未被选定的卡转入待命状态,等候新的request命令。3.2.3选卡(SELECTCARD)读写器通过selectcard命令选定一张卡以进行认证和存储器相关操作。该卡返回选定4应答码(ATS=08h),明确所选卡的卡型。3.2.4三轮认证(3PASSAUTHENTICATION)选卡后,读写器指定后续读写的存储器位置,并用相应密钥进行三轮认证。认证成功后,所有的存储器操作都是加密的。3.2.5存储器操作认证后可执行下列操作:读数据块写数据块减值:减少数据块内的数值,并将结果保存在临时内部数据寄存器中。加值:增加数据块内的数值,并将结果保存在数据寄存器中。恢复:将数据块内容移入数据寄存器。转存:将临时内部数据寄存器的内容写入数值块。3.3数据完整性在读写器和卡之间的非接触通讯链接中实施下列机制,以保证数据传输的可靠性:每块16bitCRC每字节的奇偶位位计数检查位编码,以区分”1”、”0”和无信息。通道监控(协议序列和位流分析)3.4安全采用符合ISO9798-2的三轮认证,以保证高度的安全性。3.4.1三轮认证流程a)读写器指定要访问的区,并选择密钥A或B。b)卡从位块读区密钥和访问条件。然后,卡向读写器发送随机数。(第一轮)c)读写器利用密钥和随机数计算回应值。回应值连同读写器的随机数,发送给卡(第二轮)。d)卡通过与自己的随机数比较,验证读写器的回应值,再计算回应值并发送(第三轮)。e)读写器通过比较,验证卡的回应值。在第一个随机数传送之后,卡与读写器之间的通讯都是加密的。3.5RF接口RF接口符合非接触智能卡标准ISO/IEC14443A。读写器的载波电磁场始终存在(发送中有短暂中断),因为它用作卡的电源。对于两个方向的数据通讯,每个数据帧都只有一个起始位。所传送的每个字节末尾都有一个奇偶校验位(奇校验)。选定块最低地址字节的最低位首先传送。最大帧长为163bit(16数据字节+2个CRC字节=16*9+2*9+1起始位)。3.6存储器组织1024x8bitEEPROM存储器分为16区,每区4块,每块16字节。在擦处后的状态下,EEPROM的单元读为逻辑“0”,写后的状态下读为“1”。5块内字节编号扇区块0123456789ABCDEF说明153KEYA控制位KEYB扇区15尾块2数据1数据0数据143KEYA控制位KEYB扇区14尾块2数据1数据0数据::::::13KEYA控制位KEYB扇区1尾块2数据1数据0数据03KEYA控制位KEYB扇区0尾块2数据1数据0制造商占用块3.6.1厂商代码块这是第1区的第1块(块0)。它含有集成电路制造商数据。出于安全和系统需求,此块是制造商在生产过程中编程后写保护的。字节序列号检查字节制造厂商数据最高位最低位0123456789101112131415XXXXXXXX03.6.2数据块各区均有3个16字节的块用于存储数据(区0只有两个数据块以及一个只读的厂商代码块)。数据块可以通过读写控制位设置为:读写块,例如用于非接触门禁管理数值块,例如用于电子钱包,另有可直接控制存储值的命令,如增值、减值。在任何存储器操作之前必须执行认证命令。3.6.2.1数值块数值块具有电子钱包功能(有效命令:read,write,increment,decrement,restore,transfer)。数值块有固定的数据格式,以便于错误检测、纠错和备份管理。6数值块只能通过以数值块格式的写操作生成:数值:有符号4字节数值。数值的最低字节存储在最低地址字节。负值以标准的2的补码形式存储。出于数据完整性和安全原因,数值存储三次,两次不取反,一次取反。地址(Adr):1字节地址,当进行备份管理时,可用于保存块的地址。地址保存四次。两次取反,两次不取反。在increment、decrement、restore和transfer操作中,地址保持不变。它只能通过write命令更改。字节号1514131211109876543210说明数值数值数值AdrAdrAdrAdr3.6.3尾块(块3)各区均有一个尾块,存有:密钥A和B(可选),读时返回逻辑“0”。该区四个块的读写条件,存储在字节6至9。读写控制位也指定了数据块的类型(读写块或数值块)。如果不需要密钥B,块3的最后6字节可以用作数据字节。尾块的字节9可用于用户数据。因为此字节享有与字节6、7、8相同的读写权限。字节号0123456789101112131415说明密钥A读写条件密钥B(可选)3.7存储器读写必须如前所述,先选定卡并通过认证,才能执行存储器操作。识别和选定过程认证过程存储器操作数值块读,写,增值,减值,恢复,转账读写块读,写退出换区不换区的新命令7存储器操作操作说明使用块型读读存储器块读写、数值和尾块写写存储器块读写、数值和尾块增值增加块的内容,并将结果存入内部寄存器数值减值减少块的内容,并将结果存入内部寄存器数值转存将内部寄存器内容写入块中数值恢复将块中内容写入内部寄存器数值对指定块可以执行的存储器操作取决于所用的密钥和存储在相应尾块中的读写条件。3.7.1读写条件每个数据块和尾块的读写条件均由3个bit定义,并以非取反和取反形式保存在各个区的尾块中。读写控制位管理着使用密钥A和B读写存储器的权限。如果知道相关的密钥,并且当前读写条件允许,读写条件是可以更改的。读写控制位有效命令块说明C13C23C33read,write3尾块C12C22C32read,write,increment,decrement,transfer,restore2数据块C11C21C31read,write,increment,decrement,transfer,restore1数据块C10C20C30read,write,increment,decrement,transfer,restore0数据块注意:在每一次存储器读写时,内部逻辑会验证存储条件的格式。如果发现个是错误,这个区将被永久性锁死。注意:在下列说明中,读写控制位是仅以非取反形式表述的。MF1的内部逻辑保证了命令只有在通过认证后才被执行。3.7.2尾块的读写条件对密钥和控制位的读写取决于尾块(块3)的访问控制位,分为“禁止”、“KEYA”、“KEYB”和“KEYA|B”(KEYA或KEYB)。访问控制位字节6字节7字节8字节98访问控制位所控制的访问对象注释KEYA访问控制位KEYBC1C2C3读写读写读写000禁止KeyAKeyAKeyBKeyAKeyAKeyB可读010禁止禁止KeyA禁止KeyA禁止KeyB可读100禁止KeyBKeyA|B禁止禁止KeyB110禁止禁止KeyA|B禁止禁止禁止001禁止KeyAKeyAKeyAKeyAKeyAKeyB可读传输配置状态011禁止KeyBKeyA|BKeyB禁止KeyB101禁止禁止KeyA|BKeyB禁止禁止111禁止禁止KeyA|B禁止禁止禁止注:灰色行为keyB可读并可用于存储数据的访问控制条件。尾块和keyA被预定义为传输配置状态。因为在传输配置状态下keyB可读,新卡必须用keyA认证。因为访问控制位本身也可以禁止访问,所以个人化时应当特别小心。3.7.3数据块的访问控制条件对数据块(块0至2)的读写访问取决于其访问控制位,分为“禁止”、“KEYA”、“KEYB”和“kEYA|B”(KEYA或KEYB)。相关访问控制位的设置确定了其用途以及相应的可用命令。读写块:允许读、写操作。数值块:运行另外的数值操作——加值、减值、转存和恢复。在用于非充值卡的一种情况(‘001’)下,只能够读和减值。在另一种情况(‘110‘)下,可以用keyB充值。制造厂商块:只读,不受访位控制位设置的影响!密钥管理:在传输配置状态下,必须用keyA认证。访问控制位所控制的访问操作用途C1C2C3读写加值减值转存恢复000keyA|B1keyA|B1keyA|B1keyA|B1传输配置状态010keyA|B1keyB1禁止禁止读写块100keyA|B1keyB1禁止禁止读写块110keyA|B1keyB1keyB1keyA|B1数值块001keyA|B1禁止禁止keyA|
本文标题:Mifare1技术说明(M1卡说明文档)
链接地址:https://www.777doc.com/doc-5076277 .html