




免费预览已结束,剩余234页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编程手册 Racal编程手册江南计算技术研究所 目 录第一篇 编程指南81.1简要介绍81.2一般说明81.3三倍DES运算91.3.1密钥的用法91.3.2密钥的加密方案91.ANSI X9.17方式92.变量方式91.4密钥的生成、输入和输出101.5命令消息格式111.5.1TCP/IP方式111.5.2串口Async方式111.6响应消息格式121.6.1TCP/IP方式121.6.2串口Async方式131.7数据的表示131.7.1ASCII字符编码141.7.2EBCDIC字符编码141.7.3EBCDIC码至ASCII码的转换表161.8输入/输出流控制181.9错误控制181.10多HSM的使用191.11用户存储191.11.1分配和使用索引201.11.2指定存储数据211.12通过一台连接在HSM上的打印机打印221.13禁止弱密钥和半弱密钥221.13.1DES弱密钥221.13.2DES半弱密钥231.14本地主密钥231.14.1LMK表231.14.2标准测试用LMK集241.15本地主密钥变种251.16本地主密钥三DES变量方案261.16.1一般说明261.16.2密钥类型表271.16.3密钥方案表28第二篇 主机命令292.1一般说明292.2通用密钥管理命令292.2.1生成密钥302.2.2生成并打印一个成份312.2.3生成一个密钥并以分开的成份形式打印332.2.4由密的成份组成一个密钥352.2.5输入一个密钥362.2.6输出一个密钥372.2.7转换密钥方案(不支持)382.3区域主密钥(ZMK)管理392.3.1生成并打印一个ZMK成份402.3.2由三个ZMK成份组成一个ZMK422.3.3由2到9个ZMK成份组成一个ZMK432.3.4将ZMK由ZMK转为LMK加密452.4区域PIN密钥(ZPK)管理472.4.1生成一个ZPK482.4.2将ZPK由ZMK转为LMK加密492.4.3将ZPK由LMK转为ZMK加密512.5区域加密密钥,区域认证密钥管理522.5.1生成一个ZEK/ZAK532.5.2将ZEK/ZAK从ZMK转为LMK加密542.5.3将ZEK/ZAK从LMK转为ZMK加密552.6终端主密钥,终端PIN密钥和终端认证密钥管理562.6.1生成并打印一个TMK、TPK或PVK572.6.2生成一个TMK、TPK或PVK592.6.3将TMK、TPK或PVK从LMK转为另一TMK、TPK或PVK加密592.6.4将TMK、TPK或PVK从ZMK转为LMK加密602.6.5将TMK、TPK或PVK从LMK转为ZMK加密612.6.6生成一对PVKs622.7终端认证密钥管理642.7.1生成一个TAK652.7.2将TAK从ZMK转为LMK加密662.7.3将TAK从LMK转为ZMK加密672.7.4将TAK从LMK转为TMK加密682.8PIN和Offset的生成692.8.1使用IBM方式得到一个PIN702.8.2使用Diebold的方式得到一个PIN(不支持)722.8.3生成一个随机的PIN732.8.4生成一个IBM方式的PIN Offset742.8.5生成一个Diebold的PIN Offset(不支持)752.8.6生成一个VISA的PIN校验值762.9PIN校验772.9.1校验一个用IBM方式的终端PIN772.9.2校验一个用IBM方式的、用于交换的PIN792.9.3校验一个用Diebold方式的终端PIN(不支持)812.9.4校验一个用Diebold方式的、用于交换的PIN(不支持)822.9.5校验一个用VISA方式的终端PIN832.9.6校验一个用VISA方式的、用于交换的PIN842.9.7校验一个用比对方式的终端PIN852.9.8校验一个用比对方式的、用于交换的PIN862.10PIN翻译872.10.1将PIN从一个ZPK翻译到另一个ZPK(已升级)882.10.2将PIN从TPK翻译到ZPK902.10.3将PIN从ZPK翻译到LMK912.10.4将PIN从TPK翻译到LMK922.10.5将PIN从LMK翻译到ZPK932.10.6翻译PIN算法(不支持)942.11PIN信封打印952.11.1打印PIN/PIN和请求数据962.11.2打印一个PIN请求信封982.11.3验证PIN/PIN和请求信封密码1002.11.4验证请求信封密码1012.12PIN请求数据处理1022.12.1装载请求数据至用户存储区(不支持)1052.12.2请求数据至用户存储区的最后装载(不支持)1062.13清除PIN支持1082.13.1加密一个明文的PIN1082.13.2解密一个已加密的PIN1092.14主机口令支持1102.14.1生成一个口令密钥(不支持)1102.14.2将口令密钥从LMK下加密转为ZMK下加密(不支持)1112.14.3将口令密钥从ZMK下加密转为LMK下加密(不支持)1122.14.4校验口令响应(不支持)1132.14.5生成一个十进制的MAC(不支持)1142.14.6校验一个十进制的MAC(不支持)1152.15消息认证码支持1162.15.1生成一个MAC1172.15.2校验一个MAC1182.15.3校验并转换一个MAC1182.15.4对大消息生成MAC(MAB)1192.15.5用ANSI X9.19方式对大消息生成MAC(MAB)1202.16BASE24二进制MAC命令1222.16.1生成一个二进制MAC(Base24)(不支持)1232.16.2校验一个二进制MAC(Base24)(不支持)1242.16.3校验并转换一个二进制MAC(Base24)(不支持)1252.17用户存储支持1262.17.1装载数据至用户存储区1272.17.2从用户存储区读取数据1272.17.3校验用户存储区的Diebold表(不支持)1282.18打印输出的格式1292.18.1字格式打印PINs1322.18.2以列形式打印PINs1332.18.3装载格式化数据至HSM1342.18.4装载附加格式化数据至HSM1352.18.5装载PIN文本字符串1362.19在LMK变化之后转换数据1372.19.1转换一个ZMK1372.19.2转换一个ZPK1382.19.3转换一个TMK、TPK或PVK1392.19.4转换一个TAK1402.19.5转换一个PIN和PIN长度1412.19.6将密钥从旧LMK下转换至新LMK下加密1422.19.7清除密钥转变存储区1442.20复合命令1452.20.1退出授权状态1452.20.2生成密钥校验值(非双倍长度ZMK)1462.20.3生成密钥校验值1472.20.4设置HSM响应延时(不支持)1492.20.5完成诊断1502.20.6HSM状态1512.21美国运通卡安全码1522.21.1算法说明1522.21.2生成一个*CSCK1552.21.3导出一个*CSCK1562.21.4导入一个*CSCK1572.21.5计算卡安全码1592.21.6校验卡安全码1602.22VISA卡校验值1612.22.1生成CVK对1612.22.2将CVK对由LMK下加密转换为ZMK下加密1622.22.3将CVK对由ZMK下加密转换为LMK下加密1632.22.4将CVK对由旧LMK下转换为新LMK下加密1642.22.5生成VISA CVV1652.22.6校验VISA CVV1652.23每一交易中唯一的导出密钥1662.23.1生成一个基础导出密钥(*BDK)(不支持)1672.23.2将PIN由*BDK下加密转换为交换密钥加密(不支持)1682.23.3用IBM方式校验PIN(不支持)1692.23.4用VISA PVV方式校验PIN(不支持)1702.23.5用Diebold方式校验PIN(不支持)1712.23.6用已加密PIN的方式校验PIN(不支持)1722.23.7将BDK从*ZMK转为LMK下加密(不支持)1732.23.8将BDK从LMK转为*ZMK下加密1742.24使用可选的RSA加密系统1752.24.1生成一RSA密钥集1802.24.2装载一个私钥1822.24.3将私钥由旧LMK下加密转换为新LMK下加密1832.24.4由公钥生成一个MAC1842.24.5由公钥验证一个MAC1852.24.6校验一个证书并在公钥下生成一个MAC1862.24.7由公钥转换一个MAC1882.24.8生成一个签名1892.24.9校验一个签名1912.24.10输入一个DES密钥1932.24.11输出一个DES密钥1942.24.12对一个数据块进行哈希运算1952.25其他RSA命令1962.25.1产生一对RSA密钥(34)1962.25.2导入私钥(35)1972.25.3导出私钥(36)1972.25.4用私钥签名(37)1982.25.5用公钥验证(38)1992.25.6转换DES密钥:从公钥加密到主密钥加密(3A)1992.25.7转换DES密钥:从主密钥加密到公钥加密(3B)2002.25.8产生摘要(3C)2012.25.9转换MAC密钥并做MAC(3E)2012.25.10公钥加密(30)2022.25.11私钥解密(33)2032.25.12私钥加密(3D)2042.25.13公钥解密(39)2042.25.14PIN转换指令(41)2052字节PIN数据长度+PIN明文+随机数据2062.25.15PIN转换指令(43)2062.26补充命令2072.26.1ARQC (or TC/ACC Verification and/or ARPC Generation (EMV96)2072.26.2ARQC (or TC/ACC Verification and/or ARPC Generation 1(EMV2000)2082.26.3ARQC (or TC/ACC Verification and/or ARPC Generation 2(EMV2000)2102.26.4IC卡脚本加密2112.26.5IC卡脚本加密_PBOC2.02132.26.6IC卡脚本MAC计算2142.26.7IC卡脚本MAC计算_PBOC2.02162.26.8MASTERCARD特殊应用_IDN验证2172.26.9ARQC (or TC/ACC Verification and/or ARPC Generation (PBOC2.0)2182.26.10MASTERCARD特殊应用DAC验证2192.26.11PINBLOCK与ANSI9.8格式相互转换2202.26.12PIN转换指令12212.26.13加密PIN(顺德天迅版)2212.26.14计算MAC(顺德天迅版)2222.26.15分散生成TKEK,用ZMK加密输出(顺德天迅版)2232.26.16随机生成KEY,用指定ZMK加密输出(顺德天迅版)2242.26.17转换ZPK加密的PIN为另一ZPK加密(随机数)(顺德天迅版)2252.26.183DES密钥验证MAC并加解密PIN2262.26.19由ZMK或TPK下加密的PIN转换成TPK下加密2272.26.20卡号密码检查(平安银行专用)2282.26.21账号密码检查(平安银行专用)2282.26.22邮政汇兑项目加密机增加两个特殊PIN格式(在CC命令上增加)229第三篇 PIN格式2303.1一般说明2303.2格式012303.3格式022313.4格式032313.5格式042313.6格式052321NP1.PNR.R232第四篇 错误代码2334.1错误代码表233第五篇 名词表2355.1一般说明235第一篇 编程指南1.1 简要介绍HSM(Host Security Module)称为主机安全模块(注:以下将主机安全模块均称为HSM),作为主机的外围设备,为主机在一个物理上安全的环境中实现加/解密运算的功能。HSM通过串行数据的连接方式接收主机传送过来的命令(Command),完成相应的加密、解密运算,再将运算的结果生成响应消息(Response)返回给主机。一般地,HSM主要在实时、联机的环境中,完成系统需要的密钥管理、PIN和MAC相关运算的功能。1.2 一般说明应用程序发送命令给HSM,然后从HSM中接收响应消息。每一条命令和响应消息都包含可变数量的域(field)。为了使数据可以通过串行数据形式的连接被发送,数据需要编码成ASCII码或EBCDIC码(这可以在HSM的设置中进行选择)。为了支持异步、双同步、SNA、SDLC、TCP/IP、IBM等通讯协议,HSM中的版本可以进行相应的更改以符合需求。需要注意的是,因为HSM中没有支持流控制,所以开发人员必须确保HSM的输入缓冲器不会溢出。HSM也将错误代码作为响应消息的一部分返回主机。开发人员必须注意确保对于每一种类型的错误都生成相匹配的响应消息。在一个典型的系统中,最少有两台HSM通过独立的主机端口和主机相连。HSM之间是相互独立的,开发人员应当确保当其中一台HSM已经在处理数据或者有问题时,系统能使用另一台HSM继续工作,以最大限度地利用HSM,从而提高其工作能力。同时,当工作量的需求增加时,确保程序能够允许增加HSM以满足需求,这也是很有用的。每一个HSM都有一个用户存储域保留给开发人员使用,以存储HSM运行时所需要的数据。典型的情况是用来存储密钥和表。应当使HSM尽量从该用户存储区域存取数据,这样,可以减少每一条命令中需要数据的量,从而缩小通讯的时间。当打印机连接到HSM时,在HSM发送命令给打印机之前,HSM必须有相关的打印格式信息。因此,在产生打印命令之前,程序必须先发送相关打印格式的命令。通常HSM对于接收的命令都产生响应消息。然而,在有些环境下,当主机发送系统消息给其所有连接的设备时,HSM可能不会予以响应。HSM支持两种可能会发生这种情况的IBM环境:CICS和IMS。1.3 三倍DES运算HSM主机命令支持单倍长度、双倍长度和三倍长度的DES密钥。命令集完全与以前版本的相兼容。同时,命令集支持相应的扩展,以满足特定密钥长度和密钥加/解密算法的使用需求。1.3.1 密钥的用法当密钥的第一个字符是一个十六进制的字符(09或AF)、“K”或“S”时,命令将按之前指定的格式执行。除了ZMK被指定为双倍长度或被定义为双倍长度的特殊密钥之外,在大多数情况下,密钥都是单倍长度的。为了支持双倍和三倍长度的密钥,在所有的命令集中都为密钥定义了配置标记,这样就使HSM能够定义密钥长度和密钥的加密算法。这个密钥配置标记作为前缀加在密钥上,其具体的长度和类型形式为“1A+32H”和“1A+48H”。1.3.2 密钥的加密方案现在HSM支持的加密方案有两种:1. ANSI X9.17方式在ANSI X9.17方式中,一个双倍或三倍长度密钥的每一个密钥都是使用ECB模式分别加密。这种方案只适用于密钥的输入和输出,而且必须先通过CS(Configure Security)命令进行设置。这种方式的配置标志有:X双倍长度的DES密钥;Y三倍长度的DES密钥。2. 变量方式在变量方式中,一个双倍或三倍长度密钥的每一个密钥都是使用ECB模式分别加密。但是,对于第二个或第三个密钥,根据其是属双倍长还是三倍长的密钥,使用不同的加密密钥的变种进行加密。为了使每一个密钥的加密能够明确无误,总共使用了五个变量。变量的应用增强了密钥作为双倍和三倍长度密钥的使用,同时也强调了密钥的顺序。这种方案适用于LMK(Local Master Key)下的密钥加密和密钥的输入、输出。LMK被定义为双倍长度的密钥,包括左半部和右半部两部分,其中每一部分都由16位的十六进制字符组成。其它的密钥,像ZMK,则有可能为双倍或三倍长度。三倍长度的密钥包括左部、中部和右部三部分,其中每一部分都和双倍长度的一样,包含16位的十六进制字符。变量被应用于双倍长度加密密钥的右半部,三倍长度密钥的中部部分。配置标志如下:U双倍长度DES密钥;T三倍长度DES密钥。应用于双倍长度密钥的变量:第一个密钥:A6; 第二个密钥:5A。应用于三倍长度密钥的变量:第一个密钥:6A;第二个密钥:DE;第三个密钥:2B。 例如: a) 双倍长度的加密密钥:XXXX XXXX XXXX XXXX YYYY YYYY YYYY YYYY 双倍长度的密钥: AAAA AAAA AAAA AAAA BBBB BBBB BBBB BBBB 变量A6作用于Y中的头两个十六进制字符之后,再加密A; 变量5A作用于Y中的头两个十六进制字符之后,再加密B; b) 双倍长度的加密密钥:XXXX XXXX XXXX XXXX YYYY YYYY YYYY YYYY 三倍长度的密钥: AAAA AAAA AAAA AAAA BBBB BBBB BBBB BBBB CCCC CCCC CCCC CCCC 变量6A作用于Y中的头两个十六进制字符之后,再加密A; 变量DE作用于Y中的头两个十六进制字符之后,再加密B; 变量2B作用于Y中的头两个十六进制字符之后,再加密C; c) 三倍长度的加密密钥:XXXX XXXX XXXX XXXX YYYY YYYY YYYY YYYY ZZZZ ZZZZ ZZZZ ZZZZ 三倍长度的密钥: AAAA AAAA AAAA AAAA BBBB BBBB BBBB BBBB CCCC CCCC CCCC CCCC 变量6A作用于Y中的头两个十六进制字符之后,再加密A; 变量DE作用于Y中的头两个十六进制字符之后,再加密B; 变量2B作用于Y中的头两个十六进制字符之后,再加密C;其中,变量作用于Y中头两个字符的方式为异或(XOR)。1.4 密钥的生成、输入和输出当加密一个密钥时,为了支持特殊的密钥方案,所有的密钥管理命令都有扩展。在产生密钥的命令中,也定义了密钥的长度。对于密钥的输入和输出来说,因密钥长度的重要性,故密钥的方案必须保持一致。例如:当输入一个双倍长度的密钥时,输出密钥的配置标志也必须设为双倍长度。这种扩展由分隔符“;”和三个单字符的选项域组成。如果使用这种扩展,则所有的域都必须提供。如果命令中在选项域中不输入“0”或任何在该域中输入的有效值,则在运行过程中这个选项就会被忽略。这些选项域为: 在ZMK下加密输出密钥的方案; 在LMK下加密输出密钥的方案; 密钥检验类型。对于这些选项的有效值有:ZMK下的密钥-Z,U,TZ-单倍长度,U-双倍长度,T-三倍长度;-X,Y在传输密钥下加密XANSI X9.17双倍长度;YANSI X9.17三倍长度;LMK下的密钥-Z,U,TZ-单倍长度,U-双倍长度,T-三倍长度;密钥校验值-0和以前兼容,同时一个16位十六进制KCV;-1产生6位十六进制KCV;-2用于特殊情况。1.5 命令消息格式为了给主机发送指令,主机的应用程序必须将所有的必需信息集合成一条消息,再以有序字符的形式通过通讯链路发送给HSM。依据通讯连接方式的不同,命令消息的格式主要有以下两种:1.5.1 TCP/IP方式u 消息头:18位的任意十进制数,具体的位数可以设置,其内容将被HSM在响应消息中不经修改地返回。u 命令码:每一条命令都有一个唯一的、两个字符的命令码。具体的命令码格式在第二篇主机命令中介绍。u 数据:大多数的HSM命令都需要数据,数据中常常包含加密用的密钥。u 消息尾:消息尾(EM)是一个附加的、可变长度的域(最大长度为32位)。EM可以用来传送主机进行进一步运算所需要的附加细节信息。EM域中必须有EM控制字符,其ASCII和EBCDIC码值为X19。1.5.2 串口Async方式u 文本起始符:文本起始(STX)符标识了一条有效消息的开始。其ASCII和EBCDIC值为X02。u 消息头:消息头域可以为从1到255的任意长度的字符,这可以在HSM安装时设置。这些字符可以是任意可打印的字符。其内容将被HSM在响应消息中不经修改地返回。u 命令码:每一条命令都有一个唯一的、两个字符的命令码。具体的命令码格式在第二篇主机命令中介绍。u 数据:大多数的HSM命令都需要数据,数据中常常包含加密用的密钥。u 消息尾:消息尾(EM)是一个附加的、可变长度的域(最大长度为32位)。EM可以用来传送主机进行进一步运算所需要的附加细节信息。EM域中必须有EM控制字符,其ASCII和EBCDIC码值为X19。u 文本终止符:文本终止(ETX)符标识命令数据的结束。HSM忽略任何在ETX之后和下一条STX之间的数据。文本终止符的ASCII和EBCDIC值为X03。1.6 响应消息格式为了告知主机运算结果,HSM以字符序列的形式集合所有必需信息生成一条响应消息,通过通讯链路发送给主机。对应于命令消息,依据通讯连接方式的不同,命令消息的格式主要有以下两种:1.6.1 TCP/IP方式u 消息头:18位的任意十进制数,具体的位数可以设置,其内容将被HSM在响应消息中不经修改地返回。u 响应码:每一条命令都有一个唯一的、两个字符的命令码。通常,响应码的第一个字符和对应命令码的第一位相同,响应码的第一位大于对应命令码的第二位。(例如:如果命令码是“AA”,则响应码是“AB”)。每个响应码的具体值在第二篇主机命令中介绍。u 错误码:HSM用两位字符的错误码域来报告运行中检测到的错 误。其值总是数字。值“00”表示没有错误发生。如果有错误发生(即值不等于“00”),其后续的域,除了文本终止符以外,都不会被HSM返回。(注意:当错误码为“01”,即表示奇偶校验错时,此种情况下HSM可能会按正常情况返回后续的域。)u 数据:很多HSM指令都将运行结果作为数据返回。具体的数据说明请参考第二篇。当错误码不为“00”时,此域不返回。(注意:当错误码为“01”时,可能会正常返回此域。)u 消息尾:消息尾(EM)域只有当在命令消息中有此域显示时才会显示。并且此域将被HSM不经变化地返回。u 文本终止符:文本终止(ETX)符标识来自HSM中的响应消息的结束。1.6.2 串口Async方式u 文本起始符:文本起始(STX)符标识了一条有效消息的开始。其ASCII和EBCDIC值为X02。u 消息头:18位的任意十进制数,具体的位数可以设置,其内容将被HSM在响应消息中不经修改地返回。u 响应码:每一条命令都有一个唯一的、两个字符的命令码。通常,响应码的第一个字符和对应命令码的第一位相同,响应码的第一位大于对应命令码的第二位。(例如:如果命令码是“AA”,则响应码是“AB”)。每个响应码的具体值在第二篇主机命令中介绍。u 错误码:HSM用两位字符的错误码域来报告运行中检测到的错误。其值总是数字。值“00”表示没有错误发生。如果有错误发生(即值不等于“00”),其后续的域,除了文本终止符以外,都不会被HSM返回。(注意:当错误码为“01”,即表示奇偶校验错时,此种情况下HSM可能会按正常情况返回后续的域。)u 数据:很多HSM指令都将运行结果作为数据返回。具体的数据说明请参考第二篇。当错误码不为“00”时,此域不返回。(注意:当错误码为“01”时,可能会正常返回此域。)u 消息尾:消息尾(EM)域只有当在命令消息中有此域显示时才会显示。并且此域将被HSM不经变化地返回。u 文本终止符:文本终止(ETX)符标识来自HSM中的响应消息的结束。文本终止符的长度可以设置为一到两位字符,并且,每一位字符的具体值都是可以设置的。1.7 数据的表示除了文本起始符(STX:X02)、文本终止符(ETX:X03)和消息尾(EM:X19)等控制字符,HSM认为所有的数据都被编码成ASCII或EBCDIC码形式。当HSM并不去解释数据(例如:在消息头和消息尾域中),很有可能是包含了其它的控制符,这并不是一个很好的习惯。当发送数据给HSM时,除了已经是字符格式的数据,每一位数据(09,AF)都被编码成一个字符(例如:如果HSM需要8个字符,就发送十六进制的值“1234ABCD”)。1.7.1 ASCII字符编码下表列出了ASCII字符及其相关的十六进制值。ASCIIHEXASCIIHEXASCIIHEXASCIIHEXNUL00SP204060SOH01!21A41a61STX0222B42b62ETX03#23C43c63EOT04$24D44d64ENQ05%25E45e65ACK06&26F46f66BEL0727G47g67BS08(28H48h68HT09)29I49i69LF0A*2AJ4Aj6AVT0B+2BK4Bk6BFF0C,2CL4Cl6CCR0D-2DM4Dm6DSO0E.2EN4En6ESI0F/2FO4Fo6FDLE10030P50p70DC111131Q51q71DC212232R52r72DC113333S53s73DC414434T54t74NAK15535U55u75SYN16636V56v76ETB17737W57w77CAN18838X58x78EM19939Y59y79SUB1A:3AZ5Az7AESC1B;3B5B7BFS1C3E5E7EUS1F?3F_5FDEL7F1.7.2 EBCDIC字符编码下表列出了ASCII字符及其相关的十六进制值。EBCDICHEXEBCDICHEXEBCDICHEXEBCDICHEXNUL00SP4080C0SOH0141a81AC1STX0242b82BC2ETX0343c83CC30444d84DC4HT0545e85EC50646f86FC6DEL0747g87GC70848h88HC80949i89IC90A4A8ACAVT0B.4B8BCBFF0C6EAEEEBEL2F?6FAFEF3070B00F03171B11F1SYN3272B22F23373B33F33474B44F43575B55F53676B66F6EOT3777B77F73878B88F839(grave)79B99F93A:7ABAFA3B#7BBBFBDC43C7CBCFCNAK3D7DBDFD3E=7EBEFESUB3F7FBFFF1.7.3 EBCDIC码至ASCII码的转换表下表列出了EBCDIC码至ASCII码的转换表。EBCDICASCIIEBCDICASCIIEBCDICASCIIEBCDICASCIIHEXCharHEXHEXCharHEXHEXCharHEXHEXCharHEX00NUL0040SP2080C001SOH014181a61C1A4102STX024282b62C2B4203ETX034383c63C3C43044484d64C4D4405HT094585e65C5E45064686f66C6F4607DEL7F4787g67C7G47084888h68C8H48094989i69C9I490A4A8ACA0BVT0B4B.2E8B7BCB0CFF0C4C3EAEEE2FBEL076F?3FAFEF3070B0F00303171B1F113132SYN1672B2F22323373B3F33333474B4F44343575B5F55353676B6F663637EOT0477B7F77373878B8F8838397960B9F99393A7A:3ABAFA3B7B#23BBFB3CDC4147C40BCFC3DNAK157D27BD5DFD3E7E=3DBEFE3FSUB1A7F22BFFF1.8 输入/输出流控制HSM并不提供流控制。应用程序应该确保加密机的输入缓冲器(2048字节长)不会被溢出。(用于SNA-SDLC环境下HSM的缓冲器为1024字节。)任何一条单独命令(包括STX和ETX等字符在内)的长度都不会超过2048字节(SNA-SDLC环境为1024字节)。异步连接的HSM在半双工模式下对一条命令产生相应的响应时,此响应消息必须先被接收,然后才会发送一条新的命令请求。1.9 错误控制HSM产生四种类型的错误:l 致命错误l 不可恢复错误l 可恢复错误l 编程错误致命错误显示在设备中的一个硬件错误。这样的错误应当登记下来并且报告给用户以便采取措施(例如:报告给超级用户)。不可恢复错误是指不可通过程序改正、需要用户干预(例如:通过HSM设置为授权状态以干预)。这样的错误也应当登记下来并且报告给用户以便采取措施(例如:报告给超级用户)。这种类型的错误并不意味者HSM不会处理其它类型的命令。可恢复错误可能是数据破坏的结果,也可能是因为HSM在此之前需要先作一些处理,所以不能处理该条命令。应用程序应当通过以下几种方式来进行恢复:重新输入命令;尝试恢复被破坏的数据;通过完成被遗漏的步骤(例如:HSM报告没有装载打印格式定义,因此程序应当装载其定义,再重新发出该指令)。编程错误通常在测试时发现,但是如果这些错误在其它时候发生,则有可能是不可恢复的。另外,应用程序应当监视HSM接口是否超时。如果发生了上述任意一种类型地错误,应用程序应当尝试使用另一台HSM来处理命令以保证程序的顺利运行。如果错误还会发生,则可能表示所有HSM都遇到了灾难性的错误;或者是电力错误;或者是程序错误。应用程序应当监视所有HSM的使用,这样,当其中的HSM发生致命错误时,或者持续报告不可恢复错误时,应用程序可以将其标识为“不可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 十七课长城课件
- 轻黏土荷花课件
- 2025版纺织品行业技术交流与合作合同
- 2025版大型水库承包经营权转让合同书
- 二零二五年度城市绿化工程材料供应合同
- 2025版航空航天零部件加工场地租赁及国际市场拓展协议
- 二零二五年度历史文化保护拆迁补偿协议书
- 2025版住宅小区零星维修施工服务协议
- 2025版环保污水处理设备安装施工合同下载
- 2025版教育建筑建筑工程规划设计合同
- 体外膜肺氧合技术ECMO培训课件
- 机关食堂食品安全风险防控工作指南
- 人工假草皮安装合同协议书
- T/CHTS 10155-2024公路多脉冲整流远程直流供电系统技术规范
- 2025年卫生系统公务员录用考试面试真题试卷(结构化小组)
- 餐厅股份合同协议书
- 利用机器学习技术开发社区老年人跌倒风险预测模型
- 酒店宠物协议书
- 2025年大学物理考试试题及答案
- 道闸工程维修合同协议
- 聘请合唱团老师合同协议
评论
0/150
提交评论