一种身份认证方法及装置转让专利
申请号 : CN202110496342.7
文献号 : CN113472734B
文献日 : 2022-04-19
发明人 : 孙亚东 , 谢福进 , 王闻馨 , 王志海 , 喻波 , 魏力
申请人 : 北京明朝万达科技股份有限公司
摘要 :
权利要求 :
1.一种身份认证方法,应用于认证服务端,其特征在于,所述方法包括:向待认证设备集发送随机数;所述待认证设备集包括多个待认证设备的设备标识;
接收所述待认证设备集中各待认证设备发送的密文,并对所述密文进行组合,得到密文集;其中,所述密文集中各密文为各待认证设备根据对应的私钥和所述随机数生成的;
根据预设公钥对所述密文集进行解密,得到集合认证信息;
在所述集合认证信息和所述随机数一致的情况下,确定所述各待认证设备通过身份认证。
2.根据权利要求1所述的方法,其特征在于,在所述接收所述待认证设备集中各待认证设备发送的密文之前,所述方法还包括:生成所述预设公钥以及与所述预设公钥对应的私钥集;其中,所述私钥集中的私钥与所述各待认证设备一一对应;
将所述私钥集中的私钥发送至对应的待认证设备,以使得所述各待认证设备根据对应的私钥和所述随机数生成密文。
3.根据权利要求2所述的方法,其特征在于,所述生成所述预设公钥以及与所述预设公钥对应的私钥集,包括:
确定所述待认证设备集包含的设备数量;
在所述设备数量大于或等于预设阈值的情况下,生成所述预设公钥以及与所述预设公钥对应的私钥集。
4.根据权利要求2所述的方法,其特征在于,采用分布式密钥产生算法生成所述预设公钥,以及与所述预设公钥对应的私钥集。
5.根据权利要求1所述的方法,其特征在于,在所述确定所述各待认证设备通过身份认证之后,所述方法还包括:
接收目标设备发送的数据包,并根据认证服务端的目标私钥和所述数据包生成目标密文;其中,所述目标设备为所述待认证设备集中多个设备,所述目标私钥由所述认证服务端的父结点设备生成并下发至所述认证服务端;
向所述认证服务端的父结点设备发送所述目标密文,以使得所述认证服务端的父结点设备根据目标公钥对目标密文集进行解密,并得到所述数据包;
其中,所述目标密文集包括所述认证服务端的目标密文和同级设备的目标密文,所述同级设备的目标密文由所述同级设备根据所述数据包以及所述同级设备对应的目标私钥得到,所述目标公钥对应于所述认证服务端的目标私钥和所述同级设备的目标私钥。
6.根据权利要求5所述的方法,其特征在于,所述目标设备包括所述待认证设备集中的多个待认证设备,所述接收目标设备发送的数据包,包括:持续接收所述各待认证设备发出的子数据包,并将预设时间段内接收到的所有子数据包进行组合得到数据包。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述认证服务端为云平台的情况下,所述待认证设备为网关设备;
在所述认证服务端为网关的情况下,所述待认证设备为终端。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在所述认证服务端为网关,且所述待认证设备为终端的情况下,所述认证服务端接收所述待认证设备发送的数据为明文数据。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述集合认证信息和所述随机数不一致的情况下,确定所述各待认证设备未通过身份认证;
生成用于指示所述各待认证设备认证失败的告警信息并输出。
10.一种身份认证装置,其特征在于,所述装置包括:随机数发送模块,用于向待认证设备集发送随机数;所述待认证设备集包括多个待认证设备的设备标识;
密文组合模块,用于接收所述待认证设备集中各待认证设备发送的密文,并对所述密文进行组合,得到密文集;其中,所述密文集中各密文为各待认证设备根据对应的私钥和所述随机数生成的;
密文解密模块,用于根据预设公钥对所述密文集进行解密,得到集合认证信息;
密文验证模块,用于在所述集合认证信息和所述随机数一致的情况下,确定所述各待认证设备通过身份认证。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:密钥生成模块,用于生成所述预设公钥以及与所述预设公钥对应的私钥集;其中,所述私钥集中的私钥与所述各待认证设备一一对应;
私钥发送模块,用于将所述私钥集中的私钥发送至对应的待认证设备,以使得所述各待认证设备根据对应的私钥和所述随机数生成密文。
12.根据权利要求11所述的装置,其特征在于,所述密钥生成模块,还用于确定所述待认证设备集包含的设备数量,在所述设备数量大于或等于预设阈值的情况下,生成所述预设公钥以及与所述预设公钥对应的私钥集。
13.根据权利要求11所述的装置,其特征在于,所述密钥生成模块,还用于采用分布式密钥产生算法生成所述预设公钥,以及与所述预设公钥对应的私钥集。
14.根据权利要求10所述的装置,其特征在于,所述装置还包括:数据加密模块,用于接收目标设备发送的数据包,并根据认证服务端的目标私钥和所述数据包生成目标密文;其中,所述目标设备为所述待认证设备集中多个设备,所述目标私钥由所述认证服务端的父结点设备生成并下发至所述认证服务端;
加密数据发送模块,用于向所述认证服务端的父结点设备发送所述目标密文,以使得所述认证服务端的父结点设备根据目标公钥对目标密文集进行解密,并得到所述数据包。
15.根据权利要求14所述的装置,其特征在于,所述目标设备包括所述待认证设备集中的多个待认证设备,所述数据加密模块包括:数据接收子模块,用于持续接收所述各待认证设备发出的子数据包,并将预设时间段内接收到的所有子数据包进行组合得到数据包。
16.根据权利要求10所述的装置,其特征在于,所述密文验证模块,还用于在所述集合认证信息和所述随机数不一致的情况下,确定所述各待认证设备未通过身份认证;生成用于指示所述各待认证设备认证失败的告警信息并输出。
17.一种认证服务端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9中任一项所述的身份认证方法的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的身份认证方法中的步骤。
说明书 :
一种身份认证方法及装置
技术领域
背景技术
4.0、智慧城市以及环境监测等。
子签证机构根据终端公钥和网关公钥,生成网关身份证书、终端身份证书,并发送给对应的
设备,进而使各个层级的设备之间根据身份证书进行身份认证。
发明内容
题。
的;
和所述随机数生成的;
时实现所述的身份认证方法的步骤。
步骤。
备发送的密文,得到密文集;其中,密文集中各密文为相对应的待认证设备基于随机数生成
的;根据预设公钥对密文集进行解密,得到集合认证信息;在集合认证信息和随机数一致的
情况下,确定各待认证设备通过身份认证。本发明的方法能够实现对待认证设备的并行认
证,即通过对待认证设备集中所有设备发送的密文进行整合,并对整合后的密文集进行解
密,再将解密结果与随机数进行比对,如果比对结果一致,则说明待认证设备集中的所有设
备均采用了正确的随机数,可以确定所有待认证设备均通过身份认证,无需采用串行的方
式对待认证设备进行认证,大幅提高了对待认证设备进行身份认证的效率,此外,由于通过
认证需要获得正确的密文集,而密文集是由各待认证设备生成的密文组合而成的,因此,需
要获得所有待认证设备的私钥才能破解本发明的身份认证方法,大大提升了网络设备的安
全性。
附图说明
具体实施方式
级的网络结构,例如网关中可以包括主网关结构和子网关结构,每个主网关与多个子网关
结构连接。
1和网关2进行认证。因此,认证服务端可以是多级网络架构中任何连接有子网络结构的设
备,对应的,待认证设备为认证服务端的下一级设备。如图2所示,当认证服务端为网关1时,
待认证设备可以包括终端1,当认证服务端为云平台时,待认证设备可以包括网关1。
每次认证均生成新的随机数,具体可以根据实际需求设置预设认证次数,本发明实施例在
此不进行特别限定。这样,当预设认证次数设置较高时,无需频繁生成新的随机数,有助于
降低认证服务端的算力消耗,当预设认证次数设置较低时,有助于提高认证安全性。
证设备可以包括与网关1连接的终端,具体为终端1、终端2和终端3;在认证服务端为网关2
的情况下,对应的待认证设备包括终端4、终端5和终端6;在认证服务端为云平台的情况下,
对应的待认证设备为网关1和网关2。
识,并获取各个设备标识对应的设备地址,向待认证设备集中各个设备标识对应的待认证
设备发送该随机数。
证服务端。
行解密操作。
密文集进行解密得到的集合认证信息与生成密文时采用的数据是相同的,也就是说,如果
密文集中的各个密文均是通过私钥对上述随机数进行加密得到的,则通过预设公钥对密文
集进行解密后得到的集合认证信息与上述随机数相同。
publicKey1对应有私钥privateKey1、私钥privateKey2和私钥privateKey3。终端1、终端2
和终端3在接收到网关1发送的随机数后,分别通过自身存储的私钥privateKey1、
privateKey2和privateKey3对随机数进行加密,分别得到密文f(x1)、f(x2)和f(x3),并将f
(x1)、f(x2)和f(x3)发送至网关1,网关1接收到f(x1)、f(x2)和f(x3)之后,运行combine(f
(x1),f(x2),f(x1),publicKey1)对各个待认证设备生成的密文进行组合获得密文集,并使
用publicKey1对密文集进行解密得到集合认证信息。同样的,网关2也可以作为认证服务
端,则终端4、终端5和终端6在接收到网关2发送的随机数后,分别通过自身存储的私钥
privateKey4、privateKey5和privateKey6对随机数进行加密,分别得到密文f(x4)、f(x5)
和f(x6),并将f(x4)、f(x5)和f(x6)发送至网关2,网关2对各个密文进行组合的到密文集,
并使用预设公钥publicKey2对密文集进行解密得到集合认证信息。
密文集进行解密后得到的集合认证信息,如果该集合认证信息与随机数相同,则说明密文
集中的各个密文均为使用正确的私钥和正确的随机数生成的,进而说明各个待认证设备均
存储有正确的私钥和随机数,并通过正确的加密算法生成了密文,此时,可以认为待认证设
备集中的各个待认证设备标识对应的待认证设备均为合法设备,使待认证设备集中的所有
设备标识对应的设备全部通过人身份证。
密文,得到密文集;其中,密文集中各密文为相对应的待认证设备基于随机数生成的;根据
预设公钥对密文集进行解密,得到集合认证信息;在集合认证信息和随机数一致的情况下,
确定各待认证设备通过身份认证。本发明的方法能够实现对待认证设备的并行认证,即通
过对待认证设备集中所有设备发送的密文进行整合,并对整合后的密文集进行解密,再将
解密结果与随机数进行比对,如果比对结果一致,则说明待认证设备集中的所有设备均采
用了正确的随机数,可以确定所有待认证设备均通过身份认证,无需采用串行的方式对待
认证设备进行认证,大幅提高了对待认证设备进行身份认证的效率,此外,由于通过认证需
要获得正确的密文集,而密文集是由各待认证设备生成的密文组合而成的,因此,需要获得
所有待认证设备的私钥才能破解本发明的身份认证方法,大大提升了网络设备的安全性。
数量与待认证设备集中的设备标识数量相同。一个预设公钥对应有至少一个私钥,某一预
设公钥对应的所有私钥构成的集合为该预设公钥对应的私钥集。需要说明的是,私钥集中
的私钥相互之间可以相同也可以不同,且私钥集中的每个私钥均与预设公钥存在对应关
系。
钥privateKey3,再将私钥集中的私钥分别发送至的终端1、终端2和终端3中。
及与所述预设公钥对应的私钥集。通过设置预设阈值,可以在仅在待认证设备数量超过预
设阈值的情况下才生成预设公钥和私钥集,进而可以控制采用本发明实施例的身份认证方
法生效的待认证设备数量,可以在待认证设备较多的情况下生成预设公钥和私钥集,并执
行后续的身份认证操作。这样,可以在提高大量设备认证效率的同时,避免可能导致的少量
设备认证效率降低。
认证,导致对待认证设备集的认证效率较低。但对于少量的待认证设备进行认证时,例如仅
对1个待认证设备进行认证,串行认证并不会显著延长认证时间,此时,采用本发明实施例
的认证方式可能并不会带来明显的效率提升,因此可以在待认证设备数量较少时采用传统
的设备认证方法。
个公钥以及与该一个公钥对应的多个私钥,并将公钥存储在父结点中,每个子结点存储自
己对应的私钥。
这样,有效避免了公开密钥基础设施(PKI,Public Key Infrastructue)体系中存在的单点
故障和密钥托管的问题,过程中不依靠任何第三方,独立运行并计算预设公钥与私钥集,确
保了整个技术生态的平稳运行。
公钥对信息进行加密传输,通过自己的私钥对信息解密或签名,通信者之间可以进行密钥
交换,为对称密码算法实现密钥共享。
网络结点数量,t表示参与运算的网络结点的门限值。
钥与待认证设备存在一一对应关系。
别发送至3个待认证设备。如图2所示,终端1接收到私钥privateKey1后将私钥privateKey1
存储在本地,在后续认证过程中,终端1可以通过私钥privateKey1对接收到的随机数进行
加密,并生成密文。
消耗运算资源也越多,但同时安全性也较高,因此,可以根据实际需要对资源消耗量和安全
性进行平衡,灵活调整随机数的位数。
证设备的数量较多时,生成位数较多的随机数,以使得在面对较少数量的待认证设备时,依
然可以提供较高的认证效率。
随机数,通过这种方式,可以实现对部分子设备进行身份认证,举例来说,参照图2,网关1连
接有终端1、终端2和终端3三台子设备,可以将终端1和终端2确定为待认证设备,进而仅通
过终端1和终端2的设备标识确定对应的设备地址,将随机数发送至终端1和终端2,实现对
认证服务端连接的部分子设备进行身份认证。
机数的效率。
密。其中,LED是一种迭代型轻量级分组密码算法,分组长度为64bit,密钥长度分别为64bit
或128bit。根据密钥长度的不同,加密过程对应的轮数分别为32轮和48轮,表示为LED64和
LED128。LED加密算法具有加密效率高以及所需的门电路数量少等优点,可以有效降低加密
所消耗的资源以及所需的硬件规格。如图2所示,网关1作为认证服务端,对于网关1连接的
下级设备中的终端1,以终端1为例,终端1可以运行轻量级密码算法LED(S,privateKey1)以
生成密文,其中,S为随机数,privateKey1为私钥privateKey1。
认证服务端的父结点设备生成并下发至所述认证服务端。
所示,云平台的子结点的设备包括网关1和网关2,则云平台可以作为认证服务端,采用步骤
201至步骤206中的身份认证方式对网关1和网关2进行身份认证。
备是指与认证服务端属于同一网络层级,且共享同一个父结点的其他设备,如图2所示,在
认证服务端为网关1的情况下,其他同级设备包括网关2。需要说明的是,同级设备可以是与
认证服务端属于同一网络层级的任意数量的其他设备,本发明实施例对此不进行具体限
定。
证服务端的同级设备通过分布式密钥生成算法生成,参照图2,在网关1作为认证服务端的
情况下,云平台为认证服务端的父结点,存储有目标公钥publicKey,而网关1则存储有与目
标公钥publicKey对应的目标私钥privateKey1,具体的生成方法可参照步骤201,本发明实
施例在此不做赘述。
端的父结点设备。参照图2,以认证服务端为网关1为例,则认证服务端的子结点设备为终端
1、终端2和终端3,父结点设备为云平台,网关1可以接收终端1发送的数据包,并通过自认携
带的目标私钥privateKey1对数据包进行加密得到目标密文,再将目标密文发送至云平台。
身携带的目标私钥对数据包进行加密,每个同级设备得到对应的一个目标密文,认证服务
端和每个同级设备再将各自对应的目标密文发送至父结点设备。
包进行加密得到目标密文f(d1),并发送至云平台,网关2通过自身携带的目标私钥
privateKey2对数据包进行加密得到目标密文f(d2),并发送至云平台;云平台接收到f(d1)
和f(d2)之后,将f(d1)和f(d2)进行整合,并通过自身携带的目标公钥publicKey进行解密,
得到数据包,具体的,云平台可以采用密文组合函数combine(f(d1),f(d2),publicKey)组
合并解密得到数据包。
般而言,为了提高安全性,通常在待认证设备通过身份认证后,认证服务端才会接收待认证
设备发送的数据包。
到的所有子数据进行组合并获得数据包。预设时间段可以根据实际情况进行设置,在预设
时间段设置较长时,认证服务端会以较低的频率对接收到的子数据包进行组合,从而可以
降低系统的资源消耗,但由于子数据包需要等待较长的时间才会被组合,会增加数据传输
的延迟,而在预设时间段设置较短时会增加系统的资源消耗,降低数据传输的延迟。参照图
2,将网关1作为认证服务端,将终端1、终端2和终端3作为待认证设备,设置预设时间段为1
秒,则网关1持续接收终端1、终端2和终端3发送的所有子数据包,并以1秒为间隔,对前1秒
内接收到的子数据进行组合,获得数据包。
到目标密文后,通过自身携带的目标公钥publicKey对目标密文进行解密,获得上述终端1
发出的数据包。
收终端1发送的数据包,将数据包共享至网关2,网关1通过自身携带的目标私钥
privateKey1对数据包进行加密得到目标密文f(d1),网关2通过自身携带的目标私钥
privateKey2对数据包进行加密得到目标密文f(d2),云平台接收到f(d1)和f(d2)之后,将f
(d1)和f(d2)进行整合,并通过自身携带的目标公钥publicKey进行解密,得到数据包,具体
的,云平台可以采用密文组合函数combine(f(d1),f(d2),publicKey)组合并解密得到数据
包。
还通过分布式密钥产生算法,使认证服务端和同级设备可以共享与目标公钥对应的私钥,
并通过多设备多私钥的加密方式,
比较,如果集合认证信息与该随机数不一致,则说明至少有一个待认证设备没有采用正确
的私钥和/或采用正确的随机数生成密文,可能为伪造的身份认证信息,因此,此时可以认
为该次身份认证失败,判定待认证设备集中所有设备认证失败。
时提示用户认证失败的待认证设备集的设备标识,以及对应的认证服务端的设备标识。
此时,云平台存储有预设公钥,网关1和网关2存储有与预设公钥对应的私钥。
网关2作为认证服务端,对作为待认证设备的终端4、终端5和终端6进行身份认证。
密文,得到密文集;其中,密文集中各密文为相对应的待认证设备基于随机数生成的;根据
预设公钥对密文集进行解密,得到集合认证信息;在集合认证信息和随机数一致的情况下,
确定各待认证设备通过身份认证。本发明的方法能够实现对待认证设备的并行认证,即通
过对待认证设备集中所有设备发送的密文进行整合,并对整合后的密文集进行解密,再将
解密结果与随机数进行比对,如果比对结果一致,则说明待认证设备集中的所有设备均采
用了正确的随机数,可以确定所有待认证设备均通过身份认证,无需采用串行的方式对待
认证设备进行认证,大幅提高了对待认证设备进行身份认证的效率,此外,由于通过认证需
要获得正确的密文集,而密文集是由各待认证设备生成的密文组合而成的,因此,需要获得
所有待认证设备的私钥才能破解本发明的身份认证方法,大大提升了网络设备的安全性。
终端1至终端n,终端1至终端n接收到随机数后,通过随机数加密模块对随机数进行加密,得
到各自的密文,终端1至终端n将各自的密文发送至网关,网关通过密文组合模块将各个密
文组合成密文集,再通过密文验证模块对密文集进行解密,如果解密结果与随机数相同,则
可以确定终端1至终端n通过身份认证。
生成预设公钥以及与所述预设公钥对应的私钥集;网关的身份验证模块中,通过随机数生
成模块用于生成随机数,并通过随机数发送模块向待认证设备集发送随机数;终端中,身份
验证模块中的随机数加密模块根据自身的私钥对网关发送的随机数进行加密,得到密文,
再通过密文发送模块将密文发送至网关;网关在接收到终端发送的密文后,通过网关的密
文组合模块将接收到的所有终端发送的密文进行组合,得到密文集,再通过密文验证模块
使用预设公钥对密文集进行解密,并判断此次身份认证是否通过。在数据传输之前,云平台
需要通过共享密钥生成模块生成目标公钥以及与目标公钥对应的目标私钥集,并将目标公
钥存储在云平台,将目标私钥集中的私钥发送给网关。在数据传输过程中,先由终端中数据
发送模块的明文发送模块将子数据包以明文的形式发送至网关,网关通过数据加密模块中
的明文接收与组合模块,将预设时间段内接收到的所有各个终端发送的子数据包进行组
合,得到数据包,再通过网关的数据加密模块根据网关携带的目标私钥对数据包进行加密
得到目标密文,通过数据加密模块中的数据扩散功能将数据包共享至同级设备,并通过密
文发送功能将目标密文发送至云平台。云平台的数据解密模块接收各个网关发送的目标密
文,并将所有目标密文进行组合,得到目标密文集,再由云平台的数据解密模块根据预设公
钥对目标密文集进行解密得到数据包。
钥和所述随机数生成的。
息并输出.
述目标私钥由所述认证服务端的父结点设备生成并下发至所述认证服务端。
包。
用于采用分布式密钥产生算法生成所述预设公钥,以及与所述预设公钥对应的私钥集。
密文,得到密文集;其中,密文集中各密文为相对应的待认证设备基于随机数生成的;根据
预设公钥对密文集进行解密,得到集合认证信息;在集合认证信息和随机数一致的情况下,
确定各待认证设备通过身份认证。本发明的方法能够实现对待认证设备的并行认证,即通
过对待认证设备集中所有设备发送的密文进行整合,并对整合后的密文集进行解密,再将
解密结果与随机数进行比对,如果比对结果一致,则说明待认证设备集中的所有设备均采
用了正确的随机数,可以确定所有待认证设备均通过身份认证,无需采用串行的方式对待
认证设备进行认证,大幅提高了对待认证设备进行身份认证的效率,此外,由于通过认证需
要获得正确的密文集,而密文集是由各待认证设备生成的密文组合而成的,因此,需要获得
所有待认证设备的私钥才能破解本发明的身份认证方法,大大提升了网络设备的安全性。
实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只
读存储器(Read‑Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称
RAM)、磁碟或者光盘等。
软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计
算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器
等)上实施的计算机程序产品的形式。
每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算
机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端的处理
器以产生一个机器,使得通过计算机或其他可编程数据处理终端的处理器执行的指令产生
用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的
系统。
令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
其他可编程终端上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
包括优选实施例以及落入本发明实施例范围的所有变更和修改。
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意
在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那
些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者
终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排
除在包括所述要素的过程、方法、物品或者终端中还存在另外的相同要素。
是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发
明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理
解为对本发明的限制。