Encryption authentication method and system, storage medium and computer equipment

28-07-2023 дата публикации
Номер:
CN116506107A
Контакты:
Номер заявки: 26-10-20238934.2
Дата заявки: 20-03-2023

一种加密认证方法、系统、存储介质及计算机设备

附图说明

[0031]

图1为加密认证装置的框架图;

[0032]

图2为加密认证方法的流程图。

技术领域

[0001]

本发明涉及一种加密认证方法、系统、存储介质及计算机设备,属于领域。

具体实施方式

[0033]

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

[0034]

如图1所示,加密认证装置(硬件装置)主要包括密钥生成中心(key generationcenter,KGC)和感知层终端(后续简称“终端”),KGC为一个轻量级KGC,具体可采用一个小型的便携式密钥生成设备,如一个支持蓝牙通信的手持式智能终端(如平板电脑、智能手机),只需在内部安装具有密钥生成、密钥分发、密钥管理等功能的APP即可,通过对KGC进行轻量化、手持化,密钥生成中心与终端采用近场通信,基于蓝牙通信协议自身的通信加密,以近似于物理隔离的方法保证私钥分发的安全。

[0035]

在不同的场景下,相互通信的终端数量是不同的,可以在不同的场景下,将存在信息交互的终端分为一组,并且给该组配置一台KGC。假设终端1~20,在场景1下,终端1~10存在信息交互(可以是直接的信息交互,也可以是间接的信息交互),那么将这10台终端划分为一组;在场景2下,终端1~20存在信息交互,那么将这20台终端划分为一组。

[0036]

分组和配置完成后,KGC与组内终端之间基于蓝牙通信,实现密钥分发,密钥分发完成后,同组终端之间会进行公钥的相互交换,从而进一步进行组内终端之间的加密认证。

[0037]

如图2所示,上述加密认证方法的具体过程包括发起侧终端的方法和认证侧终端的方法;定义发起终端为终端A,认证侧终端为终端B,两者同组;

[0038]

其中,发起侧终端的方法可以包括:

[0039]

响应于向同组的终端B发起加密认证,采用终端B的公钥加密对称加密密钥,采用自身的私钥对加密后的对称加密密钥进行签名,将签名并加密后的对称加密密钥发送给终端B,进行加密认证;其中,终端的公钥和私钥在密钥分发时生成。

[0040]

认证侧终端的方法可以包括:

[0041]

1)接收终端A发送的签名并加密后的对称加密密钥;

[0042]

2)采用终端A的公钥进行验签,若验签通过,采用自身的私钥解密加密的对称加密密钥,进行加密认证,即获得对称加密密钥。

[0043]

本发明在组内进行实现无证书加密认证,加密认证过程简单,适配低计算存储资源的终端,并且不同组的终端不可认证,一个终端被仿冒,只可能会影响本组内的其他终端,对其他组内终端没有影响,将安全风险控制在可控范围内。

[0044]

作为本发明的一个实施例,上述方法中,对称加密密钥为终端A(即发起侧终端)生成的随机数R。

[0045]

由于上述方法中,轻量化、手持化了对KGC,可进一步对KGC和终端之间的私钥分发流程进行简化,作为本发明的一个实施例,简化后的私钥分发流程可以如下:

[0046]

S1)根据生成的随机数dA,获得部分公钥UA,并将自身的标识和部分公钥UA发送所在组对应的密钥生成中心;

[0047]

其中,生成部分公钥UA的公式可表示为:UA=[dA]G;其中,G为SM2椭圆曲线基点,[dA]G表示dA和G相乘(这是SM2算法规范中的标准写法)。

[0048]

S2)接收密钥生成中心反馈的部分私钥tA、声明公钥WA和对应组的主公钥Ppub;

[0049]

在KGC中,声明公钥WA根据部分公钥UA生成,用公式可表示为:

[0050]

WA=[w]G+UA;其中,w为密钥生成中心生成的随机数,[w]G表示w和G相乘;

[0051]

部分私钥tA根据对应组的主私钥和标识生成;其中,在分组初始时(即组刚建立时),KGC会生成一个随机数作为该组的主私钥,对应的主公钥根据主私钥生成,如果后期该组增加了新的终端,需要对新终端分发秘钥,该组的主私钥和主公钥还是保持不变,用公式可表示为:

[0052]

tA=(w+hash(IDA)*ms);其中,ms为对应组的主私钥,IDA为标识(即终端标识),hash为哈希函数;

[0053]

S3)根据部分私钥tA、声明公钥WA和对应组的主公钥Ppub和随机数dA,获得自身的公钥RPA和私钥RDA,用公式可以表示为:RPA=WA+hash(IDA)*Ppub,RDA=tA+dA。

[0054]

本发明的签名验签和公钥加解密算法等均采用国密SM2算法,该算法计算量小,无需证书机制,通信量小,对存储要求低,使本发明可进一步适配低计算存储资源的终端。

[0055]

本发明通过简化私钥分发流程,便于工程人员实施,便于密钥管理。

[0056]

下面对上述方法进行进一步详细阐述:

[0057]

加密认证方法主要有两个流程,一个是秘钥分发,另一个是组内认证,具体过程如下:

[0058]

步骤1,终端上电后开启蓝牙,KGC主动连接,与终端建立蓝牙连接;

[0059]

步骤2,终端生成随机数dA,计算出部分公钥UA,将终端的标识IDA和部分公钥UA发送给KGC;

[0060]

步骤3,KGC选择终端所在分组的主私钥ks(如果是新建分组,KGC生成一个随机数作为新建分组的主私钥),使用终端的IDA、UA和ks计算出部分私钥tA和声明公钥WA,将tA、WA和与ks对应的主公钥Ppub返回给终端;

[0061]

步骤4,终端用tA、WA、Ppub和dA计算出用户私钥和用户公钥,即RDA、RPA;

[0062]

步骤5,组内终端之间进行公钥交换;

[0063]

步骤6,终端A选取随机数R作为对称加密密钥,用终端B公钥对R加密,并用终端A私钥对加密后的消息签名,将加密后的随机数和签名消息发送给终端B;

[0064]

步骤7,终端B收到后先用终端A公钥验签,验签通过后用终端B私钥解密,获得对称密钥R,完成整个加密认证。

[0065]

本发明的公钥与设备标识绑定,不需要对公钥进行验证,密钥生成中心只负责分发用户私钥,只在终端私钥申请的阶段参与,身份认证和密钥协商阶段以及后续的通信加密阶段都不需要跟密钥生成中心交互,减少对中心的依赖。资源消耗小,支持单片机运行,应用面广,可以应用于绝大多数资源受限终端。

[0066]

本发明基于国密SM2算法,结合IBC标识密码体系,提出一套适用于物联网资源受限终端安全接入的轻量级密码认证体系;相比PKI体系,不需要证书,无需证书的管理和维护,也不需要存储证书,极大的减少了建设成本;相比CPK体系,不需要存储密钥矩阵,节省了存储空间;相比于SM9的标识体系,SM2算法对计算资源消耗小,计算效率是SM9算法的十倍以上。

[0067]

基于相同的技术方案,本发明还公开了上述方法的软件系统,具体是终端侧的软件系统,一种加密认证系统,包括终端A侧系统和终端B侧系统;

[0068]

终端A侧系统包括:

[0069]

加密发起模块:响应于向同组的终端B发起加密认证,采用终端B的公钥加密对称加密密钥,采用自身的私钥对加密后的对称加密密钥进行签名,将签名并加密后的对称加密密钥发送给终端B,进行加密认证;

[0070]

其中,终端的公钥和私钥在密钥分发时生成;同组的终端为存在信息交互的终端,同组终端之间的公钥相互交换;对称加密密钥为自身生成的随机数R;

[0071]

终端侧的密钥分发包括:

[0072]

根据生成的随机数dA,获得部分公钥UA,并将自身的标识和部分公钥UA发送所在组对应的密钥生成中心;其中,每组对应一个密钥生成中心;获得部分公钥UA的公式为:UA=[dA]G;G为SM2椭圆曲线基点,[dA]G表示dA和G相乘;

[0073]

接收密钥生成中心反馈的部分私钥tA、声明公钥WA和对应组的主公钥Ppub;其中,部分私钥tA根据对应组的主私钥和标识生成,声明公钥WA根据部分公钥UA生成;生成声明公钥WA的公式为:WA=[w]G+UA;w为密钥生成中心生成的随机数,[w]G表示w和G相乘;生成部分私钥tA的公式为:tA=(w+hash(IDA)*ms);ms为对应组的主私钥,IDA为标识,hash为哈希函数;

[0074]

根据部分私钥tA、声明公钥WA和对应组的主公钥Ppub和随机数dA,获得自身的公钥RPA和私钥RDA;其中,获得公钥RPA的公式为:RPA=WA+hash(IDA)*Ppub;获得私钥RDA的公式为:RDA=tA+dA。

[0075]

终端B侧系统,包括:

[0076]

接收模块:接收终端A发送的签名并加密后的对称加密密钥;其中,终端A为发起加密认证并与自身同组的终端,同组的终端为存在信息交互的终端,同组终端之间的公钥相互交换;

[0077]

认证模块:采用终端A的公钥进行验签,若验签通过,采用自身的私钥解密加密的对称加密密钥,进行加密认证。

[0078]

基于相同的技术方案,本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行加密认证方法。

[0079]

基于相同的技术方案,本发明还公开了一种计算机设备,包括一个或多个处理器、以及一个或多个存储器,一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行加密认证中的指令。

[0080]

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

[0081]

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

[0082]

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

[0083]

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

[0084]

以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。

背景技术

[0002]

物联网感知对象种类多样,监测数据需求量大,应用场景复杂多变,一般需要部署大量的感知层终端才能满足全方位、立体化的感知需求,受制于成本,感知层终端的计算存储资源一般较低,无法配置现有的加密认证方法,因此现在急需一种适配低计算存储资源的加密认证方法。

发明内容

[0003]

本发明提供了一种加密认证方法、系统、存储介质及计算机设备,解决了背景技术中披露的问题。

[0004]

为了解决上述技术问题,本发明所采用的技术方案是:

[0005]

一种加密认证方法,包括:

[0006]

响应于向同组的终端B发起加密认证,采用终端B的公钥加密对称加密密钥,采用自身的私钥对加密后的对称加密密钥进行签名,将签名并加密后的对称加密密钥发送给终端B,进行加密认证;

[0007]

其中,终端的公钥和私钥在密钥分发时生成;同组的终端为存在信息交互的终端,同组终端之间的公钥相互交换。

[0008]

对称加密密钥为自身生成的随机数R。

[0009]

密钥分发包括:

[0010]

根据生成的随机数dA,获得部分公钥UA,并将自身的标识和部分公钥UA发送所在组对应的密钥生成中心;其中,每组对应一个密钥生成中心;

[0011]

接收密钥生成中心反馈的部分私钥tA、声明公钥WA和对应组的主公钥Ppub;其中,部分私钥tA根据对应组的主私钥和标识生成,声明公钥WA根据部分公钥UA生成;

[0012]

根据部分私钥tA、声明公钥WA和对应组的主公钥Ppub和随机数dA,获得自身的公钥RPA和私钥RDA。

[0013]

获得部分公钥UA的公式为:UA=[dA]G;其中,G为SM2椭圆曲线基点,[dA]G表示dA和G相乘;

[0014]

生成声明公钥WA的公式为:WA=[w]G+UA;其中,w为密钥生成中心生成的随机数,[w]G表示w和G相乘;

[0015]

生成部分私钥tA的公式为:tA=(w+hash(IDA)*ms);其中,ms为对应组的主私钥,IDA为标识,hash为哈希函数;

[0016]

获得公钥RPA的公式为:RPA=WA+hash(IDA)*Ppub;

[0017]

获得私钥RDA的公式为:RDA=tA+dA。

[0018]

密钥生成中心为便携式密钥生成设备。

[0019]

一种加密认证系统,包括:

[0020]

加密发起模块:响应于向同组的终端B发起加密认证,采用终端B的公钥加密对称加密密钥,采用自身的私钥对加密后的对称加密密钥进行签名,将签名并加密后的对称加密密钥发送给终端B,进行加密认证;

[0021]

其中,终端的公钥和私钥在密钥分发时生成;同组的终端为存在信息交互的终端,同组终端之间的公钥相互交换。

[0022]

一种加密认证方法,包括:

[0023]

接收终端A发送的签名并加密后的对称加密密钥;其中,终端A为发起加密认证并与自身同组的终端,同组的终端为存在信息交互的终端,同组终端之间的公钥相互交换;

[0024]

采用终端A的公钥进行验签,若验签通过,采用自身的私钥解密加密的对称加密密钥,进行加密认证。

[0025]

一种加密认证系统,包括:

[0026]

接收模块:接收终端A发送的签名并加密后的对称加密密钥;其中,终端A为发起加密认证并与自身同组的终端,同组的终端为存在信息交互的终端,同组终端之间的公钥相互交换;

[0027]

认证模块:采用终端A的公钥进行验签,若验签通过,采用自身的私钥解密加密的对称加密密钥,进行加密认证。

[0028]

一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行加密认证方法。

[0029]

一种计算机设备,包括一个或多个处理器、以及一个或多个存储器,一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行加密认证中的指令。

[0030]

本发明所达到的有益效果:1、本发明在组内进行实现无证书加密认证,加密认证过程简单,适配低计算存储资源的终端;2、本发明在组内进行实现无证书加密认证,不同组的终端不可认证,一个终端被仿冒,只可能会影响本组内的其他终端,对其他组内终端没有影响,将安全风险控制在可控范围内。



The invention discloses an encryption authentication method, an encryption authentication system, a storage medium and computer equipment, certificateless encryption authentication is realized in a group, the encryption authentication process is simple, and the encryption authentication method is adaptive to a terminal with low computing storage resources.



0001.

1.一种加密认证方法,其特征在于,包括:

响应于向同组的终端B发起加密认证,采用终端B的公钥加密对称加密密钥,采用自身的私钥对加密后的对称加密密钥进行签名,将签名并加密后的对称加密密钥发送给终端B,进行加密认证;

其中,所述公钥和私钥在密钥分发时生成;同组的终端为存在信息交互的终端,同组终端之间的公钥相互交换。

0002.

2.根据权利要求1所述的一种加密认证方法,其特征在于,对称加密密钥为自身生成的随机数R。

0003.

3.根据权利要求1所述的一种加密认证方法,其特征在于,密钥分发包括:

根据生成的随机数dA,获得部分公钥UA,并将自身的标识和部分公钥UA发送所在组对应的密钥生成中心;其中,每组对应一个密钥生成中心;

接收密钥生成中心反馈的部分私钥tA、声明公钥WA和对应组的主公钥Ppub;其中,部分私钥tA根据对应组的主私钥和标识生成,声明公钥WA根据部分公钥UA生成;

根据部分私钥tA、声明公钥WA和对应组的主公钥Ppub和随机数dA,获得自身的公钥RPA和私钥RDA。

0004.

4.根据权利要求3所述的一种加密认证方法,其特征在于,获得部分公钥UA的公式为:UA=[dA]G;其中,G为SM2椭圆曲线基点,[dA]G表示dA和G相乘;

生成声明公钥WA的公式为:WA=[w]G+UA;其中,w为密钥生成中心生成的随机数,[w]G表示w和G相乘;

生成部分私钥tA的公式为:tA=(w+hash(IDA)*ms);其中,ms为对应组的主私钥,IDA为标识,hash为哈希函数;

获得公钥RPA的公式为:RPA=WA+hash(IDA)*Ppub;

获得私钥RDA的公式为:RDA=tA+dA。

0005.

5.根据权利要求3所述的一种加密认证方法,其特征在于,密钥生成中心为便携式密钥生成设备。

0006.

6.一种加密认证系统,其特征在于,包括:

加密发起模块:响应于向同组的终端B发起加密认证,采用终端B的公钥加密对称加密密钥,采用自身的私钥对加密后的对称加密密钥进行签名,将签名并加密后的对称加密密钥发送给终端B,进行加密认证;

其中,终端的公钥和私钥在密钥分发时生成;同组的终端为存在信息交互的终端,同组终端之间的公钥相互交换。

0007.

7.一种加密认证方法,其特征在于,包括:

接收终端A发送的签名并加密后的对称加密密钥;其中,终端A为发起加密认证并与自身同组的终端,同组的终端为存在信息交互的终端,同组终端之间的公钥相互交换;

采用终端A的公钥进行验签,若验签通过,采用自身的私钥解密加密的对称加密密钥,进行加密认证。

0008.

8.一种加密认证系统,其特征在于,包括:

接收模块:接收终端A发送的签名并加密后的对称加密密钥;其中,终端A为发起加密认证并与自身同组的终端,同组的终端为存在信息交互的终端,同组终端之间的公钥相互交换;

认证模块:采用终端A的公钥进行验签,若验签通过,采用自身的私钥解密加密的对称加密密钥,进行加密认证。

0009.

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1~6、7所述的方法中的任一方法。

0010.

10.一种计算机设备,其特征在于,包括:

一个或多个处理器、以及一个或多个存储器,一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1~6、7所述的方法中的任一方法的指令。