射频识别技术漫谈(14)——Mifare S50与S70的存取控制

存取控制指符合什么条件才能对卡片进行操作。
    s50和s70的块分为数据块和控制块,对数据块的操作有“读”、“写”、“加值”、“减值(含传输和存储)”四种,对控制块的操作只有“读”和“写”两种。
    s50和s70的每个扇区有两组密码keya和keyb,所谓的“条件”就是针对这两组密码而言,包括“验证密码a可以操作(keya)”、“验证密码b可以操作(keyb)”、“验证密码a或密码b都可以操作(keya|b)”、“验证哪个密码都不可以操作(never)”四种条件。
    这些“条件”和“操作”的组合被分成8种情况,正好可以用3位二进制数(c1、c2、c3)来表示。
    数据块(每个扇区除区尾块之外的块)的存取控制如下表所示:
从表中可以看出,
    c1c2c3=000(出厂默认值)时最宽松,验证密码a或密码b后可以进行任何操作;
    c1c2c3=111无论验证哪个密码都不能进行任何操作,相当于把对应的块冻结了;
    c1c2c3=010和c1c2c3=101都是只读,如果对应的数据块写入的是一些可以给人看但不能改的基本信息,可以设为这两种模式; c1c2c3=001时只能读和减值,电子钱包一般设为这种模式,比如用s50做的公交电子车票,用户只能查询或扣钱,不能加钱,充值的时候先改变控制位使卡片可以充值,充完值再改回来。
控制块(每个扇区的区尾块)的存取控制如下表所示:
从表中可以看出,
    密码a是永远也读不出来的,如果用户的数据块指定了验证密码a却忘了密码a,也就意味着这个数据块作废了,但本扇区其他数据块和其他扇区的数据块不受影响;
    存取控制总是可以读出来的,只要别忘了密码a或密码b;
    存取控制的写控制在设置时一定要小心,一旦弄成了“never”,则整个扇区的存取条件再也无法改变,后悔都找不到地方,只能仰天长叹了;
    c1c2c3=001(出厂默认值)时最宽松,除了密码a不能读之外,验证了密码a其他读写操作都可以进行;
    还有一个有意思的现象是当c1c2c3=000、c1c2c3=010和c1c2c3=001时,所有的操作都不使用密码b,这时候密码b占据的6个字节可以提供给用户作为普通数据存储用,相当于每个扇区增加了6字节的用户可用存储容量。
    由于卡片出厂的默认值c1c2c3=001,所以对于新买来的卡片,不要使用密码b进行认证,否则会导致区尾块和数据块都无法进行任何操作。我测试过不同厂家的新卡片,有的验证密码b后确实扇区内的所有块都无法操作,但有的卡片不能操作区尾块,却可以操作数据块,本文以nxp的原装卡为准。当然用户可以放心,新卡不让你验证密码b而你却验证了,不会对卡照成什么伤害,改回用密码a验证,卡片还是可以正常使用的。
    s50的每个扇区有4个块,这四个块的存取控制是相互独立的,每个块需要3个bit,四个块共使用12个bit。在保存的时候,为了防止控制位出错,同时保存了这12个bit的反码,这样一个区的存储控制位在保存时共占用24bit的空间,正好是3个字节。我们前面说存取控制字有四个字节(区尾块的byte6~byte9),实际上只使用的byte6、byte7和byte8,byte9没有用,用户可以把byte9作为普通存储空间使用。各块控制位存储格式如下:
由于出厂时数据块控制位的默认值是c1c2c3=000,控制块的默认值是c1c2c3=001,而byte9一般是69h,所以出厂白卡的控制字通常是ff078069h.
s70的前32个数据块结构和s50完全一致。后8个数据块每块有15个普通数据块和一个控制块。显然如果每个数据块块单独控制将需要8字节的控制字,控制块中放不下这么多控制字。解决的办法是这15个数据块分为三组,块0~4为第一组,块5~9为第二组,块10~15为第三组,每组共享三个控制位,也就是说每组控制位c1c2c3控制5个数据块的存取权限,从而与前32个扇区兼容。


常用测温仪表的测量范围及特点需要了解
数字Σ-Δ调制器的基本原理及采用FPGA器件实现设计
基于YL-236单片机实训装置的数字电压表的设计方案
因三星提高图像传感器价格,导致全球2024年旗舰手机价格或上涨 ?
微星Z390GAMINGPLUS上手 该有的该要用的都有
射频识别技术漫谈(14)——Mifare S50与S70的存取控制
完整的DDR电源解决方案LTC3876
逆变器如何匹配182/210硅片尺寸的超高功率组件呢?
大热的四轴飞行器设计_软硬件参考方案
一种新的OLED架构-有机发光二极管显示器
青岛半导体高端封测项目总投资10亿元
设计制作一款2.1声道有源音箱,TDA2030 AMPLIFIER
一文带你了解企业级BI工具的设计思路
无线蓝牙耳机哪款好?无线蓝牙耳机音质排行榜!
2019全球燃料电池汽车产业论坛 关键技术及商业化应用解析
KUKA根据伺服焊提示报警信息,寻找故障源.
机器人给制造业带来的创变 未来智慧工厂又会是什么样子
保障性住房数字化平台“大数据比对”助力公租房运营管理
华为技术通过BSI ISO/IEC 27701认证 华为云获可信数字云钛金奖
超高频电子标签一体机是什么,它的特点是什么