下面是一个示例,我可以使用以下命令读取Mifare 1K卡的扇区0的所有块:
对于第一个命令,我使用了FF FF FF FF FF FF的键。 当我尝试读取块4(扇区1)时,出现访问被拒绝错误。 我想这是因为扇区具有非默认密钥。正确吗?
我对智能卡不熟悉,我正在测试的智能卡用于记录对工作场所的访问权限,我(错误?)认为它就像一次读取一样简单。我只需要在卡上盖章的6位代码即可。我现在怀疑在访问卡上的信息之前,我必须知道密钥。
此外,我认为Mifare 1K adpu 有一个标准。
根据互联网上的文档,错误情况为Sw1 = 0x63
,但根据我的特定阅读器手册( AccessIs ATR210 ),错误情况为Sw1 = 0x69
。 adpu命令中也存在主要差异,这对我来说很混乱。
答案 0 :(得分:0)
Mifare和智能卡不同,只有后者了解APDU。对于前者,读取器将伪APDU转换为相应的命令,因此读取器或其驱动程序可能需要不同的字节。
如果您描述的卡用于真实世界的应用程序,则与默认设置不同的一个关键是保持低MIFARE经典安全性所必须执行的最低操作。除了一个不同的值外,根本不可能使用键A进行读取访问,请参见data sheet,第8.7.2节。
我不知道您的卡上印有什么内容,但是6位数字小于键值,该键值需要6个字节。只是关键值,我。 e。键A和B允许您访问受配置的访问位限制的所有内容。