加密服务提供方法、电子设备及存储介质与流程

文档序号:37421429发布日期:2024-03-25 19:09阅读:11来源:国知局
加密服务提供方法、电子设备及存储介质与流程

本发明涉及数据安全,尤其涉及一种加密服务提供方法、电子设备及存储介质。


背景技术:

1、csp(cryptographic service provider,加密服务提供程序)接口是由微软windows操作系统中提供的一种加密算法相关功能的组件,应用可通过cryptoapi系列函数调用csp接口,以实现数据的加密、解密、数字签名、验签和数据摘要等密码学运算操作。加密服务所需的证书和私钥一般保存在硬件usbkey介质中,目的是借助usbkey的安全存储功能来保护私钥不被非法读取和使用,但该方式限制了用户的使用场景,例如在云桌面、云操作系统等环境中,无法使用物理usbkey作为证书和私钥的存储介质;另一方面会受到usbkey存储空间限制,无法将更多的证书保存在同一只usbkey中。相关技术中,将证书、私钥均存放于远端设备中,或者,将证书、私钥集中存储于接入设备,放于远端设备时一旦远端设备安全性出现风险,或与远端设备之间的网络通信存在安全隐患时,私钥将面临泄露风险;存储于接入设备时,由于接入设备具有完整私钥,可在客户端完全不参与的情况下进行签名和解密运算,可能会出现服务端在客户端不知情的情况下私自执行签名或解密的情况。


技术实现思路

1、本发明提供一种加密服务提供方法、电子设备及存储介质,用以解决传统加密服务提供方法中私钥存在泄露风险,或者,存在服务端在客户端不知情的情况下私自执行签名或解密的情况的缺陷。

2、本发明提供一种加密服务提供方法,包括:

3、调用csp加密接口,在客户端和服务端分别产生客户端协同密钥分量和服务端协同密钥分量,所述服务端协同密钥分量存储在所述服务端,所述客户端协同密钥分量存储在所述客户端;

4、调用csp服务接口,根据所述客户端协同密钥分量和服务端协同密钥分量执行对应加密服务操作。

5、根据本发明提供的一种加密服务提供方法,所述加密服务操作包括下载安全证书,所述调用csp服务接口,根据所述客户端协同密钥分量和服务端协同密钥分量执行对应加密服务操作,包括:

6、根据所述客户端协同密钥分量和服务端协同密钥分量合成签名公钥;

7、调用csp获取密钥参数接口,从客户端导出所述签名公钥;

8、根据所述签名公钥构建申请书,调用csp哈希签名接口,对所述申请书进行签名,得到包括签名值的申请书;

9、将所述包括签名值的申请书发送到安全认证中心,以获取签名证书;

10、调用csp设置密钥参数接口将所述签名证书导入到客户端,在客户端解析签名证书,验证签名证书的公钥是否与签名公钥相同;

11、若相同,将所述签名证书存储在客户端,并关联所述签名证书与签名公钥。

12、根据本发明提供的一种加密服务提供方法,所述客户端协同密钥分量包括客户端签名公钥分量和客户端签名私钥分量;所述服务端协同密钥分量包括服务端签名公钥分量和服务端签名私钥分量;所述根据所述客户端协同密钥分量和服务端协同密钥分量合成签名公钥,包括:

13、在所述客户端与服务端之间建立安全网络通道;

14、将客户端签名公钥分量通过所述安全网络通道发送至服务端,在服务端使用客户端签名公钥分量和服务端签名公钥分量合成完整的签名公钥;

15、以及,将服务端签名公钥分量通过所述安全网络通道发送给客户端;在客户端使用客户端签名私钥分量和服务端签名公钥分量合成出完整的签名公钥。

16、根据本发明提供的一种加密服务提供方法,所述加密服务操作包括下载安全证书时,所述调用csp服务接口,根据所述客户端协同密钥分量和服务端协同密钥分量执行对应加密服务操作,还包括:

17、在合成签名公钥后,调用所述csp加密接口产生加密密钥对,所述加密密钥对包括加密公钥和加密私钥;

18、调用csp导入密钥接口导入所述加密密钥对到客户端;

19、根据所述临时公钥构建申请书,将所述申请书发送到安全认证中心,以获取加密证书和加密密钥对,所述加密密钥对包括加密公钥和加密私钥密文;

20、调用csp导入密钥接口导入所述加密密钥对到客户端;

21、调用csp设置密钥参数接口导入加密证书到客户端;

22、在客户端解析所述加密证书,验证加密证书的公钥是否与加密公钥相同;

23、若相同,将所述加密证书存储在客户端,并关联所述加密证书与加密公钥。

24、根据本发明提供的一种加密服务提供方法,所述调用csp导入密钥接口导入所述加密密钥对到客户端,包括:

25、将所述加密私钥密文传递给服务端,在服务端使用临时私钥解密加密私钥密文,得到加密私钥明文;

26、将所述加密私钥明文进行协同密钥拆分,得到客户端加密公钥分量、客户端加密私钥分量、服务端加密公钥分量、服务端加密私钥分量,将客户端加密公钥分量、服务端加密公钥分量和服务端加密私钥分量存储在服务端,将客户端加密公钥分量、客户端加密私钥分量、服务端加密公钥分量发送给客户端,其中客户端加密私钥分量使用客户端签名公钥分量加密;

27、在客户端使用客户端加密私钥分量、服务端加密公钥分量合成加密公钥。

28、根据本发明提供的一种加密服务提供方法,所述加密服务操作包括签名操作,所述调用csp服务接口,根据所述客户端协同密钥分量和服务端协同密钥分量执行对应加密服务操作,包括:

29、调用csp创建哈希接口和计算哈希接口传入待签名原文并由客户端计算所述待签名原文的消息摘要,或,直接调用csp设置哈希接口传入待签名原文的消息摘要,并产生第一随机数;

30、根据所述消息摘要和所述随机数计算第一中间结果,将所述第一中间结果和所述消息摘要发送给服务端;

31、在服务端产生第二随机数,并通过所述消息摘要、第二随机数、第一中间结果计算出服务端签名值分量,根据所述服务端签名私钥分量、签名值分量和第二随机数计算第二中间结果;将服务端签名值分量和第二中间结果发送给客户端;

32、在客户端根据客户端签名私钥分量、第一随机数、第二中间结果和服务端签名值分量计算出客户端签名值分量,将服务端签名值分量和客户端签名值分量拼接作为签名值。

33、根据本发明提供的一种加密服务提供方法,所述加密服务操作包括协同加密,所述调用csp服务接口,根据所述客户端协同密钥分量和服务端协同密钥分量执行对应加密服务操作,包括:

34、外部程序调用csp获取上下文和获取用户密钥接口获得密钥句柄;

35、外部程序调用csp加密接口,将密钥句柄和待加密的明文作为输入参数;

36、在客户端获取密钥句柄和待加密的明文后,产生第三随机数;

37、根据第三随机数和加解密公钥计算密钥点,所述加解密公钥为签名公钥或加密公钥;

38、使用所述密钥点对所述待加密的明文进行加密,得到加密密文。

39、根据本发明提供的一种加密服务提供方法,所述调用csp服务接口,根据所述客户端协同密钥分量和服务端协同密钥分量执行对应加密服务操作,包括:

40、在所述加解密公钥为签名公钥时,将所述加密密文的部分密文发送至服务端,在服务端通过所述加密密文和服务端签名私钥分量,计算出第三中间结果,并发送至客户端;

41、在客户端通过客户端签名私钥分量、第三中间结果和加密密文计算出第四中间结果,将第四中间结果作为密钥点,使用密钥点对所述加密密文进行解密;

42、在所述加解密公钥为加密公钥时,将所述加密密文发送至服务端,在服务端通过所述加密密文和服务端加密私钥分量,计算出第五中间结果,并发送至客户端;

43、在客户端通过客户端签名私钥分量、第五中间结果和加密密文计算出第六中间结果,将第六中间结果作为密钥点,使用密钥点对所述加密密文进行解密。

44、本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的加密服务提供方法。

45、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的加密服务提供方法。

46、本发明提供的一种加密服务提供方法、电子设备及存储介质,通过调用csp加密接口,在客户端和服务端分别产生客户端协同密钥分量和服务端协同密钥分量,服务端协同密钥分量存储在服务端,客户端协同密钥分量存储在客户端;调用csp服务接口,根据客户端协同密钥分量和服务端协同密钥分量执行对应加密服务操作,利用协同密钥拆分存储特性,提升私钥存储的安全性,完整的私钥明文不出现在客户端或服务端任何一方的内存或网络中,即使客户端环境出现风险,也无法还原私钥,并且,功能操作需要客户端和服务器协同参与才能完成运算,从原理上阻止了服务端在客户端不知情的情况下私自执行签名或解密的情况发生。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1