远程密钥下载方法及系统转让专利

申请号 : CN202010059662.1

文献号 : CN111275440A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 戬非

申请人 : 中钞科堡现金处理技术(北京)有限公司

摘要 :

本发明公开了一种远程密钥下载方法,包括如下步骤:由银行主机与ATM厂商交换银行主机公钥PKHost以及ATM厂商公钥PKSI,并由ATM厂商利用ATM厂商私钥对PKHost进行签名;由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost;由银行主机生成主密钥MK;由银行主机使用PKATM对MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名;由银行主机将加密之后的MK与签名结果发送给密码键盘;密码键盘接收到加密之后的MK与签名结果,由密码键盘首先利用PKHost对签名结果进行验签;验签验成功后,由密码键盘利用密码键盘私钥SKATM对加密之后的MK进行解密以得到MK明文,并保存明文MK。

权利要求 :

1.一种远程密钥下载方法,其特征在于,所述远程密钥下载方法包括如下步骤:由银行主机与ATM厂商交换银行主机公钥PKHost以及ATM厂商公钥PKSI,并由所述ATM厂商利用ATM厂商私钥对PKHost进行签名;

由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost;

由银行主机生成主密钥MK;

由银行主机使用所述PKATM对所述MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名;

由银行主机将加密之后的MK与签名结果发送给所述密码键盘;

所述密码键盘接收到所述加密之后的MK与签名结果,由所述密码键盘首先利用所述PKHost对签名结果进行验签;

验签成功后,由所述密码键盘利用密码键盘私钥SKATM对所述加密之后的MK进行解密以得到MK明文,并保存明文MK。

2.如权利要求1所述的远程密钥下载方法,其特征在于,所述远程密钥下载方法包括如下步骤:由所述ATM厂商为所述密码键盘下载PKSI、PKATM以及SKATM;

由所述ATM厂商利用ATM厂商私钥SKSI对所述PKATM和键盘序列号UIATM进行签名。

3.如权利要求2所述的远程密钥下载方法,其特征在于,由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost具体包括如下步骤:由所述银行主机向所述密码键盘询问ATM标识,其中,所述ATM标识至少包括所述键盘序列号UIATM;

所述密码键盘接收到所述银行主机的询问,由所述密码键盘向所述银行主机发送所述键盘序列号UIATM以及利用SKSI对所述键盘序列号UIATM进行签名的第一签名结果;

由所述银行主机利用PKSI对所述第一签名结果进行验签,并由所述银行主机判断所述键盘序列号UIATM是否在键盘标识列表中;

如果验签通过,并且判断所述键盘序列号UIATM在键盘标识列表中,则由所述银行主机向所述密码键盘询问所述PKATM;

所述密码键盘接收到所述银行主机的询问,由所述密码键盘向所述银行主机发送所述PKATM以及利用SKSI对所述PKATM进行签名的第二签名结果;

由所述银行主机利用PKSI对所述第二签名结果进行验签;

如果验签通过,则由所述银行主机向所述密码键盘发送所述PKHost以及利用SKSI对所述PKHost进行签名的第三签名结果;

由所述密码键盘利用PKSI对所述第三签名结果进行验签。

4.如权利要求3所述的远程密钥下载方法,其特征在于,获得MK具体包括如下步骤:由所述银行主机向所述密码键盘请求随机数RATM;

所述密码键盘接收到所述银行主机的请求,由所述密码键盘生成所述RATM,并将所生成的RATM发送给所述银行主机;

由所述银行主机生成MK,由所述银行主机使用所述PKATM对所述MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名;

由所述银行主机将加密之后的MK、签名结果以及所述RATM发送给所述密码键盘;

所述密码键盘接收到所述加密之后的MK与签名结果,由所述密码键盘首先利用所述PKHost对签名结果进行验签;

如果验签通过,由所述密码键盘判断所接收的RATM是否与所发送的RATM相同;

如果判断所接收的RATM与所发送的RATM相同,则由所述密码键盘利用密码键盘私钥SKATM对所述加密之后的MK进行解密以得到MK明文。

5.一种远程密钥下载系统,其特征在于,所述远程密钥下载系统包括:用于由银行主机与ATM厂商交换银行主机公钥PKHost以及ATM厂商公钥PKSI,并由ATM厂商利用ATM厂商私钥对PKHost进行签名的单元;

用于由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost的单元;

用于由银行主机生成主密钥MK的单元;

用于由银行主机使用所述PKATM对所述MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名的单元;

用于由银行主机将加密之后的MK与签名结果发送给所述密码键盘的单元;

用于响应于接收到所述加密之后的MK与签名结果,由密码键盘首先利用所述PKHost对签名结果进行验签的单元;

用于验签成功后,由密码键盘利用密码键盘私钥SKATM对所述加密之后的MK进行解密以得到MK明文,并保存明文MK的单元。

6.如权利要求5所述的远程密钥下载系统,其特征在于,所述远程密钥下载系统包括:用于由ATM厂商为所述密码键盘下载PKSI、PKATM以及SKATM的单元;

用于由ATM厂商利用ATM厂商私钥SKSI对所述PKATM和键盘序列号UIATM进行签名的单元。

7.如权利要求6所述的远程密钥下载系统,其特征在于,由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost具体包括如下步骤:由所述银行主机向所述密码键盘询问ATM标识,其中,所述ATM标识至少包括所述键盘序列号UIATM;

响应于接收到所述银行主机的询问,由所述密码键盘向所述银行主机发送所述键盘序列号UIATM以及利用SKSI对所述键盘序列号UIATM进行签名的第一签名结果;

由所述银行主机利用PKSI对所述第一签名结果进行验签,并由所述银行主机判断所述键盘序列号UIATM是否在键盘标识列表中;

如果验签通过,并且判断所述键盘序列号UIATM在键盘标识列表中,则由所述银行主机向所述密码键盘询问所述PKATM;

响应于接收到所述银行主机的询问,由所述密码键盘向所述银行主机发送所述PKATM以及利用SKSI对所述PKATM进行签名的第二签名结果;

由所述银行主机利用PKSI对所述第二签名结果进行验签;

如果验签通过,则由所述银行主机向所述密码键盘发送所述PKHost以及利用SKSI对所述PKHost进行签名的第三签名结果;

由所述密码键盘利用PKSI对所述第三签名结果进行验签。

8.如权利要求7所述的远程密钥下载系统,其特征在于,获得MK具体包括如下步骤:由所述银行主机向所述密码键盘请求随机数RATM;

响应于接收到所述银行主机的请求,由所述密码键盘生成所述RATM,并将所生成的RATM发送给所述银行主机;

由所述银行主机生成MK,由所述银行主机使用所述PKATM对所述MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名;

由所述银行主机将加密之后的MK、签名结果以及所述RATM发送给所述密码键盘;

响应于接收到所述加密之后的MK与签名结果,由所述密码键盘首先利用所述PKHost对签名结果进行验签;

如果验签通过,由所述密码键盘判断所接收的RATM是否与所发送的RATM相同;

如果判断所接收的RATM与所发送的RATM相同,则由所述密码键盘利用密码键盘私钥SKATM对所述加密之后的MK进行解密以得到MK明文。

说明书 :

远程密钥下载方法及系统

技术领域

[0001] 本发明是关于金融安全技术领域,特别是关于一种远程密钥下载方法及系统。

背景技术

[0002] 金融行业因为对数据比较敏感,所以对数据的加密也相应的比较重视。当前金融行业使用的密钥加密算法算法为传统的DES加密算法或RSA加密算法。传统的DES(全称为Data Encryption Standard)算法是一种对称算法,其加密和解密均采用同一把密钥,而且通信双方都必须获得这把密钥,并保持钥匙的秘密,EDS加密算法的优点是运算速度快,但是安全性低,容易破解和密钥易泄漏。RSA加密算法是一种非对称加密算法。RSA公开密钥密码体制是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。在公开密钥密码体制中,加密密钥(即公钥)PK是公开信息,而解密密钥(即私钥)SK是需要保密的。它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位,这就使得加密的计算量很大。RSA算法的优点是安全性高,不易破解且私钥不泄漏。但是运算速度慢,仅适用于不经常更新且数据量小的信息,不适于大量信息的加密。
[0003] 因此,为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。
[0004] 公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。

发明内容

[0005] 本发明的目的在于提供一种远程密钥下载方法,其能够实现安全、便捷方便的远程密钥下载方式。
[0006] 本发明的另一目的在于一种远程密钥下载系统。
[0007] 为实现上述目的,本发明提供了一种远程密钥下载方法,包括如下步骤:由银行主机与ATM厂商交换银行主机公钥PKHost以及ATM厂商公钥PKSI,并由ATM厂商利用ATM厂商私钥对PKHost进行签名;由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost;由银行主机生成主密钥MK;由银行主机使用PKATM对MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名;由银行主机将加密之后的MK与签名结果发送给密码键盘;密码键盘响应于接收到加密之后的MK与签名结果,由密码键盘首先利用PKHost对签名结果进行验签;验签成功后,由密码键盘利用密码键盘私钥SKATM对加密之后的MK进行解密以得到MK明文,并保存明文MK。
[0008] 在本发明的一实施方式中,远程密钥下载方法包括如下步骤:由ATM厂商为密码键盘下载PKSI、PKATM以及SKATM;由ATM厂商利用ATM厂商私钥SKSI对PKATM和键盘序列号UIATM进行签名。
[0009] 在本发明的一实施方式中,由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost具体包括如下步骤:由银行主机向密码键盘询问ATM标识,其中,ATM标识至少包括键盘序列号UIATM;密码键盘响应于接收到银行主机的询问,由密码键盘向银行主机发送键盘序列号UIATM以及利用SKSI对键盘序列号UIATM进行签名的第一签名结果;由银行主机利用PKSI对第一签名结果进行验签,并由银行主机判断键盘序列号UIATM是否在键盘标识列表中;如果验签通过,并且判断键盘序列号UIATM在键盘标识列表中,则由银行主机向密码键盘询问PKATM;密码键盘响应于接收到银行主机的询问,由密码键盘向银行主机发送PKATM以及利用SKSI对PKATM进行签名的第二签名结果;由银行主机利用PKSI对第二签名结果进行验签;如果验签通过,则由银行主机向密码键盘发送PKHost以及利用SKSI对PKHost进行签名的第三签名结果;由密码键盘利用PKSI对第三签名结果进行验签。
[0010] 在本发明的一实施方式中,获得MK具体包括如下步骤:由银行主机向密码键盘请求随机数RATM;响应于接收到银行主机的请求,由密码键盘生成RATM,并将所生成的RATM发送给银行主机;由银行主机生成MK,由银行主机使用PKATM对MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名;由银行主机将加密之后的MK、签名结果以及RATM发送给密码键盘;响应于接收到加密之后的MK与签名结果,由密码键盘首先利用PKHost对签名结果进行验签;如果验签通过,由密码键盘判断所接收的RATM是否与所发送的RATM相同;如果判断所接收的RATM与所发送的RATM相同,则由密码键盘利用密码键盘私钥SKATM对加密之后的MK进行解密以得到MK明文。
[0011] 本发明还提供了一种远程密钥下载系统,包括:用于由银行主机与ATM厂商交换银行主机公钥PKHost以及ATM厂商公钥PKSI,并由ATM厂商利用ATM厂商私钥对PKHost进行签名的单元;用于由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost的单元;用于由银行主机生成主密钥MK的单元;用于由银行主机使用PKATM对MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名的单元;用于由银行主机将加密之后的MK与签名结果发送给密码键盘的单元;用于响应于接收到加密之后的MK与签名结果,由密码键盘首先利用PKHost对签名结果进行验签的单元;用于验签成功后,由密码键盘利用密码键盘私钥SKATM对加密之后的MK进行解密以得到MK明文,并保存明文MK的单元。
[0012] 在本发明的一实施方式中,远程密钥下载系统包括:用于由ATM厂商为密码键盘下载PKSI、PKATM以及SKATM的单元;用于由ATM厂商利用ATM厂商私钥SKSI对PKATM和键盘序列号UIATM进行签名的单元。
[0013] 由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost具体包括如下步骤:由银行主机向密码键盘询问ATM标识,其中,ATM标识至少包括键盘序列号UIATM;响应于接收到银行主机的询问,由密码键盘向银行主机发送键盘序列号UIATM以及利用SKSI对键盘序列号UIATM进行签名的第一签名结果;由银行主机利用PKSI对第一签名结果进行验签,并由银行主机判断键盘序列号UIATM是否在键盘标识列表中;如果验签通过,并且判断键盘序列号UIATM在键盘标识列表中,则由银行主机向密码键盘询问PKATM;响应于接收到银行主机的询问,由密码键盘向银行主机发送PKATM以及利用SKSI对PKATM进行签名的第二签名结果;由银行主机利用PKSI对第二签名结果进行验签;如果验签通过,则由银行主机向密码键盘发送PKHost以及利用SKSI对PKHost进行签名的第三签名结果;由密码键盘利用PKSI对第三签名结果进行验签。
[0014] 在本发明的一实施方式中,获得MK具体包括如下步骤:由银行主机向密码键盘请求随机数RATM;响应于接收到银行主机的请求,由密码键盘生成RATM,并将所生成的RATM发送给银行主机;由银行主机生成MK,由银行主机使用PKATM对MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名;由银行主机将加密之后的MK、签名结果以及RATM发送给密码键盘;响应于接收到加密之后的MK与签名结果,由密码键盘首先利用PKHost对签名结果进行验签;如果验签通过,由密码键盘判断所接收的RATM是否与所发送的RATM相同;如果判断所接收的RATM与所发送的RATM相同,则由密码键盘利用密码键盘私钥SKATM对加密之后的MK进行解密以得到MK明文。
[0015] 与现有技术相比,根据本发明的远程密钥下载及系统首先采用RKL过程,余下的WK生成及下载,交易信息的交换与传统对称密钥管理体系相同,RKL过程提供了更加便捷、安全可靠的下载主密钥的方法,将成为今后发展的趋势。

附图说明

[0016] 图1是根据本发明一实施方式的密钥下载方法步骤流程图;
[0017] 图2是根据本发明一实施方式的密钥下载方法原理框图;
[0018] 图3是根据本发明一实施方式的双方交换公钥流程;
[0019] 图4是根据本发明一实施方式的密码键盘初始化流程;
[0020] 图5是根据本发明一实施方式的ATM与host主机交换密钥流程图。
[0021] 图6是根据本发明一实施方式的密钥下载流程。

具体实施方式

[0022] 下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
[0023] 除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
[0024] 实施例1
[0025] 如图1所示,本发明提供了一种远程密钥下载方法,包括如下步骤:步骤101:由银行主机与ATM厂商交换银行主机公钥PKHost以及ATM厂商公钥PKSI,并由ATM厂商利用ATM厂商私钥对PKHost进行签名;步骤102:由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost;步骤103:由银行主机生成主密钥MK;步骤104:由银行主机使用PKATM对MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名;步骤105:由银行主机将加密之后的MK与签名结果发送给密码键盘;步骤106:响应于接收到加密之后的MK与签名结果,由密码键盘首先利用PKHost对签名结果进行验签;步骤107:验签成功后,由密码键盘利用密码键盘私钥SKATM对加密之后的MK进行解密以得到MK明文,并保存明文MK。
[0026] 在本发明的一实施方式中,远程密钥下载方法包括如下步骤:由ATM厂商为密码键盘下载PKSI、PKATM以及SKATM;由ATM厂商利用ATM厂商私钥SKSI对PKATM和键盘序列号UIATM进行签名。
[0027] 在本发明的一实施方式中,由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost具体包括如下步骤:由银行主机向密码键盘询问ATM标识,其中,ATM标识至少包括键盘序列号UIATM;响应于接收到银行主机的询问,由密码键盘向银行主机发送键盘序列号UIATM以及利用SKSI对键盘序列号UIATM进行签名的第一签名结果;由银行主机利用PKSI对第一签名结果进行验签,并由银行主机判断键盘序列号UIATM是否在键盘标识列表中;如果验签通过,并且判断键盘序列号UIATM在键盘标识列表中,则由银行主机向密码键盘询问PKATM;响应于接收到银行主机的询问,由密码键盘向银行主机发送PKATM以及利用SKSI对PKATM进行签名的第二签名结果;由银行主机利用PKSI对第二签名结果进行验签;如果验签通过,则由银行主机向密码键盘发送PKHost以及利用SKSI对PKHost进行签名的第三签名结果;由密码键盘利用PKSI对第三签名结果进行验签。
[0028] 在本发明的一实施方式中,获得MK具体包括如下步骤:由银行主机向密码键盘请求随机数RATM;响应于接收到银行主机的请求,由密码键盘生成RATM,并将所生成的RATM发送给银行主机;由银行主机生成MK,由银行主机使用PKATM对MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名;由银行主机将加密之后的MK、签名结果以及RATM发送给密码键盘;响应于接收到加密之后的MK与签名结果,由密码键盘首先利用PKHost对签名结果进行验签;如果验签通过,由密码键盘判断所接收的RATM是否与所发送的RATM相同;如果判断所接收的RATM与所发送的RATM相同,则由密码键盘利用密码键盘私钥SKATM对加密之后的MK进行解密以得到MK明文。
[0029] 实施例2
[0030] 如图2所示,本发明采用RKL过程具体为:
[0031] 1)在初始阶段,各方拥有如下密钥对:
[0032] 银行主机:PKHost、SKHost
[0033] ATM厂商:PKSI、SKSI
[0034] ATM(EPP):PKATM、SKATM
[0035] 2)初始阶段,双发以电子邮件、纸质信封等形式,交换PKHost、PKSI、用SKSI对PKHost的签名。
[0036] 3)ATM开通使用阶段,为了下载3DES/SM4主密钥MK,双方先交换RSA公钥,即:PKHost、PKATM。
[0037] 4)主机产生3DES密钥MK,先用密码键盘的公钥加密,再用自己私钥去签名,最后把MK密文和签名结果发给密码键盘
[0038] 5)密码键盘收到MK密文和签名结果后,先用主机的公钥验签,通过后再用自己的私钥去解密MK密文得到MK明文,保存MK。
[0039] 上面的过程就是RKL过程,余下的WK生成及下载,交易信息的交换与传统对称密钥管理体系相同,RKL提供了更加便捷、安全可靠的下载主密钥的方法,让银行能够方便的更新主密钥,将成为今后发展的趋势。
[0040] 需要说明的是,RKL有两种具体实现方案:一个是基于签名Signature协议,另一个是认证Certificate协议。
[0041] 下面结合具体实例来Signature协议的RKL对发明进行进一步说明,但并不将本发明局限于这些具体实施方式。
[0042] 具体地,根据本发明的远程密钥下载方法包括如下步骤:
[0043] 1、项目初始阶段:
[0044] 银行在安装ATM时,需要向厂商提供ATM厂商公钥,厂商用私钥对银行的公钥签名,该签名连同厂商公钥一起返回给银行(这一通信过程一般都通过信函方式确保信息的可靠性)。
[0045] 银行主机拥有密钥:PKHost、SKHost;
[0046] ATM厂商拥有密钥:PKSI、SKSI;
[0047] 由银行主机与ATM厂商交换银行主机公钥PKHost以及ATM厂商公钥PKSI,如图3所示双方交换公钥流程。
[0048] 2、密码键盘出厂前需要下载RSA密钥:
[0049] 由ATM厂商为密码键盘下载PKSI、PKATM以及SKATM;由ATM厂商利用ATM厂商私钥SKSI对PKATM和键盘序列号UIATM进行签名。如图5所示。
[0050] 3、ATM开通时,与host主机交换公钥:
[0051] ATM与host主机交换密钥流程如图5所示,交换公钥是进行下载主密钥的基础,ATM安装后至少要执行一次。按下列流程进行:
[0052] 1)主机向密码键盘询问ATM标识(密码键盘的型号+序列号)
[0053] WFS_CMD_PIN_EXPORT_RSA_ISSUER_SIGNED_ITEM,参数取值:WFS_PIN_EXPORT_EPP_ID
[0054] 2)密码键盘返回密码键盘标识及签名(用厂商私钥签的),主机用厂商公钥验签,并查询键盘标识列表,若验签通过且该键盘标识在列表中存在,继续下一步,否则失败退出。
[0055] 3)主机向密码键盘询问密码键盘公钥
[0056] WFS_CMD_PIN_EXPORT_RSA_ISSUER_SIGNED_ITEM,参数取值:WFS_PIN_EXPORT_PUBLIC_KEY
[0057] 4)密码键盘返回密码键盘公钥及签名(用厂商私钥签的),主机用厂商公钥验签,若验签通过,继续下一步,否则失败退出。
[0058] 5)主机向密码键盘传送其公钥和签名(用厂商私钥签的),密码键盘用厂商公钥验签,若验签通过,继续下一步,否则失败退出。
[0059] 4、下载主密钥:
[0060] 密钥下载流程如图6所示。按下面流程进行:
[0061] 1)主机向密码键盘请求随机数RATM
[0062] WFS_CMD_PIN_START_KEY_EXCHANGE
[0063] 2)密码键盘产生随机数RATM,返回给主机
[0064] 3)主机生成中主密钥Km,用密码键盘公钥加密后得Cryptdata,连接IATM得keyVal,用自己的私钥对keyVal签名得signData,然后把keyVal和signData一起发给密码键盘。
[0065] WFS_CMD_PIN_IMPORT_RSA_SIGNED_DES_KEY
[0066] 4)密码键盘先用主机公钥验签签名,通过后再对比随机数是否和刚才生成的一致,然后用自己的私钥解密Cryptdata,得到主密钥明文Km,保存Km。
[0067] 输入参数按下面方法生成:
[0068] 令PlaintextDesKey=11 22 33 44 55 66 77 88 aa bb cc dd ee ff 01 02,这是要下载的主密钥MK1明文
[0069] 把上面的PlaintextDesKey用密码键盘的公钥加密,得到256字节的密文keyValue。密码键盘公钥由调用exportRSAPublicKey得到。
[0070] 把步骤上述结果keyValue(若使用随机数前面还要增加8字节的随机数)用模拟主机的私钥去签名,得到256字节的Signature。
[0071] 实施例3
[0072] 本发明还提供了一种远程密钥下载系统,包括:用于由银行主机与ATM厂商交换银行主机公钥PKHost以及ATM厂商公钥PKSI,并由ATM厂商利用ATM厂商私钥对PKHost进行签名的单元;用于由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost的单元;用于由银行主机生成主密钥MK的单元;用于由银行主机使用PKATM对MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名的单元;用于由银行主机将加密之后的MK与签名结果发送给密码键盘的单元;用于响应于接收到加密之后的MK与签名结果,由密码键盘首先利用PKHost对签名结果进行验签的单元;用于验签成功后,由密码键盘利用密码键盘私钥SKATM对加密之后的MK进行解密以得到MK明文,并保存明文MK的单元。
[0073] 在本发明的一实施方式中,远程密钥下载系统包括:用于由ATM厂商为密码键盘下载PKSI、PKATM以及SKATM的单元;用于由ATM厂商利用ATM厂商私钥SKSI对PKATM和键盘序列号UIATM进行签名的单元。
[0074] 在本发明的一实施方式中,由银行主机与ATM密码键盘交换密码键盘公钥PKATM以及银行主机公钥PKHost具体包括如下步骤:由银行主机向密码键盘询问ATM标识,其中,ATM标识至少包括键盘序列号UIATM;响应于接收到银行主机的询问,由密码键盘向银行主机发送键盘序列号UIATM以及利用SKSI对键盘序列号UIATM进行签名的第一签名结果;由银行主机利用PKSI对第一签名结果进行验签,并由银行主机判断键盘序列号UIATM是否在键盘标识列表中;如果验签通过,并且判断键盘序列号UIATM在键盘标识列表中,则由银行主机向密码键盘询问PKATM;响应于接收到银行主机的询问,由密码键盘向银行主机发送PKATM以及利用SKSI对PKATM进行签名的第二签名结果;由银行主机利用PKSI对第二签名结果进行验签;如果验签通过,则由银行主机向密码键盘发送PKHost以及利用SKSI对PKHost进行签名的第三签名结果;由密码键盘利用PKSI对第三签名结果进行验签。
[0075] 在本发明的一实施方式中,获得MK具体包括如下步骤:由银行主机向密码键盘请求随机数RATM;响应于接收到银行主机的请求,由密码键盘生成RATM,并将所生成的RATM发送给银行主机;由银行主机生成MK,由银行主机使用PKATM对MK加密,同时用银行主机私钥SKHost对加密之后的MK进行签名;由银行主机将加密之后的MK、签名结果以及RATM发送给密码键盘;响应于接收到加密之后的MK与签名结果,由密码键盘首先利用PKHost对签名结果进行验签;如果验签通过,由密码键盘判断所接收的RATM是否与所发送的RATM相同;如果判断所接收的RATM与所发送的RATM相同,则由密码键盘利用密码键盘私钥SKATM对所述加密之后的MK进行解密以得到MK明文。
[0076] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0077] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0078] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0079] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0080] 前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。