一种协商会话密钥的方法及智能密钥设备的制造方法_3

文档序号:9866655阅读:来源:国知局
收来自密钥存储装置的签名结果之前,还包括:
[0144] 步骤NI:生产工具根据协商公钥生成第六APDU指令,并将第六APDU指令发送给密 钥存储装置;
[0145] 具体地,密钥存储装置用于存储认证私钥,并使用认证私钥对协商公钥进行签名 得到签名结果。例如,密钥存储装置可W为存储认证私钥的智能密钥设备。
[0146] 具体地,第六APDU指令为对协商公钥签名的APDU指令。
[0147] 例如,第六APDU指令具体为:
[0149]步骤N2:密钥存储装置解析第六APDU指令得到协商公钥,使用预设的认证私钥对 协商公钥进行签名,得到上述签名结果。
[0150] 优选地,步骤N2中密钥存储装置使用认证私钥对协商公钥进行签名,得到签名结 果,具体为:
[0151] 步骤N21:密钥存储装置对协商公钥做哈希运算生成第一运算结果,并将第一运算 结果进行填充生成上述第一填充数据;
[0152] 步骤N22:密钥存储装置使用预设的认证私钥对第一填充数据进行签名,得到上述 签名结果。
[0153] 进一步地,在本实施例的步骤202之前,还包括上位机的工作步骤,具体包括:
[0154] 步骤Tl:上位机接收来自智能密钥设备返回的协商公钥和签名结果,使用预设的 认证公钥和协商公钥对签名结果进行验证,如果验证通过,则执行步骤T2;否则报错,结束 流程;
[0155] 具体地,步骤Tl中上位机接收的来自智能密钥设备返回的签名结果为生产工具或 密钥存储装置使用预设的认证私钥对协商公钥进行签名得到的签名结果;
[0156] 步骤T2:上位机生成随机数,将随机数进行填充生成上述第二填充数据,使用协商 公钥对第二填充数据加密生成,得到加密数据,根据加密数据生成上述第五APDU指令;
[0157] 在上述步骤203之后,还包括:
[0158] 步骤204:上位机将生成的随机数作为会话密钥。
[0159] 在步骤204之后,上位机与智能密钥设备通过会话密钥对传输的数据进行加密和 解密,具体会话密钥的使用方法参考实施例5,在此不再寶述。
[0160] 优选地,步骤Tl中,上位机使用预设的认证公钥和协商公钥对签名结果进行验证, 具体为:
[0161] 步骤Tll:上位机使用预设的认证公钥对签名结果进行解密,得到第一填充数据, 提取第一填充数据中的第一运算结果;对协商公钥做哈希运算生成第=运算结果;
[0162] 步骤T12:上位机判断第一运算结果是否与第S运算结果相等,如果是,则验证通 过,执行步骤T2;否则报错,结束流程。
[0163] 在本实施例中,智能密钥设备与上位机使用上位机中预设的认证公钥、智能密钥 设备中的协商密钥对(包括协商公钥和协商私钥)和智能密钥设备中的签名结果进行协商 生成会话密钥,上位机与智能密钥设备使用会话密钥对传输的信息进行加密。由于本实施 例提供的协商方法生成会话密钥的协商模式复杂,使协商生成的会话密钥不易被恶意程序 破解、抗攻击能力比较强,因此传输的信息使用会话密钥加密后很难被恶意程序截取。智能 密钥设备中只保存由生产工具导入的签名结果不保存认证私钥,在上位机与智能密钥设备 协商会话密钥时可W保证认证私钥不被盗取;另外,将存有认证私钥的密钥存储装置或生 产工具交给专人管理,相关开发人员只对智能密钥设备进行操作,不对保存有认证私钥的 密钥存储装置或生产工具进行操作,在认证私钥的管理上也加强了保密力度。
[0164] 实施例2
[0165] 本实施例提供了一种协商会话密钥系统的工作方法,应用于包括上位机、智能密 钥设备、生产工具和密钥存储装置组成的系统中,如图2和图3所示,包括W下步骤:
[0166] 步骤101:智能密钥设备生成协商密钥对,接收来自生产工具的第一 APDU指令。
[0167] 在本实施例中,步骤101具体为:智能密钥设备上电自动生成协商密钥对,接收来 自生产工具的第一 APDU指令;
[0168] 或者,智能密钥设备上电,接收到来自生产工具的第一APDU指令后生成协商密钥 对。
[0169] 具体地,第一 APDU指令为读取协商公钥的APDU指令。
[0170] 例如,第一 APDU指令具体为:
[0173] 具体地,步骤101中的协商密钥对包括协商公钥和协商私钥。
[0174] 步骤102:智能密钥设备向生产工具发送协商密钥对中的协商公钥。
[01巧]步骤103:生产工具根据协商公钥生成第六APDU指令。
[0176] 步骤104:生产工具向密钥存储装置发送第六APDU指令。
[0177] 具体地,密钥存储装置用于存储认证私钥,并使用预设的认证私钥对协商公钥进 行签名得到签名结果。例如,密钥存储装置可W为存储认证私钥的智能密钥设备。
[0178] 具体地,第六APDU指令为对协商公钥签名的APDU指令。
[01巧]例如,第六APDU指令具体为:
[0181] 步骤105:密钥存储装置解析第六APDU指令得到协商公钥,对协商公钥做哈希运算 生成第一运算结果,并将第一运算结果进行填充生成第一填充数据。
[0182] 具体地:第一运算结果为第一散列值。
[0183] 例如,第一填充数据的填充格式具体为:
[0185] 步骤106:密钥存储装置使用预设的认证私钥对第一填充数据进行签名,得到签名 结果。
[0186] 步骤107:密钥存储装置向生产工具返回签名结果。
[0187] 步骤108:生产工具根据签名结果生成第二APDU指令。
[0188] 步骤109:生产工具向智能密钥设备发送第二APDU指令。
[0189] 具体地,第二APDU指令为导入签名结果的APDU指令。
[0190] 例如,第二APDU指令具体为:
[0192]步骤110:智能密钥设备解析第二APDU指令得到签名结果,使用预设的认证公钥对 签名结果进行解密,得到第一填充数据,从第一填充数据中提取第一运算结果;对协商公钥 做哈希运算生成第二运算结果。
[0193] 具体地,第二运算结果具体为第二散列值。
[0194] 在步骤110中,智能密钥设备解析第二APDU指令获取得到签名结果之后,可W先使 用预设的认证公钥对签名结果解密,得到第一填充数据,从第一填充数据中提取第一运算 结果,再对协商公钥做哈希运算生成第二运算结果;
[01M]或者,先对协商公钥做哈希运算生成第二运算结果,再使用预设的认证公钥对签 名结果解密得到第一填充数据,从第一填充数据中提取第一运算结果。
[0196] 步骤111:智能密钥设备判断第一运算结果是否与第二运算结果相等,如果是,贝U 执行步骤112;否则向生产工具返回异常信息。
[0197] 具体地,智能密钥设备判断第一运算结果是否与第二运算结果相等,具体为:
[0198] 智能密钥设备判断第一散列值是否与第二散列值相等。
[0199] 步骤112:智能密钥设备保存签名结果,向生产工具返回成功响应。
[0200] 具体地,智能密钥设备向生产工具返回的成功响应具体为:向生产工具返回的状 态码为9000。
[0201 ]步骤113:智能密钥设备接收来自上位机的第立APDU指令。
[0202] 具体地,第SAPDU指令为读取协商公钥的APDU指令。
[0203] 例如,第SAPDU指令为:
[0205] 步骤114:智能密钥设备向上位机返回协商密钥对中的协商公钥。
[0206] 步骤115:上位机向智能密钥设备发送第四APDU指令。
[0207] 具体地,第四APDU指令为读签名结果的APDU指令。
[020引例如,第四APDU指令为:
[0210] 步骤116:智能密钥设备向上位机返回签名结果。
[0211] 步骤117:上位机使用预设的认证公钥对签名结果进行解密得到第一填充数据,提 取第一填充数据中的第一运算结果。
[0212] 具体地,第一运算结果为第一散列值。
[0213] 步骤118:上位机对协商公钥做哈希运算生成第=运算结果。
[0214] 具体地,第=运算结果为第=散列值。
[0215] 步骤119:上位机判断第一运算结果是否与第S运算结果相等,如果是,则执行步 骤120;否则报错,结束流程。
[0216] 具体地,上位机判断第一运算结果是否与第=运算结果相等,具体为:
[0217] 上位机判断第一散列值是否与第S散列值相等。
[0218] 步骤120:上位机生成随机数,将随机数进行填充生成第二填充数据,使用协商公 钥对第二填充数据加密生成加密数据,根据加密数据组织第五APDU指令。
[0219] 具体地,第二填充数据的填充格式为:
[0221] 例如,第五APDU指令为:
LUiiOJ 月义口女乂 yy/、t H 口女乂 O
[0224] 步骤121:上位机向智能密钥设备发送第五APDU指令。
[0225] 步骤122:智能密钥设备解析第五APDU指令得到加密数据,使用协商密钥对中的协 商私钥对加密数据进行解密得到第二填充数据,判断第二填充数据的填充格式是否为预设 的填充格式,如果是,则执行步骤123;否则向上位机返回异常信息。
[02%]具体地,第二填充数据正确的填充格式为:
[0228] 步骤123:智能密钥设备从第二填充数据的预定位置提取预设长度的数据作为会 话密钥。
[0229] 优选地,会话密钥为对称密钥,使用对称密钥在通信层做加密和解密速度比非对 称密钥快,传输效率也比较高。
[0230] 具体地,第二填充数据中的随机数为八字节的随机数,与步骤120中上位机生成的 随机数相同。
[0231] 步骤124:智能密钥设备向上位机返回成功响应。
[0232] 具体地,向上位机返回的成功响应具体为:向上位机返回的状态码为9000。
[0233] 步骤125:上位机将生成的随机数作为会话密钥。
[0234] 在步骤125之后,上位机与智能密钥设备通过会话密钥对传输的数据进行加密和 解密,具体会话密钥的使用方法参考实施例5,在此不再寶述。
[0235] 进一步地,在步骤110中智能密钥设备接收来自生产工具的第二APDU指令之后、解 析第二APDU指令得到签名结果之前,还包括:
[0236] 智能密钥设备判断自身保存的控制数据是否更新,如果是,则向生产工具返回异 常倍息;
[0237] 当智能密钥设备判断控制数据未更新时,智能密钥设备解析第二APDU指令得到签 名结果之后,还包括:智能密钥设备更
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1