首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mifare 1K身份验证密钥

Mifare 1K身份验证密钥
EN

Stack Overflow用户
提问于 2015-01-21 00:44:08
回答 1查看 10.7K关注 0票数 8

我有一个MIFARE 1K标签。一些数据块可以使用身份验证密钥A写入/读取,而其他数据块可以使用身份验证密钥B写入。为什么?如何更改所有要写入/读取的块,例如,使用密钥A?

例如,我可以使用密钥A编写密钥块07,也可以更改该密钥块的密钥A,但不能使用密钥B在其上写入,也不能更改该密钥块的密钥B。

为什么要使用密钥A而不是密钥B进行写/读?有什么关系呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-21 01:11:08

MIFARE Classic卡的每个扇区都有两个认证密钥:密钥A和密钥B。这两个密钥连同访问条件一起存储在每个扇区的最后一个块(所谓的扇区尾部)中。地段预告片如下所示:

代码语言:javascript
复制
+-----------------------------+--------------+----+-----------------------------+
|  0 |  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 | 10 | 11 | 12 | 13 | 14 | 15 |
+-----------------------------+--------------+----+-----------------------------+
|            Key A            | Access Conditions |            Key B            |
|          (6 bytes)          |     (4 bytes)     |          (6 bytes)          |
+-----------------------------+--------------+----+-----------------------------+

访问条件定义了如何访问地段中的块:

  • 使用密钥A进行身份验证后可以发出的命令(读取、写入、值块操作),
  • 使用密钥B进行身份验证后可以发出的命令(读取、写入、值块操作),
  • (如果密钥B用作身份验证密钥)。

典型场景包括:

密钥A的

  • Authentication只可能是只读的,密钥A的access.
  • Authentication是只读的。密钥A的读/写access.
  • Authentication可能是两个密钥都有的。密钥A具有只读访问权限。密钥B具有读/写access.
  • Authentication,这两个密钥都可以。密钥A和B具有只读访问权限。

您可以在MIFARE datasheet中找到可能的访问条件的完整描述。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28050718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档