IC卡M1卡各个扇区控制块密码详解

IC卡M1卡各个扇区控制块密码详解
该内容由部分转载和部分⾃⼰见解。整理出来⽅便⼩⽩和⾃⼰后期使⽤。
M1卡介绍
这次我们主要介绍的是⾮接触式IC卡。M1卡就是⾮接触式IC卡中应⽤最⼴泛的卡。M1卡就是Mifare⾮接触式感应卡,M1卡数据保存期为10年,可改写10万次,读⽆限次。⽆电源,⾃带天线,⼯作频率为13.56MHZ.M1卡内含加密控制逻辑和通讯逻辑电路。M1卡主要有两种,⼀种是S50和⼀种是S70。主要应⽤:门禁、考勤、会议签到、⾝份识别、物流、⼯业⾃动化、各种会员卡、如售饭、地铁、公交卡、俱乐部等电⼦消费、电⼦门票、动物识别、⽬标跟踪、洗⾐管理、各种⼀卡通等等。织物整理剂
M1卡存储空间芯模
M1卡分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位。每个扇区的块0、块1、块2为数据块,可⽤于存储数据。⽽每个扇区的块3为控制块,包括密码keyA,存取控制,密码keyB。存取控制的作⽤是控制对应扇区记录的读写权限与keyA和keyB的关系。由于每个扇区都有独⽴的key和存取控制,因此M1卡可以做到⼀卡多⽤互不⼲扰。
每⼀张M1卡的0扇区0块都称作绝对地址块,这⼀串是在卡⽚出⼚时⼚商赋予的,代表着这张卡独⽴的⾝份识别信息。绝对地址块的内容已被固化,⽆法更改。
M1卡控制位计算
以下为控制位的结构,前6位为密钥A,中间4位存取控制,后6位密钥B。
例如  A1A2A3A4A5FF078069B1B2B3B4B5
密码A  控制位          密码B
字节0-5          字节6-9字节10-15
4位控制位中前3位是真实的控制位,第4位是备⽤控制位,⼀般⽤不上,因此我们可以只分析前3位。
肛门塞
三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限。1个字节等于8个⽐特,⽽⼀个扇区有4个块,每个块有3个控制位,以下是控制位以⽐特形式的结构图,_b表⽰取反存储,这边⽤红⾊字体已标出。
以FF078069默认控制位为例,我们将FF078069的16进制转化为2进制如下:
FF=11 1 1 1 1 1 1;07= 0 0 0 0 0 1 1 1;80=1 0 0 0 0 0 0 0 ;69=忽略
将以上的2进制数填⼊表格:
将取反的数再次取反以获得原来的控制位:
存取控制中每个块都的三个控制位定义如下,同时填⼊上表数据:
块0,块1,块2控制位均是000,存取控制权限可对应以下表:
块3控制位001,存取控制对应如下表:
立方体拼图可见块0,块1,块2通过密钥A或者密钥B认证后可读,可写,可进⾏加值和减值操作。块3密钥A不可读,但可通过认证密钥A或B修改。验证密钥A或者密钥B后,可读可改写存取控制。验证密钥A或者密钥B后,可读可改写B密码。
综上,存取控制FF078069极不安全,我们可以⾃定义存取控制进⾏修改,只要利⽤上述步骤将想要的控制位列出逆向推回去即可。
M1卡认证原理
这⾥介绍M1卡的认证原理即三轮认证。三轮认证是保障M1卡安全的重要⼿段,整个过程采⽤Crypto-1算法加密。以下是三轮认证的过程。
1. 读写器指定要访问的区,向卡发送⾝份验证请求,并选择密钥A或B。
2. 卡从位块读取密钥和存取控制条件。然后,卡向读写器发送明⽂4字节随机数Nt。(第⼀轮)
3. 读写器利⽤密钥和随机数Nt计算⽣成⼀个新随机数Nr,并将两个随机数⼀起加密为8个字节的数据发送给卡⽚。(第⼆轮)。
4. 卡解密得到Nt与Nr,验证Nt,若通过再⼀次加密Nr并发送给读卡器(第三轮)。人工天竺黄
5. 读写器解密得到Nr,验证通过。
三轮认证在其原理上是可靠的,但是外国研究⼈员发现了该算法伪随机数⽣成的漏洞,使得加解密所⽤到的伪随机数可被正确预测,从⽽逆向计算出了三轮认证中的扇区密钥。该漏洞的利⽤在后⾯会讲到。。。
>压力容器封头

本文发布于:2024-09-23 01:21:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/316950.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:密钥   控制   扇区   存取控制
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议