发明内容
为解决上述技术问题,本发明采用的一个技术方案是:
提供一种密钥管理方法,包括:MTMS系统调用第一硬件加密机产生公钥Pu和私钥Pr,将私钥Pr存储在第一硬件加密机中并将公钥Pu发送至POS终端安全模块中;MTMS系统调用第一硬件加密机、KMS系统调用第二硬件加密机,分别在各自的硬件加密机中将MTMS权限分量及KMS权限分量合成保护密钥PK和MAC密钥MAK,并且将所述保护密钥PK和MAC密钥MAK一并存储在第一硬件加密机和第二硬件加密机中;操作终端控制POS终端在安全模块中产生传输密钥TK并保存在POS终端的安全模块中,其中,传输密钥TK由传输加密密钥TEK和认证密钥AUK构成;POS终端在安全模块中使用公钥Pu加密传输密钥TK生成第一传输密钥密文Ctk_Pu;POS终端将第一传输密钥密文Ctk_Pu和终端序列号SN通过操作终端发送至MTMS系统;MTMS系统将接收到的终端序列号SN和第一传输密钥密文Ctk_Pu关联地存储在SN-Key_MTMS数据库中;MTMS系统调用第一硬件加密机使用私钥Pr解密第一传输密钥密文Ctk_Pu获得传输密钥TK,然后使用保护密钥PK加密传输密钥TK并使用MAC密钥MAK计算MAC值,生成第二传输密钥密文Ctk_pk;MTMS系统将终端序列号SN和第二传输密钥密文Ctk_pk发送给KMS系统;KMS系统将MTMS系统发送的终端序列号SN和第二传输密钥密文Ctk_pk关联地存储在SN-TK_KMS数据库中;POS终端将终端序列号SN和下载主密钥申请发送至KMS系统;KMS系统接收到POS终端发送的终端序列号SN和下载主密钥申请后,查询与终端序列号SN对应的第二传输密钥密文Ctk_pk;KMS系统调用第二硬件加密机使用MAC密钥MAK对查询到的第二传输密钥密文Ctk_pk校验MAC合法性,如果校验通过,使用保护密钥PK解密第二传输密钥密文Ctk_pk获得传输密钥TK并将其存储在所述第二硬件加密机中;KMS系统获得传输密钥TK后调用第二硬件加密机使用认证密钥AUK与POS终端进行双向认证,如果认证通过,KMS系统调用第二硬件加密机使用传输加密密钥TEK加密终端主密钥TMK生成主密钥密文Ctmk并将主密钥密文发送至POS终端;POS终端接收到KMS系统发送的主密钥密文Ctmk后使用传输加密密钥TEK解密主密钥密文Ctmk获得终端主密钥TMK并存储在安全模块中。
其中,所述MTMS系统调用第一硬件加密机产生公钥Pu和私钥Pr,将私钥Pr存储在第一硬件加密机中并将公钥Pu发送至POS终端安全模块中具体包括:MTMS系统调用第一硬件加密机产生公钥Pu和私钥Pr,将私钥Pr存储在第一硬件加密机中并记录私钥Pr在第一硬件机密机中的索引号,将公钥Pu发给CA中心;MTMS系统从CA中心获得生成的工作证书HsmWCRT并保存在数据库中,工作证书HsmWCRT是使用根证书HsmRCRT对公钥Pu签名生成;操作终端从MTMS系统数据库获得工作证书HsmWCRT,并将工作证书HsmWCRT发送至POS终端;POS终端使用烧片预装的根证书HsmRCRT验证工作证书HsmWCRT的合法性;验证通过后POS终端从工作证书HsmWCRT提取公钥Pu并保存在安全模块中。
其中,所述“POS终端将第一传输密钥密文Ctk_Pu和终端序列号SN通过操作终端发送至MTMS系统,MTMS系统将接收到的终端序列号SN和第一传输密钥密文Ctk_Pu关联地存储在SN-Key_MTMS数据库中”具体包括:POS终端将第一传输密钥密文Ctk_Pu和终端序列号SN发给操作终端;操作终端对接收到的第一传输密钥密文Ctk_Pu和终端序列号SN进行打包并使用操作员卡进行签名,以及将经过签名的第一传输密钥密文Ctk_Pu和终端序列号SN发送至MTMS系统;MTMS系统校验签名的合法性,如果合法,将终端序列号SN和第一传输密钥密文Ctk_Pu关联地存储在SN-Key_MTMS数据库。
其中,所述的一种密钥管理方法还包括步骤:MTMS系统从SN-Key_MTMS数据库中提取需要发送的终端序列号SN和第一传输密钥密文Ctk_Pu,并验证签名的合法性,如果合法,则执行所述MTMS系统调用硬件加密机使用私钥Pr解密第一传输密钥密文Ctk_Pu获得传输密钥TK步骤。
其中,KMS系统获得传输密钥TK后调用第二硬件加密机使用认证密钥AUK与POS终端进行双向认证具体包括:POS终端产生第一随机数Rnd1并将第一随机数Rnd1发送至KMS系统;KMS系统接收第一随机数Rnd1后产生随机数第二Rnd2,调用第二硬件加密机使用认证密钥AUK加密第一随机数Rnd1获得第一随机数密文Crnd1,将第一随机数密文Crnd1和第二随机数Rnd2发送给POS终端;POS终端使用认证密钥AUK解密接收到的第一随机数密文Crnd1获得第三随机数Rnd1’,判断第三随机数Rnd1’与第一随机数Rnd1是否一致:如果第三随机数Rnd1’与第一随机数Rnd1一致,POS终端使用认证密钥AUK加密第二随机数Rnd2生成第二随机数密文Crnd2,并将第二随机数密文Crnd2发送给KMS系统;KMS系统调用第二硬件加密机使用认证密钥AUK解密接收到的第二随机数密文Crnd2获得第四随机数Rnd2’,判断第四随机数Rnd2’与第二随机数Rnd2是否一致;如果第四随机数Rnd2’与第二随机数Rnd2一致,KMS系统与POS终端认证通过。
本发明采用的另一个技术方案是:
提供一种密钥管理系统,包括:第一硬件加密机、第二硬件加密机、操作终端、POS终端、MTMS系统以及KMS系统,所述第一硬件加密机用于供MTMS系统调用,所述第二硬件加密机用于供KMS系统调用,其中,所述MTMS系统用于调用第一硬件加密机产生公钥Pu和私钥Pr,将私钥Pr存储在第一硬件加密机中并将公钥Pu发送至POS终端安全模块中;所述MTMS系统用于调用第一硬件加密机、所述KMS系统用于调用第二硬件加密机,分别在各自的硬件加密机中将MTMS权限分量及KMS权限分量合成保护密钥PK和MAC密钥MAK,并且将所述保护密钥PK和MAC密钥MAK一并存储在第一硬件加密机和第二硬件加密机中;所述操作终端用于控制POS终端在安全模块中产生传输密钥TK并保存在POS终端的安全模块中,其中,传输密钥TK由传输加密密钥TEK和认证密钥AUK构成;所述POS终端用于在安全模块中使用公钥Pu加密传输密钥TK生成第一传输密钥密文Ctk_Pu以及将第一传输密钥密文Ctk_Pu和终端序列号SN通过操作终端发送至MTMS系统;所述MTMS系统用于将接收到的终端序列号SN和第一传输密钥密文Ctk_Pu关联地存储在SN-Key_MTMS数据库中,以及用于调用第一硬件加密机使用私钥Pr解密第一传输密钥密文Ctk_Pu获得传输密钥TK,然后使用保护密钥PK加密传输密钥TK并使用MAC密钥MAK计算MAC值,生成第二传输密钥密文Ctk_pk,以及将终端序列号SN和第二传输密钥密文Ctk_pk发送给KMS系统;所述KMS系统用于将MTMS系统发送的终端序列号SN和第二传输密钥密文Ctk_pk关联地存储在SN-TK_KMS数据库中;所述POS终端用于将终端序列号SN和下载主密钥申请发送至KMS系统;所述KMS系统用于当接收到POS终端发送的终端序列号SN和下载主密钥申请后,查询与终端序列号SN对应的第二传输密钥密文Ctk_pk;所述KMS系统还用于调用第二硬件加密机使用MAC密钥MAK对查询到的第二传输密钥密文Ctk_pk校验MAC合法性,如果校验通过,使用保护密钥PK解密第二传输密钥密文Ctk_pk获得传输密钥TK并将其存储在所述第二硬件加密机中;所述KMS系统还用于获得传输密钥TK后调用第二硬件加密机使用认证密钥AUK与POS终端进行双向认证,如果认证通过,KMS系统调用第二硬件加密机使用传输加密密钥TEK加密终端主密钥TMK生成主密钥密文Ctmk并将主密钥密文发送至POS终端;所述POS终端用于当接收到KMS系统发送的主密钥密文Ctmk后使用传输加密密钥TEK解密主密钥密文Ctmk获得终端主密钥TMK并存储在安全模块中。
其中,所述MTMS系统用于调用第一硬件加密机产生公钥Pu和私钥Pr,将私钥Pr存储在第一硬件加密机中并记录私钥Pr在第一硬件机密机中的索引号并将公钥Pu发给CA中心;MTMS系统还用于从CA中心获得生成的工作证书HsmWCRT并保存在数据库中,工作证书HsmWCRT是使用根证书HsmRCRT对公钥Pu签名生成。操作终端用于从MTMS系统数据库获得工作证书HsmWCRT,并将工作证书HsmWCRT发送至POS终端;POS终端用于使用烧片预装的根证书HsmRCRT验证工作证书HsmWCRT的合法性,并用于当验证通过后从工作证书HsmWCRT提取公钥Pu并保存在安全模块中。
其中,所述POS终端用于将第一传输密钥密文Ctk_Pu和终端序列号SN发给操作终端;所述操作终端用于对接收到的第一传输密钥密文Ctk_Pu和终端序列号SN进行打包并使用操作员卡进行签名,以及将经过签名的第一传输密钥密文Ctk_Pu和终端序列号SN发送至MTMS系统;所述MTMS系统用于校验签名的合法性,如果合法,将终端序列号SN和第一传输密钥密文Ctk_Pu关联地存储在SN-Key_MTMS数据库。
其中,所述MTMS系统用于从SN-Key_MTMS数据库中提取需要发送的终端序列号SN和第一传输密钥密文Ctk_Pu,并验证签名的合法性,如果合法,则执行所述MTMS系统调用硬件加密机使用私钥Pr解密第一传输密钥密文Ctk_Pu获得传输密钥TK步骤。
其中,所述POS终端用于产生第一随机数Rnd1并将第一随机数Rnd1发送至KMS系统;所述KMS系统用于当接收到第一随机数Rnd1后产生随机数第二Rnd2,调用第二硬件加密机使用认证密钥AUK加密第一随机数Rnd1获得第一随机数密文Crnd1,将第一随机数密文密文Crnd1和第二随机数Rnd2发送给POS终端;所述POS终端用于使用认证密钥AUK解密接收到的第一随机数密文Crnd1获得第三随机数Rnd1’,判断第三随机数Rnd1’与第一随机数Rnd1是否一致:所述POS终端用于当判定第三随机数Rnd1’与第一随机数Rnd1一致时,使用认证密钥AUK加密第二随机数Rnd2生成第二随机数密文Crnd2,并将第二随机数密文Crnd2发送给KMS系统;所述KMS系统用于调用第二硬件加密机使用认证密钥AUK解密接收到的第二随机数密文Crnd2获得第四随机数Rnd2’,判断第四随机数Rnd2’与第二随机数Rnd2是否一致;所述KMS系统还用于当判定第四随机数Rnd2’与第二随机数Rnd2一致时确定KMS系统与POS终端认证通过。
本发明的密钥管理方法及系统,远程下载主密钥,避免POS终端需要集中下载主密钥后才能布放到商户,减少物流成本和维护成本。远程下载密钥时,KMS系统使用对称算法加密需要传输的密钥,保证只有对应POS终端才能解密加密后的密钥,保证数据传输的高全性。在双向认证的时候,POS终端的应用程序并不能够接触到需要远程下装到POS终端中的明文密钥,只能接触到该密钥的密文形式,从而确保了安全装载。本方案将非对算法和对称算法结合,降低了系统的复杂度。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
首先,对本发明涉及的缩略语和关键术语进行定义和说明:
对称密钥:发送和接收数据的双方必须使用相同的密钥对明文进行加密和解密运算。对称密钥加密算法主要包括:DES、3DES、IDEA、FEAL、BLOWFISH等。
非对称密钥:非对称加密算法需要两个密钥:公开密钥(私钥Public key)和私有密钥(公钥Private key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方可以使用乙方的公钥对机密信息进行加密后再发送给乙方;乙方再用自己的私匙对加密后的信息进行解密。主要算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。
RSA:一种非对称密钥算法。RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和Len Adleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
TDES Triple-DES:DES是一种对称加密算法,密钥是8字节。TDES是基于DES的加密算法,其密钥是16字节或者24字节。TDES/3DES是英文TripleDES的缩语(即三重数据加密标准),DES则是英文Data Encryption Standard(数据加密标准)的缩语。DES是一种对称密钥加密算法,即数据加密密钥与解密密钥相同的加密算法。DES由IBM公司在20世纪70年代开发并公开,随后为美国政府采用,并被美国国家标准局和美国国家标准协会(ANSI)承认。TDES/3DES是DES加密算法的一种模式,它使用3条64位的密钥对数据进行三次加密。是DES的一个更安全的变形。
请参阅图1,是本发明一实施方式中一种密钥管理系统的结构框图,该密钥管理系统包括:操作终端10、第一硬件加密机20、第二印鉴加密机60、POS终端30、MTMS系统40以及KMS系统50。所述第一硬件加密机20用于供MTMS系统40调用,所述第二硬件加密机60用于供KMS系统50调用。操作终端10需要插入操作员卡11并且操作员卡11的密码验证通过后才允许使用。操作员卡11用于通过输入密码对操作员身份进行识别,以完成对TK数据包的签名。所述MTMS系统40为物料追溯系统,用于在工厂生产时记录生产的设备相关信息。所述KMS系统为密钥管理系统,位于安全房中,负责POS终端主密钥、工作密钥等密钥的生成和维护,通常布放在客户处所。
所述MTMS系统40用于调用第一硬件加密机20产生公钥Pu和私钥Pr,将私钥Pr存储在第一硬件加密机20中并将公钥Pu发送至POS终端30安全模块中,其中,公私钥对在私钥Pr未泄密或损坏的情况下,只产生一次。具体地,所述MTMS系统40用于调用第一硬件加密机20产生公钥Pu和私钥Pr,将私钥Pr存储在第一硬件加密机20中并记录私钥Pr在第一硬件机密机20中的索引号并将公钥Pu发给CA中心,CA中心又称CA机构,即证书授权中心(CertificateAuthority),或称证书授权机构,有认证数字证书合法性、证书密钥管理、证书审批和证书生成等功能。MTMS系统40还用于从CA中心获得生成的工作证书HsmWCRT并保存在数据库中,工作证书HsmWCRT是使用根证书HsmRCRT对公钥Pu签名生成。操作终端10用于从MTMS系统40数据库获得工作证书HsmWCRT,并将工作证书HsmWCRT发送至POS终端30;POS终端30用于使用烧片预装的根证书HsmRCRT验证工作证书HsmWCRT的合法性,并用于当验证通过后从工作证书HsmWCRT提取公钥Pu并保存在安全模块中。
所述MTMS系统40用于调用第一硬件加密机20、所述KMS系统50用于调用第二硬件加密机60,分别在各自的硬件加密机中将MTMS权限分量及KMS权限分量合成保护密钥PK和MAC密钥MAK,并且将所述保护密钥PK和MAC密钥MAK一并存储在第一硬件加密机20和第二硬件加密机60中。
所述操作终端10用于控制POS终端30在安全模块中产生传输密钥TK并保存在POS终端30的安全模块中,其中,传输密钥TK由传输加密密钥TEK和认证密钥AUK构成,传输加密密钥TEK为对称密钥,用于POS终端30与KMS系统50之间主密钥TMK的加密传输,加密保存在KMS系统50数据库中,认证密钥AUK为对称密钥,用于POS终端30与KMS系统50之间的双向认证,加密保存在KMS系统50数据库中。
所述POS终端30用于在安全模块中使用公钥Pu加密传输密钥TK生成第一传输密钥密文Ctk_Pu以及将第一传输密钥密文Ctk_Pu和终端序列号SN通过操作终端发送至MTMS系统40。具体地,所述POS终端30用于将第一传输密钥密文Ctk_Pu和终端序列号SN发给操作终端10;所述操作终端10用于对接收到的第一传输密钥密文Ctk_Pu和终端序列号SN进行打包并使用操作员卡进行签名,以及将经过签名的第一传输密钥密文Ctk_Pu和终端序列号SN发送至MTMS系统40;所述MTMS系统40用于校验签名的合法性,如果合法,将终端序列号SN和第一传输密钥密文Ctk_Pu关联地存储在SN-Key_MTMS数据库。
所述MTMS系统40用于将接收到的终端序列号SN和第一传输密钥密文Ctk_Pu关联地存储在SN-Key_MTMS数据库中,以及用于调用第一硬件加密机20使用私钥Pr解密第一传输密钥密文Ctk_Pu获得传输密钥TK,然后使用保护密钥PK加密传输密钥TK并使用MAC密钥MAK计算MAC值,生成第二传输密钥密文Ctk_pk,以及将终端序列号SN和第二传输密钥密文Ctk_pk发送给KMS系统50。所述KMS系统50用于将MTMS系统40发送的终端序列号SN和第二传输密钥密文Ctk_pk关联地存储在SN-TK_KMS数据库中。
所述POS终端30用于将终端序列号SN和下载主密钥申请发送至KMS系统50;所述KMS系统50用于当接收到POS终端30发送的终端序列号SN和下载主密钥申请后,查询与终端序列号SN对应的第二传输密钥密文Ctk_pk;所述KMS系统50还用于调用第二硬件加密机60使用MAC密钥MAK对查询到的第二传输密钥密文Ctk_pk校验MAC合法性,如果校验通过,使用保护密钥PK解密第二传输密钥密文Ctk_pk获得传输密钥TK并将其存储在所述第二硬件加密机60中;所述KMS系统50还用于获得传输密钥TK后调用第二硬件加密机60使用认证密钥AUK与POS终端30进行双向认证,如果认证通过,KMS系统50调用第二硬件加密机60使用传输加密密钥TEK加密终端主密钥TMK生成主密钥密文Ctmk并将主密钥密文发送至POS终端30;所述POS终端30用于当接收到KMS系统50发送的主密钥密文Ctmk后使用传输加密密钥TEK解密主密钥密文Ctmk获得终端主密钥TMK并存储在安全模块中。
具体地,所述双向认证实现过程如下:所述POS终端30用于产生第一随机数Rnd1并将第一随机数Rnd1发送至KMS系统50;所述KMS系统50用于当接收到第一随机数Rnd1后产生随机数第二Rnd2,调用第二硬件加密机使用认证密钥AUK加密第一随机数Rnd1获得第一随机数密文Crnd1,将第一随机数密文密文Crnd1和第二随机数Rnd2发送给POS终端30;所述POS终端30用于使用认证密钥AUK解密接收到的第一随机数密文Crnd1获得第三随机数Rnd1’,判断第三随机数Rnd1’与第一随机数Rnd1是否一致:所述POS终端30用于当判定第三随机数Rnd1’与第一随机数Rnd1一致时,调用第二硬件加密机使用认证密钥AUK加密第二随机数Rnd2生成第二随机数密文Crnd2,并将第二随机数密文Crnd2发送给KMS系统50;所述KMS系统50用于使用认证密钥AUK解密接收到的第二随机数密文Crnd2获得第四随机数Rnd2’,判断第四随机数Rnd2’与第二随机数Rnd2是否一致;所述KMS系统50还用于当判定第四随机数Rnd2’与第二随机数Rnd2一致时确定KMS系统50与POS终端30认证通过。
所述POS终端30接用于当收到KMS系统50发送的主密钥密文Ctmk后使用传输加密密钥TEK解密主密钥密文Ctmk获得终端主密钥TMK并存储在安全模块中。
请参阅图2,是本发明一实施方式中一种密钥管理方法的流程图。该密钥下载方法运行于所述密钥管理系统中,该方法包括:
步骤S101、MTMS系统调用第一硬件加密机产生公钥Pu和私钥Pr,将私钥Pr存储在第一硬件加密机中并将公钥Pu发送至POS终端安全模块中;MTMS系统调用第一硬件加密机、KMS系统调用第二硬件加密机,分别在各自的硬件加密机中将MTMS权限分量及KMS权限分量合成保护密钥PK和MAC密钥MAK,并且将所述保护密钥PK和MAC密钥MAK一并存储在第一硬件加密机和第二硬件加密机中;
步骤S102、操作终端控制POS终端在安全模块中产生传输密钥TK并保存在POS终端的安全模块中,其中,传输密钥TK由传输加密密钥TEK和认证密钥AUK构成;
步骤S103、POS终端在安全模块中使用公钥Pu加密传输密钥TK生成第一传输密钥密文Ctk_Pu;
步骤S104、POS终端将第一传输密钥密文Ctk_Pu和终端序列号SN通过操作终端发送至MTMS系统;
步骤S105、MTMS系统将接收到的终端序列号SN和第一传输密钥密文Ctk_Pu关联地存储在SN-Key_MTMS数据库中;
步骤S106、MTMS系统调用硬件加密机使用私钥Pr解密第一传输密钥密文Ctk_Pu获得传输密钥TK,然后使用保护密钥PK加密传输密钥TK并使用MAC密钥MAK计算MAC值,生成第二传输密钥密文Ctk_pk;
步骤S107、MTMS系统将终端序列号SN和第二传输密钥密文Ctk_pk发送给KMS系统;
步骤S108、KMS系统将MTMS系统发送的终端序列号SN和第二传输密钥密文Ctk_pk关联地存储在SN-TK_KMS数据库中;
步骤S109、POS终端将终端序列号SN和下载主密钥申请发送至KMS系统;
步骤S110、KMS系统接收到POS终端发送的终端序列号SN和下载主密钥申请后,查询与终端序列号SN对应的第二传输密钥密文Ctk_pk;
步骤S111、KMS系统调用第二硬件加密机使用MAC密钥MAK对查询到的第二传输密钥密文Ctk_pk校验MAC合法性,如果校验通过,使用保护密钥PK解密第二传输密钥密文Ctk_pk获得传输密钥TK并将其存储在所述第二硬件加密机中;
步骤S112、KMS系统获得传输密钥TK后调用第二硬件加密机使用认证密钥AUK与POS终端进行双向认证,如果认证通过,KMS系统调用第二硬件加密机使用传输加密密钥TEK加密终端主密钥TMK生成主密钥密文Ctmk并将主密钥密文发送至POS终端;
步骤S113、POS终端接收到KMS系统发送的主密钥密文Ctmk后使用传输加密密钥TEK解密主密钥密文Ctmk获得终端主密钥TMK并存储在安全模块中。
其中,所述MTMS系统调用第一硬件加密机产生公钥Pu和私钥Pr,将私钥Pr存储在第一硬件加密机中并将公钥Pu发送至POS终端安全模块中具体包括:
S201、MTMS系统调用第一硬件加密机产生公钥Pu和私钥Pr,将私钥Pr存储在第一硬件加密机中并记录私钥Pr在第一硬件机密机中的索引号,将公钥Pu发给CA中心;
S202、CA中心使用根证书HsmRCRT签名生成工作证书HsmWCRT;
S203、MTMS系统从CA中心获得生成的工作证书HsmWCRT并保存在数据库中;
S204、操作终端从MTMS系统数据库获得工作证书HsmWCRT,并将工作S205、证书HsmWCRT发送至POS终端;
S205、POS终端使用烧片预装的根证书HsmRCRT验证工作证书HsmWCRT的合法性;
S206、验证通过后POS终端从工作证书HsmWCRT提取公钥Pu并保存在安全模块中。
所述“POS终端将第一传输密钥密文Ctk_Pu和终端序列号SN通过操作终端发送至MTMS系统,MTMS系统将接收到的终端序列号SN和第一传输密钥密文Ctk_Pu关联地存储在SN-Key_MTMS数据库中”具体包括:
S301、POS终端将第一传输密钥密文Ctk_Pu和终端序列号SN发给操作终端;
S302、操作终端对接收到的第一传输密钥密文Ctk_Pu和终端序列号SN进行打包并使用操作员卡进行签名,以及将经过签名的第一传输密钥密文Ctk_Pu和终端序列号SN发送至MTMS系统;
S303、MTMS系统校验签名的合法性,如果合法,将终端序列号SN和第一传输密钥密文Ctk_Pu关联地存储在SN-Key_MTMS数据库。
其中,KMS系统获得传输密钥TK后使用认证密钥AUK与POS终端进行双向认证具体包括:
S401、POS终端产生第一随机数Rnd1并将第一随机数Rnd1发送至KMS系统;
S402、KMS系统接收第一随机数Rnd1后产生随机数第二Rnd2,调用第二加密机使用认证密钥AUK加密第一随机数Rnd1获得第一随机数密文Crnd1,将第一随机数密文密文Crnd1和第二随机数Rnd2发送给POS终端;
S403、POS终端使用认证密钥AUK解密接收到的第一随机数密文Crnd1获得第三随机数Rnd1’,判断第三随机数Rnd1’与第一随机数Rnd1是否一致;
S404、如果第三随机数Rnd1’与第一随机数Rnd1一致,POS终端使用认证密钥AUK加密第二随机数Rnd2生成第二随机数密文Crnd2,并将第二随机数密文Crnd2发送给KMS系统;
S405、KMS系统调用第二加密机使用认证密钥AUK解密接收到的第二随机数密文Crnd2获得第四随机数Rnd2’,判断第四随机数Rnd2’与第二随机数Rnd2是否一致;如果第四随机数Rnd2’与第二随机数Rnd2一致,KMS系统与POS终端认证通过。
本发明的密钥管理方法及系统,远程下载主密钥,避免POS终端需要集中下载主密钥后才能布放到商户,减少物流成本和维护成本。远程下载密钥时,KMS系统使用对称算法加密需要传输的密钥,保证只有对应POS终端才能解密加密后的密钥,保证数据传输的高全性。在双向认证的时候,POS终端的应用程序并不能够接触到需要远程下装到POS终端中的明文密钥,只能接触到该密钥的密文形式,从而确保了安全装载。本方案将非对算法和对称算法结合,降低了系统的复杂度。此过程中使用到传输加密密钥和认证密钥,由POS终端产生,通过非对称算法和对称算法方式密文传输到KMS系统中,解密过程均在硬件加密机中进行,保证密钥安全性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。