分类: 嵌入式
2012-12-26 10:47:35
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
说着太抽象,、看这遍http://blog.chinaunix.net/uid-24219701-id-3445506.html
在所有的持卡人验证方法中, 脱机加密PIN应该是最复杂的一个, 这里详细介绍一下它的原理及流程.
脱机加密PIN,简单来说, 原理如下:
终端从卡片中获取PIN加密公钥证书(可在read data阶段读取),从证书中恢复PIN加密公钥. 当用户输完PIN时, 终端用此公钥加密该PIN,然后能过指令把加密数据传给卡片,卡片收到数据后,先用存在自身的PIN加密私钥解密,然后再验证该PIN的正确性.
详细的步骤如下:
1 终端把用户输入的明文PIN按照一定的格式补位对齐, 然后用get challenge命令从卡片中取一个8字节的随机数.
2 终端自己产生一组长度为N-17的随机数(N为PIN加密公钥的长度), 然后把补位后的PIN,卡片中取的随机数以及终端产生的随机数拼接在一起, 与PIN加密公钥做RSA运算.
3 把上一步运算的结果通过verify命令发给IC卡.
4 卡片用PIN加密私钥解密数据, 首先检查解出来的8字节随机数是否与自己产生的一致,然后卡片检查恢复的数据头字节是否有效, 最后一步是验证PIN是否合法. 只有所有的条件都满足,脱机加密PIN才算成功.
pony_maggie2015-02-11 11:12:23
转载别人的文章,是不是应该加上原文链接地址呢?pboc的文章你基本都是从这个博客转的,我已经注明转载要加出处。
http://blog.csdn.net/pony_maggie