《一种终端主密钥TMK安全下载方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种终端主密钥TMK安全下载方法及系统.pdf(13页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103714641 A (43)申请公布日 2014.04.09 CN 103714641 A (21)申请号 201310742991.6 (22)申请日 2013.12.27 201310084397.2 2013.03.15 CN 201310084671.6 2013.03.15 CN 201310084673.5 2013.03.15 CN 201310084653.8 2013.03.15 CN G07G 1/00(2006.01) (71)申请人 福建联迪商用设备有限公司 地址 350003 福建省福州市软件大道 89 号 福州软件园一区 23 号楼 (。
2、72)发明人 苏文龙 孟陆强 (74)专利代理机构 福州市鼓楼区博深专利代理 事务所 ( 普通合伙 ) 35214 代理人 林志峥 (54) 发明名称 一种终端主密钥 TMK 安全下载方法及系统 (57) 摘要 本发明公开一种终端主密钥 TMK 安全下载方 法, 包括步骤 : POS 终端产生传输密钥 TK, 并将 TK 以密文的形式发送给 KMS 系统, 所述传输密钥 TK 包括非对称传输加密密钥 TEK 和对称传输认证密 钥 AUK ; POS 终端与 KMS 系统使用对称传输认证密 钥 AUK 进行双向认证 ; 如果认证通过, KMS 系统使 用传输加密密钥TEK的公钥Pu_tek加密终。
3、端主密 钥 TMK 生成主密钥密文 Ctmk_tk 并将主密钥密文 Ctmk_tk 发送至 POS 终端。本发明还提供一种终 端主密钥 TMK 安全下载系统。本发明的有益效果 为 : 采用传输密钥 TK 对终端主密钥 TMK 进行加密 传输, 实现了 POS 终端远程下载终端主密钥 TMK, 所述传输密钥包括包括非对称传输加密密钥 TEK 和对称传输认证密钥AUK, 提高了传输密钥TMK的 传输安全。 (66)本国优先权数据 (51)Int.Cl. 权利要求书 3 页 说明书 7 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书7页 附图2页。
4、 (10)申请公布号 CN 103714641 A CN 103714641 A 1/3 页 2 1. 一种终端主密钥 TMK 安全下载方法, 其特征在于, 包括 : S1、 KMS 系统调用硬件加密机产生公钥 Pu_hsm 和私钥 Pr_hsm, 将公钥 Pu_hsm 发送至 POS 终端并存储在密码键盘中 ; S2、 POS 终端调用密码键盘产生传输密钥 TK, 所述传输密钥 TK 包括非对称传输加密密 钥 TEK 和对称传输认证密钥 AUK ; S3、 POS 终端调用密码键盘使用公钥 Pu_hsm 对 AUK 加密得到认证密钥密文 Pu_auk, 然 后将认证密钥密文 Pu_auk 和。
5、 TEK 的公钥 Pu_tek 发送至 KMS 系统 ; S4、 KMS 系统调用硬件加密机使用私钥 Pr_hsm 解密认证密钥密文 Pu_auk 得到对称传 输认证密钥 AUK ; S5、 POS 终端与 KMS 系统使用对称传输认证密钥 AUK 进行双向认证 ; S6、 如果认证通过, KMS 系统使用传输加密密钥 TEK 的公钥 Pu_tek 加密终端主密钥 TMK 生成主密钥密文 Ctmk_tk 并将主密钥密文 Ctmk_tk 发送至 POS 终端 ; S7、 POS 终端调用密码键盘使用传输加密密钥 TEK 的私钥 Pr_tek 解密主密钥密文 Ctmk_tk 获得终端主密钥 TMK。
6、 并将终端主密钥 TMK 存储在密码键盘中。 2. 根据权利要求 1 所述的终端主密钥 TMK 安全下载方法, 其特征在于, 在所述步骤 S1 之前还包括 POS 终端将终端序列号 SN 和公钥下载请求发送至 KMS 系统, 所述步骤 S1 具体 为 : 当接收到所述公钥下载请求后 KMS 系统调用硬件加密机产生公钥 Pu 和私钥 Pr, 将公钥 Pu 发送至终端序列号 SN 对应的 POS 终端的密码键盘。 3. 根据权利要求 1 所述的终端主密钥 TMK 安全下载方法, 其特征在于, 所述步骤 S7 具 体包括 : POS 终端调用密码键盘使用传输加密密钥 TEK 的私钥 Pr_tek 解。
7、密主密钥密文 Ctmk_tk 获得终端主密钥TMK, 并将主密钥TMK按TR-31格式打包后存储于以密文形式存储于密码键 盘中。 4. 根据权利要求 1 所述的一种终端主密钥 TMK 安全下载方法, 其特征在于, 所述 “POS 终端与 KMS 系统使用对称传输认证密钥 AUK 进行双向认证” 具体包括 : POS 终端产生第一随机数 Rnd1 并将第一随机数 Rnd1 发送至 KMS 系统 ; KMS系统接收第一随机数Rnd1后产生第二随机数Rnd2, 调用第二硬件加密机使用认证 密钥 AUK 加密第一随机数 Rnd1 获得第一随机数密文 Crnd1, 将第一随机数密文 Crnd1 和第 二。
8、随机数 Rnd2 发送给 POS 终端的密码键盘 ; POS 终端的密码键盘使用认证密钥 AUK 解密接收到的第一随机数密文 Crnd1 获得第三 随机数 Rnd1 , 判断第三随机数 Rnd1 与第一随机数 Rnd1 是否一致 : 如果第三随机数Rnd1 与第一随机数Rnd1一致, POS终端的密码键盘使用认证密钥AUK 加密第二随机数 Rnd2 生成第二随机数密文 Crnd2, 并将第二随机数密文 Crnd2 发送给 KMS 系统 ; KMS 系统调用第二硬件加密机使用认证密钥 AUK 解密接收到的第二随机数密文 Crnd2 获得第四随机数 Rnd2 , 判断第四随机数 Rnd2 与第二随。
9、机数 Rnd2 是否一致 ; 如果第四随机数 Rnd2 与第二随机数 Rnd2 一致, KMS 系统与 POS 终端认证通过。 5. 一种终端主密钥 TMK 安全下载系统, 其特征在于, 包括 KMS 系统、 与 KMS 系统通信连 接的 POS 终端以及硬件加密机 ; 所述 POS 终端包括 TK 产生模块、 TK 发送模块、 解密模块以 权 利 要 求 书 CN 103714641 A 2 2/3 页 3 及双向认证 A 模块, 所述 KMS 系统包括公私钥产生模块、 TK 接收模块、 加密模块以及双向认证 B 模块 ; 所述公私钥产生模块用于调用硬件加密机产生公钥Pu_hsm和私钥Pr_。
10、hsm, 将公钥Pu_ hsm 发送至 POS 终端并存储在密码键盘中 ; 所述 TK 产生模块用于调用密码键盘产生传输密钥 TK, 所述传输密钥 TK 包括非对称传 输加密密钥 TEK 和对称传输认证密钥 AUK ; 所述 TK 发送模块用于调用密码键盘使用公钥 Pu_hsm 对 AUK 加密得到认证密钥密文 Pu_auk, 然后将认证密钥密文 Pu_auk 和 TEK 的公钥 Pu_tek 发送至 KMS 系统 ; 所述 TK 接收模块用于调用硬件加密机使用私钥 Pr_hsm 解密认证密钥密文 Pu_auk 得 到对称传输认证密钥 AUK ; 所述双向认证 A 模块与双向认证 B 模块用于。
11、在 KMS 系统向 POS 终端传送 TMK 之前, 使 用传输认证密钥 AUK 进行 KMS 系统与 POS 终端之间的双向认证 ; 所述加密模块用于当认证通过时, 使用传输加密密钥TEK的公钥Pu_tek加密终端主密 钥 TMK 生成主密钥密文 Ctmk_tk 并将主密钥密文 Ctmk_tk 发送至 POS 终端 ; 所述解密模块用于调用密码键盘使用传输加密密钥 TEK 的私钥 Pr_tek 解密主密钥密 文 Ctmk_tk 获得终端主密钥 TMK 并将终端主密钥 TMK 存储在密码键盘中。 6.根据权利要求5所述的终端主密钥TMK安全下载系统, 其特征在于, 所述POS终端还 包括公钥申。
12、请模块 ; 所述公钥申请模块用于将终端序列号 SN 和公钥下载请求发送至 KMS 系统。 7. 根据权利要求 5 所述的终端主密钥 TMK 安全下载系统, 其特征在于, 所述 POS 终端还包括 TR-31 打包模块 ; 所述 TR-31 打包模块用于将 TMK 按 TR-31 格式打包后存储于以密文形式存储于密码键 盘中。 8. 根据权利要求 5 至 7 所述的终端主密钥安全下载系统, 其特征在于, 所述双向认证 A 模块包括第一随机数产生单元、 第一数据收发单元、 第一加解密单元以及第一判断单元, 所述双向认证 B 模块包括第二随机数产生单元、 第二数据收发单元、 第二加解密单元 以及第二。
13、判断单元 ; 第一随机数产生单元用于产生第一随机数 Rnd1 ; 第一数据收发单元用于将产生的第 一随机数Rnd1发送至KMS系统 ; 第二数据收发单元用于接收第一随机数Rnd1 ; 第二随机数 产生单元用于在接收到第一随机数 Rnd1 时, 产生随机数第二 Rnd2 ; 第二加解密单元用于在 接收到第一随机数 Rnd1 时, 调用硬件加密机使用传输认证密钥 AUK 加密第一随机数 Rnd1 获得第一随机数密文 Crnd1 ; 第二数据收发单元用于将第一随机数密文 Crnd1 和第二随机 数 Rnd2 发送给 POS 终端 ; 第一加解密单元用于在接收到第一随机数密文Crnd1和第二随机数Rn。
14、d2时, 使用传输 认证密钥 AUK 解密接收到的第一随机数密文 Crnd1 获得第三随机数 Rnd1 ; 第一判断单元 用于判断第三随机数 Rnd1 与第一随机数 Rnd1 是否一致 ; 第一加解密单元用于当所述第一判断单元判定第三随机数 Rnd1 与第一随机数 Rnd1 一致时, 使用传输认证密钥 AUK 加密第二随机数 Rnd2 生成第二随机数密文 Crnd2 ; 第一数 据收发单元用于将第二随机数密文 Crnd2 发送给 KMS 系统 ; 权 利 要 求 书 CN 103714641 A 3 3/3 页 4 第二加解密单元用于在接收到第二随机数密文 Crnd2 时, 调用硬件加密机使用。
15、传输认 证密钥AUK解密接收到的第二随机数密文Crnd2获得第四随机数Rnd2 , 第二判断单元用于 判断第四随机数 Rnd2 与第二随机数 Rnd2 是否一致, 并当判定第四随机数 Rnd2 与第二随 机数 Rnd2 一致时, 确认 KMS 系统与 POS 终端之间的双向认证通过。 权 利 要 求 书 CN 103714641 A 4 1/7 页 5 一种终端主密钥 TMK 安全下载方法及系统 技术领域 0001 本发明涉及电子支付领域, 尤其涉及一种终端主密钥 TMK 安全下载方法及系统。 背景技术 0002 银行卡 (BANK Card) 作为支付工具越来越普及, 通常的银行卡支付系统包。
16、括销售 点终端 (Point Of Sale, POS) 、 POS 收单系统 (POSP) 、 密码键盘 (PIN PAD) 和硬件加密机 (Hardware and Security Module, HSM) 。其中 POS 终端能够接受银行卡信息, 具有通讯功 能, 并接受柜员的指令完成金融交易信息和有关信息交换的设备 ; POS 收单系统对 POS 终端 进行集中管理, 包括参数下载, 密钥下载, 接受、 处理或转发 POS 终端的交易请求, 并向 POS 终端回送交易结果信息, 是集中管理和交易处理的系统 ; 密码键盘 (PIN PAD) 是对各种金 融交易相关的密钥进行安全存储保护。
17、, 以及对 PIN 进行加密保护的安全设备 ; 硬件加密机 (HSM) 是对传输数据进行加密的外围硬件设备, 用于 PIN 的加密和解密、 验证报文和文件来 源的正确性以及存储密钥。个人标识码 (Personal Identification Number, PIN) , 即个人 密码, 是在联机交易中识别持卡人身份合法性的数据信息, 在计算机和网络系统中任何环 节都不允许以明文的方式出现 ; 终端主密钥 (Terminal Master Key, TMK) , POS 终端工作 时, 对工作密钥进行加密的主密钥, 加密保存在系统数据库中 ; POS 终端广泛应用于银行卡 支付场合, 比如厂商。
18、购物、 酒店住宿等, 是一种不可或缺的现代化支付手段, 已经融入人们 生活的各种场合。银行卡, 特别是借记卡, 一般都由持卡人设置了 PIN, 在进行支付过程中, POS 终端除了上送银行卡的磁道信息等资料外, 还要持卡人输入 PIN 供发卡银行验证持卡 人的身份合法性, 确保银行卡支付安全, 保护持卡人的财产安全。为了防止 PIN 泄露或被破 解, 要求从终端到发卡银行整个信息交互过程中, 全程对 PIN 进行安全加密保护, 不允许在 计算机网络系统的任何环节, PIN 以明文的方式出现, 因此目前接受输入 PIN 的 POS 终端都 要求配备密钥管理体系。 0003 POS 终端的密钥体系。
19、分成二级 : 终端主密钥 (TMK) 和工作密钥 (WK) 。其中 TMK 在 WK 进行加密保护。每台 POS 终端拥有唯一的 TMK, 必须要有安全保护, 保证只能写入设备并 参与计算, 不能读取 ; TMK 是一个很关键的根密钥, 如果 TMK 被截取, 工作密钥就比较容易被 破解, 将严重威胁银行卡支付安全。所以能否安全下载 TMK 到 POS 终端, 成为整个 POS 终端 安全性的关键。 0004 为防范密钥泄露风险, POS 终端主密钥的下载必须控制在管理中心的安全机房进 行, 通过人工集中下载终端主密钥。 从而带来维护中心机房工作量大 ; 设备出厂后需要运输 到管理中心安全机房。
20、下载密钥才能部署到商户, 运输成本上升 ; 为了集中下装密钥, 需要大 量的人手和工作时间, 维护成本大、 维护周期长等问题。 发明内容 0005 为解决上述技术问题, 本发明采用的一个技术方案是 : 0006 一种终端主密钥TMK安全下载方法, 该终端主密钥TMK安全下载方法包括 : S1、 KMS 说 明 书 CN 103714641 A 5 2/7 页 6 系统调用硬件加密机产生公钥 Pu_hsm 和私钥 Pr_hsm, 将公钥 Pu_hsm 发送至 POS 终端并存 储在密码键盘中 ; S2、 POS终端调用密码键盘产生传输密钥TK, 所述传输密钥TK包括非对称 传输加密密钥TEK和对。
21、称传输认证密钥AUK ; S3、 POS终端调用密码键盘使用公钥Pu_hsm对 AUK 加密得到认证密钥密文 Pu_auk, 然后将认证密钥密文 Pu_auk 和 TEK 的公钥 Pu_tek 发 送至 KMS 系统 ; S4、 KMS 系统调用硬件加密机使用私钥 Pr_hsm 解密认证密钥密文 Pu_auk 得 到对称传输认证密钥 AUK ; S5、 POS 终端与 KMS 系统使用对称传输认证密钥 AUK 进行双向认 证 ; S6、 如果认证通过, KMS 系统使用传输加密密钥 TEK 的公钥 Pu_tek 加密终端主密钥 TMK 生成主密钥密文 Ctmk_tk 并将主密钥密文 Ctmk_。
22、tk 发送至 POS 终端 ; S7、 POS 终端调用密码 键盘使用传输加密密钥 TEK 的私钥 Pr_tek 解密主密钥密文 Ctmk_tk 获得终端主密钥 TMK 并将终端主密钥 TMK 存储在密码键盘中。 0007 本发明还提供另一技术方案是 : 0008 一种终端主密钥 TMK 安全下载系统, 包括 KMS 系统、 与 KMS 系统通信连接的 POS 终 端以及硬件加密机 ; 所述POS终端包括TK产生模块、 TK发送模块、 解密模块以及双向认证A 模块, 所述 KMS 系统包括公私钥产生模块、 TK 接收模块、 加密模块以及双向认证 B 模块 ; 所 述公私钥产生模块用于调用硬件加。
23、密机产生公钥 Pu_hsm 和私钥 Pr_hsm, 将公钥 Pu_hsm 发 送至 POS 终端并存储在密码键盘中 ; 所述 TK 产生模块用于调用密码键盘产生传输密钥 TK, 所述传输密钥 TK 包括非对称传输加密密钥 TEK 和对称传输认证密钥 AUK ; 所述 TK 发送模 块用于调用密码键盘使用公钥 Pu_hsm 对 AUK 加密得到认证密钥密文 Pu_auk, 然后将认证 密钥密文 Pu_auk 和 TEK 的公钥 Pu_tek 发送至 KMS 系统 ; 所述 TK 接收模块用于调用硬件加 密机使用私钥 Pr_hsm 解密认证密钥密文 Pu_auk 得到对称传输认证密钥 AUK ; 。
24、所述双向认 证 A 模块与双向认证 B 模块用于在 KMS 系统向 POS 终端传送 TMK 之前, 使用传输认证密钥 AUK 进行 KMS 系统与 POS 终端之间的双向认证 ; 所述加密模块用于当认证通过时, 使用传输 加密密钥 TEK 的公钥 Pu_tek 加密终端主密钥 TMK 生成主密钥密文 Ctmk_tk 并将主密钥密 文 Ctmk_tk 发送至 POS 终端 ; 所述解密模块用于调用密码键盘使用传输加密密钥 TEK 的私 钥 Pr_tek 解密主密钥密文 Ctmk_tk 获得终端主密钥 TMK 并将终端主密钥 TMK 存储在密码 键盘中。 0009 本发明的有益效果为 : 本发明。
25、通过 POS 终端上传传输密钥 TK, 使用 TK 进行 POS 终 端与 KMS 系统之间的认证和对终端主密钥 TMK 进行加密下载, 实现 POS 终端远程下载终端 主密钥 TMK, 大大方便了 POS 终端下载 TMK。进一步地, 所述传输密钥 TK 包括包括非对称传 输加密密钥 TEK 和对称传输认证密钥 AUK, KMS 系统在传输终端主密钥 TMK 前先使用对称传 输认证密钥AUK与POS终端进行双向身份认证, 有效防止伪POS终端窃取TMK, 同时, 采用非 对称加密密钥 TEK 对 TMK 进行加密, 大大降低了 TMK 在传输过程中被破解的风险。 附图说明 0010 图 1 。
26、为本发明一实施方式中一种终端主密钥 TMK 安全下载系统的结构框图 ; 0011 图 2 为图 1 中双向认证 A 模块的结构框图 ; 0012 图 3 为图 1 中双向认证 B 模块的结构框图 ; 0013 图 4 为本发明一实施方式中一种终端主密钥 TMK 安全下载方法的方法流程图。 0014 主要元件符号说明 : 说 明 书 CN 103714641 A 6 3/7 页 7 0015 10 : POS 终端 ; 20 : KMS 系统 ; 30; 硬件加密机 ; 101 : TK 产生模块 ; 102 解密模块 ; 103 : TK 发送模块 ; 104 : 双向认证 A 模块 ; 20。
27、1 公私钥产生模块 ; 202TK 接收模块 ; 203 : 加密 模块 ; 204 : 双向认证 B 模块 ; 1041 : 第一随机数产生单元 ; 1042 : 第一数据收发单元 ; 1043 : 第一加解密单元 ; 1044 : 第一判断单元 ; 2041 : 第二随机数产生单元 ; 2042 : 第二数据收发 单元 ; 2043 : 第二加解密单元 ; 2044 : 第二判断单元。 具体实施方式 0016 为详细说明本发明的技术内容、 构造特征、 所实现目的及效果, 以下结合实施方式 并配合附图详予说明。 0017 首先, 对本发明涉及的缩略语和关键术语进行定义和说明 : 0018 A。
28、UK : Authentication Key 的简称, 即认证密钥, 用于 PINPAD 与密钥管理系统 KMS 之间的双向认证 ; 0019 CA 中心 : 所谓 CA(Certificate Authority)中心, 它是采用 PKI(Public Key Infrastructure) 公开密钥基础架构技术, 专门提供网络身份认证服务, 负责签发和管理数 字证书, 且具有权威性和公正性的第三方信任机构, 它的作用就像我们现实生活中颁发证 件的公司, 如护照办理机构 ; 0020 HSM : High Security Machine 的简称, 高安全设备, 在该系统中为硬件加密机 ;。
29、 0021 KMS 系统 : Key Management System, 密钥管理系统, 用于管理终端主密钥 TMK ; 0022 KMS 系统 : Key Management System, 密钥管理系统, 用于管理终端主密钥 TMK ; 0023 MAK : Mac Key 的简称, 即 MAC 计算密钥, 与客户协商确定 24 字节对称密钥, 用于 MTMS 系统与 KMS 系统之间 TK 的 MAC 值计算 ; 0024 MTMS : 全称 Material Tracking Management System, 物料追溯管理系统, 主要在 工厂生产时使用 ; 0025 PIK :。
30、 Pin Key 的简称, 即 Pin 加密密钥, 是工作密钥的一种 ; 0026 PINPAD : 密码键盘 ; 0027 PK : Protect Key 的简称, 即保护密钥, 与客户协商确定, 24 字节对称密钥。用于 MTMS/TCS 与 KMS 之间 TK 的加密传输 ; 0028 POS : Point Of Sale 的简称, 即销售终端 0029 SNpinpad : 密码键盘的序列号, PINPAD 是内置时, 和 POS 终端序列号 SNpos 一致 ; 0030 SN : POS 终端的序列号 ; 0031 TEK : Transmission Encrypt Key的。
31、简称, 即传输加密密钥, 24字节对称密钥, 用于 PINPAD 与密钥管理系统 KMS 之间 TMK 的加密传输 ; 0032 TK : Transmission Key 的简称, 即传输密钥。传输密钥是由传输加密密钥 TEK 和 双向认证密钥 AUK 组成的 ; 0033 TMS : Terminal Management System 的简称, 即终端管理系统, 用于完成 POS 终端 信息管理、 软件与参数配置、 远程下载、 终端运行状态信息收集管理、 远程诊断等功能 ; 0034 TMK : Terminal Master Key 的简称, 即终端主密钥, 用于 POS 终端和支付收。
32、单系统 之间工作密钥的加密传输 ; 0035 安全房 : 具有较高安全级别, 用于存放服务器的房间, 该房间需要身份认证后才能 说 明 书 CN 103714641 A 7 4/7 页 8 进去。 0036 智能 IC 卡 : 为 CPU 卡, 卡内的集成电路包括中央处理器 CPU、 可编程只读存储器 EEPROM、 随机存储器 RAM 和固化在只读存储器 ROM 中的卡内操作系统 COS(Chip Operating System), 卡中数据分为外部读取和内部处理部分。 0037 对称密钥 : 发送和接收数据的双方必须使用相同的密钥对明文进行加密和解密运 算。对称密钥加密算法主要包括 : 。
33、DES、 3DES、 IDEA、 FEAL、 BLOWFISH 等。 0038 非对称密钥 : 非对称加密算法需要两个密钥 : 公开密钥 (私钥 Public key) 和私有 密钥 (公钥 Private key) 。公开密钥与私有密钥是一对, 如果用公开密钥对数据进行加密, 只有用对应的私有密钥才能解密 ; 如果用私有密钥对数据进行加密, 那么只有用对应的公 开密钥才能解密。因为加密和解密使用的是两个不同的密钥, 所以这种算法叫作非对称加 密算法。非对称加密算法实现机密信息交换的基本过程是 : 甲方生成一对密钥并将其中的 一把作为公用密钥向其它方公开 ; 得到该公用密钥的乙方使用该密钥对机。
34、密信息进行加密 后再发送给甲方 ; 甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方可 以使用乙方的公钥对机密信息进行加密后再发送给乙方 ; 乙方再用自己的私匙对加密后的 信息进行解密。主要算法有 RSA、 Elgamal、 背包算法、 Rabin、 D-H、 ECC (椭圆曲线加密算法) 。 0039 RSA : 一种非对称密钥算法。RSA 公钥加密算法是 1977 年由 Ron Rivest、 Adi Shamirh 和 Len Adleman 在 (美国麻省理工学院) 开发的。RSA 取名来自开发他们三者的名 字。RSA 是目前最有影响力的公钥加密算法, 它能够抵抗到目前为止。
35、已知的所有密码攻击, 已被 ISO 推荐为公钥数据加密标准。RSA 算法基于一个十分简单的数论事实 : 将两个大素 数相乘十分容易。RSA 算法是第一个能同时用于加密和数字签名的算法, 也易于理解和操 作。RSA 是被研究得最广泛的公钥算法, 从提出到现在的三十多年里, 经历了各种攻击的考 验, 逐渐为人们接受, 普遍认为是目前最优秀的公钥方案之一。 0040 TDES Triple-DES : DES 是一种对称加密算法, 密钥是 8 字节。TDES 是基于 DES 的 加密算法, 其密钥是 16 字节或者 24 字节。TDES/3DES 是英文 TripleDES 的缩语 (即三重数 据加。
36、密标准) , DES 则是英文 Data Encryption Standard(数加密标准) 的缩语。DES 是一 种对称密钥加密算法, 即数据加密密钥与解密密钥相同的加密算法。DES 由 IBM 公司在 20 世纪 70 年代开发并公开, 随后为美国政府采用, 并被美国国家标准局和美国国家标准协会 (ANSI) 承认。TDES/3DES 是 DES 加密算法的一种模式, 它使用 3 条 64 位的密钥对数据进行 三次加密。是 DES 的一个更安全的变形。 0041 为解决背景技术中存在的技术问题, 本发明采用一种新的主密钥下载方案, 通过 POS 终端随机产生 TK(Transmissio。
37、n Key, 传输密钥) , 将产生后的 TK 保存于 POS 终端的 密码键盘中, 并将 TK 通过各种应用场景下所需的传输方式传送至 KMS(Key Management System, 密钥管理系统, 用于管理终端主密钥 TMK) 中。 0042 当 POS 终端申请下载终端主密钥 TMK 时, KMS 系统使用 TK 加密终端主密钥 TMK, 并 将加密后的终端主密钥密文发送给POS终端, POS终端接收后用TK对主密钥密文进行解密, 得到终端主密钥 TMK, 并将终端主密钥 TMK 保存在密码键盘里。 0043 如此, 通过 TK 加密终端主密钥 TMK, 使 TMK 能够进行远程传。
38、输, 方便 TMK 的安全下 载。 0044 上述通过 POS 终端采集传输密钥 TK 后发送至银行端对 TMK 进行加密, 再通过 POS 说 明 书 CN 103714641 A 8 5/7 页 9 终端远程下载经 TK 加密后的 TMK 的方法可以实现 TMK 的远程下载。但是, 在 TMK 下载过程 中可能出现伪 KMS 系统窃取传输密钥 TK 或伪 POS 终端窃取 TMK 的情况, 为了提高传输密钥 TK 和终端主密钥 TMK 的传输安全, 需要一种能够认证双方身份的终端主密钥 TMK 安全下载 方法。 0045 下面就对本发明克服上述问题的技术方案进行详细说明。 0046 请参阅。
39、图 1, 为本发明一实施方式一种终端主密钥 TMK 安全下载系统, 该系统包括 KMS 系统 20、 与 KMS 系统 20 通信连接的 POS 终端 10 以及硬件加密机 30 ; 所述 POS 终端 10 包括TK产生模块101、 TK发送模块103、 解密模块102以及双向认证A模块104, 所述KMS系 统 20 包括公私钥产生模块 201、 TK 接收模块 202、 加密模块 203 以及双向认证 B 模块 204。 0047 所述公私钥产生模块 201 用于调用硬件加密机 30 产生公钥 Pu_hsm 和私钥 Pr_ hsm, 将公钥 Pu_hsm 发送至 POS 终端 10 并存。
40、储在密码键盘中 ; 0048 所述 TK 产生模块 101 用于调用密码键盘产生传输密钥 TK, 所述传输密钥 TK 包括 非对称传输加密密钥 TEK 和对称传输认证密钥 AUK ; 0049 所述 TK 发送模块 103 用于调用密码键盘使用公钥 Pu_hsm 对 AUK 加密得到认证密 钥密文 Pu_auk, 然后将认证密钥密文 Pu_auk 和 TEK 的公钥 Pu_tek 发送至 KMS 系统 20 ; 0050 所述 TK 接收模块 202 用于调用硬件加密机使用私钥 Pr_hsm 解密认证密钥密文 Pu_auk 得到对称传输认证密钥 AUK ; 0051 所述双向认证 A 模块 1。
41、04 与双向认证 B 模块 204 用于在 KMS 系统 20 向 POS 终端 10 传送 TMK 之前, 使用传输认证密钥 AUK 进行 KMS 系统 20 与 POS 终端 10 之间的双向认证 ; 0052 所述加密模块 203 用于当认证通过时, 使用传输加密密钥 TEK 的公钥 Pu_tek 加密 终端主密钥 TMK 生成主密钥密文 Ctmk_tk 并将主密钥密文 Ctmk_tk 发送至 POS 终端 10 ; 0053 解密模块 102 用于调用密码键盘使用传输加密密钥 TEK 的私钥 Pr_tek 解密主密 钥密文 Ctmk_tk 获得终端主密钥 TMK 并将终端主密钥 TMK。
42、 存储在密码键盘中。 0054 其中, 所述 POS 终端 10 还包括公钥申请模块 ; 0055 所述公钥申请模块用于将终端序列号 SN 和公钥下载请求发送至 KMS 系统 20。 0056 其中, 所述 POS 终端 10 还包括 TR-31 打包模块 ; 0057 所述 TR-31 打包模块用于将 TMK 按 TR-31 格式打包后存储于以密文形式存储于密 码键盘中。 0058 请参阅图 2 和图 3, 其中, 图 2 为所述双向认证 A 模块 104 的结构框图, 图 3 为所述 双向认证B模块204的结构框图。 所述双向认证A模块104包括第一随机数产生单元1041、 第一数据收发单。
43、元 1042、 第一加解密单元 1043 以及第一判断单元 1044, 所述双向认证 B 模 块 204 包括第二随机数产生单元 2041、 第二数据收发单元 2042、 第二加解密单元 2043 以及 第二判断单元 2044。 0059 第一随机数产生单元 1041 用于产生第一随机数 Rnd1 ; 第一数据收发单元 1042 用 于将产生的第一随机数 Rnd1 发送至 KMS 系统 ; 第二数据收发单元 2042 用于接收第一随 机数 Rnd1 ; 第二随机数产生单元 2041 用于在接收到第一随机数 Rnd1 时, 产生随机数第二 Rnd2 ; 第二加解密单元 2043 用于在接收到第一。
44、随机数 Rnd1 时, 调用硬件加密机 30 使用传 输认证密钥AUK加密第一随机数Rnd1获得第一随机数密文Crnd1 ; 第二数据收发单元2042 用于将第一随机数密文 Crnd1 和第二随机数 Rnd2 发送给 POS 终端 10 ; 说 明 书 CN 103714641 A 9 6/7 页 10 0060 第一加解密单元 1043 用于在接收到第一随机数密文 Crnd1 和第二随机数 Rnd2 时, 使用传输认证密钥 AUK 解密接收到的第一随机数密文 Crnd1 获得第三随机数 Rnd1 ; 第 一判断单元 1044 用于判断第三随机数 Rnd1 与第一随机数 Rnd1 是否一致 ;。
45、 0061 第一加解密单元 1043 用于当所述第一判断单元判定第三随机数 Rnd1 与第一 随机数 Rnd1 一致时, 使用传输认证密钥 AUK 加密第二随机数 Rnd2 生成第二随机数密文 Crnd2 ; 第一数据收发单元用于将第二随机数密文 Crnd2 发送给 KMS 系统 20 ; 0062 第二加解密单元2043用于在接收到第二随机数密文Crnd2时, 调用硬件加密机使 30 用传输认证密钥 AUK 解密接收到的第二随机数密文 Crnd2 获得第四随机数 Rnd2 , 第二 判断单元 2043 用于判断第四随机数 Rnd2 与第二随机数 Rnd2 是否一致, 并当判定第四随 机数 R。
46、nd2 与第二随机数 Rnd2 一致时, 确认 KMS 系统与 POS 终端之间的双向认证通过。 0063 请参阅图 4, 为本发明另一实施方式一种终端主密钥 TMK 安全下载方法的方法流 程图, 该方法包括步骤 : 0064 S1、 KMS 系统调用硬件加密机产生公钥 Pu_hsm 和私钥 Pr_hsm, 将公钥 Pu_hsm 发送 至 POS 终端并存储在密码键盘中 ; 0065 S2、 POS 终端调用密码键盘产生传输密钥 TK, 所述传输密钥 TK 包括非对称传输加 密密钥 TEK 和对称传输认证密钥 AUK ; 0066 S3、 POS 终端调用密码键盘使用公钥 Pu_hsm 对 A。
47、UK 加密得到认证密钥密文 Pu_ auk, 然后将认证密钥密文 Pu_auk 和 TEK 的公钥 Pu_tek 发送至 KMS 系统 ; 0067 S4、 KMS 系统调用硬件加密机使用私钥 Pr_hsm 解密认证密钥密文 Pu_auk 得到对 称传输认证密钥 AUK ; 0068 S5、 POS 终端与 KMS 系统使用对称传输认证密钥 AUK 进行双向认证 ; 0069 S6、 如果认证通过, KMS 系统使用传输加密密钥 TEK 的公钥 Pu_tek 加密终端主密 钥 TMK 生成主密钥密文 Ctmk_tk 并将主密钥密文 Ctmk_tk 发送至 POS 终端 ; 0070 S7、 P。
48、OS 终端调用密码键盘使用传输加密密钥 TEK 的私钥 Pr_tek 解密主密钥密文 Ctmk_tk 获得终端主密钥 TMK 并将终端主密钥 TMK 存储在密码键盘中。 0071 其中, 在所述步骤 S1 之前还包括 POS 终端将终端序列号 SN 和公钥下载请求发送 至 KMS 系统, 所述步骤 S1 具体为 : 当接收到所述公钥下载请求后 KMS 系统调用硬件加密机 产生公钥 Pu 和私钥 Pr, 将公钥 Pu 发送至终端序列号 SN 对应的 POS 终端的密码键盘。 0072 其中, 所述步骤 S7 具体包括 : 0073 POS 终端调用密码键盘使用传输加密密钥 TEK 的私钥 Pr_。
49、tek 解密主密钥密文 Ctmk_tk 获得终端主密钥 TMK, 并将主密钥 TMK 按 TR-31 格式打包后存储于以密文形式存储 于密码键盘中。 0074 其中, 在本实施方式中, 所述 “POS 终端与 KMS 系统使用对称传输认证密钥 AUK 进 行双向认证” 具体包括 : 0075 POS 终端产生第一随机数 Rnd1 并将第一随机数 Rnd1 发送至 KMS 系统 ; 0076 KMS系统接收第一随机数Rnd1后产生第二随机数Rnd2, 调用第二硬件加密机使用 认证密钥 AUK 加密第一随机数 Rnd1 获得第一随机数密文 Crnd1, 将第一随机数密文 Crnd1 和第二随机数 Rnd2 发送给 POS 终端的密码键盘 ; 0077 POS 终端的密码键盘使用认证密钥 AUK 解密接收到的第一随机数密文 Crnd1 获得 说 明 书 CN 103714641 A 10 7/7 页 11 第三随机数 Rnd1 , 判断第三随机数 。