为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

20081208银联ATMP和POSP应用系统升级后指令集(1)

2017-12-06 34页 doc 75KB 24阅读

用户头像

is_079973

暂无简介

举报
20081208银联ATMP和POSP应用系统升级后指令集(1)20081208银联ATMP和POSP应用系统升级后指令集(1) 目 录 第1章 密钥说明.......................................................................................................... 3 1.1 密码机使用的密钥类型 .................................................................................... 3 1.1.1 主密...
20081208银联ATMP和POSP应用系统升级后指令集(1)
20081208银联ATMP和POSP应用系统升级后指令集(1) 目 录 第1章 密钥说明.......................................................................................................... 3 1.1 密码机使用的密钥类型 .................................................................................... 3 1.1.1 主密钥MK................................................................................................. 3 1.1.2 存储加密密钥SEK .................................................................................... 3 1.1.3 传输加密密钥TEK .................................................................................... 3 1.1.4 终端主密钥TMK ........................................................................................ 4 1.1.5 PIN密钥PIK ............................................................................................ 4 1.1.6 MAC密钥MAK ............................................................................................ 4 1.2 各类密钥之间的关系 ........................................................................................ 5 1.3 密钥使用方式................................................................................................... 6 第2章 密码机消息格式 ............................................................................................... 7 2.1 TCP/IP通讯 ........................................................................................................ 7 2.2 串行口通讯 ...................................................................................................... 7 2.3 接收缓冲区 ...................................................................................................... 8 2.4 读写方式.......................................................................................................... 8 2.5 字母缩写说明................................................................................................... 8 2.6 MAC数据说明 .................................................................................................... 8 第3章 密钥管理软件的功能 ........................................................................................ 9 3.1 密钥输入.......................................................................................................... 9 3.2 密钥查询.......................................................................................................... 9 3.3 密钥备份.......................................................................................................... 9 3.4 系统设置.......................................................................................................... 9 3.5 口令管理.......................................................................................................... 9 3.6 其它功能.......................................................................................................... 9 第4章 密码机指令说明 ..............................................................................................10 4.1 检查密码机信息(HR/HS) ........................................................................... 10 4.2 检查主密钥MK状态(K4/K5) .....................................................................11 4.3 检查SEK/TEK(K6/K7) ............................................................................. 12 4.4 导入SEK,TEK(KU/KV) ......................................................................... 13 4.5 导出SEK,TEK(KY/KZ) ......................................................................... 14 4.6 将用旧MK加密的SEK/TEK转为用新MK加密(KK/KL) ........................ 15 4.7 生成终端主密钥TMK(K0/K1) ................................................................... 16 4.8 在SEK和TEK之间转换TMK(KE/KF) ................................................... 17 4.9 生成数据密钥PIK/MAK(K2/K3) ............................................................... 18 4.10 在SEK和TMK之间转换PIK/MAK(KI/KJ) ............................................ 19 4.11 PIN BLOCK转换(P0/P1) .......................................................................... 20 4.12 MAC计算(M0/M1) ................................................................................... 21 4.13 MAC计算(M4/M5) ................................................................................... 22 4.14 验证MAC(M2/M3) ................................................................................... 23 4.15 生成密钥的校验值(3A/3B) ......................................................................... 24 4.16 加密一个PIN(60/61).................................................................................. 25 4.17 由密码机产生一个随机数(RA/RB) ............................................................. 26 4.18 生成RSA公、私钥对,并输出公钥 ............................................................... 27 4.19 请求用指定私钥解密特定数据并用输入的PIK按DES/3DES算法加密PIN .... 28 4.20 数据加密/解密指令......................................................................................... 29 第5章 PIN块格式 .....................................................................................................30 5.1 格式01 (ISO 9564-1Format 0或ANSI X9.8) ................................................... 30 5.2 格式02(Docutel)........................................................................................ 30 5.3 格式03(Diebold) ............................................................................................ 30 5.4 格式04 .......................................................................................................... 30 5.5 格式05(ISO 9564-1Format 1) ......................................................................... 31 5.6 格式06 .......................................................................................................... 31 第6章 算法说明.........................................................................................................32 6.1 64比特密钥DES加/解密 ................................................................................... 32 6.2 128比特密钥DES加/解密 ................................................................................. 33 6.3 192比特密钥DES加/解密 ................................................................................. 34 6.4 XOR MAC算法................................................................................................. 34 6.5 ANSI X9.9MAC算法 ......................................................................................... 35 6.6 ANSI X9.19 MAC算法描述: ............................................................................ 36 第7章 错误代码表 .....................................................................................................38 第8章 公钥编码.........................................................................................................40 填充方式........................................................................................................................ 41 第1章 密钥说明 为了满足中国银联3DES改造的需求,特制定此命令集。 1.1 密码机使用的密钥类型 1.1.1 主密钥MK , 数量:1个。 , 产生:三人手工输入。 , 用途:用于加密SEK和TEK,加密SEK和TEK时采用不同的变种。 , 存储:密码机内。其分量保存在三张IC卡上。 , 长度:192比特。 , 保护:受硬件保护。 1.1.2 存储加密密钥SEK , 数量:1024个,以索引方式调用,索引号从S0000,S1023。 , 产生:多人(2,9人)手工输入。 , 用途:用于加密TMK、PIK、MAK做本地存储。 , 存储:密码机内。同时可用MK加密后保存到主机数据库中。 , 长度:64,128,192比特可选。 , 保护:受硬件,主密钥MK保护。 1.1.3 传输加密密钥TEK , 数量:1024个,以索引方式调用,索引号从T0000,T1023。 , 产生:多人(2,9人)手工输入。 , 用途:用于加密TMK做异地传输。 , 存储:密码机内。同时可用MK加密后保存到主机数据库中。 , 长度:64,128,192比特可选。 , 保护:受硬件,主密钥MK保护。 1.1.4 终端主密钥TMK , 数量:不受密码机限制,以SEK加密的密文方式送入密码机使用。 , 产生:密码机随机产生。 , 用途:用于加密PIK和MAK做异地传输。 , 存储:用SEK加密后保存到主机数据库中。 , 长度:64,128,192比特可选。 , 保护:受存储加密密钥SEK、传输加密密钥TEK保护。 1.1.5 PIN密钥PIK , 数量:不受密码机限制,以SEK加密的密文方式送入密码机使用。 , 产生:密码机随机产生。 , 用途:用于加密PIN。 , 存储:用SEK加密后保存到主机数据库中。 , 长度:64,128,192比特可选。 , 保护:受存储加密密钥SEK、终端主密钥TMK保护。 1.1.6 MAC密钥MAK , 数量:不受密码机限制,以SEK加密的密文方式送入密码机使用。 , 产生:密码机随机产生。 , 用途:用于产生MAC。 , 存储:用SEK加密后保存到主机数据库中。 , 长度:64,128,192比特可选。 , 保护:受存储加密密钥SEK、终端主密钥TMK保护。 1.2 各类密钥之间的关系 主密钥MK(1个)密码机 存储加密密钥SEKMK加密密码机(1024个) 主传输加密密钥TEKMK加密机密码机(1024个)数 据 库 主机终端主密钥,TEK加密SEK加密数据库TMK存 放网密络钥主机PIN密钥传SEK加密TMK加密数据库密PIK输文 MAC密钥主机SEK加密MAK数据库TMK加密 其中主密钥的管理至关重要,现采用三人共同输入的方式。具体方法如下: 1. 主管一输入主密钥分量一,直接写入IC卡,密码机内不做存储。 2. 主管二输入主密钥分量二,直接写入IC卡。 3. 主管三输入主密钥分量三,直接写入IC卡。 4. 经过以上三步,完成主密钥IC卡的制作。 5. 三位主管从IC卡上将主密钥的三个分量导入密码机临时缓冲区。 6. 密码机将三个分量进行异或,得到MK种子,然后再由MK种子生成最终的主密 钥MK。 MK分量1 MK分量2 MK分量3 MK种子 保密算法 主密钥MK SEK TEK TMK/PIK/MAK TMK PIK/MAK 1.3 密钥使用方式 , 主密钥存储在密码机内,只有一个,使用时无需指定。 , SEK存储在密码机内,有1024个,使用时以索引方式指定,索引从S0000,S1023。 , TEK存储在密码机内,有1024个,使用时以索引方式指定,索引从T0000,T1023。 , TMK,PIK,MAK用SEK加密后存储在主机数据库中,使用时以密文方式送入密码机, 同时要指定加密密钥SEK的索引。 , 密钥长度可以是64,128,192比特,使用时分别以X,Y,Z表示。 , 可将128比特密钥扩展为192比特密钥,扩展后的密钥与原密钥等价。如将128比特密 钥表示为:Left(64bits) + Right(64bits),扩展成192比特密钥后变成:Left(64bits) + Right(64bits) + Left(64bits) 第2章 密码机消息格式 2.1 TCP/IP通讯 命令格式: 消息长度(2字节) + 消息头(0,99字节) + 消息(n字节) 2字节长度:【消息头】与【消息内容】的字节总数。 消息头: 密码机应答时,原封不动地返回消息头。 消息内容: 按命令格式组织的消息包。 例如,当消息头为0x12 0x34 0x56 0x78,要发送的消息包为0x31, 0x32两字节时,则向密码机发送的内容为: 0x00 0x06 0x12 0x34 0x56 0x78 0x31 0x32 注意:如果采用EBCDIC码进行通信,【消息长度】不要做EBCDIC码转换。 。 消息头缺省长度为0 2.2 串行口通讯 消息格式: STX COUNT DATA LRC ETX STX: 起始标志,一个字节,值为X’02。 COUNT: 两字节的十六进制值。 表示DATA的字节长度,不包括STX、COUNT、LRC、ETX。 DATA: 按命令格式组织的消息包。 LRC: 一个字节的检查值,是DATA所有字节异或的结果。 不包括STX、COUNT、LRC、ETX。 ETX: 结束标志,一个字节,值为X’03。 通信参数:波特率115200bps,8位数据位,1位停止位,无奇偶校验位。 注意:串行口通信用作密钥管理,只采用ASCII编码方式。 2.3 接收缓冲区 密码机的接收缓冲区大小为8704字节。所以每次发送给密码机的消息不能大于8704 字节。 2.4 读写方式 对串行通讯和TCP/IP通讯,都采用同步读写方式。即:密码机处理完一个命令,才 接收下一个命令。 2.5 字母缩写说明 A: 可打印字符 B: 任意字符,0x00-0xFF H: 十六进制字符‘0’–‘9’、‘A’–‘F’ N: 十进制字符‘0’-‘9’ n: 可变长度域 2.6 MAC数据说明 MAC数据的长度不应大于8192字节。 第3章 密钥管理软件的功能 进入密钥管理系统必须输入密码机口令、插入管理员IC卡并输入IC卡密码。建议密码 机口令与管理员IC卡由两人分别管理。 3.1 密钥输入 1. 制作主密钥IC卡 2. 从IC卡导入主密钥 3. 输入SEK 4. 输入TEK 3.2 密钥查询 1. 查询主密钥 2. 查询SEK 3. 查询TEK 3.3 密钥备份 1. 导入,导出SEK 2. 导入,导出TEK 3. 删除SEK,TEK 3.4 系统设置 1. 密码机服务端口,IP,子网掩码,网关 2. 客户IP增加,删除 3. TCP/IP通信消息头、字符编码 3.5 口令管理 1. 修改密码机口令 2. 修改IC卡口令 3.6 其它功能 1. 产生随机数 第4章 密码机指令说明 4.1 检查密码机信息(HR/HS) 功能 本指令测试密码机硬件状态,并返回密码机软件版本信息。 说明 域 长度/类型 内容 指令消息格式 命令码 2A HR 返回消息格式 返回码 2A HS 错误码 2A 00:正确 版本信息 nB 返回密码机软件版本号等信息 4.2 检查主密钥MK状态(K4/K5) 功能 检查主密钥状态 说明 域 长度/类型 内容 指令消息格式 2A K4 命令码 返回消息格式 2A K5 返回码 2A 错误码 00:正确 01:无主密钥MK 16H MK检查值 4.3 检查SEK/TEK(K6/K7) 功能 检查SEK/TEK密钥状态 说明 域 长度/类型 内容 指令消息格式 2A K6 命令码 密钥索引 1A,4N SEK:S,4位索引 TEK:T,4位索引 返回消息格式 2A K7 返回码 2A 错误码 00:正确 02:无密钥 1A 密钥长度 X,Y,Z 16H 密钥的校验值 4.4 导入SEK,TEK(KU/KV) 功能 将用MK加密的SEK/TEK导入密码机。 说明 SEK/TEK必须符合奇校验 域 长度/类型 内容 指令消息格式 2A KU 命令码 密钥索引 1A,4N SEK:S,4位索引 TEK:T,4位索引 1A 密钥长度 X,Y,Z 16/32/48H 密钥密文 用MK加密的SEK/TEK 返回消息格式 2A KV 返回码 2H 错误码 00:正确 04:密钥奇偶校验错 16H 密钥的校验值 4.5 导出SEK,TEK(KY/KZ) 功能 将密码机内的SEK/TEK用MK加密后的输出。 说明 域 长度/类型 内容 指令消息格式 2A KY 命令码 密钥索引 1A,4N SEK:S,4位索引 TEK:T,4位索引 返回消息格式 2A KZ 返回码 2H 错误码 00:正确 02:无密钥 1A 密钥长度 X,Y,Z 16/32/48H 密钥密文 用MK加密的SEK/TEK 16H 密钥的校验值 4.6 将用旧MK加密的SEK/TEK转为用新MK加密(KK/KL) 功能 将用旧MK加密的SEK/TEK用新MK加密后输出。 说明 在更换主密钥时,所有SEK/TEK密钥应改用新的主密钥加密。 保存在密码机内的SEK/TEK密钥会自动转用新的主密钥加密。 保存在密码机外的SEK/TEK密钥则应调用该命令进行转加密。 该命令要求输入的密钥明文符合奇校验。 *在输入新的主密钥时,密码机会自动备份前一版本的主密钥。 域 长度/类型 内容 指令消息格式 2A KK 命令码 1A 密钥类型 S:SEK T:TEK 1A 密钥长度 X,Y,Z 16/32/48H SEK/TEK密钥密文 用旧MK加密的SEK/TEK 返回消息格式 2A KL 返回码 2H 错误码 00:正确 04:密钥奇偶校验错 16/32/48H SEK/TEK密钥密文 用新MK加密的SEK/TEK 16H 密钥的校验值 4.7 生成终端主密钥TMK(K0/K1) 功能 生成终端主密钥,并将其密文和检查值返回给主机。 说明 生成的终端主密钥符合奇校验。 域 长度/类型 内容 指令消息格式 2A K0 命令码 SEK索引 1A,4N S,4位索引 TEK索引 1A,4N T,4位索引 1A TMK密钥长度 X:64比特密文 Y:128 比特密文 Z:192 比特密文 返回消息格式 2A K1 返回码 2A 错误码 00:正确 16/32/48H TMK密文1 用SEK加密 16/32/48H TMK密文2 用TEK加密 16H TMK密钥检查值 用TMK加密64比特0 4.8 在SEK和TEK之间转换TMK(KE/KF) 功能 将用SEK加密的TMK转换为用TEK加密,或者将用TEK加密的TMK 转换为用SEK加密。 说明 域 长度/类型 内容 指令消息格式 2A KE 命令码 SEK密钥索引 1A,4N SEK:S,4位索引 TEK密钥索引 1A,4N TEK:T,4位索引 1N 转换标志 0:从SEK到TEK加密 1:从TEK到SEK加密 1A TMK密钥长度 X,Y,Z 16/32/48H TMK密钥密文 返回消息格式 2A KF 返回码 2H 错误码 00:正确 其它:错误 16/32/48H TMK密钥密文 转换标志为0:用TEK加密的TMK 转换标志为1:用SEK加密的TMK 16H 密钥的校验值 4.9 生成数据密钥PIK/MAK(K2/K3) 功能 生成数据密钥PIK/MAK,并将其密文和检查值返回给主机。 说明 对于生成的数据密钥(PIK、MAK)需要同时各生成两对密文,其中一对 用TMK加密用于通过联机报文方式在签到应答消息中传给终端,另一对 用SEK加密后,将密文保存在POSP数据库中。 域 长度/类型 内容 指令消息格式 2A K2 命令码 SEK1索引 1A,4N 用于解密TMK SEK2索引 1A,4N 用于加密PIK/MAK TMK密文 1A,16/32/48H 用SEK1加密 1A PIK/MAK密钥长度 X:64比特密文 Y:128 比特密文 Z:192 比特密文 返回消息格式 2A K3 返回码 2A 错误码 00:正确 16/32/48H PIK/MAK密文1 用SEK2加密 16/32/48H PIK/MAK密文2 用TMK加密 16H PIK/MAK密钥检查值 用PIK/MAK加密64比特0 4.10 在SEK和TMK之间转换PIK/MAK(KI/KJ) 功能 将用SEK加密的PIK/MAK转换为用TMK加密,或者将用TMK加密的 PIK/MAK转换为用SEK加密。 说明 域 长度/类型 内容 指令消息格式 2A KI 命令码 SEK1密钥索引 1A,4N 用于解密PIK/MAK SEK2密钥索引 1A,4N 用于解密TMK 1A TMK密钥长度 X,Y,Z 16/32/48H TMK密钥密文 用SEK2加密的TMK 1N 转换标志 0:从SEK到TMK加密 1:从TMK到SEK加密 1A PIK/MAK密钥长度 X,Y,Z 16/32/48H PIK/MAK密钥密文 返回消息格式 2A KJ 返回码 2H 错误码 00:正确 其它:错误 16/32/48H PIK/MAK密钥密文 转换标志为0:用TMK加密的PIK/MAK 转换标志为1:用SEK加密的PIK/MAK 16H 密钥的校验值 4.11 PIN BLOCK转换(P0/P1) 功能 将源PIN密文用源PIK解密,进行PIN格式转换,然后用目的PIK加密输 出。 说明 当PinBlock格式为02时,PIN长度为4~6位,当PinBlock格式为04时, PIN长度为6位,其它PinBlock格式PIN长度最少4位,最长12位。 此指令中PinBlock格式为01时,要求输入16位帐号,目的是为了包容某 些特殊的PinBlock格式。上层应用需要按照自己的要求组织此域。HSM直 接用此域(帐号域)与PIN域异或,形成PinBlock。 域 长度/类型 内容 指令消息格式 2A P0 命令码 源SEK索引 1A,4N S,4位索引 目的SEK索引 1A,4N S,4位索引 源PIK密钥密文 1A,16/32/48H 用源SEK加密: X,64比特密文 Y,128 比特密文 Z,192 比特密文 目的PIK密钥密文 1A,16/32/48H 用目的SEK加密 2N 源PinBlock格式 参见PinBlock格式附表 2N 目的PinBlock格式 参见PinBlock格式附表 16H 源PIN PinBlock密文 用源PIK加密 16N 源帐号 当源PinBlock格式为01时有此域 其它PinBlock格式:无此域 16N 目的帐号 当目的PinBlock格式为01时有此域 其它PinBlock格式:无此域 返回消息格式 2A P1 返回码 2A 错误码 00:正确 其它:错误 16H 目的PinBlock密文 用目的PIK加密 4.12 MAC计算(M0/M1) 功能 用ANSI X9.9 MAC算法对数据做MAC。 说明 域 长度/类型 内容 指令消息格式 2A M0 命令码 1N MAC算法 1:XOR 2:X.99 3:X9.19 SEK索引 1A,4N MAK密钥密文 1A,16/32/48H 用SEK加密: X,64比特密文 Y,128 比特密文 Z,192 比特密文 4N 数据长度 【数据】域的字节数 nB 数据 返回消息格式 2A M1 返回码 2A 错误码 00:正确 MAC 8H 4.13 MAC计算(M4/M5) 功能 用ANSI X9.9 MAC算法对数据做MAC。 说明 域 长度/类型 内容 指令消息格式 2A M4 命令码 1N MAC算法 1:XOR 2:X.99 3:X9.19 SEK索引 1A,4N MAK密钥密文 1A,16/32/48H 用SEK加密: X,64比特密文 Y,128 比特密文 Z,192 比特密文 4N 数据长度 【数据】域的字节数 nB 数据 返回消息格式 2A M5 返回码 2A 错误码 00:正确 MAC 16H 4.14 验证MAC(M2/M3) 功能 用ANSI X9.9 MAC算法对数据做MAC,并与输入的MAC进行比较,返 回比较结果。 说明 域 长度/类型 内容 指令消息格式 2A M2 命令码 1N MAC算法 1:XOR 2:X.99 3:X9.19 SEK索引 1A,4N MAK密钥密文 1A,16/32/48H 用SEK加密: X,64比特密文 Y,128 比特密文 Z,192 比特密文 MAC 8H 要验证的MAC 4N 数据长度 【数据】域的字节数 nB 数据 返回消息格式 2A M3 返回码 2A 错误码 00:正确 4.15 生成密钥的校验值(3A/3B) 功能 加密一个明文的PIN,并输出指定格式(01,06)的PIN密码块 说明 SEK/TEK必须符合奇校验 域 长度/类型 内容 指令消息格式 2A 3A 命令码 密钥索引 1A,4N SEK:S,4位索引 TEK:T,4位索引 PIK密钥密文 1A,16/32/48H 用SEK或TEK加密: X,64比特密文 Y,128 比特密文 Z,192 比特密文 返回消息格式 2A 3B 返回码 2H 错误码 16H 检查值 单、双、三倍长密钥加密64比特0的结果 4.16 加密一个PIN(60/61) 功能 加密一个明文的PIN,并输出指定格式(01,06)的PIN密码块 说明 SEK/TEK必须符合奇校验 域 长度/类型 内容 指令消息格式 2A 60 命令码 密钥索引 1A,4N SEK:S,4位索引 TEK:T,4位索引 PIK密钥密文 1A,16/32/48H 用SEK或TEK加密: X,64比特密文 Y,128 比特密文 Z,192 比特密文 2N PIN块格式 ‘01’,‘06’ 16H PIN块明文 要加密的PIN明文,不足16位填充F。如 123456FFFFFFFFFF。 16N 帐号 当目的PinBlock格式为01时有此域 其它PinBlock格式无此域 返回消息格式 2A 61 返回码 2H 错误码 16H 加密后的PIN块 用PIK密钥加密后的PIN块 4.17 由密码机产生一个随机数(RA/RB) 功能 由密码机产生一个指定长度的随机数。 说明 产生的随机数符合奇校验。 域 长度/类型 内容 指令消息格式 命令码 2A RA 随机数长度 3N 随机数的字符长度 返回消息格式 返回码 2A KZ 错误码 2H 00:正确 其它:错误 随机数 nH 4.18 生成RSA公、私钥对,并输出公钥 (34/35) 功能 生成RSA公、私钥对,将其存储在加密机中,并输出公钥的明文。 输入 域 长度/类型 内容 指令消息格式 2A 34 命令码 4N RSA模长 至少支持1024 2N RSA密钥索引 返回消息格式 2A 返回码 待定 2A 错误码 00:正确 私钥长度 4N 私钥密文字节数 私钥密文 nB 用主密钥加密的私钥 公 钥 nB ANS.1 DER编码方式―――见附录 4.19 请求用指定私钥解密特定数据并用输入的PIK按DES/3DES算 法加密PIN (3I/3J) 功能 特定数据的构成:PINBLOCK+附加数据。用私钥解密后截取前面的 PINBLOCK部分用PIK加密,输出PINBLOCK的密文及附加数据的明文。 输入 域 长度/类型 内容 指令消息格式 2A 3I 命令码 2N RSA密钥索引 SEK密钥索引 1A,4N S,4位索引,用来加密工作密钥的主密钥索引 PIK密钥密文 1A,用SEK加密: 16/32/48H X,64比特密文 Y,128 比特密文 Z,192 比特密文 4N 数据长度 nB 数据 用公钥加密的PINBLOCK+附加数据 的明文 返回消息格式 2A 返回码 待定 2A 错误码 00:正确 16H PIN密文 PIK加密后的密文 nB 附加数据 明文 用公钥加密的PINBLOCK+附加数据 的明文 : 06 12 34 56 78 FF FF FF +附加数据(01 02 03 04 05 06………) 4.20 数据加密/解密指令(E1/E2) 域 长度/类型 内容 指令消息格式 2A 命令码 E, 1N 加解密标志 0:加密,1:解密 1N 加密算法 0:ECB,1:CBC 密钥索引 1A,4N SEK:S,4位索引 TEK:T,4位索引 输入密钥密文 1A,16/32/48H 用SEK或TEK加密: X,64比特密文 Y,128 比特密文 Z,192 比特密文 16H 初始向量 64比特,CBC加密的初始向量,仅当加密算法 为,时有此域。 4N 数据长度 输入数据的字节数,为,的倍数 nB 输入数据 需要加、解密的原始数据 返回消息格式 2A 返回码 E, 2H 错误码 4N 数据长度 输出数据的字节数 nB 输出数据 加、解密后的结果数据 处理过程: , 用密钥索引对应的主密钥解密输入密钥得到密钥明文 , 判断加解密标志;用明文密钥对数据做加密或解密处理 , 输出处理结果 第5章 PIN块格式 为了对PIN进行加密传输,密码机要求将PIN以16位十六进制数输入。 密码机支持六种PIN块格式,PIN 格式代码为2位十进制数。 5.1 格式01 (ISO 9564-1Format 0或ANSI X9.8) 格式01采用ANSI X9.8,PIN块由用户PIN和账号按如下方法形成: 1. 由数字0、PIN长度,PIN,填充字符F,组成一个十六位的数据块。例如:5位的PIN 92389,数据块为 0592 389F FFFF FFFF。 2. 另一个十六位的数据块由四位0和最右12位账号(不含检查位)组成,例如:13位 账号“4000 0012 3456 2”,最后一位“2”是检查位,数据块为 0000 4000 0012 3456。 3. 上述两数据块进行异或(模2加)操作。 05 92 38 9F FF FF FF FF 00 00 40 00 00 12 34 56 得到PIN块: 05 92 78 9F FF ED CB A9 5.2 格式02(Docutel) 格式02由PIN长度,6位PIN,和用户定义的填充数字串组成。如果PIN不足6位,采用左对齐,后面补0,凑足6位。例如5位PIN“92389”,填充后为“923890”,加上填充串“98765 4321”,PIN块是“5923 8909 8765 4321”。 5.3 格式03(Diebold) 格式03不含PIN长度,PIN块由用户PIN和填充字符F组成。例如5位PIN“92389”,PIN块是: 9238 9FFF FFFF FFFF 5.4 格式04 格式04 PIN 块由下述16位十六进制数组成: 00003P3P3P3P3P3P 123456 例如:PIN为 123456时,PIN块为 0000 3132 3334 3536。 5.5 格式05(ISO 9564-1Format 1) 格式05是ISO 9564-1格式1,PIN 块由下述16位十六进制数组成: 1NP„PR„R 1N 这里: N是PIN长度(4,C)。 P„P是N位的PIN。, 1N R„R是随机填充串。 5.6 格式06 格式06的PIN 块由数字0、PIN长度、PIN、填充字符F组成。例如:5位的PIN 92389,PIN块为 0592 389F FFFF FFFF。 第6章 算法说明 6.1 64比特密钥DES加/解密 64比特数据 密钥 DES加/解密 64比特结果 6.2 128比特密钥DES加/解密 64比特数据 64比特数据 密钥左半部 密钥左半部 DES加密 DES解密 密钥右半部 密钥右半部 DES解密 DES加密 64比特结果 64比特结果 密钥左半部 密钥左半部 DES加密 DES解密 64比特结果 64比特结果 128比特密钥DES加密过程 128比特密钥DES解密过程 6.3 192比特密钥DES加/解密 64比特数据 64比特数据 密钥左部 密钥右部 DES加密 DES解密 密钥中部 密钥中部 DES解密 DES加密 64比特结果 64比特结果 密钥右部 密钥左部 DES加密 DES解密 64比特结果 64比特结果 192比特密钥DES加密过程 192比特密钥DES解密过程 6.4 XOR MAC算法 (1) XOR MAC算法可以使用单倍长、双倍长、三倍长密钥。 (2) MAC数据先按8字节分组,表示为D,Dn,如果Dn不足8字节时,尾部以0 字节00补齐。 (3) D,Dn所有分组异或,然后用MAC密钥加密。 0 (4) 取加密结果的左半部作为MAC。 6.5 ANSI X9.9MAC算法 (1) MAC数据先按8字节分组,表示为D,Dn,如果Dn不足8字节时,尾部以0 字节00补齐。 (2) 用MAC密钥加密D,加密结果与D异或作为下一次的输入。 01 (3) 将上一步的加密结果与下一分组异或,然后再用MAC密钥加密。 (4) 直至所有分组结束,取最后结果的左半部作为MAC。 图示如下,其中: DEA(e) 表示 加密操作 D0 D1 D2 …… Dn + + + + DEA(e) DEA(e) DEA(e) DEA(e) DEA(e) 密钥 MAC ‘+’ 表示 异或操作 ? 6.6 ANSI X9.19 MAC算法描述: (1) ANSI X9.19MAC算法只使用双倍长密钥。 (2) MAC数据先按8字节分组,表示为D,Dn,如果Dn不足8字节时,尾部以0 字节00补齐。 (3) 用MAC密钥左半部加密D,加密结果与D异或作为下一次的输入。 01(4) 将上一步的加密结果与下一分组异或,然后用MAC密钥左半部加密。 (5) 直至所有分组结束。 (6) 用MAC密钥右半部解密(5)的结果。 (7) 用MAC密钥左半部加密(6)的结果。 (8) 取(7)的结果的左半部作为MAC。 图示如下,其中: DEA(e) 表示加密操作,DEA(d)表示解密操作,‘+’表示异或操作。 ? D0 D1 D2 …… Dn + + + + DEA(e) DEA(e) DEA(e) DEA(e) DEA(e) 密钥左半部 密钥右半部 DEA(d) DEA(e) MAC 第7章 错误代码表 00 正确 01 无主密钥 02 无工作密钥1 03 无工作密钥2 04 工作密钥1奇偶校验错 与对方验证密钥是否一致,把签到回来的MAK让对方 算出明文,然后用对方的之前给的明文+签到回来的密文计算出结果,对比双方 结果 05 工作密钥2奇偶校验错 06 无老的主密钥 10 口令错 11 密码机不在授权状态 12 没有插IC卡(从串行口进入密钥管理时要插A卡) 13 写IC卡错 14 读IC卡错 15 IC卡不配套 16 打印机没准备好 17 IC卡未格式化 18 打印格式没定义 20 MAC校验错 21 MAC标志指示域错 22 密钥长度与使用模式不符 23 MAC模式指示域错 24 数据长度指示域错(不为8的倍数、大于8192字节) 26 加密模式指示域错 27 加解密标志错 28 PIN格式错 29 PIN检查长度大于实际PIN长度 31 工作密钥1标志错 32 工作密钥2标志错 33 工作密钥索引错 34 密钥离散次数错 35 PIN参考值校验错 36 主帐号参考值校验错 37 PIN校验错 38 PIN长度错(小于4或者大于12) 39 CVN标志错 40 DES算法模块错误 41 SSF33算法模块错误 60 无此命令 61 消息太短 62 消息太长 63 消息检查值错 76 子网掩码无效 77 非法字符 78 文件尾 79 客户IP地址语法错 出现错误时 1、 检查访问的是公网还是局域网 2、 对方的数据库是否是一个 3、 参数是否一致 第8章 公钥编码 SJL06密钥机采用如下的公钥编码方式: 公钥包含如下内容: modulus:n public_Exponent:e 公钥按如下格式定义: Sequence Byte Integer Modulus Integer Exponent Modulus Exponent Identifier Length Identifier Length Identifier Length 下面是一个modulus为1024 bits,Exponent为3的公钥表示: 128 byte 0x30 0x81,0x86 0x02 0x81,0x80 0x02 0x01 0x03 Modulus 0x30:序列起始标志。 0x81,0x86:指定了后面的字节长度。 如果长度值为0x01,0x7F,直接指定后面的字节长度。 如果长度值大于0x80,则长度值减0x80,所得结果为长度域的字节数。上例中,长度 值为0x81,所以长度由随后的1字节指定(0x86――10进制为134)。 0x02:Modulus起始标志。 0x81,0x80:指定了Modulus的字节数。与Byte Length表示法相同。 128byte Modulus:公钥的Modulus。 0x02:Exponent起始标志。 0x01:指定了Exponent的字节数。与Byte Length表示法相同。 0x03:公钥的Exponent。 填充方式 填充方式0: 1( 如果数据正好是密钥长度的整倍数,不做填补。 2( 如果数据不是密钥长度的整倍数,后面补0x00。 3( 进行分段签名/加密。 4( 返回签名/加密结果:处理前明文的字节数(4字节),处理结果 注意:此方式,由用户保证每段数据不大于密钥,否则验证/解密会失败。 处理前明文的字节数(4字节)的表示法:低字节在前,高字节在后。例如:78 56 34 12 表示长度为0x12345678 这种填充方式用于支持以下情况: 用户要采用PKCS以外的某种填充方式,可在外部先自行填充,然后通过密码机进 行处理。 填充方式1: PKCS填充方式,在用公钥或私钥进行处理前,数据按如下格式进行填充: 00 BT PS 00 D BT:1字节,用私钥时填0x01,用公钥时填0x02,。 01时填FF……FF;BT,02时填非0的随机数。 PS:填充串,至少8字节。BT, D: 是数据,最多为密钥长度,11字节。 ,填充后的数据长度等于密钥长度。
/
本文档为【20081208银联ATMP和POSP应用系统升级后指令集(1)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索