PSAM卡操作命令详解.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PSAM卡操作命令详解

外部认证EXTERNAL AUTHENTICATION 命令1、命令功能描述?外部认证命令提供了利用卡片产生随机数,外部利用密钥设备对该数据进行计算完成对终端的数据认证功能,也就是卡片认证终端合法性的过程。?外部认证成功以后,将修改对应的安全状态为内部认证结果的安全状态,并且复位卡片内对应密钥的尝试计数器到初值。?如果验证失败,将对应密钥的尝试计数器值减一,直至减为0将密钥锁定不能再进行外部认证操作为止。?由于外部认证过程中需要卡片产生的随机数,所以,在外部认证命令执行前终端必须向卡片发送一条随机数命令。?2、命令报文格式?命令的APDU内容如下所示:??代码?值?CLA?????????????????0x00?INS?????????????????0x82?P1??????????????????0x00?P2??????????????????0x00?Lc??????????????????0x10?Data认证数据?Le不存在?其中:DATA域长度为16Byte,前8Byte是外部计算后的认证结果,也就是需要卡片验证的数据,后8Byte是外部给出的分散向量,用来计算认证过程密钥。?3、响应报文数据?响应报文数据域不存在。?4、响应报文状态码?此命令执行成功的状态码为0x9000。?对于异常情况,IC卡可能回送的错误码如下所示:??SW1?????SW2含义?0x63?????0xCX认证失败,X表示对应密钥还能够尝试的次数?0x65?????0x81存储空间错误?0x67?????0x00????????Lc错误?0x69?????0x83对应密钥锁定?0x69?????0x84随机数无效?0x69?????0x85不满足密钥使用条件?0x6A?????0x80数据域参数不正确?0x6A?????0x86????????P1、P2不正确?0x6A?????0x88密钥查找失败?0x6D?????0x00????????INS错误?0x6E?????0x00????????CLA错误??5、命令实现的其他要求?外部认证命令是卡片认证终端过程,不同的应用可能会有不同的规定,如果要支持特殊应用的话,需要参与相关的应用需求,明确命令的数据的具体格式和计算方法。?6、命令实现设计?对认证数据的处理包括了如下几个步骤:?* 随机数有效性检查。在数据处理前需要检查卡内是否事先存在4Byte有效的随机数。如果随机数有效的话,在随机数后补4Byte的0x00。?* 密码的查找。外部认证需要专门的密钥,是对称密钥,通常是3DES密钥,在当前文件的对称密钥文件中查找,查找条件包括密钥用途、密钥版本和密钥索引等,可以使用单一条件,也可以使用组合条件。密钥找到以后需要检查相应的使用条件是否满足,密钥是否有效等等。?* 过程密钥生成。利用找到的认证密钥对命令数据域中后8Byte分散向量做3DES加密计算,结果为8Byte,即为此次外部认证的过程密钥。?* 卡内认证结果计算。将得到的过程密钥对补充0x00以后的随机数做DES加密计算,得到8Byte的卡片计算结果。?* 将卡内计算结果和命令数据域前8Byte的终端认证数据做比较,如果一致的话表示认证成功,将对应密钥的尝试计数器复位,同时修改对应的安全状态;如果数据不一致的话,表示认证失败,将对应密钥的尝试计数器减一,对应的安全状态不变。?* 最后返回相应的结果。?7、命令使用示例?(1)预设环境?假设已经在卡片取得4Byte随机数。?(2)命令报文?进行外部认证的APDU:?00 82 00 00 10 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10?其中:?* 00 表示EXTERNAL AUTHENTICATION命令的CLA。?* 82 表示EXTERNAL AUTHENTICATION命令的INS。?* 00 表示EXTERNAL AUTHENTICATION命令的P1。?* 00 表示EXTERNAL AUTHENTICATION命令的P2。?* 10 表示EXTERNAL AUTHENTICATION命令的Lc,待验证数据和分散数据。?* 0102030405060708 表示EXTERNAL AUTHENTICATION命令的DATA前半部分,是终端计算得到的8Byte待验证数据。?* 090A0B0C0D0E0F10 表示EXTERNAL AUTHENTICATION命令的DATA后半部分,是终端产生的过程密钥分散数据。?(3)EXTERNAL AUTHENTICATION响应报文?卡片处理以后,EXTERNAL AUTHENTICATION没有响应报文。二、验证密码VERIFY 命令1、命令功能描述?验证密码命令用以校验个人密码,

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档