一种多端加解密互通方法与流程

文档序号:33029253发布日期:2023-01-20 20:23阅读:34来源:国知局
一种多端加解密互通方法与流程

1.本发明涉及信息安全技术领域,特别是一种多端加解密互通方法。


背景技术:

2.在电子招投标应用场景中,电子招投标系统对投标人上传电子标书有保密性要求,目前的做法是基于pc端的usbkey数字证书,采用数字信封加密技术对投标文件进行加密,再上传到服务器。在开标时,同样需要在pc端使用usbkey数字证书对上传的密文状态标书进行解密才能进行评标。
3.上述模式在电子招投标移动端应用开发中存在以下局限:一是usbkey属于电子产品,在pc上频繁拔插,容易出现接口损坏、静电导致usbkey元器件受损等故障,导致后续开标解密失败。
4.二是该模式不能应用在移动端上,无法满足在手机端即可解密开标的新需求。
5.三是不能实现在服务器端解密,因为加密所用密钥完全依赖于pc端的usbkey数字证书。


技术实现要素:

6.为解决现有技术中存在的问题,本发明的目的是提供一种多端加解密互通方法,本发明实现了任意三方设备相互之间的数据加密与解密互通。
7.为实现上述目的,本发明采用的技术方案是:一种多端加解密互通方法,包括对第一设备、第二设备、和第三设备的任意两端之间进行加解密互通,具体包括以下步骤:s100、第一设备和第二设备分别申请证书,并将生成的证书请求及用户身份信息发送到第三设备;s200、第三设备申请证书、生成证书请求,将第一设备、第二设备和第三设备生成的证书请求以及用户身份信息作为证书申请信息集合,将所述证书申请信息集合发送到ca服务器;s300、ca服务器返回证书及分片密钥:ca服务器产生对称密钥并将其分片成三段,将分片后的密钥进行两两拼接,拼接成三个分片密钥,并利用第一设备、第二设备和第三设备生成的证书请求中的公钥分别对拼接后的三个分片密钥进行加密,ca服务器再为三个设备的证书请求分别签发数字证书,同时将第一设备和第二设备加密后的分片密钥分别写入为第一设备和第二设备签发的数字证书扩展域中,最后连同第三设备加密后的分片密钥一并返回给第三设备;s400、第三设备返回数字证书给第一设备和第二设备;s500、多端加密解密互通:从三个设备中任意选取两个设备,使用各自的证书私钥对各自证书扩展域或第三设备存储中的分片密钥密文解密出对应的分片密钥,将分片密钥去重后按顺序拼接恢复出原始的对称密钥,利用原始的对称密钥对数据进行加密或解密,从而实现多端加密解密互通。
8.作为本发明的进一步改进,所述步骤s100具体包括以下步骤:s101、第一设备生成包括公钥和私钥的密钥对及证书请求;s102、第二设备对第一设备进行认证并获取第一设备的证书请求,第二设备生成包括公钥和私钥的密钥对及证书请求;s103、第二设备发送第一设备和第二设备的证书请求以及用户身份信息到第三设备。
9.作为本发明的进一步改进,所述步骤s200具体包括以下步骤:s201、第三设备生成包括公钥和私钥的密钥对及证书请求;s202、第三设备发送证书申请信息集合到ca服务器,其中,所述证书申请信息集合包括第一设备、第二设备和第三设备的证书请求以及用户身份信息。
10.作为本发明的进一步改进,所述步骤s300具体包括以下步骤:s301、ca服务器产生对称密钥及密钥分片:ca服务器为用户身份信息产生对称密钥,并将对称密钥分割为三个片段;s302、ca服务器对分片后的密钥进行加密:ca服务器分别从第一设备、第二设备和第三设备的证书请求中获取对应的公钥,使用对应的公钥分别对分割的三个片段两两拼接后形成的三个分片密钥进行加密得到对应的三个分片密钥密文;s303、ca服务器签发证书:ca服务器分别为第一设备、第二设备和第三设备的证书请求签发数字证书,并分别将第一设备和第二设备对应的分片密钥写入其数字证书的扩展域中;s304、ca服务器返回证书及分片密钥:ca服务器将第一设备、第二设备、第三设备的数字证书以及第三设备对应的分片密钥返回给第三设备。
11.作为本发明的进一步改进,所述步骤s400具体包括:第三设备存储数字证书;存储用户身份信息对应的第一设备和第二设备的数字证书及第三设备的分片密钥,并将第一设备、第二设备和第三设备的数字证书返回给第一设备和第二设备并保存。
12.作为本发明的进一步改进,所述步骤s500包括加密环节和解密环节,其中,所述加密环节具体包括以下步骤:s501、解密端先使用自己的私钥对解密端对应的分片密钥进行解密,得到对应的拼接的分片密钥;使用加密端的数字证书对得到的分片密钥进行加密,并发送给加密端;s502、加密端使用自己的私钥对加密端对应的分片密钥进行解密,得到对应的拼接的分片密钥;对步骤s501中解密端加密后的分片密钥进行解密得到解密端的拼接的分片密钥,将得到的两个拼接的分片密钥按顺序拼接恢复出原始的ca服务器产生的对称密钥;s503、加密端使用原始的ca服务器产生的对称密钥对数据进行加密;所述的解密环节具体包括以下步骤:s504、加密端先使用自己的私钥对加密端对应的分片密钥进行解密,得到对应的拼接的分片密钥;使用解密端的数字证书对得到的分片密钥进行加密,并发送给解密端;s505、解密端使用自己的私钥对解密端对应的分片密钥进行解密,得到对应的拼接的分片密钥;对步骤s504中加密端加密后的分片密钥进行解密得到加密端的拼接的分片密钥,将得到的两个拼接的分片密钥按顺序拼接恢复出原始的ca服务器产生的对称密钥;
s506、解密端使用原始的ca服务器产生的对称密钥对数据进行解密;所述加密端和解密端为第一设备、第二设备和第三设备中的任意两个设备。
13.作为本发明的进一步改进,进行加密和解密的数据为电子招投标数据。
14.作为本发明的进一步改进,所述第一设备为pc端,所述第二设备为手机端,所述第三设备为电子招投标业务服务器。
15.本发明的有益效果是:1、本发明中,用户对称密钥通过秘密分片及门限技术,确保只有达到门限条件时,才能恢复出完整的对称密钥,单一一方的片段密钥数据泄露不影响整个对称密钥的安全使用。正是由于该模式具有一定冗余机制,就可以很好地避免usbkey硬件介质损坏对电子招投标加解密功能的使用造成影响。
16.2、本发明针对用户端的分片密钥采用自身公钥加密后存储于数字证书自身文件的扩展域中,不仅方便用户随时读取解密后使用,而且不依赖于其他相关方的数据存储。若pc端和手机端联动加密和解密,则可以实现电子招投标在离线封闭环境中不依赖于服务器进行解密、开标,可适用于某些特殊应用场景。
17.3、本发明实现了用户在pc端、移动端、服务器端三端共同参与的加密、解密互通,用户在其中一端加密后,根据应用场景需要,可在其他两端解密,极大拓展了电子招投标系统的加解密应用场景,解决了电子招投标在移动端app应用的困惑。
附图说明
18.图1为本发明实施例的结构框图;图2为本发明实施例的流程图。
具体实施方式
19.下面结合附图对本发明的实施例进行详细说明。
20.实施例1:本实施例以进行加密和解密的数据为电子招投标数据为例进行具体说明,其中第一设备为pc端,第二设备为手机端,第三设备为电子招投标业务服务器。
21.本实施例采用了pki数字证书技术并对数字证书扩展域进行了适当扩展,当用户申请数字证书时,采用pc端与手机端联动机制发起证书申请,由ca服务器生成专属对称密钥,并通过秘密分片及门限技术,将对称密钥分成三片并加密分别存储在电子招投标业务服务器中、以及用户pc端和手机端的数字证书扩展域中,当达到3选2的门限条件时,可以在电子招投标业务服务器、pc端和手机端任意一端恢复出原始对称密钥,对电子标书进行加密或解密,从而实现了在电子招投标业务服务器、pc端、移动端三方任意相互之间的数据加密与解密互通。
22.如图1所示,本实施例由pc端usbkey、手机端app、电子招投标业务服务器、ca服务器及2个密码机构成。
23.如图2所示,多端加解密互通具体包括以下步骤:s100:pc端及手机端申请证书。
24.s101:pc端生成csr_1。用户在pc上插入usbkey,通过证书助手客户端工具产生密
钥对(私钥记为pri_1,公钥记为pub_1)及证书请求csr_1。
25.s102:pc端展示二维码。证书助手客户端工具将证书请求csr_1生成二维码,展示二维码,提示用户使用对应手机app扫码认证。
26.s103:手机端生成csr_2。用户下载、安装手机app并登录、注册账号,若账号未实名,提示先进行实名及实人认证;若已实名,则扫码获取pc端的csr_1,并生成手机端数字证书的密钥对(私钥记为pri_2,公钥记为pub_2)及证书请求csr_2。
27.s104:手机端发送csr_1、csr_2及userid。手机app将csr_1、csr_2及通过实名认证的用户身份信息(记为userid)通过https安全通道发送到电子招投标业务服务器。
28.s200:电子招投标业务服务器申请证书。
29.s201:电子招投标业务服务器生成证书请求csr_3。电子招投标业务服务器通过自身连接的密码机2产生密钥对(私钥记为pri_3,公钥记为pub_3)及证书请求csr_3;若自身服务器已存在数字证书cert3,则该步骤跳过,后续发送信息去掉csr_3及服务器身份信息(记为serverid)。
30.s202:电子招投标业务服务器发送证书申请信息集合。电子招投标业务服务器将证书申请信息集合发送到ca服务器,证书申请信息集合包括“csr_3及serverid,csr_1、csr_2及userid”。
31.s300:ca服务器返回证书及分片密钥。
32.s301:ca服务器产生symkey及密钥分片。ca服务器调用自身连接的加密机1为userid产生对称密钥symkey,并对symkey分割为symkey_1、symkey_2、symkey_3三个片段。
33.s302:ca服务器对分片密钥加密。ca服务器分别从csr_1、csr_2、csr_3中获取对应的公钥pub_1、pub_2、pub_3,使用pub_1、pub_2、pub_3分别对symkey_1||symkey_2、symkey_2||symkey_3、symkey_3||symkey_1加密得到encsymkey_1、encsymkey_2、encsymkey_3。
34.s303:ca服务器签发证书。ca服务器分别为csr_1、csr_2、csr_3签发数字证书cert1、cert2、cert3,并分别将encsymkey_1、encsymkey_2写入cert1、cert2的证书扩展域中。
35.s304:ca服务器返回证书及分片密钥。ca服务器将cert1、cert2、cert3、encsymkey_3返回给电子招投标业务服务器。
36.s400:电子招投标业务服务器返回证书及分片密钥。
37.s401:电子招投标业务服务器存储cert3;存储该userid对应的cert1、cert2及分片密钥encsymkey_3,并将cert1、cert2、cert3返回给pc端和手机端。
38.s402:pc端收到cert1、cert2、cert3,写入usbkey中;手机端收到cert1、cert2、cert3,保存到app中。
39.s500:多端加密解密互通。
40.在目前的电子招投标移动端应用开发中,关于加解密应用场景的创新需求主要是:(1)pc端加密——》手机端解密;(2)pc端加密——》电子招投标业务服务器端解密;(3)电子招投标业务服务器端加密——》手机端解密,其他加解密模式与这三种类似,下面仅对这三种模式进行介绍。
41.s501:pc端加密——》手机端解密。
42.pc端加密环节:
s50101:手机端app先使用自己的私钥pri_2对cert2中的证书扩展域encsymkey_2进行解密,得到symkey_2||symkey_3;使用pc端的cert1对symkey_2||symkey_3加密,得到cert1encsymkey_2,将cert1encsymkey_2发送给pc端。
43.s50102:pc端使用cert1的私钥pri_1对cert1证书扩展域encsymkey_1解密得到symkey_1||symkey_2;对cert1encsymkey_2解密得到symkey_2||symkey_3;对分片密钥symkey_2去重后按顺序拼接恢复出原始对称密钥为symkey_1||symkey_2||symkey_3=symkey。
44.s50103:pc端使用symkey加密电子标书文件。
45.手机端解密环节:s50104:pc端app先使用自己的私钥pri_1对cert1中的证书扩展域encsymkey_1进行解密,得到symkey_1||symkey_2;使用手机端的cert2对symkey_1||symkey_2加密,得到cert2encsymkey_1,将cert2encsymkey_1发送给手机端。
46.s50105:手机端使用cert2的私钥pri_2对cert2证书扩展域encsymkey_2解密得到symkey_2||symkey_3;对cert2encsymkey_1解密得到symkey_1||symkey_2;对分片密钥symkey_2去重后按顺序拼接恢复出原始对称密钥为symkey_1||symkey_2||symkey_3=symkey。
47.s50106:手机端使用symkey解密电子标书文件。
48.s502:pc端加密——》电子招投标业务服务器端解密。
49.pc端加密环节:s50201:电子招投标业务服务器端先使用自己的私钥pri_3对存储的encsymkey_3进行解密,得到symkey_3||symkey_1;使用pc端的cert1对symkey_3||symkey_1加密,得到cert1encsymkey_3,将cert1encsymkey_3发送给pc端。
50.s50202:pc端使用cert1的私钥pri_1对cert1证书扩展域encsymkey_1解密得到symkey_1||symkey_2;对cert1encsymkey_3解密得到symkey_3||symkey_1;对分片密钥symkey_1去重后按顺序拼接恢复出原始对称密钥为symkey_1||symkey_2||symkey_3=symkey。
51.s50203:pc端使用symkey加密电子标书文件。
52.电子招投标业务服务器端解密环节:s50204:pc端app先使用自己的私钥pri_1对cert1中的证书扩展域encsymkey_1进行解密,得到symkey_1||symkey_2;使用电子招投标业务服务器端的cert3对symkey_1||symkey_2加密,得到cert3encsymkey_1,将cert3encsymkey_1发送给电子招投标业务服务器端。
53.s50205:电子招投标业务服务器端使用cert3的私钥pri_3对存储的encsymkey_3解密得到symkey_3||symkey_1;对cert3encsymkey_1解密得到symkey_1||symkey_2;对分片密钥symkey_1去重后按顺序拼接恢复出原始对称密钥为symkey_1||symkey_2||symkey_3=symkey。
54.s50206:电子招投标业务服务器端使用symkey解密电子标书文件。
55.s503:电子招投标业务服务器端加密——》手机端解密。
56.电子招投标业务服务器端加密环节:
s50301:手机端先使用cert2的私钥pri_2对cert2证书扩展域encsymkey_2解密得到symkey_2||symkey_3;再使用电子招投标业务服务器端的cert3对symkey_2||symkey_3加密,得到cert3encsymkey_2,将cert3encsymkey_2发送给电子招投标业务服务器端。
57.s50302:电子招投标业务服务器端使用自己的私钥pri_3对存储的encsymkey_3进行解密,得到symkey_3||symkey_1;对cert3encsymkey_2解密得到symkey_2||symkey_3;对分片密钥symkey_3去重后按顺序拼接恢复出原始对称密钥为symkey_1||symkey_2||symkey_3=symkey。
58.s50303:电子招投标业务服务器端使用symkey加密电子标书文件。
59.手机端解密环节:s50304:电子招投标业务服务器先使用自己的私钥pri_3对存储的encsymkey_3进行解密,得到symkey_3||symkey_1;再使用手机端的cert2对symkey_3||symkey_1加密,得到cert2encsymkey_3,将cert2encsymkey_3发送给手机端。
60.s50305:手机端使用cert2的私钥pri_2对cert2证书扩展域encsymkey_2解密得到symkey_2||symkey_3;对cert2encsymkey_3解密得到symkey_3||symkey_1;对分片密钥symkey_3去重后按顺序拼接恢复出原始对称密钥为symkey_1||symkey_2||symkey_3=symkey。
61.s50306:手机端使用symkey解密电子标书文件。
62.以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1