SJL06磁条卡IC卡兼容加密机磁条卡命令集Word下载.docx
《SJL06磁条卡IC卡兼容加密机磁条卡命令集Word下载.docx》由会员分享,可在线阅读,更多相关《SJL06磁条卡IC卡兼容加密机磁条卡命令集Word下载.docx(39页珍藏版)》请在冰豆网上搜索。
3.3.3产生一个MAC,同时从终端上转换一个PIN27
3.3.4转换一个MAC28
3.3.5同时转换一个MAC和一个PIN29
3.4测试命令30
3.4.1返回主密钥状态30
3.4.2返回一个银行主密钥状态31
3.4.3要求返回一个终端密钥状态32
3.5VISA命令33
3.5.1产生一个卡校验值CVV33
3.5.2验证一个卡校验值CVV34
3.5.3产生一个PIN校验值PVV35
3.5.4验证一个PIN校验值PVV36
3.6报文命令37
附录A密码机出错代码表1
附录BPIN格式2
第一章密钥体制
SJL06T密码机提供了适用于磁条卡(JK)与IC卡两种应用的指令集。
这两套指令集的密钥分开管理,因此密码机为这两种应用分配了各自的密钥库,独立进行管理。
密码机内有以下密钥:
磁条卡应用密钥库:
主密钥MK(1个)
银行主密钥BMK(索引号000-511,共512个)
终端密钥ATK(索引号000-999,共1000个)
IC卡应用密钥库:
交易主密钥(版本0-2,每个版本有00-31共32组,每组有01-10共10个密钥)
2.1磁条卡密钥
2.1.1主密钥〔MK〕
主密钥为16个字节,由三个成份合成,每个成份为16字节。
可由三个人管理,每人输入一个成份,送入密码机,合成最终的主密钥,并保存在密码机内。
用于对银行主密钥加密。
2.1.2银行主密钥〔BMK〕
银行主密钥为16个字节,由二个成份合成,每个成份为16字节。
可由二个人管理,每人输入一个成份,送入密码机,合成最终的银行主密钥,并保存在密码机内。
它必须在主密钥之后输入,以索引号的方式使用。
用于对数据密钥(MAK,PIK)加解密。
2.1.3MAC密钥〔MAK〕
MAC密钥为8个字节。
它由交换中心的密码机产生并分发给成员行。
MAK受银行主密钥保护,存放在主机内,密码机内不保存。
用于产生消息鉴别码MAC。
2.1.4PIN密钥〔PIK〕
PIN密钥为8个字节。
PIK受银行主密钥保护,存放在主机内,密码机内不保存。
用于加密个人识别码PIN。
2.1.5ATM密钥〔ATK〕
ATM密钥为8个字节。
它由成员行人工输入,并保存在密码机内,以索引号的方式使用。
2.2密钥检查
假如密钥的字节形式为b7b6b5b4b3b2b1b0,
则校验位b0=b7⊕b6⊕b5⊕b4⊕b3⊕b2⊕b1⊕1
‘⊕’为异或算法。
由密码机生成的密钥,符合奇较验,且密码机可自动检查其是否为弱密钥(WeakKey)或半弱密钥(simi-weakkey)。
如果属于这类密钥,密码机将自动重新产生。
弱密钥为:
0101010101010101
1F1F1F1F1F1F1F1F
E0E0E0E0F1F1F1F1
FEFEFEFEFEFEFEFE
半弱密钥为:
E0FEE0FEF1FEF1FE
FEE0FEE0FEF1FEF1
1FFE1FFE0EFE0EFE
01FE01FE01FE01FE
1FE01FE00EF10EF1
01E001E001F101F1
FE1FFE1FFE0EFE0E
E01FE01FF10EF10E
FE01FE01FE01FE01
E001E001F101F101
011F011F010E010E
1F011F010E010E01
第二章密码机消息格式
1.异步消息格式
异步通讯协议(ASYNC)采用8bits数据位,1bit停止位,无奇偶校验位,波特率19.2K。
消息格式如下:
STX
「消息内容」
检查和
ETX
1BYTE
NBYTES
4BYTES
1BYTE
STX:
控制字符(0x02),表示消息开始。
ETX:
控制字符(0x03),表示消息结束。
检查和:
消息内容各字节的算术和,取最后4位。
用来对消息内容进行验证。
检查和的计算如下例:
消息--“31001”
33
31
30
+31
F5
检查和:
00F5
2.TCP/IP消息格式
主机端:
消息内容
3.消息的传送
所有消息均用ACSII字符方式传送。
密钥和密文部分用十六进制数字表示。
因此一个8字节的密钥应该转换成16个ASCII码字符,一个16字节的密钥应转换成32个ASCII码字符输入。
4.字母缩写说明
n:
可变长度域
N:
十进制字符‘0’-‘9’
A:
可打印字符
H:
十六进制字符(‘0’–‘F’)
第三章密码机命令
3.1密钥管理命令
3.1.1产生一个数据密钥
密码机产生一个64bits的随机数,并用指定的银行主密钥加密后返回给主机。
输入消息格式
输入域
长度
类型
内容
命令
2
A
值“1A”
银行索引号
3
N
银行主密钥索引号
输出消息格式
输出域
应答码
“1B”
错误码
“00”表示正确,以后同
数据密钥
16
H
用银行主密钥加密后的数据密钥
3.1.2
产生一个索引的银行主密钥
密码机产生一个128bits的随机数作为指定的银行主密钥,保存在密码机内,并用主密钥加密后返回给主机。
输入消息格式
值“11”
“12”
32
用主密钥加密后的银行主密钥
3.1.3
产生两个数据密钥
密码机产生两个64bits的随机数,并将它用指定的银行主密钥加密后返回给主机。
值“1B”
“1C”
3.1.4
产生数据密钥检查值
输入一个用银行主密钥加密的数据密钥的密文,返回数据密钥的检查值。
长度
类型
值“13”
用银行主密钥加密的数据密钥
“14”
数据密钥检查值
4
数据密钥加密0取最左两字节
3.1.5
转换一个数据密钥从Variant到无Variant。
输入一个用银行主密钥及Variant加密的数据密钥的密文,返回用银行主密钥加密的数据密钥密文。
值“1C”
用银行主密钥及Variant加密的数据密钥
Variant
“01”-“31”
“1D”
数据密钥
单用银行主密钥加密的数据密钥
3.1.6
给数据密钥加上奇偶校验位
输入一个用银行主密钥加密的数据密钥的密文,返回用银行主密钥加密的符合奇偶校验的数据密钥的密文。
值“15”
“16”
用银行主密钥加密的符合奇偶校验的数据密钥
3.1.7
产生一个数据密钥及其检查值
密码机产生一个64bits的数据密钥,返回该数据密钥密文及其检查值。
值“16”
“17”
用数据密钥加密0
3.1.8
转换一个数据密钥从一个银行到另一个银行
密码机用BMK1解密KEY,如果KEY不符合奇校验,则使KEY符合奇校验,然后用BMK2加密后输出。
值“17”
银行索引号1
银行主密钥1索引号
银行索引号2
银行主密钥2索引号
用银行主密钥1加密
“18”
用银行主密钥2加密
3.1.9
存储一个索引的银行主密钥
输入用主密钥加密的银行主密钥密文,将它存储在密码机内。
值“2A”
银行主密钥
用主密钥加密的银行主密钥
“2B”
3.1.10
存储一个索引的终端密钥
输入一个用银行主密钥加密的终端密钥(ATK或POK密钥),将它存储在密码机内。
值“21”
终端密钥索引号
ATK或POK密钥
用银行主密钥加密的
“22”
3.1.11
取回一个索引的银行主密钥
从密码机取回一个指定的银行主密钥密文。
值“31”
“32”
3.1.12
取回一个索引的终端密钥
从密码机取回一个索引的终端密钥(ATK或POK,受指定银行主密钥的保护)。
值“32”
“33”
ATK或POK
用银行主密钥加密后的ATK或POK
3.2PIN命令
3.2.1要求加密一个PIN
用输入的PIK密钥加密PIN。
值“60”
PIN类型
1
‘1’-‘7’
银行主密钥索引
PIK密钥
用银行主密钥加密的PIN密钥
明文
要加密的PIN明文
PAN
仅当PIN类型为3或7时有此域
“61”
加密后的PIN
用PIK密钥加密后的PIN块
3.2.2
要求将PIN从银行1转换到银行2
密码机将输入的PIN块的密文用PIK1解密,然后用PIK2加密输出。
值“61”
PIK1的银行主密钥索引号
PIK1
用它解密PIN块
PIK2的银行主密钥索引号
PIK2
用它加密PIN块
PIN的密文
被转换的PIN的密文
PAN(或附加信息)
“62”
用PIK2密钥加密后的PIN
3.2.3
用终端密钥加密PIN
密码机用指定终端密钥加密PIN。
值“62”
PIN类型
要加密的PIN的明文
“63”
用终端密钥加密后的PIN
3.2.4
转换PIN从终端密钥加密到PIK加密
输入用终端密钥加密的PIN,密码机将它用终端密钥解密后,将ATM的PIN格式转换成ANSIX9.8标准,并加上附加信息,再用PIK加密输出。
PIN格式请参见附录B。
值“63”
终端密钥索引
PIK的银行主密钥索引号
PIK密码
用它加密PIN
将要转换的PIN的密文
主帐号(附加信息)
仅当PIN类型3,4,5,6,7时有此域
“64”
用PIK加密后的PIN
3.2.5
转换PIN从PIK加密到终端密钥加密
输入用PIK加密的PIN,密码机将它们用PIK解密后,将ANSIX9.8标准的PIN格式转换成终端格式,并用终端密钥加密后输出。
值“64”
加密PIK的银行主密钥索引号
用它解密PIN
PIN密文
要转换的PIN的密文
“65”
3.2.6
验证一个PIN
输入用PIK加密的PIN和用终端密钥加密的PIN,密码机将它们解密后,验证它们是否一致。
值“65”
PIN的密文1
用PIK加密
附加信息
PIN的密文2
用ATK加密
“66”
3.2.7
转换PIN从银行1到银行2
密码机将输入的PIN的密文用PIK1解密,然后用PIK2加密输出。
此命令与61命令相似,但用PIK1加密的PIN块不含PAN。
值“67”
PIK1的银行主密钥索引号
PIK1
PIK2的银行主密钥索引号
PIK2
“68”
3.2.8
解密一个PIN
用PIK密钥解密一个PIN。
值“68”
PIK
将要解密的PIN的密文
“69”
PIN明码
3.2.9
将PIN从银行1转换到银行2
密码机将输入的PIN的密文用PIK1解密,然后用PIK2加密输出。
此命令与61命令相似,但PIK1和PIK2使用不同的附加信息。
值“69”
附加信息1
附加信息2
“6:
”
3.3MAC命令
3.3.1产生MAC
密码机用MAK密钥产生一个MAC。
值“80”
加密MAK的银行主密钥索引号
MAK密码
用它产生MAC
MAC数据的长度
输入的MAC数据的字节数
输入MAC数据