基于轻量级ca的双向身份认证方法、计算机程序及存储介质

文档序号:703821 发布日期:2021-04-13 浏览:37次 >En<

阅读说明:本技术 基于轻量级ca的双向身份认证方法、计算机程序及存储介质 (Bidirectional identity authentication method based on lightweight CA, computer program and storage medium ) 是由 卿昱 李春燕 陈卫涛 李小花 李佳楠 余双波 于 2020-12-24 设计创作,主要内容包括:本发明涉及一种基于轻量级CA的双向身份认证方法,包括:初始化:CA节点和普通节点生成公私钥对,CA节点向本域的普通节点发送CA节点公钥;域内认证:待通信的双方普通节点分别向CA节点申请各自的辅公钥,并将各自的辅公钥发送给对方,双方收到对方的辅公钥进行身份验证,验证通过发起协商会话密码过程建立安全通道发送消息;跨域认证:多域的CA节点之间互签联盟公钥建立信任联盟,当普通节点漫游到异地域时,由异地域对应的CA节点验证节点身份真实性并为其签发临时辅公钥,通过临时辅公钥向异地域普通节点发起认证请求,认证通过则发起协商会话密码过程建立安全通道发送消息。(The invention relates to a bidirectional identity authentication method based on lightweight CA, which comprises the following steps: initialization: the CA node and the common node generate a public and private key pair, and the CA node sends a CA node public key to the common node of the domain; and (3) intra-domain authentication: common nodes of two parties to be communicated respectively apply respective auxiliary public keys to the CA node, and send the respective auxiliary public keys to the other party, the two parties receive the auxiliary public keys of the other party to carry out identity verification, and the verification establishes a secure channel to send messages by initiating a negotiation session password process; cross-domain authentication: when the common nodes roam to different regions, the CA nodes corresponding to the different regions verify the authenticity of the node identities and issue temporary auxiliary public keys for the nodes, the temporary auxiliary public keys initiate authentication requests to the common nodes in the different regions, and if the authentication is passed, a negotiation session password process is initiated to establish a safety channel to send messages.)

基于轻量级CA的双向身份认证方法、计算机程序及存储介质

技术领域

本发明涉及认证领域,特别涉及一种基于轻量级CA的双向身份认证方法、计算机程序及存储介质。

背景技术

移动自组织网络当前主要的安全认证机制包括集中式认证和分布式认证两类。

集中式认证将现有基于PKI的证书认证机制应用到移动自组织网络中,在网络中选取节点作为CA,用于执行证书的签发、发布、撤销等工作。该认证机制需要将证书集中管理,对于计算、存储、带宽等资源有限的移动自组织网络难以直接适用,一方面大量节点的证书存储,增大CA节点的存储负担,随着节点的加入,可能使新增节点的存储无效。另一方面,CA节点的承担繁重的管理工作,存在单点故障的风险,一旦CA节点被攻击,将影响整个网络的安全运转,因此集中式认证在移动自组织网络中并不适用。

分布式认证利用门限密码机制(t,n)实现共享密钥认证,将CA的签名密钥分成n份并由n个节点共同持有,CA功能的执行必须任意t个节点联合形成有效证书,少于t个节点则无法恢复签名密钥,因此也称为门限密码机制。该机制改进了集中式CA的不足,能有效防止单点故障,具有一定容侵性,但节点的认证需要与t个节点参与通信,任意节点的证书返回有误都会使证书合成失效,使得网络开销增大,加上门限式机制的计算复杂度高、协同工作多,进一步增加系统复杂性,因此基于门限机制的共享密钥认证方式在移动自组织网络中难以取得理想效果。在全局分布式认证方案中,将CA节点的签名密钥分发给网络中所有节点,由各节点共同承担网络认证服务,以此增强分布式认证服务的可用性,但由于所有节点均掌握CA节点私钥,增加私钥暴露风险,降低整个系统安全性。最近有人提出了轻量级CA认证的一般模型,证书由各用户自行管理,简化了证书管理的模型,提高了证书的签发效率,但没有具体提出移动自组织网络的认证协议方案。

发明内容

针对现有技术中存在的在移动自组织网络中对节点进行身份认证时,存在身份隐私有泄露风险、通信传输开销大和资源消耗多的问题,提供了一种基于轻量级CA的双向身份认证方法。

本发明采用的技术方案如下:一种基于轻量级CA的双向身份认证方法,包括:

初始化:CA节点和普通节点生成公私钥对,CA节点向本域的普通节点发送CA节点公钥;

域内认证:待通信的双方普通节点分别向CA节点申请各自的辅公钥,并将各自的辅公钥发送给对方,双方收到对方的辅公钥进行身份验证,验证通过发起协商会话密码过程建立安全通道发送消息;

跨域认证:多域的CA节点之间互签联盟公钥建立信任联盟,当普通节点漫游到异地域时,由异地域对应的CA节点验证节点身份真实性并为其签发临时辅公钥,通过临时辅公钥向异地域普通节点发起认证请求,认证通过则发起协商会话密码过程建立安全通道发送消息。

进一步的,所述初始化的具体过程为:在CA节点上输入系统参数集通过算法G生成CA节点的公私钥对,分别在所有普通节点上输入系统参数集并通过算法G生成普通节点的公私钥对;CA节点通过广播信息向本域的所有普通节点发送CA节点的公钥;普通节点保存CA节点的公钥。

进一步的,所述域内认证中辅公钥的申请具体过程为:普通节点发送申请消息至CA节点,申请消息采用CA节点公钥进行加密;CA节点接收到申请消息后,采用CA节点的私钥进行解密,得到普通节点的身份标识以及公钥,根据普通节点的身份标识查询节点状态列表,若状态为已注册则进行消息完整性校验,校验通过后CA节点通过CA节点私钥为普通节点的身份标识及公钥进行签名,生成普通节点的辅公钥,并返回给普通节点。

进一步的,所述域内认证中,身份验证的具体过程为:普通节点A要与普通节点B通信,普通节点A将自身的辅公钥发送给普通节点B;普通节点B收到验证请求,采用保存的CA节点公钥验证普通节点A的辅公钥及普通节点A的身份合法性,验证通过后将自身身份信息返回给普通节点A进行验证,普通节点A验证通过后通过掌握普通节点B的主公钥发起协商会话密码过程,进而建立安全通道以发送消息。

进一步的,所述跨域认证中,信任联盟建立过程为:域A与域B建立信任联盟,域A的CAA节点向CAB节点发起联盟建立请求,CAA为域A的CA节点,CAB为域B的CA节点;CAB节点收到请求消息首先确认域A的真实性,再为CAA节点签发联盟公钥并在本地保存备份,向CAA节点返回联盟公钥的同时将自身域信息一并返回;CAA节点获得联盟公钥后,验证CAB节点携带的身份信息,以同样的方式为CAB节点签发联盟公钥并向CAB节点返回,完成信任联盟建立。

进一步的,所述跨域认证中,签发临时辅公钥的具体过程为:域A普通节点A漫游至B域,普通节点A向B域发起临时辅公钥请求,CAB节点收到请求后,将CA节点为CAB节点签发的联盟公钥发送给普通节点A,普通节点A依此验证CAB节点的合法性,通过后向CAB节点发起临时辅公钥签发请求,CAB节点为普通节点A签发临时辅公钥。

进一步的,所述跨域认证中,通过临时辅公钥向异地域普通节点发起认证请求的具体过程为:域A普通节点A要与B域普通节点B通信时,普通节点A将CAB节点签发临时辅公钥发送给普通节点B;普通节点B收到验证请求,采用保存的CAB节点公钥验证普通节点A的临时辅公钥及普通节点A的身份合法性,验证通过后将自身身份信息返回给普通节点A进行验证,普通节点A验证通过后通过掌握普通节点B的主公钥发起协商会话密码过程,进而建立安全通道以发送消息。

本发明还提供了一种计算机程序,其包括有计算机程序指令,其中,所述程序指令被处理器执行时用于实现上述的基于轻量级CA的双向身份认证方法对应的过程。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时用于实现上述的基于轻量级CA的双向身份认证方法对应的过程。

与现有技术相比,采用上述技术方案的有益效果为:

1)本专利设计的身份认证协议具备安全性,能够抵抗节点仿冒、消息重放等攻击,能够保护用户身份的隐私,防止用户身份信息被追踪,

仿冒攻击:当有假冒节点请求通信时,虽然可以伪造一个辅公钥,但由于假冒节点没有经过CA节点合法签名,当使用CA节点公钥进行签名验证时,被请求通信的合法节点可以比较容易判定该节点没有经CA节点的签名认证。辅公钥的用户与传统CA作用类似,假冒者不知道CA的私钥,即便伪造身份,也容易被识别,能够有效防止仿冒节点攻击。

重放攻击:攻击者可能通过窃取网络传输链路中的消息伪装合法用户,但只是获得旧消息,消息中的时间戳能够标识身份消息的时效性,认证双方可以通过判断时戳达到防御重放攻击的目的。

隐私保护:节点的身份信息均通过加密保护,而私钥由各节点自行生成,不会在网络中传输,从而确保用户身份信息不会泄露。针对跨域认证,采用联盟CA验证和临时身份签发的方式,无需暴露用户节点自身的身份,即可实现跨域认证,能够防止用户身份被追踪。

2)本专利设计的身份认证协议从存储、计算和通信各方面降低了认证的资源占用,提高了节点间身份认证的效率;

通信开销:在认证协议执行过程中,节点间只需进行一轮交互,无需CA节点的参与,即可完成双向身份认证,交互次数得到减少,与传输PKI认证相比,交互次数减少了50%,同时传输认证消息仅有辅公钥、时间戳和哈希函数值,传输信息量少,所需带宽少。

存储开销:对于普通节点,用户只需存储自己公私钥对和CA节点的公钥,对于CA节点只需存储自己的公私钥对以及联盟节点之间的联盟公钥,无需集中维护用户节点的证书信息,减少了存储资源占用的需求。

计算开销:对于CA节点而言,极大的降低了计算资源占用,由于采用端到端认证,CA节点仅需在签发辅公钥、联盟公钥以及临时辅公钥的时候仅需密码运算,认证过程由节点双方自行完成,无需CA节点参与,有效的减少了集中式认证的计算资源需求,具有更高的效率。

附图说明

图1是本发明提出的基于轻量级CA的双向身份认证方法流程图。

图2是本发明提出通信域组成示意图。

图3是本发明提出域内认证示意图。

图4是本发明提出信任联盟示意图。

图5是本发明提出临时身份签发和跨域双向身份示意图。

具体实施方式

下面结合附图对本发明做进一步描述。

本发明主要解决的技术问题为:

1)针对身份隐私泄露的问题,通过公私钥对、辅公钥、时间戳、信任联盟和临时身份签发等技术,能够抵抗节点仿冒、消息重放等攻击,能够保护用户身份的隐私,大大提高安全性。

2)针对通信传输开销大的问题,通过减少认证协议的交互次数、减少单次交互的数据量等技术,能够有效降低通信开销和对带宽的需求。

3)针对资源消耗多的问题,通过减少节点必须存储的信息以及采用端到端认证等技术,有效减少节点对存储资源的需要和降低计算过程中的开销,能够大大提高身份认证的效率。

具体方案如下:

实施例1

如图1,一种基于轻量级CA的双向身份认证方法,包括:

初始化:CA节点和普通节点生成公私钥对,CA节点向本域的普通节点发送CA节点公钥;

域内认证:待通信的双方普通节点分别向CA节点申请各自的辅公钥,并将各自的辅公钥发送给对方,双方收到对方的辅公钥进行身份验证,验证通过发起协商会话密码过程建立安全通道发送消息;

跨域认证:多域的CA节点之间互签联盟公钥建立信任联盟,当普通节点漫游到异地域时,由异地域对应的CA节点验证节点身份真实性并为其签发临时辅公钥,通过临时辅公钥向异地域普通节点发起认证请求,认证通过则发起协商会话密码过程建立安全通道发送消息。

各个阶段实时过程如下:

1)初始化

①在CA节点上,输入系统参数集(DevID,Mac,Pos,Type),通过算法G生成CA节点的公私钥对(PKCA/SKCA),PKCA是CA节点的主公钥,SKCA是CA节点的私钥。

②在普通节点Ai上,输入系统参数集(DevID,Mac,Pos,Type),通过算法G生成Ai的公私钥对是普通节点Ai的主公钥,是普通节点Ai的私钥。

③依次在所有普通节点上执行步骤②,直到为所有普通节点生成它们的公私钥对。

④CA节点通过广播信息向本域的所有普通节点发送公钥PKcA

⑤普通节点保存CA节点的公钥以便后续用来申请自己的辅公钥。

2)域内认证

①当节点Ai需要与节点Ai+1通信时,向本域CAA节点请求辅公钥。

节点Ai辅公钥的申请消息如式(1)所示:

MESSAGE1:SLAVERY_PUBLIC_KEY_REQUEST

其中,是节点Ai的身份标识,是节点Ai的主公钥,Tstamp1用于记录当前时间戳,避免消息重放攻击,用来进行消息完整性校验,整个消息用CAA节点的公钥对申请信息进行加密。

节点CAA收到消息(1)后,用自己私钥解密得到节点Ai的身份标识以及公钥根据节点身份标识查询节点状态列表,若状态为已注册且可信,则计算并将其与收到的做比较,若相等则表明节点的信息(1)在发送过程中未被篡改。节点CAA向节点Ai返回消息如式(2):

CAA节点用自己的私钥为节点Ai的身份标识和主公钥进行签名,生成节点Ai的辅公钥

②类似的,Ai+1向本域CAA节点请求辅公钥,申请流程与步骤①类似,得到自己的辅公钥

③节点Ai需要与节点Ai+1进行身份认证时,首先交换双方的辅公钥,节点Ai首先将自身辅公钥发送给节点Ai+1;节点Ai+1收到验证请求,利用本地保存的CAA公钥验证节点Ai身份合法性,验证通过后将自身身份信息发送给Ai验证,如式(3)、(4)所示。

MESSAGE3-4:BILATERAL_AUTHENTICATION

④节点Ai完成对节点Ai+1的身份认证后,通过掌握的对方主公钥发起协商会话密码过程,进而建立安全通道以发送消息。

3)跨域认证

①构建信任联盟。各域CA节点互签联盟公钥,形成互信互认的分布式信任联盟,各域的CA节点维护并管理联盟关系。

以域A和B为示例,节点CAA将向节点CAB发起联盟建立请求,消息如式(5):

MESSAGE5:UNION_DOMAIN_REQUEST

其中NIDA为A域的唯一网络编号,为CAA节点的公钥。节点CAB收到消息(5)首先确认A域的真实性,再为CAA节点签发联盟公钥,并在本地保存备份,向CAA节点返回联盟公钥的同时将自身域信息一并返回,如式(6)所示。

MESSAGE6:UNION_DOMAIN_REPLAY

其中为节点CAB的公钥,NIDB为B域的唯一网络编号,为节点CAB为节点CAA签发的联盟公钥。节点CAA获得联盟公钥后,验证节点CAB携带的身份信息,以同样的方式为节点CAB签发联盟公钥并向其返回结果,如式(7)所示。

MESSAGE7:UNION_DOMAIN_REBACK

②签发临时身份。

当节点漫游到异地域通信时,向异地域的CA节点请求临时辅公钥,漫游节点可通过临时辅公钥与异地域节点之间直接进行双向认证,认证过程无需家乡域的CA节点参与。

以A域普通节点Ai漫游到B域为例。首先向B域发起临时辅公钥请求,CAB节点收到临时辅公钥请求后,将节点CAA为节点CAB签发的联盟公钥发送给节点Ai,以此验证节点CAB的合法性,并获取CAB节点的公钥用于保护漫游节点Ai的身份信息,具体如式(8),(9),(10),(11):

MESSAGE8-11:SIGN_TENP_PUBLIC_KEY

Ai→CAB:[REQ(NIDA)] (8)

在式(9)中,节点Ai利用保存的家乡域CAA节点验证节点CAB的联盟身份,验证通过后通过式(10)发起临时辅公钥签发请求,最后由为CAB为节点Ai签发的临时辅公钥

③跨域双向认证。

当节点Ai需要和B域内节点Bj通信时,利用临时辅公钥向Bj发起认证请求,认证流程与域内认证流程类似,如式(12),(13)所示。

MESSAGE12-13:DOMIAN_BILATERAL_AUTHENTICATION

其中为节点CAB为节点Bj签发的辅公钥,双方以节点CAB的公钥为权威实现双向的身份认证,节点Ai通过节点Bj的辅公钥获得其主公钥,节点Bj通过节点Ai的临时辅公钥获得其主公钥,通过双方的主公钥发起协商会话密码过程,进而建立安全通道以发送消息。

实施例2

在实施例1的基础上,提供了一种计算机程序,其包括有计算机程序指令,其中,所述程序指令被处理器执行时用于实现实施例1中的基于轻量级CA的双向身份认证方法对应的过程。

实施例3

在实施例1的基础上,提供了一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时用于实现实施例1中的基于轻量级CA的双向身份认证方法对应的过程。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:注册方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!