Chinaunix首页 | 论坛 | 博客
  • 博客访问: 469757
  • 博文数量: 164
  • 博客积分: 4024
  • 博客等级: 上校
  • 技术积分: 1580
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-10 16:27
文章分类

全部博文(164)

文章存档

2011年(1)

2010年(108)

2009年(55)

我的朋友

分类: 嵌入式

2010-04-30 15:51:51

  1. Mifare_Std 卡片的密钥属性取决于控制字。控制字的默认值是“FF078069”,此时A密钥:不可被读出,有全部权限B密钥:可被读出,没有任何权限。
   
    2. Philips/NXP在2001年对S50芯片有重要更新:当B密钥可以被读出时,B密钥失效。关于这一点请仔细阅读S50 DATASHEET的第15页。2000年以前的卡片以及大陆地区仿制的卡片不具备此功能。
   
    3. 如果使用的是PHILIPS原始芯片的卡片,且控制字 = FF078069时,通过某台读卡器进行B密钥验证后可读写卡片,说明这台读卡器有BUG。最大的可能性是这个读卡器并不区分AB密钥。
    我们可以做个简单的实验,将AB密钥设为不同的值,例如首先将密钥BLOCK改写为如下:111111111111 FF078069222222222222此时KeyA = 111111111111, KeyB = 222222222222然后用您所说的可以通过B密钥读写的读卡器进行操作,就会发现问题所在。
   
    4. 在大多数使用B密钥的系统中,控制字 = 08778F00,此时A密钥:不可被读出,有读取数据可扣款权限B密钥:不可被读出,有全部权限。
   
    5.原装的Philps S50芯片在出厂时设置每个分区的的第四块A密钥是“FFFFFFFFFFFF”,控制字是:“FF078069”,B密钥是:“FFFFFFFFFFFF”,A密钥是供用户读写操作的,利用A密钥可对对除0区外其它所有扇区块进行读写操作。B密钥不可操作,这些用的都是逻逻加密算法加密,而且密钥都是不可见,我们在读时能看到的A密钥都是显示为“000000000000”,B密钥显示:“FFFFFFFFFFFF”, 这
    些都是出厂时厂家设定的默认值。
   
    6.如果用户要使用B密钥,如“公交一卡通的公交卡”,那先要把中间控制改了,如果改错那所改的那个分区就被加密没用了。比如先把控制改成“08778F00”,A密钥改成“111111111111”,B密钥改成“222222222222”,改完之后再用我们的测试DEMO对块三进行写,写操作成功后,这样您就可以利用B密钥对您所改的扇区进行读写操作了,这时A密钥也就不起作用。
   
阅读(12431) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-11-30 12:56:18

有专门的工具用来算S50密钥的 http://www.youwokeji.com.cn/S50%E5%8F%8A%E5%85%B6%E5%85%BC%E5%AE%B9%E5%8D%A1%E5%AF%86%E9%92%A5%E6%8E%A7%E5%88%B6%E5%AD%97%E7%AE%97%E6%B3%95%E7%A8%8B%E5%BA%8F.html