一种基于标识密钥的数据加密传输系统及方法与流程

文档序号:37042727发布日期:2024-02-20 20:37阅读:26来源:国知局
一种基于标识密钥的数据加密传输系统及方法与流程

本发明属于信息安全,尤其涉及一种基于标识密钥的数据加密传输系统及方法。


背景技术:

1、当前,各行业应用领域对信息安全要求日益提高,而传统加密算法虽然可以通过工程化技术方法在资源受限设备中实现,但由于资源限制,导致传统加密算法的性能无法被接受,限制了加密算法在使用资源受限设备的应用领域中推广使用。资源受限设备的应用领域包括:汽车系统、传感器网络、医疗设备、分布式控制系统、物联网、信息物理系统以及智能电网等。因此,在各种资源受限的应用领域中,急需使用轻量级密码技术进行认证和加密以满足安全需求。

2、在现有的认证技术中,ca证书作为广泛使用的密钥存储方式,可以采用加密的软证书形式或者采用u盾等形式存放,存在几点缺陷:一是采用u盾的方式,虽然安全,但是携带和使用又不方便;二是证书有效性的验证方式需要中心在线验证;三是证书的存储和使用是固定不变的,存在泄漏风险;四是不规范的自签名证书的使用容易遭受中间人、证书伪造等攻击;二维码存储大多数采用明文的方式,二维码的识别技术具有通用性的特点,用二维码存储明文数据,容易造成数据的泄漏。


技术实现思路

1、鉴于上述的分析,本发明旨在提供一种基于标识密钥的数据加密传输系统及方法,使用二维码与标识密码技术结合生成密钥二维码,通信双方基于密钥二维码获取标识密钥信息进行数字签名/验签和数据的加/解密,提升了用户使用的便捷性,保证了通信的安全性。

2、一方面,本发明提供了一种基于标识密钥的数据加密传输系统,包括安装在用户终端的密钥二维码生成模块和用于数据加密传输的终端设备;

3、所述密钥二维码生成模块携带第一加密软件盾,用于基于用户口令生成一次性密钥二维码;其中所述第一加密软件盾携带标识密钥信息;

4、所述终端设备用于数字签名、验证数字签名和加/解密传输数据;其中,

5、数字签名时:用于识别所述一次性密钥二维码获取所述标识密钥信息,基于所述标识密钥信息对明文消息进行数字签名得到签名数据和构建认证消息;

6、验证数字签名时:用于基于所述认证消息对所述签名数据解密以验证签名者身份;

7、加密传输数据时:用于基于所述认证消息获取用户公钥对待传输数据进行加密;

8、解密传输数据时:用于基于所述一次性密钥二维码获取所述标识密钥信息中的用户私钥对接收数据进行解密。

9、进一步的,所述基于用户口令生成一次性密钥二维码包括:

10、基于所述用户口令解密所述第一加密软件盾得到初始软件盾;其中初始软件盾携带所述标识密钥信息;

11、基于所述用户口令和时间戳加密所述初始软件盾得到第二加密软件盾;

12、基于所述第二加密软件盾、所述时间戳和系统配置参数进行编码得到编码数据;

13、基于所述编码数据生成一次性密钥二维码。

14、进一步的,所述基于所述用户口令和时间戳加密所述初始软件盾得到第二加密软件盾包括:

15、基于所述用户口令和所述时间戳,使用hmac算法派生出对称算法的密钥;

16、基于所述对称算法的密钥使用sm4算法对所述初始软件盾进行加密得到初始软件盾加密结果;

17、对所述初始软件盾加密结果进行base64编码得到所述第二加密软件盾。

18、进一步的,所述密钥二维码生成模块携带的第一加密软件盾由初始软件盾加密获得,其加密过程与获得第二加密软件盾的加密过程相同;基于所述用户口令解密所述第一加密软件盾得到初始软件盾包括:

19、基于所述用户口令和所述第一加密软件盾携带的系统时间戳,使用hmac算法派生出对称算法的密钥;

20、对所述第一加密软件盾进行base64解码得到解码结果;

21、基于所述对称算法的密钥使用sm4算法对所述解码结果进行解密得到所述初始软件盾。

22、进一步的,所述基于所述第二加密软件盾、所述时间戳和系统配置参数进行编码得到编码数据包括:

23、将所述第二加密软件盾、所述时间戳和所述配置参数合并得到合并数据;

24、对所述合并数据计算hmac校验结果值;

25、基于所述第二加密软件盾、所述时间戳、所述配置参数和所述hmac校验结果值进行编码得到编码数据。

26、进一步的,所述识别所述一次性密钥二维码获取标识密钥信息包括:

27、基于所述一次性密钥二维码得到所述编码数据;

28、基于所述编码数据获得所述第二加密软件盾、所述时间戳、所述配置参数和所述hmac校验结果值;

29、基于所述用户口令和所述时间戳解密所述第二加密软件盾得到所述初始软件盾;

30、基于所述初始软件盾获得所述标识密钥信息。

31、进一步的,所述标识密钥信息包括用户私钥da、用户标识ida、用户声明公钥wa和系统公钥p;

32、所述基于所述标识密钥信息对明文消息进行数字签名得到签名数据和构建认证消息,包括:

33、基于用户私钥da对明文消息m和用户声明公钥wa进行签名,得到签名数据sa;

34、基于用户标识ida、声明公钥wa和签名数据sa得到认证消息。

35、进一步的,所述用于基于所述认证消息对所述签名数据解密以验证签名者身份包括:

36、验证数字签名时,终端基于收到的认证消息计算得到绑定系数l;

37、终端基于系统公钥p、用户声明公钥wa、绑定系数l计算得到用户a的公钥pa;

38、终端根据pa解密sa,得到a的签名信息内容m,验证a的身份。

39、进一步的,所述绑定系数l的计算方法包括:

40、l=h256(xwa‖ywa‖ha)mod n;

41、其中,xwa、ywa为声明公钥wa的椭圆曲线点的坐标;ha为所述用户相对应的系统唯一标识;ha=h256(entla‖ida‖a‖b‖xg‖yg‖xpub‖ypub),其中,entla为ida的长度,a、b为椭圆曲线参数,xg、yg为椭圆曲线基点坐标,xpub、ypub为系统公钥p的椭圆曲线点坐标;

42、所述公钥pa的计算方法为:pa=wa+[l]p。

43、另一方面,本发明还提供了一种基于标识密钥的数据加密传输方法,具体包括以下步骤:

44、使用安装在用户终端的密钥二维码生成模块基于用户口令生成一次性密钥二维码并离线传输给终端a使用;所述一次性密钥二维码携带标识密钥信息;

45、终端a基于所述一次性密钥二维码获得所述标识密钥信息,基于所述标识密钥信息对明文消息进行数字签名得到签名数据和构建认证消息并传输给通信对端终端b;

46、终端b基于所述认证消息对所述签名数据解密以验证签名者a的身份;

47、终端b基于所述认证消息获取a的用户公钥对传输数据进行加密并发送给终端a;

48、终端a基于所述一次性密钥二维码获取所述标识密钥信息中的用户私钥对数据进行解密。

49、本发明至少可以实现下述之一的有益效果:

50、通过采用加密二维码的方式来存储和使用标识密钥的方式,拓展了标识密码技术的使用场景,通过标识密钥技术和二维码技术深度融合,充分发挥了标识密码效率高、存储空间小、离线加解密的技术特点和二维码技术使用方便、管理方便、成本低的特点,相互补充突破更多的应用场景限制要求;解决了传统二维码存储明文数据容易数据泄露的问题和采用u盾携带使用不方便、容易泄露数据的问题。

51、通过采用加密二维码的方式来存储和使用标识密钥,实现了无需网络通信的离线认证和使用,简化了标识密钥体系应用配置的复杂性,为应用系统的部署推广应用提供了便捷性,同时又提升了应用系统的安全性。

52、通过在密钥二维码生成模块的实现过程中,系统将密钥分发过程与配置操作过程合二为一,降低了现有的标志密码体系中密钥应用配置的复杂性,包括简化了现有的标识密码技术中管理员的对于密钥分发和配置操作;实现了用户与配置分离,相对于现有的标识密码技术,简化了用户对于密钥的获取操作;过对加密密钥数据进行压缩,保证了加密密钥数据在一千字节以内,既保证满足通用密钥存储和配置管理的数据需求,又保证整体数据量不超过二维码的编码范围,做到了数据量小、容错率高;通过采用utf-8编码方式,可支持中文,适用范围广,实用性较强。

53、通过基于用户口令对初始软件盾进行加密保护、增加系统时间参数得到第一加密软件盾,保证了密钥分发和使用过程中的安全性,避免泄密;在对密钥二维码生成模块使用过程中,基于用户口令解密第一加密软件盾,并基于当前时间生成当前所使用的第二加密软件盾作为可用于当前数据传输的一次性软件盾(即每次使用时基于用户口令和当前时间重新生成第二加密软件盾),进一步增加了密钥在使用过程中的安全性。

54、本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书、权利要求书以及附图中所特别指出的内容中来实现和获得。

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