智能卡 外部认证

news/2024/11/17 23:32:23/

External Authenticate

外部认证是IC卡 对 外部 读写卡的机具 读卡器,进行合法性认证

读卡器机具这边一个密钥,
IC卡内一个密钥
IC卡需要确认外部的读卡器是有资格读这个卡的,所以需要对其资格进行认证。
认证的方式是确定IC卡拥有的密钥是否和读卡器拥有的密钥相同或者对应。
具体方法是:
读卡器给IC卡发送一个取随机数的命令,
IC卡返回给读卡器一个4字节的随机数,并且IC卡将该随机数在卡的内存中保存。
读卡器得到4字节随机数,对4字节随机数补足0x00000000共8个字节,64位,利用密钥进行DES加密,生成8个字节的加密后的密文数据。
读卡器将生成的加密后的8个字节的密文数据,通过命令传送给IC卡。
IC卡得到加密后的8个字节的密文数据,
在卡内,对密文数据,通过密钥,解密,将解密后的数据,与之前保存的随机数,进行比较,如果相同,表示外部认证通过IC卡认为外部的读卡器是一个合法的读卡器。
如果外部认证通过,IC卡对该读卡器放开安全戒备,读卡器可以进一步的对IC卡内的文件进行读写之类的操作。
如果外部认证没有通过,那么读卡器的进一步的对IC卡内文件的操作,将会返回错误。

用到的命令:

取随机数:

代码
CLA0000
INS8484
P10000
P20000
Lc不存在
Data不存在
Le要读取数据的长度04

外部认证命令:
取随机数:

代码
CLA0000
INS8282
P10000
P2外部认证密钥标识号01
Lc0808
Data8字节加密后的随机数8字节加密后的随机数
Le不存在

这里写图片描述

这里写图片描述

参考手册《新版FMCOS2.0用户手册.pdf》
page51:


http://www.ppmy.cn/news/527423.html

相关文章

VB6银联读卡之旅(二)__55域获取流程及相关注意

银行卡读卡涉及相关APDU命令发送。网上有很多相关博客进行了详细说明,这里就不在赘述。本文主要讲55域获取流程及本人联调时遇到的相关问题。在智能卡读取使用方面本人也属于初学者,其中如有疑问或表述不正确的地方还望谅解。 银联IC卡读卡流程详解--读…

通过PSAM读CPU卡号流程小结

PSAM卡与CPU卡交互流程》》》 1 读CPU卡设备对CPU卡进行复位操作 2 打开CPU卡用户文件夹DF,COS命令:00 A4 00 00 02 12 00 3 从CPU卡获取4位随机数,COS命令:00 84 00 00 04 4 对PSAM卡进行复位 5 打开PSAM卡用户文件夹DF&…

java apdu读取社保卡_读取社保卡信息

08 社会保障卡号码 cn 12 | 09 姓名 an 1E | 4E 姓名扩展 an …

AK9528 - IS07816转UART智能读卡控制器芯片

在这个IOT的时代,数据加密已经四处被提及了。安全性需求也日益增高。但是我们的linux主机的芯片,自身却没有带ISO7816接口。这次由于客户的需求,必须要加加密芯片,因此只能找寻类似于USB转ISO7816, UART/SPI转7816接口…

实验一. RFID自动读卡实验

实验一. RFID自动读卡实验 实验目的实验环境实验内容实验步骤实验代码1) 初始化MFRC5312) 寻卡 硬件连接编译、烧录并测试 实验结果串口设置 实验目的 了解RFID相关知识。掌握RFID模块自动识别IC卡工作原理。 实验环境 软件:IAR SWSTM8 1.30。硬件:RF…

智能卡操作(非接触CPU卡又称智能卡) 总结

1-数据传输格式和初始化 对于刚接触智能卡的工程师来说,在阅读7816-3规范的时候,常常被其中的一些术语迷惑,读起来会觉得有些别扭。尤其是在看到复位应答中的F和D设置以及对应的etu的时候,会觉得有些复杂和难以理解。 其实从本质上…

java智能卡接口_java – 尝试使用智能卡I / O API读取和写入智能卡的字符串

我正在使用ACS AET65读卡器尝试将字符串存储到智能卡中,然后将其读回.我正在使用智能卡IO API,我可以获得终端并与卡连接.但是,我一直在阅读ISO 7816规范,我真的迷路了. 我需要做的就是给卡写一个3K字符串,然后再读回来.而已.根据我的研究,看起来这些卡应该安装了applet,但我确…

Arduino与RC522读卡测试代码

RC522与Arduino读卡代码 做了Arduino作品集4年多了,让我印象比较深刻的是每当有人用RC522的时候都会遇到同样一个问题,就是为什么我的卡读取不了卡号,我明明是用网上的教程啊?在这里我声明一点,网上的教程不一定是正确…