CN108199847A - 数字安全处理方法、计算机设备及存储介质 - Google Patents
数字安全处理方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN108199847A CN108199847A CN201711481208.XA CN201711481208A CN108199847A CN 108199847 A CN108199847 A CN 108199847A CN 201711481208 A CN201711481208 A CN 201711481208A CN 108199847 A CN108199847 A CN 108199847A
- Authority
- CN
- China
- Prior art keywords
- client
- key
- parameter
- server
- private key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
一种数字安全处理方法、设备和介质,一实施例的方法包括:接收客户端发送的数字签名请求;向客户端返回数字签名响应,携带第二、第三客户端密钥生成参数;接收客户端返回的第二用户授权信息,携带客户端基于第二、第三客户端密钥生成参数分别生成的第二、第三客户端密钥;基于第二、第三客户端密钥和第二、第三服务端密钥生成参数分别生成第二、第三服务端密钥;用第二服务端密钥解密存储的第二私钥密文加密结果获得私钥密文,用私钥密文对待签名数据签名获得数字签名结果;用第三服务端密钥加密私钥密文获得第三私钥密文加密结果,将第三客户端密钥生成参数、第三服务端密钥生成参数及第三私钥密文加密结果关联存储。本实施例方案提高了安全性。
Description
技术领域
本发明涉及密码学技术领域,特别是涉及一种数字安全处理方法、计算机设备和计算机存储介质。
背景技术
随着互联网技术的发展以及电子政务电子商务的崛起,网上银行、网上办公、网上购物等业务已经逐步进入大众的生活,并不断迅速地变化和发展。在涉及很多的关键性业务操作和敏感信息的传送时,通常使用数字签名技术,实现对数据的完整性验证、防篡改以及抗抵赖等安全保护。传统互联网中的蓝牙、音码和NFC(近距离无线通讯技术)等智能密码钥匙、智能IC卡设备,虽然理论上可用于移动互联网设备,但受限于型号种类繁多、兼容性差,个人携带和使用繁琐,导致用户体验很差,并没有推广开。将PKI(公钥基础设施)技术和商用密码芯片与可穿戴设备结合,虽然可以减少个人携带的不便性,但是在使用时,仍然会面临兼容适配、操作步骤繁多的问题。
发明内容
基于此,本申请实施例的目的在于提供一种数字安全处理方法、计算机设备和计算机存储介质。
一种数字安全处理方法,包括步骤:
向服务端发送数字签名请求;
接收所述服务端基于所述数字签名请求返回的数字签名响应,所述数字签名响应携带第二客户端密钥生成参数和第三客户端密钥生成参数;
基于所述第二客户端密钥生成参数生成第二客户端密钥,基于所述第三客户端密钥生成参数生成第三客户端密钥,并向所述服务端发送第二用户授权信息,所述第二用户授权信息携带所述第二客户端密钥、所述第三客户端密钥;
接收所述服务端返回的数字签名结果。
一种数字安全处理方法,包括步骤:
接收客户端发送的数字签名请求;
向所述客户端返回数字签名响应,所述数字签名响应携带第二客户端密钥生成参数和第三客户端密钥生成参数;
接收所述客户端返回的第二用户授权信息,所述第二用户授权信息携带所述客户端基于所述第二客户端密钥生成参数生成的第二客户端密钥、基于所述第三客户端密钥生成参数生成的第三客户端密钥;
基于所述第二客户端密钥和第二服务端密钥生成参数生成第二服务端密钥、所述第三客户端密钥和第三服务端密钥生成参数生成第三服务端密钥;
利用所述第二服务端密钥解密存储的第二私钥密文加密结果,获得私钥密文,并用该私钥密文对待签名数据进行签名,获得数字签名结果;
利用所述第三服务端密钥加密所述私钥密文,获得第三私钥密文加密结果,并将所述第三客户端密钥生成参数、所述第三服务端密钥生成参数以及所述第三私钥密文加密结果关联存储。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。
基于如上所述的实施例的方案,将签名的私钥托管在服务端,且在每一次进行签名时,基于服务端托管的私钥密文,客户端与服务端协同完成签名,且在每一次完成签名的基础上,客户端进一步生成新的客户端密钥,服务端进一步基于该新的客户端密钥和服务端密钥生成新的私钥密文加密结果,据此实现对存储的私钥密文加密结果的更新,使得每一次进行签名时都需要客户端的用户的参与且每次使用的私钥密文加密结果都不一样,可以防止服务端后台人员保留私钥密文来冒充用户签名,从而进一步提高了数字安全处理的安全性。
附图说明
图1为一个本实施例方案的应用环境的示意图;
图2为一个实施例中的数字安全处理方法的流程示意图;
图3为一个具体示例中的数字安全处理方法的流程示意图;
图4为另一个实施例中的数字安全处理方法的流程示意图;
图5为一个具体示例中的数字安全处理方法的流程示意图;
图6是一个具体示例中的数字安全处理的交互流程示意图;
图7是另一个具体示例中的数字安全处理方法的流程示意图;
图8是一个实施例中的计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中本申请方案涉及的应用环境的示意图,参照图1,本实施例的方案涉及终端101、服务端102,还涉及密码机103,终端101与服务端102通过网络连接,密码机103仅与服务端102连接,在一些实施例中,密码机103也可以设置为服务端102的一部分。终端101具体可以是台式终端、移动终端以及其他的可以或者需要将私钥托管到服务端102的设备,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种,服务端120可以用独立的服务器或者多个服务器组成的服务器集群实现。在本申请方案中,终端101与用户和服务端102进行交互,实现用户信息的输入,与服务端102一起实现用户与私钥密文的绑定及用户对私钥密文的授权使用。而服务端与终端101和密码机103交互,实现用户私钥的保存和管理,实现用户与私钥密文的绑定及用户对私钥密文的授权使用。其中,该服务端可拥有权威机构颁发的证书和私钥。而密码机103是用以生成加密后的私钥密文并导出、导入加密后的私钥密文进行签名,其只能与服务端102进行通信。
图2示出了一个实施例中的数字安全处理方法的流程示意图,该实施例中的方法应用于上述图1中的终端101或者设置在终端101上的客户端。参照图2,该实施例中的数字安全处理方法包括如下步骤S201至步骤S204。
步骤S201:向服务端发送数字签名请求。
终端101可以在任何需要进行签名的时刻向服务端发送该数字签名请求。数字签名请求中可以携带终端的用户的相关用户信息,还可以携带待签名数据,本申请的实施例不对用户信息以及待签名数据的具体类型和内容进行限定。
步骤S202:接收所述服务端基于所述数字签名请求返回的数字签名响应,所述数字签名响应携带第二客户端密钥生成参数和第三客户端密钥生成参数。
该第二客户端密钥生成参数和第三客户端密钥生成参数可以是任何终端101可用以生成客户端密钥的参数。在一个具体示例中,该第二客户端密钥生成参数和第三客户端密钥生成参数均可以是随机生成的随机数。
在一个实施例中,该数字签名响应中还可以携带验证参数(本实施例中称为第三验证参数),该第三验证参数用以供终端101的用户进行输入,以便于下一步服务端102接收到终端101发送的信息时,能够进行验证。该第三验证参数可以是任何可以进行验证的参数,如随机生成的随机数,该随机数的形式可以不限,可以是随机生成的数字、汉字、字符串或者其组合等任何可能的形式。
步骤S203:基于所述第二客户端密钥生成参数生成第二客户端密钥,基于所述第三客户端密钥生成参数生成第三客户端密钥,并向所述服务端发送第二用户授权信息,所述第二用户授权信息携带所述第二客户端密钥、所述第三客户端密钥。
基于第二客户端密钥生成参数生成第二客户端密钥、基于第三客户端密钥生成参数生成第三客户端密钥的方式不限,例如可以用密钥推导函数KDF、哈希函数等来生成第二客户端密钥、第三客户端密钥。
在一个具体示例中,在基于第二客户端密钥生成参数生成第二客户端密钥、基于第三客户端密钥生成参数生成第三客户端密钥之前,还可以包括步骤:获取用户识别码。该用户识别码可以是终端101的PIN码(Personal Identification Number,个人识别密码),该PIN码可以是由终端101的用户输入。
在此情况下,在上述基于第二客户端密钥生成参数生成第二客户端密钥,基于第三客户端密钥生成参数生成第三客户端密钥时,可以采用下述方式进行:基于所述第二客户端密钥生成参数和所述用户识别码生成第二客户端密钥,基于所述第三客户端密钥生成参数和所述用户识别码生成第三客户端密钥。从而结合用户识别码的参与,使得生成的第二客户端密钥、第三客户端密钥有客户端的用户的直接参与,以进一步确保每一次签名过程都有客户端用户的参与。
在一个实施例中,在上述数字签名响应中还包括第三验证参数一致的情况下,在向所述服务端发送第二用户授权信息之前,还可以包括步骤:获取用户输入的第四验证参数。此时,上述第二用户授权信息中,还携带该第四验证参数。在终端用户输入正确的情况下,该第四验证参数应当与上述第三验证参数相同。
在另一个实施例中,在上述向服务端发送第二用户授权信息之前,还可以包括步骤:采用服务端证书公钥对所述第二用户授权信息进行加密。从而以进一步提高安全性。
步骤S204:接收所述服务端返回的数字签名结果。
可以理解,该数字签名结果可以是基于服务端存储的私钥密文对待签名数据进行签名得到的数字签名结果。
基于本实施例方案,在执行签名的过程中,客户端从服务端获得两个客户端密钥生成参数,并向服务端返回两个客户端密钥,从而服务端在基于其中一个客户端密钥解密出私钥密文的情况下,还可以基于另一个客户端密钥生成新的私钥密文加密结果,据此实现对存储的私钥密文加密结果的更新,使得每一次进行签名时都需要客户端的用户的参与且每次使用的私钥密文加密结果都不一样,可以防止服务端后台人员保留私钥密文加密结果来冒充用户签名,从而进一步提高了数字安全处理的安全性。
在一个具体示例中,本实施例中的方法还可以包括如图3所示的步骤S301至步骤S303。
步骤S301:向所述服务端发送私钥托管请求。
客户端可以在任何需要进行私钥托管时向服务端发送该私钥托管请求,该私钥托管请求中可以携带终端101的用户的相关用户信息,本实施例中不对用户信息的具体类型和内容进行限定。
步骤S302:接收所述服务端返回的私钥托管响应,所述私钥托管响应携带第一客户端密钥生成参数。
该第一客户端密钥生成参数可以是任何终端101可用以生成客户端密钥的参数。在一个具体示例中,该第一客户端密钥生成参数均可以是随机生成的随机数。
在一个实施例中,该私钥托管响应中还可以携带验证参数(本实施例中称为第一验证参数),该第一验证参数用以供终端101的用户进行输入,以便于下一步服务端102接收到终端101发送的信息时,能够进行验证。该第一验证参数可以是任何可以进行验证的参数,如随机生成的随机数,该随机数的形式可以不限,可以是随机生成的数字、汉字、字符串或者其组合任何可能的形式。
步骤S303:基于所述第一客户端密钥生成参数生成第一客户端密钥,并向服务端发送第一用户授权信息,所述第一用户授权信息携带所述第一客户端密钥。
基于第一客户端密钥生成参数生成第一客户端密钥的方式不限,例如可以用密钥推导函数KDF、哈希函数等来生成第一客户端密钥。
在一个具体示例中,在基于第一客户端密钥生成参数生成第一客户端密钥之前,还可以包括步骤:获取用户识别码。该用户识别码可以是终端101的PIN码,该PIN码可以是由终端101的用户输入。
在此情况下,在上述基于第一客户端密钥生成参数生成第一客户端密钥时,可以采用下述方式进行:基于所述第一客户端密钥生成参数和所述用户识别码生成第一客户端密钥。从而结合用户识别码的参与,使得生成的第一客户端密钥有客户端的用户的直接参与。
在一个实施例中,在上述私钥托管响应中还包括第一验证参数一致的情况下,在向所述服务端发送第一用户授权信息之前,还可以包括步骤:获取用户输入的第二验证参数。此时,上述第一用户授权信息中,还携带该第二验证参数。在终端用户输入正确的情况下,该第二验证参数应当与上述第一验证参数相同。
在另一个实施例中,在上述向服务端发送第一用户授权信息之前,还可以包括步骤:采用服务端证书公钥对所述第一用户授权信息进行加密。从而以进一步提高安全性。
图4示出了另一个实施例的数字安全处理方法的流程示意图,该实施例是以图1中所示的服务端102的处理过程为例进行说明。如图3所示,该实施例中的方法包括步骤S401至步骤S406。
步骤S401:接收客户端发送的数字签名请求。
终端101上的客户端可以在任何需要进行数字签名的时刻向服务端发送该数字签名请求。数字签名请求中可以携带终端的用户的相关用户信息,还可以携带待签名数据,本申请的实施例不对用户信息以及待签名数据的具体类型和内容进行限定。
步骤S402:向所述客户端返回数字签名响应,所述数字签名响应携带第二客户端密钥生成参数和第三客户端密钥生成参数。
该第二客户端密钥生成参数和第三客户端密钥生成参数可以是任何终端101可用以生成客户端密钥的参数。在一个具体示例中,该第二客户端密钥生成参数和第三客户端密钥生成参数均可以是随机生成的随机数。
在一个实施例中,该数字签名响应中还可以携带验证参数(本实施例中称为第三验证参数),该第三验证参数用以供终端101的用户进行输入,以便于下一步服务端102接收到终端101发送的信息时,能够进行验证。该第三验证参数可以是任何可以进行验证的参数,如随机生成的随机数,该随机数的形式可以不限,可以是随机生成的数字、汉字、字符串或者其组合等任何可能的形式。
步骤S403:接收所述客户端返回的第二用户授权信息,所述第二用户授权信息携带所述客户端基于所述第二客户端密钥生成参数生成的第二客户端密钥、基于所述第三客户端密钥生成参数生成的第三客户端密钥。
终端101上的客户端可采用任何可能的方式来基于第二客户端密钥生成参数生成第二客户端密钥、基于第三客户端密钥生成参数生成第三客户端密钥,如以用密钥推导函数KDF、哈希函数等。在一个具体示例中,可以是基于第二客户端密钥生成参数和用户识别码生成第二客户端密钥,基于第三客户端密钥生成参数和所述用户识别码生成第三客户端密钥。该用户识别码可以是终端101的PIN码,该PIN码可以是自行从终端101获取,可以是由终端101的用户输入。
在一个实施例中,在上述数字签名响应中还包括第三验证参数一致的情况下,,上述第二用户授权信息中,还携带用户输入的第四验证参数。在终端用户输入正确的情况下,该第四验证参数应当与上述第三验证参数相同。
因此,在此情况下,在进入下一步骤S404之前,还可以包括步骤:验证所述第四验证参数与第三验证参数的一致性。并在验证第四验证参数与第三验证参数一致的情况下,再进入下一步骤S404,否则向客户端返回失败信息或者直接退出当前的数字签名流程。
在一个示例中,在客户端有采用服务端证书公钥对所述第二用户授权信息进行加密的情况下,在接收到第二用户授权信息之后,进入下一步骤的处理过程(如步骤S404)之前,还可以包括步骤:采用服务端证书私钥对所述第二用户授权信息进行解密。
步骤S404:基于所述第二客户端密钥和第二服务端密钥生成参数生成第二服务端密钥,基于所述第三客户端密钥和第三服务端密钥生成参数生成第三服务端密钥。
服务端基于第二客户端密钥和第二服务端密钥生成参数生成第二服务端密钥、基于第三客户端密钥和第三服务端密钥生成参数生成第三服务端密钥的方式不限,例如可以用密钥推导函数KDF、哈希函数等生成。
步骤S405:利用所述第二服务端密钥解密存储的第二私钥密文加密结果,获得私钥密文,并用该私钥密文对待签名数据进行签名,获得数字签名结果。
其中,这里的第二私钥密文加密结果,在没有执行任何一次签名过程的情况下,可以是上述私钥托管申请成功时生成的私钥密文加密结果。在有执行过数字签名过程的情况下,可以则是上一次数字签名成功后更新存储的私钥密文加密结果。
在一个实施例中,用私钥密文对待签名数据进行签名,获得数字签名结果的方式可以包括:
向密码机发送加密请求,加密请求携带所述待签名数据和所述私钥密文;该待签名数据可以是携带在上述数字签名请求中,由客户端发送给服务端,服务端也可以是通过其他的方式得到该待签名数据;
接收所述密码机返回的采用所述私钥密文对所述待签名数据进行签名获得的数字签名结果。
步骤S406:利用所述第三服务端密钥加密所述私钥密文,获得第三私钥密文加密结果,并将所述第三客户端密钥生成参数、所述第三服务端密钥生成参数以及所述第三私钥密文加密结果关联存储。
该私钥密文可以是对第二私钥密文加密结果解析得到的私钥密文。
其中,这里的对第三客户端密钥生成参数、第三服务端密钥生成参数以及第三私钥密文加密结果的关联存储,可以是对服务端已经存储的第二客户端密钥生成参数、第二服务端密钥生成参数以及第二私钥密文加密结果的更新。即服务端不再存储第二客户端密钥生成参数、第二服务端密钥生成参数以及第二私钥密文加密结果,而是存储关联的第三客户端密钥生成参数、第三服务端密钥生成参数以及第三私钥密文加密结果,从而确保在每一次数字签名之后,服务端总是基于终端的用户的参与生成新的私钥密文加密结果,确保服务端每次进行签名时所使用的私钥密文加密结果都不一样,可以防止服务端后台人员保留私钥密文加密结果来冒充用户签名,进一步提高数字安全处理的安全性。
在一个实施例中,本实施例的方法还可以包括如图5所示的步骤S501至步骤S504。
步骤S501:接收所述客户端发送的私钥托管请求。
客户端可以在任何需要进行私钥托管时向服务端发送该私钥托管请求,该私钥托管请求中可以携带终端101的用户的相关用户信息,本实施例中不对用户信息的具体类型和内容进行限定。
步骤S502:向所述客户端返回的私钥托管响应,所述私钥托管响应携带第一客户端密钥生成参数。
该第一客户端密钥生成参数可以是任何终端101可用以生成客户端密钥的参数。在一个具体示例中,该第一客户端密钥生成参数均可以是随机生成的随机数。
在一个实施例中,该私钥托管响应中还可以携带验证参数(本实施例中称为第一验证参数),该第一验证参数用以供终端101的用户进行输入,以便于下一步服务端102接收到终端101发送的信息时,能够进行验证。该第一验证参数可以是任何可以进行验证的参数,如随机生成的随机数,该随机数的形式可以不限,可以是随机生成的数字、汉字、字符串或者其组合任何可能的形式。
步骤S503:接收所述客户端返回的第一用户授权信息,所述第一用户授权信息携带所述客户端基于所述第一客户端密钥生成参数生成的第一客户端密钥。
客户端基于第一客户端密钥生成参数生成第一客户端密钥的方式不限,例如可以用密钥推导函数KDF、哈希函数等来生成第一客户端密钥。
在一个具体示例中,客户端在基于第一客户端密钥生成参数生成第一客户端密钥时,可以是基于第一客户端密钥生成参数和用户识别码生成第一客户端密钥。该用户识别码可以是终端101的PIN码,该PIN码可以是由终端101的用户输入。从而结合用户识别码的参与,使得生成的第一客户端密钥有客户端的用户的直接参与。
在一个实施例中,在上述私钥托管响应中还包括第一验证参数一致的情况下,,上述第一用户授权信息中,还携带用户输入的第二验证参数。在终端用户输入正确的情况下,该第二验证参数应当与上述第一验证参数相同。
因此,在此情况下,在进入下一步骤S504之前,还可以包括步骤:验证所述第二验证参数与第一验证参数的一致性。并在验证第二验证参数与第一验证参数一致的情况下,再进入下一步骤S504,否则向客户端返回失败信息或者直接退出当前的私钥托管申请流程。
在一个示例中,在客户端有采用服务端证书公钥对所述第一用户授权信息进行加密的情况下,在接收到第一用户授权信息之后,进入下一步骤的处理过程(如步骤S504)之前,还可以包括步骤:采用服务端证书私钥对所述第一用户授权信息进行解密。
步骤S504:获取私钥密文,基于所述第一客户端密钥和第一服务端密钥生成参数生成第一服务端密钥,利用所述第一服务端密钥加密所述私钥密文,获得第一私钥密文加密结果。
在一个实施例中,获取私钥密文的方式可以包括:
向密码机发送私钥密文获取请求;
接收所述密码机基于所述私钥密文获取请求返回的私钥密文。
在获得第一私钥密文加密结果后,可以将第一客户端密钥生成参数、第一服务端密钥生成参数以及第一私钥密文加密结果进行关联存储,以用于后续的数字签名处理过程。
基于如上所述的实施例,可以确定,本申请的实施例将终端用户的签名私钥托管在服务端中,需要进行数字签名时把待签名数据发送到服务端,由服务端完成数字签名后把签名值返回给用户,从而实现数字签名。其中,进行签名的私钥可以由服务端的密码机生成并导出,且导出私钥可以为私钥密文,由密码机内部的私钥加密,以提高安全性。对于私钥密文,服务端再次使用用户识别码(PIN码)和客户端基于密钥生成参数推导出的客户端密钥进行加密,且每进行一次签名操作,都重新加密一次私钥密文,确保只有用户的参与,才能完成签名,提高了数字安全处理的安全性。
基于如上所述的实施例,以下结合其中两个具体示例进行详细举例说明。本申请涉及的方案在一个具体示例的技术实现过程中,涉及两个数字安全处理过程:托管私钥申请和托管私钥签名,以下结合这两个过程进行举例说明。
图6示出了一个具体示例中的数字安全处理的交互流程示意图,该具体示例中是以托管私钥申请的处理过程为例进行说明。
结合图6所示,在一个具体的申请服务端托管私钥的过程中,终端101的用户先打开终端101的客户端,并通过点击客户端上的相关按钮、控件等发出托管私钥申请指令,客户端在接收到该托管私钥申请指令后,向服务端发送私钥托管请求。该私钥托管请求中可以携带终端101的用户的相关用户信息,本实施例中不对用户信息的具体类型和内容进行限定。
服务端接收到私钥托管请求后,生成第一验证参数(可以是随机数)r1、第一客户端密钥生成参数(可以是随机数)r2以及第一服务端密钥生成参数(可以是随机数)r3。然后,服务端向客户端返回私钥托管响应,该私钥托管响应中包含第一验证参数r1和第一客户端密钥生成参数r2。
客户端接收到私钥托管响应后,可将第一验证参数r1进行显示,并提示用户输入验证参数r1和用户识别码(PIN码)。客户端的用户可基于该提示输入验证参数r1和PIN码。
随后,客户端基于第一客户端密钥生成参数r2和PIN码,计算出第一客户端密钥A:A=f1(PIN,r2),其中,函数f1可以是任何可用以生成密钥的函数,如密钥推导函数KDF、哈希函数等。
客户端利用服务端数字证书,对用户输入的第二验证参数r1′和第一客户端密钥A进行加密,得到加密后结果B。然后向服务端发送第一用户授权信息,该用户授权信息包含该加密后结果B。
服务端接收到该第一用户授权信息后,利用服务端证书私钥解密加密后结果B,得到解密后的第二验证参数r1′和解密后的客户端密钥A′。
解密后,服务端先对比解密后的第二验证参数r1′与本地存储的第一验证参数r1是否一致,如果不一致,则返回错误结果,如果一致则向密码机发送私钥密文获取请求,并接收密码机返回的私钥密文D。
然后,服务端根据解密后的第一客户端密钥A′和第一服务端密钥生成参数r3,计算出第一服务端密钥C:C=f2(A′,r3),其中,函数f2()可以是任何可以用以生成密钥的函数,如密钥推导函数KDF、哈希函数等。服务端生成服务端密钥的函数f2()与客户端生成客户端密钥的函数f1()可以是相同的函数,也可以是不同的函数。
随后,服务端利用第一服务端密钥C加密私钥密文D,得到第一私钥密文加密结果E,加密时可以采用任何可能的加密算法,如AES(Advanced Encryption Standard,高级加密标准)/DES(Data Encryption Algorithm,数据加密算法)/3DES(三重数据加密算法)/SM4(一种国密算法)等等,本实施例不做具体限定。
在获得第一私钥密文加密结果E后,服务端将客户端密钥生成参数r2、服务端密钥生成参数r3以及私钥密文加密结果E关联存储。并向客户端返回私钥托管结果,该私钥托管结果可以是成功托管了私钥的信息。
在服务端102成功托管了客户端101的私钥之后,后续终端101在需要进行签名时,可由服务端101基于托管的私钥进行数字签名。图7中示出了一个具体示例中的数字安全处理方法的交互流程示意图,该实施例中是以进行数字签名的交互处理过程为例进行说明。
如图7所示,在一个具体的进行数字签名的过程中,终端101的用户先打开终端101的客户端,并通过点击客户端上的相关按钮、控件等发出签名指令。客户端在接收到该签名指令后,向服务端发送数字签名请求,该数字签名请求中可以携带终端101的用户的相关用户信息,还可以携带待签名数据,本申请的实施例不对用户信息以及待签名数据的具体类型和内容进行限定。
服务端接收到该数字签名请求后,读取出存储的第二客户端密钥生成参数、第二服务端密钥生成参数以及第二私钥密文加密结果,在未执行过任何一次数字签名的情况下,该存储的第二客户端密钥生成参数、第二服务端密钥生成参数以及第二私钥密文加密结果为上述申请私钥托管的过程中存储的第一客户端密钥生成参数r2、第一服务端密钥生成参数r3和第一私钥密文加密结果E1。
随后,服务端生成新的第三验证参数r4、新的第三客户端密钥生成参数r5以及新的服务端密钥生成参数r6。然后,服务端向客户端返回数字签名响应,该数字签名响应中携带有第二客户端密钥生成参数r2、第三验证参数r4以及第三客户端密钥生成参数r5。
客户端接收到数字签名响应后,可将第三验证参数r4进行显示,并提示用户输入验证参数r4和用户识别码(PIN码)。客户端的用户可基于该提示输入验证参数r4和PIN码。
随后,客户端根据第二客户端密钥生成参数r2和PIN码,计算出第二客户端密钥A1:A1=f1(PIN,r2),其中,函数f1()可以是任何可用以生成密钥的函数,如密钥推导函数KDF、哈希函数等。
此外,客户端还根据第三客户端密钥生成参数r5和PIN码,计算出第三客户端密钥A2:A2=f1(PIN,r5),函数f1()可以是任何可用以生成密钥的函数,如密钥推导函数KDF、哈希函数等。
随后,客户端利用服务端数字证书,对用户输入的第四验证参数r4′、第二客户端密钥A1和第三客户端密钥A2进行加密,得到加密后结果B。然后向服务端发送第二用户授权信息,该第二用户授权信息携带该加密后结果B。
服务端接收到该第二用户授权信息后,利用服务端证书私钥解密加密后结果B,得到解密后的第四验证参数r4′、解密后的第二客户端密钥A1′和解密后的第三客户端密钥A2′;
解密后,服务端先对比解密后的第四验证参数r4′与本地存储的第三验证参数r4是否一致,如果不一致,则返回错误结果,如果一致则根据第二客户端密钥A1′和存储的第二服务端密钥生成参数r3,计算出第二服务端密钥C1:C1=f2(A1′,r3),函数f2()可以是任何可以用以生成密钥的函数,如密钥推导函数KDF、哈希函数等。服务端生成服务端密钥的函数f2()与客户端生成客户端密钥的函数f1()可以是相同的函数,也可以是不同的函数。
随后,服务端利用生成的第二服务端密钥C1解密存储的第二私钥密文加密结果E1,得到私钥密文D′,可以理解,进行解密的解密算法与对私钥密文进行加密的加密算法应当保持一致。
获得解密后的私钥密文D′后,服务端端基于解密后的私钥密文D′对待签名数据进行签名,获得数字签名结果。一个具体示例中可以结合密码机来完成签名过程,具体可以是:服务端向密码机发送加密请求,加密请求携带待签名数据和私钥密文D′,由密码机采用该私钥密文D′对待签名数据进行签名,获得数字签名结果,并返回给服务端。服务端自行计算得出数字签名结果或者获得密码机返回的数字签名结果后,可将该数字签名结果返回给客户端,从而完成数字签名过程。
另一方面,在获得数字签名结果后,服务端还可以进一步根据解密后得到的第三客户端密钥A2′和新生成的第三服务端密钥生成参数r6,计算出第三服务端密钥C2:C2=f2(A2′,r6),服务端生成服务端密钥的函数f2()与客户端生成客户端密钥的函数f1()可以是相同的函数,也可以是不同的函数。
获得第三服务端密钥C2后,服务端利用第三服务端密钥C2加密上述解密后得到的私钥密文D’,得到第三私钥密文加密结果E2,加密时可以采用任何可能的加密算法,如AES/DES/3DES/SM4等。
然后,服务端将第三客户端密钥生成参数r5、第三服务端密钥生成参数r6以及第三私钥密文加密结果E2进行关联存储,以更新存储的第二客户端密钥生成参数r2、第二服务密钥生成参数r3和第二私钥密文加密结果E1。即服务端不再存储第二客户端密钥生成参数r2、第二服务密钥生成参数r3和第二私钥密文加密结果E1,而是存储关联的第三客户端密钥生成参数r5、第三服务端密钥生成参数r6以及第三私钥密文加密结果E2,从而确保每一次数字签名之后,服务端总是基于终端101的用户的参与生成新的私钥密文加密结果,确保服务端每次进行数字签名时所使用的私钥密文加密结果都不一样,可以防止服务端后台人员保留私钥密文来冒充用户签名,从而进一步提高了数字安全处理的安全性。
基于如上所述的示例,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一个实施例的方法。
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端101或者服务端102。如图8所示,该计算机设备包括通过***总线连接的处理器、存储器、网络接口和输入装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数字安全处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数字安全处理方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机***的存储介质中,并被该计算机***中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
据此,在一个实施例中还提供一种存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一个实施例的点积协议处理方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数字安全处理方法,其特征在于,包括步骤:
向服务端发送数字签名请求;
接收所述服务端基于所述数字签名请求返回的数字签名响应,所述数字签名响应携带第二客户端密钥生成参数和第三客户端密钥生成参数;
基于所述第二客户端密钥生成参数生成第二客户端密钥,基于所述第三客户端密钥生成参数生成第三客户端密钥,并向所述服务端发送第二用户授权信息,所述第二用户授权信息携带所述第二客户端密钥、所述第三客户端密钥;
接收所述服务端返回的数字签名结果。
2.根据权利要求1所述的方法,其特征在于,包括下述各项中的至少一项:
第一项:
所述数字签名响应还携带第三验证参数;
在向所述服务端发送第二用户授权信息之前,还包括步骤:获取用户输入的第四验证参数;
所述第二用户授权信息还携带所述第四验证参数;
第二项:
基于所述第二客户端密钥生成参数生成第二客户端密钥,基于所述第三客户端密钥生成参数生成第三客户端密钥之前,还包括步骤:获取用户识别码;
基于所述第二客户端密钥生成参数生成第二客户端密钥,基于所述第三客户端密钥生成参数生成第三客户端密钥的步骤包括:基于所述第二客户端密钥生成参数和所述用户识别码生成第二客户端密钥,基于所述第三客户端密钥生成参数和所述用户识别码生成第三客户端密钥;
第三项:
在向所述服务端发送第二用户授权信息之前,还包括步骤:
采用服务端证书公钥对所述第二用户授权信息进行加密。
3.根据权利要求1或2所述的方法,其特征在于,向服务端发送数字签名请求之前,还包括步骤;
向所述服务端发送私钥托管请求;
接收所述服务端返回的私钥托管响应,所述私钥托管响应携带第一客户端密钥生成参数;
基于所述第一客户端密钥生成参数生成第一客户端密钥,并向服务端发送第一用户授权信息,所述第一用户授权信息携带所述第一客户端密钥。
4.根据权利要求3所述的方法,其特征在于,包括下述各项中的至少一项:
第一项:
所述私钥托管响应还携带第一验证参数;
在向所述服务端发送第一用户授权信息之前,还包括步骤:获取用户输入的第二验证参数;
所述第一用户授权信息还携带所述第二验证参数;
第二项:
基于所述第一客户端密钥生成参数生成第一客户端密钥之前,还包括步骤:获取用户识别码;
基于所述第一客户端密钥生成参数生成第一客户端密钥的步骤包括:基于所述第一客户端密钥生成参数和所述用户识别码生成第一客户端密钥;
第三项:
在向所述服务端发送第一用户授权信息之前,还包括步骤:
采用服务端证书公钥对所述第一用户授权信息进行加密。
5.一种数字安全处理方法,其特征在于,包括步骤:
接收客户端发送的数字签名请求;
向所述客户端返回数字签名响应,所述数字签名响应携带第二客户端密钥生成参数和第三客户端密钥生成参数;
接收所述客户端返回的第二用户授权信息,所述第二用户授权信息携带所述客户端基于所述第二客户端密钥生成参数生成的第二客户端密钥、基于所述第三客户端密钥生成参数生成的第三客户端密钥;
基于所述第二客户端密钥和第二服务端密钥生成参数生成第二服务端密钥,基于所述第三客户端密钥和第三服务端密钥生成参数生成第三服务端密钥;
利用所述第二服务端密钥解密存储的第二私钥密文加密结果,获得私钥密文,并用该私钥密文对待签名数据进行签名,获得数字签名结果;
利用所述第三服务端密钥加密所述私钥密文,获得第三私钥密文加密结果,并将所述第三客户端密钥生成参数、所述第三服务端密钥生成参数以及所述第三私钥密文加密结果关联存储。
6.根据权利要求5所述的方法,其特征在于,包括下述各项中的至少一项:
第一项:
所述数字签名响应还携带第三验证参数;
所述第二用户授权信息还携带用户输入的第四验证参数;
在基于所述第二客户端密钥和第二服务端密钥生成参数生成第二服务端密钥、所述第三客户端密钥和第三服务端密钥生成参数生成第三服务端密钥之前,还包括步骤:验证所述第四验证参数与所述第三验证参数的一致性;
第二项:
在接收到第二用户授权信息之后,生成第二服务端密钥和第三服务端密钥之前,还包括步骤:采用服务端证书私钥解密所述第二用户授权信息;
第三项:
用该私钥密文对待签名数据进行签名,获得数字签名结果的方式包括:
向密码机发送加密请求,所述加密请求携带所述待签名数据和所述私钥密文;
接收所述密码机返回的采用所述私钥密文对所述待签名数据进行签名获得的数字签名结果。
7.根据权利要求5或6所述的方法,其特征在于,接收客户端发送的数字签名请求之前,还包括步骤:
接收所述客户端发送的私钥托管请求;
向所述客户端返回的私钥托管响应,所述私钥托管响应携带第一客户端密钥生成参数;
接收所述客户端返回的第一用户授权信息,所述第一用户授权信息携带所述客户端基于所述第一客户端密钥生成参数生成的第一客户端密钥;
获取私钥密文,基于所述第一客户端密钥和第一服务端密钥生成参数生成第一服务端密钥,利用所述第一服务端密钥加密所述私钥密文,获得第一私钥密文加密结果。
8.根据权利要求7所述的方法,其特征在于,还包括下述各项中的至少一项:
第一项:
所述私钥托管响应还携带第一验证参数;所述第一用户授权信息还携带用户输入的第二验证参数;
在基于所述第一客户端密钥和第一服务端密钥生成参数生成第一服务端密钥之前,还包括步骤:验证所述第二验证参数与所述第一验证参数的一致性;
第二项:
在接收到第一用户授权信息之后,生成第一服务端密钥之前,还包括步骤:采用服务端证书私钥解密所述第一用户授权信息;
第三项:
获取私钥密文的方式包括:
向密码机发送私钥密文获取请求;
接收所述密码机基于所述私钥密文获取请求返回的私钥密文。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711481208.XA CN108199847B (zh) | 2017-12-29 | 2017-12-29 | 数字安全处理方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711481208.XA CN108199847B (zh) | 2017-12-29 | 2017-12-29 | 数字安全处理方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108199847A true CN108199847A (zh) | 2018-06-22 |
CN108199847B CN108199847B (zh) | 2020-09-01 |
Family
ID=62586849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711481208.XA Active CN108199847B (zh) | 2017-12-29 | 2017-12-29 | 数字安全处理方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108199847B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110098928A (zh) * | 2019-05-08 | 2019-08-06 | 国家电网有限公司 | 一种协同签名的密钥生成方法及装置 |
CN111046441A (zh) * | 2019-10-31 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种加密硬盘密钥的管理方法、设备及介质 |
CN112073200A (zh) * | 2020-09-02 | 2020-12-11 | 北京五八信息技术有限公司 | 一种签名处理方法及装置 |
CN112581285A (zh) * | 2020-12-28 | 2021-03-30 | 上海万向区块链股份公司 | 一种股权交易***中基于区块链的账户生成方法、***及介质 |
CN112688784A (zh) * | 2020-12-23 | 2021-04-20 | 安徽中科美络信息技术有限公司 | 一种数字签名、验证方法、装置及*** |
CN113114646A (zh) * | 2021-04-01 | 2021-07-13 | 深圳市腾讯网络信息技术有限公司 | 一种风险参数确定方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197674A (zh) * | 2007-12-10 | 2008-06-11 | 华为技术有限公司 | 加密通信方法、服务器及加密通信*** |
CN101212293A (zh) * | 2006-12-31 | 2008-07-02 | 普天信息技术研究院 | 一种身份认证方法及*** |
CN101547095A (zh) * | 2009-02-11 | 2009-09-30 | 广州杰赛科技股份有限公司 | 基于数字证书的应用服务管理***及管理方法 |
US20100082985A1 (en) * | 2008-09-26 | 2010-04-01 | Bluetie, Inc. | Methods for integrating security in network communications and systems thereof |
CN102413132A (zh) * | 2011-11-16 | 2012-04-11 | 北京数码视讯软件技术发展有限公司 | 基于双向安全认证的数据下载方法及*** |
CN102571355A (zh) * | 2012-02-02 | 2012-07-11 | 飞天诚信科技股份有限公司 | 一种不落地导入密钥的方法及装置 |
-
2017
- 2017-12-29 CN CN201711481208.XA patent/CN108199847B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212293A (zh) * | 2006-12-31 | 2008-07-02 | 普天信息技术研究院 | 一种身份认证方法及*** |
CN101197674A (zh) * | 2007-12-10 | 2008-06-11 | 华为技术有限公司 | 加密通信方法、服务器及加密通信*** |
US20100082985A1 (en) * | 2008-09-26 | 2010-04-01 | Bluetie, Inc. | Methods for integrating security in network communications and systems thereof |
CN101547095A (zh) * | 2009-02-11 | 2009-09-30 | 广州杰赛科技股份有限公司 | 基于数字证书的应用服务管理***及管理方法 |
CN102413132A (zh) * | 2011-11-16 | 2012-04-11 | 北京数码视讯软件技术发展有限公司 | 基于双向安全认证的数据下载方法及*** |
CN102571355A (zh) * | 2012-02-02 | 2012-07-11 | 飞天诚信科技股份有限公司 | 一种不落地导入密钥的方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110098928A (zh) * | 2019-05-08 | 2019-08-06 | 国家电网有限公司 | 一种协同签名的密钥生成方法及装置 |
CN110098928B (zh) * | 2019-05-08 | 2022-02-25 | 国家电网有限公司 | 一种协同签名的密钥生成方法及装置 |
CN111046441A (zh) * | 2019-10-31 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种加密硬盘密钥的管理方法、设备及介质 |
CN112073200A (zh) * | 2020-09-02 | 2020-12-11 | 北京五八信息技术有限公司 | 一种签名处理方法及装置 |
CN112688784A (zh) * | 2020-12-23 | 2021-04-20 | 安徽中科美络信息技术有限公司 | 一种数字签名、验证方法、装置及*** |
CN112581285A (zh) * | 2020-12-28 | 2021-03-30 | 上海万向区块链股份公司 | 一种股权交易***中基于区块链的账户生成方法、***及介质 |
CN113114646A (zh) * | 2021-04-01 | 2021-07-13 | 深圳市腾讯网络信息技术有限公司 | 一种风险参数确定方法 |
CN113114646B (zh) * | 2021-04-01 | 2022-06-21 | 深圳市腾讯网络信息技术有限公司 | 一种风险参数确定方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108199847B (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11856104B2 (en) | Methods for secure credential provisioning | |
CN100432889C (zh) | 提供断开鉴别的***和方法 | |
JP4866863B2 (ja) | セキュリティコード生成方法及びユーザ装置 | |
EP2304636B1 (en) | Mobile device assisted secure computer network communications | |
CN108199847A (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN110460439A (zh) | 信息传输方法、装置、客户端、服务端及存储介质 | |
CN110417750A (zh) | 基于区块链技术的文件读取和存储的方法、终端设备和存储介质 | |
CN107358441A (zh) | 支付验证的方法、***及移动设备和安全认证设备 | |
CN108471352A (zh) | 基于分布式私钥的处理方法、***、计算机设备及存储介质 | |
WO2018120938A1 (zh) | 密钥离线传输方法、终端和存储介质 | |
CN110135175A (zh) | 基于区块链的信息处理、获取方法、装置、设备及介质 | |
CN110224834A (zh) | 基于动态令牌的身份认证方法、解密及加密终端 | |
CN108599926A (zh) | 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证***和方法 | |
CN108173648A (zh) | 基于私钥托管的数字安全处理方法、设备及存储介质 | |
CN107707562A (zh) | 一种非对称动态令牌加、解密算法的方法、装置 | |
CN100459495C (zh) | 一种公开加密方式的口令动态加密输入方法 | |
CN115276978A (zh) | 一种数据处理方法以及相关装置 | |
CN109660344A (zh) | 基于非对称密钥池路由装置的抗量子计算区块链交易方法和*** | |
CN110098925A (zh) | 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和*** | |
KR101834522B1 (ko) | 데이터 확인 장치 및 이를 이용하여 데이터를 확인하는 방법 | |
JPWO2011058629A1 (ja) | 情報管理システム | |
CN115499118A (zh) | 报文密钥生成、文件加密、解密方法、装置、设备和介质 | |
Davaanaym et al. | A ping pong based one-time-passwords authentication system | |
WO2018052090A1 (ja) | 送受信システム、送信装置、受信装置、方法、コンピュータプログラム | |
JP5057270B2 (ja) | 情報検証方法、情報検証装置および情報検証システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |