DESFire 学习之AUTH

来源:互联网 发布:单片机程序设计师培训 编辑:程序博客网 时间:2024/05/20 13:41

DESFire 的认证过程如下:

1.    CM:0A00
读卡器向卡片发送0A00(0A—AUTH,00-key no.)

2.    RE:AF ek(RndB)
卡片返回AF+DA22830A94D260EC,计算过程:卡片取随机数RndB=34B57355568DC23A,用主密钥key=00000000000000000000000000000000对RndB进行3DES加密得ek(RndB)=DA22830A94D260EC.

3.    CM:AF dk(RndA+RndB’)
发送指令AF+74F4AE777AA431E8B76A9BA260335F17,AF-认证指令。计算过程:用主密钥对ek(RndB)进行解密得到RndB=34B57355568DC23A,对RndB进行闭合字节左循环得到RndB’=B57355568DC23A34,取随机数RndA=0011223344556677,得到RndA+RndB’=0011223344556677B57355568DC23A34,用主密钥对RndA+RndB’进行3DES+CBC解密得到dk(RndA+RndB’)= 74F4AE777AA431E8B76A9BA260335F17.

4.    RE: 00 ek(RndA’)
卡片返回:00 F181F7326DCD86A6,00-状态字,表示操作成功。计算过程:卡片对dk(RndA+RndB’)进行加密得到RndA+RndB’,对RndB’进行闭合字节右循环验证是否等于RndB,若等于则卡片认证成功,并对RndA进行封闭字节左循环得到RndA’,用主密钥对其进行3DES加密得到ek(RndA’).
5.    验证RndA’闭合右循环后是否等于RndA。

notes:本文参考“http://blog.sina.com.cn/s/blog_9ed067ad01012db9.html”处学习得知。


0 0
原创粉丝点击