CN114168924A - 一种基于数字证书的群成员相互认证的方法和系统 - Google Patents
一种基于数字证书的群成员相互认证的方法和系统 Download PDFInfo
- Publication number
- CN114168924A CN114168924A CN202210124919.6A CN202210124919A CN114168924A CN 114168924 A CN114168924 A CN 114168924A CN 202210124919 A CN202210124919 A CN 202210124919A CN 114168924 A CN114168924 A CN 114168924A
- Authority
- CN
- China
- Prior art keywords
- certificate
- group
- group member
- authentication
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种基于数字证书的群成员相互认证方法,其中,该方法包括:相互认证的第一群成员设备和第二群成员设备,分别执行对象身份认证流程,对象身份认证流程包括:接收对象设备发送的交互请求和认证数据,其中,交互请求中包括对象设备的网络信息、节点信息和欲操作的群ID,认证数据包括对象设备的对象证书链,获取本设备的本地证书链,基于本地证书链、交互请求和认证数据,对对象设备的身份进行认证,在认证成功后输出对象设备可信响应;判断第一群成员设备和第二群成员设备,是否同时输出对象设备可信响应,若是,指示群成员相互认证成功。通过本申请,可以在分布式设备中实现高效安全的群管控。
Description
技术领域
本申请涉及信息安全领域,特别是涉及一种基于数字证书的群成员相互认证的方法和系统。
背景技术
在公有云中为所有用户建立账户,并按照用户意愿将多个账户放入一个共同的边界内实现群共享、群聊天等功能。在公有云基础上,群的生成、添加、删除都是在云内部实现,由于所有群都在一朵云中,一旦发生公有云泄露或者存在漏洞,则所有群都将面临数据安全问题,诸如数据拖库、三方漏洞等。
在分布式设备中,群的生成、添加、删除都是在群主自己的设备中实现,由自己的设备进行对外管控。与公有云不同,采用分布式方式,用户具备对自己设备的完全控制能力,在自己设备上可以随意创建群组用于资料文件管理以及管理与他人的分享边界等,安全性也随之提升。
但是,在分布式设备中,如何进行安全高效的群管理是本领域技术人员急需解决的技术问题。
发明内容
本申请实施例提供了一种基于数字证书的群成员相互认证的方法、装置、系统、计算机设备和计算机可读存储介质,以至少解决相关技术中在分布式设备中无法安全高效的实现群管理的问题。
第一方面,本申请实施例提供了一种基于数字证书的群成员相互认证方法,应用在分布式群管理场景下,基于私有云设备实现,且每个私有云设备中保存有群主用户CA证书、群CA证书和群成员证书组成的证书链,
其中,所述群主用户CA证书为根证书、所述群CA证书为二级证书、所述群成员证书为三级证书,所述方法包括:
相互认证的第一群成员设备和第二群成员设备互为对象设备,且分别执行对象设备的身份认证流程,所述对象设备身份认证流程包括:
接收对象设备发送的交互请求和认证数据,其中,所述交互请求中包括所述对象设备的网络信息、节点信息和欲操作的群ID,所述认证数据包括所述对象设备的对象证书链,
获取本设备的本地证书链,基于所述本地证书链、所述交互请求和所述认证数据,对所述对象设备的身份进行认证,在认证成功后输出对象设备可信响应;
在判断所述第一群成员设备和所述第二群成员设备,都已输出所述对象设备的可信响应之后,指示群成员相互认证成功。
通过上述实施例,分布式群管控场景下的两台群成员设备,可以基于数字证书进行安全高效的点对点的认证,提升了分布式群管控的安全性和效率。
在其中一些实施例中,所述基于所述本地证书链、所述交互请求和所述认证数据,对所述对象设备的身份进行认证包括:
基于数字证书的逆向追溯特性,对所述对象证书链进行逐级校验,判断所述对象证书链是否完整,以及,
判断所述本地证书链和对象证书链中,群主用户CA证书是否一致,以及,
获取所述对象证书链的目标群成员证书,判断所述交互请求和所述目标群成员证书中,网络信息、节点信息和群ID是否一致,
若三者均是,指示所述对象设备认证成功,输出所述对象设备可信响应。
上述实施例,通过判断本地的群主用户CA证书是否与对方发送的用户CA证书一致,来识别对方的证书是否就是被相同的群主签发。进一步的,由于证书链以用户CA证书为根证书逐级签发,因此可以利用数字证书的逆向追溯特性对证书链进行校验,再结合群主用户CA证书的校验结果,从而判断整个证书链的完整性以及准确性。再利用该证书链中的各个ID信息与交互请求中的ID信息对比,即可认证对方的身份。
在其中一些实施例中,所述认证数据还包括所述对象设备的DH公钥,其中,所述DH公钥针对所述交互请求,通过密钥交换算法生成,
所述DH公钥中包括签名信息,所述签名信息采用所述对象证书链中,对象群成员证书的私钥写入。
在其中一些实施例中,所述对所述对象设备的身份进行认证,在认证成功后输出对象设备可信响应之后,所述方法还包括:
获取所述对象证书链中对象群成员证书的公钥,并判断其与所述DH公钥中的签名信息是否匹配,若是,指示所述认证数据中DH公钥校验成功。
通过上述实施例中,一方设备通过在DH公钥中采用群成员证书私钥添加签名信息,另外一方设备即可通过将证书链中的群成员证书公钥与该签名信息对比,从而判断DH公钥是否安全准确。
在其中一些实施例中,所述群成员相互认证成功之后,所述方法还包括:
所述第一群成员设备和所述第二群成员设备,分别基于从所述对象设备接收到的DH公钥和本地生成的DH私钥,生成相同的对称密钥,
其中,所述DH私钥与所述DH公钥针对于所述交互请求同步生成,且互为公私钥对;
所述第一群成员设备和所述第二群成员设备之间,基于所述对称密钥建立安全通道,其中,所述对称密钥用于加密和/或解密交互数据。
通过上述实施例,在经过对象身份认证以及DH公钥认证之后,群成员设备之间基于该DH公钥和本地DH私钥生成对称密码,即可通过该对称密码建立交互通道。
在其中一些实施例中,所述基于所述对称密钥建立安全通道之后,所述方法还包括:
所述第一群成员设备和所述第二群成员设备,分别检测所述安全通道内的交互数据;
在预设时段内,所述安全通道内未检测到所述交互数据的情况下,分别删除所述DH公私钥对和所述对称密钥,其中,所述预设时段定义为所述对称密钥的有效期。
通过上述实施例,通过设置对称密码有效期实现心跳检测及重新认证,可以在任一方设备被侵入时,保障对方设备的安全。
在其中一些实施例中,所述群主用户CA证书以群主设备的应用信息、网络信息和集群信息作为扩展项,并由随机生成的私钥签发生成。
在其中一些实施例中,所述群CA证书以所述群ID和所述群主设备的节点信息、网络信息作为扩展项,并由所述群主用户CA证书签发生成。
在其中一些实施例中,所述群成员证书以所述群成员设备的网络信息、节点信息和群ID作为扩展信息,并由所述群CA证书签发生成。
在其中一些实施例中,所述应用信息是应用层为用户分配的全网唯一ID;
所述节点信息是设备接入在网络时对其配置的用于表示节点位置的全网唯一ID;
所述网络信息是用于标识设备网络角色的全网唯一ID;
所述集群信息是所述私有云设备对应的集群ID。
第二方面,本申请一种基于数字证书的群成员相互认证系统,应用在分布式群管理场景下,基于私有云设备实现,且每个私有云设备中保存有群主用户CA证书、群CA证书和群成员证书组成的证书链,
其中,所述群主用户CA证书为根证书、所述群CA证书为二级证书、所述群成员证书为三级证书,
所述系统用于在相互认证的互为对象设备的第一群成员设备和第二群成员设备之间,执行对象设备身份认证流程,其中,所述系统包括:对象设备数据接收模块、校验认证模块和认证结果输出模块;
所述对象设备数据接收模块用于,接收对象设备发送的交互请求和认证数据,其中,所述交互请求包括所述对象设备的网络信息、节点信息和待处理的群ID,所述认证数据包括所述对象设备的对象证书链;
所述校验认证模块用于,获取本设备的本地证书链,基于所述本地证书链、所述交互请求和所述认证数据,对所述对象设备的身份进行认证,在认证成功后输出对象设备可信响应;
所述认证结果输出模块用于,在所述第一群成员设备和所述第二群成员设备都已输出所述对象设备的可信响应之后,指示群成员相互认证成功。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种基于数字证书的群成员相互认证的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种基于数字证书的群成员相互认证的方法。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的基于数字证书的群成员相互认证方法的应用环境示意图;
图2是根据本申请实施例的一种基于数字证书的群成员相互认证方法的流程图;
图3是根据本申请实施例的一个具体的交互场景示意图;
图4是根据本申请实施例的基于数字证书的群成员相互认证系统的结构框图;
图5是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
本申请提供的基于数字证书的群成员相互认证方法,可以应用在可信通信场景下,图1是根据本申请实施例的基于数字证书的群成员相互认证方法的应用环境示意图。
如图1所示,可以以用户CA证书为根证书,并通过根证书的逐级签发得到群CA证书、群成员证书;进一步的,将上述根证书、群CA证书和群成员证书,应用在分布式群管理场景中,从而可以在各用户的私有云设备10之间,进行高效且精准的相互认证。另外,各用户可以通过应用端11向私有云设备10发送消息数据,经其转发后,可以在群组内实现安全的数据共享和群聊天等。通过本申请实施例提供的一种基于数字证书的群成员相互认证的方法,可以安全高效的实现分布式群管理。需要说明的是,应用端11可以是智能手机或平板电脑等移动设备,也可以是PC设备等固定设备;私有云设备10可以是用于可信通信场景定制的个人私有云设备或家庭私有云设备。
图2是根据本申请实施例的一种基于数字证书的群成员相互认证方法的流程图,如图2所示,该流程包括如下步骤:
需要说明的是,该方法应用在分布式群管理场景下,基于私有云设备实现;且需在满足前置条件下运行,
该前置条件即:每个私有云设备中保存有群主用户CA证书、群CA证书和群成员证书组成的证书链,其中,群主用户CA证书为根证书、群CA证书为二级证书、群成员证书为三级证书。
S201,相互认证的第一群成员设备和第二群成员设备互为对象设备,分别执行对象设备的身份认证流程,该对象设备身份认证流程包括:对象数据获取环节和身份校验环节。
本实施例中,第一群成员设备和第二群成员设备可以但不限于是:同一个用户的两台私有云设备,不同用户的两台私有云设备;部署在相同或不同线下空间的两台私有云设备;以及硬件版本相同或不同的两台私有云设备等。应当理解的是,在硬件及网络状态安全有效的前提下,该第一群成员设备、第二群成员设备可以是分布式群管理场景下的任意一台私有云设备。
另外,区别于传统的中心式群管控方案,本申请中任意一台私有云设备都可以作为群主设备。同时,需要说明的是,当某个私有云设备作为群主时,其同时也具备群成员身份,群主身份的作用只体现在群CA证书和群成员证书签发环节。在两台设备相互认证时,并无群主和群成员的区别,两台私有云设备都被视为平等的群成员设备。
对象数据获取环节如下:
接收对象设备发送的交互请求和认证数据,其中,交互请求中包括对象设备的网络信息、节点信息和待处理的群ID,认证数据包括对象设备的对象证书链;
其中,该对象数据获取环节及后续身份校验环节都在主设备上执行,其目的是获取对象设备的信息并对其进行身份认证。可以理解的是,当主设备是第一群成员设备时,对象设备即为第二群成员设备;当主设备是第二群成员设备时,对象设备即为第一群成员设备;
由于主设备接收到的交互请求中包括对象设备的网络信息、节点信息和欲操作的群ID,主设备可以根据这些信息得到:是哪个成员(根据网络信息)、哪台设备(节点信息),在哪个群(群ID)内准备与自己建立连接。
进一步的,主设备在接收交互请求之后,其需要验证交互请求发出者的身份是否准确,对应的,验证数据的作用即用于证明对象设备的身份。如上述前置条件所述,每台私有云设备中都保存有本设备的证书链,该证书链即可作为认证数据,用于主设备对对象设备进行身份认证。
身份校验环节如下:
获取本设备中本地证书链,基于本地证书链、交互请求和认证数据,对对象设备的身份进行认证,在认证成功后输出对象设备可信响应,具体包括;
第一步:基于数字证书的逆向追溯特性,对对象证书链进行逐级校验,判断对象证书链是否完整;
需要说明的是,本步骤的目的在于:主设备校验证书链的完整性。如前置条件所述,群主用户CA证书是根证书,群CA证书和群成员证书分别为第二级和第三级证书,即二级证书是根证书签发得到,三级证书又由二级证书签发得到。因此,主设备接收到该证书链时,可以基于数字证书的逆向追溯特性,从下往上逐级反向追溯,通过判断上层证书是否够从低级别证书有效回溯,来验证证书链的完整性。
第二步,判断本地证书链和对象证书链中,群主用户CA证书是否一致。
可以理解的是,本步骤的作用在于:校验对象设备的证书链与主设备自身的证书链是否是被同一个群主设备签发的。可以理解的是,当两个证书链为同一个群主设备签发,将具有相同的群主用户CA证书。
需要说明的是,若主设备和对象设备的群主用户CA证书一致,由于证书链中的群CA证书、和群成员证书,都是以群主用户CA证书为根证书逐级签发得到的,因此,当上述步骤中校验结果指示证书链完整时,即可以认为群CA证书和群成员证书也是可信的。
第三步,获取对象证书链的目标群成员证书,判断交互请求和目标群成员证书中,网络信息、节点信息和群ID是否一致,
上述第二步中,若得到对象证书链中群成员证书可信,则可以提取该群成员证书中的扩展项信息(群ID、网络ID、节点ID),并判断该扩展项信息是否与交互请求中的群ID、网络信息、节点信息是否一致,若是,即可认为对象设备的身份信息可信,将输出对象设备可信响应。
S202,在第一群成员设备和所述第二群成员设备,都已输出其对象设备的可信响应之后,指示群成员相互认证成功。
需要说明的是,上述“同时”并非限定为时间刻度上的“同时”,其在本实施例中的释义为,第一群成员设备和第二群成员设备都输出了对象设备可信响应。
进一步的,第一群成员设备输出对象设备可信响应,即指示其对第二群成员设备的身份认证成功;第二群成员设备输出对象设备可信响应,即指示其对第一群成员设备的身份认证成功。
因此,在上述情况下,即可认为两台群成员设备相互认证成功。
通过上述步骤S201至S202,各群成员的私有云设备之间在发送交互请求之后,可以基于证书链中多个级别的数字证书,利用数字证书的特性以及证书中添加的扩展项信息,在群成员之间进行高效安全的点对点认证。特别是针对于多个用户的多个设备之间进行认证时,本申请提供的方案将具有很强的便捷性和安全性。进一步的,在相互认证成功之后,各群成员设备可以在群组内,进行文件分享、群聊互动等活动,通过本实施例,提升了分布式群管控的安全性和高效性。
在其中一些实施例中,考虑到第一群成员设备和第二群成员设备相互认证之后,如何进行安全通信的问题。本申请中对象设备发送的认证数据还包括DH公钥,其中DH公钥中包括签名信息,而该签名信息是采用对象证书链中,对象群成员证书的私钥写入的。
需要说明的是,各群成员设备中还同步保存有与上述DH公钥匹配的DH私钥,该DH公钥和DH私钥为一对DH公私钥,其伴随交互请求生成,即针对于设备之间的每次认证连接,生成一对DH公私钥。
进一步的,第一群成员设备和第二群成员设备,分别针对交互请求生成了一对DH公私钥对,当两者又分别获取到对方的DH私钥时,即可将本地DH私钥和对方的DH公钥结合生成对称密钥,由于DH算法的特性,两台设备生成的对称密钥一定是相同的。
举例说明如下:
可以理解的是,两台群成员设备生成的对称密钥一定是相同的。当然,上述举例只是为方便理解做出的简要说明,在实际应用场景,该DH公私钥对的复杂度,以及对称密码的计算复杂度要远大于上述举例中的描述。
但是,其采用的原理是相同的,因此本实施例中对此不再过多赘述。
进一步的,考虑到认证数据中DH公钥的安全性,群成员设备在接收到对方设备的DH公钥之后,还需对该DH公钥进行校验。
上述步骤中S201中,已阐述对证书链进行安全校验的具体方法;对应的,若对象证书链校验成功,在证书链中获取对象群成员证书的公钥,并判断该证书链中的公钥与DH公钥中的签名信息是否匹配。其中,由于该签名信息同样采用上述对象群成员证书的私钥写入,因此,若两者互相匹配,则可以证明认证数据中DH公钥的安全性。
再进一步的,当第一群成员设备和第二群成员设备之间相互认证成功,且获得对方的DH公钥之后,即可分别基于本地DH私钥和从对象设备接收的DH公钥,生成相同的对称密钥;
第一群成员设备和第二群成员设备之间,基于该对称密钥建立安全通道,并通过该对称密钥来加密和/或解密交互数据,以实现安全交互。
在其中一些实施例中,考虑到群成员设备之间的交互安全性,基于对称密钥建立安全通道之后,第一群成员设备和第二群成员设备,将分别检测安全通道内的交互数据;
如果在预设时段内,安全通道内未接收交互数据,将删除基于本次交互临时创建生成的对称密钥和DH公私钥对,其中,预设时段定义为对称密钥的有效期。
通过上述实施例,当互相交互的两台群成员设备之间心跳停止时,将暂时关闭本次交互建立的安全通道,若后续接收到新的交互数据,两台群成员设备再按照上述方法重新认证,以及建立新的安全通道。因此,若某一方设备被黑客劫持导致心跳中断时,若需重新建立连接,就必须重新认证。从而提升了系统的整体安全性。可选的。本领域技术人员可以结合系统的实际情况,将上述预设时段设置为一个合理的数值,即其认为以当前系统的安全程度,黑客在预设时段内并不能侵入。
在其中一些实施例中,该群主用户CA证书的过程包括:
首先,群主设备通过非对称加密算法生成一对公私钥对,并获取本设备对应的应用信息(userid)、网络信息(networkid)和集群信息(clusterid),以上述用户信息、网络信息和集群信息组成群成员用户证书扩展信息;
进一步的,将上述公钥、用户证书扩展信息和其他必须的主体信息组合生成群主用户CA证书请求,之后,通过上述私钥签发该群主用户CA证书请求生成群主用户CA证书。
在其中一些实施例中,生成群CA证书的过程包括:
首先,群主设备通过非对称算法生成一对公私钥对,并生成群ID,以及获取本设备的网络信息(networkid)和节点信息(nodeid),以上述网络信息、节点信息和群ID组成群证书扩展项;
进一步的,将将上述公钥、群证书扩展项和常规的主体信息组合生成群证书请求;之后,获取本设备的群主用户CA证书,通过该群主用户CA证书签发群证书请求生成群CA证书。
在其中一些实施例中,生成群成员证书的过程包括:
首先,通过非对称算法生成一对公私钥对,并获取群ID(groupid)、以及本设备的网络信息(networkid)和节点信息(nodeid),以上述群ID、网络信息和节点信息结合为群成员证书扩展信息;
进一步的,基于上述公钥、证书扩展项和其他必须的主体信息生成上述群成员证书请求,之后,获取群CA证书,通过群CA证书签发群成员证成员书请求生成上述群CA证书。
需要说明的是,上述群主用户CA证书、群CA证书和群成员证书将被合并为证书链,发送至各个群成员设备中。
在其中一些实施例中,本申请中的应用信息是应用层为用户分配的全网唯一ID,节点信息是设备接入在网络时对其配置的用于表示节点位置的节点ID,网络信息是用于标识设备网络角色的全网唯一ID,集群信息是私有云设备对应的集群号,其中,用户的多个私有云设备可以组成集群,该集群的ID即上述集群号。在实际应用中,对于一个集群下的多个私有云设备,可以将其视为逻辑上的一个设备,能够达到扩容的目的。
具体的,图3是根据本申请实施例的一种具体的交互场景示意图,如图3所示,包括如下步骤:
步骤1:群成员a的设备收到应用层上传的向群成员b获取数据的请求,群成员a将消息发送到本设备的网络层;
步骤2:群成员a设备的网络侧利用群ID(groupid)、本设备上的用户ID(networkid)、本设备的节点ID(nodeid),向本设备的安全模块获取本设备在群中的群成员证书链以及群成员证书的私钥,获取失败则异常,异常处理;
步骤3:群成员a设备的安全模块获取到步骤2信息后,在安全模块内部针对本次连接通过DH算法(密钥交换算法)生成一对公私钥x,
步骤4:将生成的公私钥x打上本次连接群的标记(群ID+生成时间),并保存在内存中;
步骤5:用步骤2获取的群成员证书的私钥,对步骤3生成的公钥进行签名获得签名数据;
步骤6:将步骤2获得的证书链、步骤3生成的公钥x、以及步骤5获取的签名数据合并为一个数据,将合并的数据返回给网络端;
步骤7:群成员a设备的网络端将数据及交互请求(访问的群ID,本设备的网络ID和本设备的节点ID以及群成员a的网络ID,设备节点ID),发送到群成员b的网络端,群成员b的网络端将收到的数据转发到本设备的安全模块;
步骤8:群成员b的安全模块收到信息,通过群ID,本设备的网络ID和节点ID获取本地群成员b的证书链,和群成员b的群成员证书对应的私钥;获取失败则进入异常(可能自己本身不是群内成员,可能出现数据异常)处理;
步骤9:把步骤7的数据包拆分为对方的群成员证书链、DH公钥x,DH公钥的签名信息,然后对这些信息进行校验:
1.校验证书链信息,(拆解证书链为群成员证书、群CA证书、群主用户CA证书):
a) 校验证书链是否完整;
b)校验证书链中群主用户CA证书与本地保存的群主用户CA证书是否一致;
c)校验群成员证书与交互请求中的群ID、网络ID、节点ID是否一致;
d)校验群成员证书是否在群主吊销的证书列表信息中;
2.校验DH公钥x的签名是否合法:用上述校验过的群成员证书中的公钥校验DH公钥x的签名信息是否正确;
步骤10:群成员b的安全模块经过校验确认群成员a的数据合法,则在自己的内存中通过DH算法生成公私钥y;
步骤11:群成员b的安全模块将步骤10中的公钥由本地获取的群成员b证书对应的私钥进行签名获得签名数据;
步骤12:群成员b的安全模块将步骤8获得的群成员b证书链、步骤10生成的公钥y以及步骤11的签名数据,组合成认证数据返回给网络端,由网络端发送到群成员a的设备中;
步骤13:群成员b安全模块将步骤9校验过的DH公钥x,与步骤10生成的私钥y结合生成对称密钥key,并将key也返回给网络端;
步骤14:群成员a中的安全模块收到群成员b发送来的认证数据,按照步骤9同样的校验确认数据合法后,然后通过DH公钥y和DH私钥x结合生成对称密钥key,注意这由DH算法保证步骤13和步骤14生成的key是一致的;
步骤15:群成员a和群成员b在key的加密解密中安全交互数据;(key存在有效期,如果一定时间内未交互,key会被删除,安全模块中的DH公私钥x和公私钥y一同被删除)
本实施例还提供了一种基于数字证书的群成员相互认证系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请实施例的基于数字证书的群成员相互认证系统的结构框图,应用在分布式群管理场景下,基于私有云设备实现,且每个私有云设备中保存有群主用户CA证书、群CA证书和群成员证书组成的证书链,
其中,群主用户CA证书为根证书、群CA证书为二级证书、群成员证书为三级证书,
该系统用于在相互认证的第一群成员设备和第二群成员设备之间,执行对象身份认证流程,该系统包括:对象数据接收模块40、校验认证模块41和认证结果输出模块42;
对象数据接收模块40用于,接收对象设备发送的交互请求和认证数据,其中,交互请求包括对象设备的网络信息、节点信息和欲操作的群ID,认证数据包括对象设备的对象证书链;
校验认证模块41用于,获取本设备的本地证书链,基于本地证书链、交互请求和认证数据,对对象设备的身份进行认证,在认证成功后输出对象设备可信响应;
认证结果输出模块42用于,判断第一群成员设备和第二群成员设备,是否同时输出对象设备可信响应,若是,指示群成员相互认证成功。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于数字证书的群成员相互认证方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图5是根据本申请实施例的电子设备的内部结构示意图,如图5所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图5所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种基于数字证书的群成员相互认证方法,数据库用于存储数据。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种基于数字证书的群成员相互认证方法,其特征在于,应用在分布式群管理场景下,基于私有云设备实现,且每个私有云设备中保存有群主用户CA证书、群CA证书和群成员证书组成的证书链,
其中,所述群主用户CA证书为根证书,所述群CA证书为二级证书,所述群成员证书为三级证书,所述方法包括:
相互认证的第一群成员设备和第二群成员设备互为对象设备,且分别执行对象设备身份认证流程,所述对象设备身份认证流程包括:
接收对象设备发送的交互请求和认证数据,其中,所述交互请求中包括所述对象设备的网络信息、节点信息和待处理的群ID,所述认证数据包括所述对象设备的对象证书链,
获取本设备的本地证书链,基于所述本地证书链、所述交互请求和所述认证数据,对所述对象设备的身份进行认证,在认证成功后输出对象设备可信响应;
在所述第一群成员设备和所述第二群成员设备,都已输出其对象设备的可信响应之后,指示群成员相互认证成功。
2.根据权利要求1所述的方法,其特征在于,所述基于所述本地证书链、所述交互请求和所述认证数据,对所述对象设备的身份进行认证包括:
基于数字证书的逆向追溯特性,对所述对象证书链进行逐级校验,判断所述对象证书链是否完整,以及,
判断所述本地证书链和对象证书链中,群主用户CA证书是否一致,以及,
获取所述对象证书链的目标群成员证书,判断所述交互请求和所述目标群成员证书中,网络信息、节点信息和群ID是否一致,
若三者均是,指示所述对象设备认证成功,输出所述对象设备可信响应。
3.根据权利要求1所述的方法,其特征在于,所述认证数据还包括所述对象设备的DH公钥,其中,所述DH公钥针对所述交互请求,通过密钥交换算法生成,
所述DH公钥中包括签名信息,所述签名信息采用所述对象证书链中,对象群成员证书的私钥写入。
4.根据权利要求3所述的方法,其特征在于,对所述对象设备的身份进行认证,在认证成功后输出对象设备可信响应之后,所述方法还包括:
获取所述对象证书链中对象群成员证书的公钥,并判断其与所述DH公钥中的签名信息是否匹配,若是,指示所述认证数据中DH公钥校验成功。
5.根据权利要求4所述的方法,其特征在于,群成员相互认证成功之后,所述方法还包括:
所述第一群成员设备和所述第二群成员设备,分别基于从所述对象设备接收到的DH公钥和本地生成的DH私钥,生成相同的对称密钥,
其中,所述DH私钥与所述DH公钥针对于所述交互请求同步生成,且互为公私钥对;
所述第一群成员设备和所述第二群成员设备之间,基于所述对称密钥建立安全通道,其中,所述对称密钥用于加密和/或解密交互数据。
6.根据权利要求5所述的方法,其特征在于,基于所述对称密钥建立安全通道之后,所述方法还包括:
所述第一群成员设备和所述第二群成员设备,分别检测所述安全通道内的交互数据;
在预设时段内,所述安全通道内未检测到所述交互数据的情况下,分别删除所述DH公钥、所述DH私钥和所述对称密钥,其中,所述预设时段定义为所述对称密钥的有效期。
7.根据权利要求1所述的方法,其特征在于,所述群主用户CA证书以群主设备的应用信息、网络信息和集群信息作为扩展项,并由随机生成的私钥签发生成。
8.根据权利要求7所述的方法,其特征在于,所述群CA证书以所述群ID和所述群主设备的节点信息、网络信息作为扩展项,并由所述群主用户CA证书签发生成。
9.根据权利要求8所述的方法,其特征在于,所述群成员证书以所述群成员设备的网络信息、节点信息和群ID作为扩展信息,并由所述群CA证书签发生成。
10.根据权利要求1至9中任意一项所述的方法,其特征在于,
应用信息是应用层为用户分配的全网唯一ID;
节点信息是设备接入在网络时对其配置的用于表示节点位置的节点ID;
网络信息是用于标识用户网络角色的全网唯一ID;
集群信息是所述私有云设备对应的集群ID。
11.一种基于数字证书的群成员相互认证系统,其特征在于,应用在分布式群管理场景下,基于私有云设备实现,且每个私有云设备中保存有群主用户CA证书、群CA证书和群成员证书组成的证书链,
其中,所述群主用户CA证书为根证书,所述群CA证书为二级证书,所述群成员证书为三级证书,
所述系统用于在相互认证的互为对象设备的第一群成员设备和第二群成员设备之间,执行对象设备身份认证流程,其中,所述系统包括:对象设备数据接收模块、校验认证模块和认证结果输出模块;
所述对象设备数据接收模块用于,接收对象设备发送的交互请求和认证数据,其中,所述交互请求包括所述对象设备的网络信息、节点信息和待操作的群ID,所述认证数据包括所述对象设备的对象证书链;
所述校验认证模块用于,获取本设备的本地证书链,基于所述本地证书链、所述交互请求和所述认证数据,对所述对象设备的身份进行认证,在认证成功后输出对象设备可信响应;
所述认证结果输出模块用于,在所述第一群成员设备和所述第二群成员设备都已输出其对象设备的可信响应之后,指示群成员相互认证成功。
12.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至10中任一项所述的基于数字证书的群成员相互认证方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至10中任一项所述的基于数字证书的群成员相互认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210124919.6A CN114168924B (zh) | 2022-02-10 | 2022-02-10 | 一种基于数字证书的群成员相互认证的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210124919.6A CN114168924B (zh) | 2022-02-10 | 2022-02-10 | 一种基于数字证书的群成员相互认证的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114168924A true CN114168924A (zh) | 2022-03-11 |
CN114168924B CN114168924B (zh) | 2022-07-12 |
Family
ID=80489562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210124919.6A Active CN114168924B (zh) | 2022-02-10 | 2022-02-10 | 一种基于数字证书的群成员相互认证的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168924B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221591A1 (zh) * | 2022-05-16 | 2023-11-23 | 腾讯科技(深圳)有限公司 | 一种数据传输的方法、相关装置、设备以及存储介质 |
CN118410466A (zh) * | 2024-04-22 | 2024-07-30 | 北京长擎软件有限公司 | 一种针对内网集群化分布操作系统的认证方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020144149A1 (en) * | 2001-04-03 | 2002-10-03 | Sun Microsystems, Inc. | Trust ratings in group credentials |
US20030056093A1 (en) * | 2001-09-19 | 2003-03-20 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method |
US20040054899A1 (en) * | 2002-08-30 | 2004-03-18 | Xerox Corporation | Apparatus and methods for providing secured communication |
US20040243672A1 (en) * | 2003-05-27 | 2004-12-02 | Outi Markki | System and method for user interaction in a peer-to-peer environment |
US20060242405A1 (en) * | 2005-04-20 | 2006-10-26 | Microsoft Corporation | Peer-to-peer authentication and authorization |
CN103414699A (zh) * | 2013-07-23 | 2013-11-27 | 北京星网锐捷网络技术有限公司 | 客户端证书认证方法、服务器和客户端 |
CN109992953A (zh) * | 2019-02-18 | 2019-07-09 | 深圳壹账通智能科技有限公司 | 区块链上的数字证书签发、验证方法、设备、系统及介质 |
CN110061846A (zh) * | 2019-03-14 | 2019-07-26 | 深圳壹账通智能科技有限公司 | 对区块链中用户节点进行身份认证的方法及相关设备 |
CN110535628A (zh) * | 2019-08-29 | 2019-12-03 | 阿里巴巴集团控股有限公司 | 通过证书签发进行多方安全计算的方法及装置 |
CN112560017A (zh) * | 2020-12-21 | 2021-03-26 | 福建新大陆支付技术有限公司 | 一种使用三级证书认证实现apk统一签名的方法 |
-
2022
- 2022-02-10 CN CN202210124919.6A patent/CN114168924B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020144149A1 (en) * | 2001-04-03 | 2002-10-03 | Sun Microsystems, Inc. | Trust ratings in group credentials |
US20030056093A1 (en) * | 2001-09-19 | 2003-03-20 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method |
US20040054899A1 (en) * | 2002-08-30 | 2004-03-18 | Xerox Corporation | Apparatus and methods for providing secured communication |
US20040243672A1 (en) * | 2003-05-27 | 2004-12-02 | Outi Markki | System and method for user interaction in a peer-to-peer environment |
US20060242405A1 (en) * | 2005-04-20 | 2006-10-26 | Microsoft Corporation | Peer-to-peer authentication and authorization |
CN103414699A (zh) * | 2013-07-23 | 2013-11-27 | 北京星网锐捷网络技术有限公司 | 客户端证书认证方法、服务器和客户端 |
CN109992953A (zh) * | 2019-02-18 | 2019-07-09 | 深圳壹账通智能科技有限公司 | 区块链上的数字证书签发、验证方法、设备、系统及介质 |
CN110061846A (zh) * | 2019-03-14 | 2019-07-26 | 深圳壹账通智能科技有限公司 | 对区块链中用户节点进行身份认证的方法及相关设备 |
CN110535628A (zh) * | 2019-08-29 | 2019-12-03 | 阿里巴巴集团控股有限公司 | 通过证书签发进行多方安全计算的方法及装置 |
CN112560017A (zh) * | 2020-12-21 | 2021-03-26 | 福建新大陆支付技术有限公司 | 一种使用三级证书认证实现apk统一签名的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221591A1 (zh) * | 2022-05-16 | 2023-11-23 | 腾讯科技(深圳)有限公司 | 一种数据传输的方法、相关装置、设备以及存储介质 |
CN118410466A (zh) * | 2024-04-22 | 2024-07-30 | 北京长擎软件有限公司 | 一种针对内网集群化分布操作系统的认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114168924B (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12095932B2 (en) | Digital certificate verification method and apparatus, computer device, and storage medium | |
US11349674B2 (en) | Digital certificate management method and apparatus, computer device, and storage medium | |
JP7544357B2 (ja) | セキュア・ダイナミック閾値署名スキームのための方法、記憶媒体及び電子デバイス | |
CN109951489B (zh) | 一种数字身份认证方法、设备、装置、系统及存储介质 | |
JP2023109981A (ja) | 低エントロピーパスワードを用いてブロックチェーントランザクションを許可するためのコンピュータ実装されたシステム及び方法 | |
CN114168924B (zh) | 一种基于数字证书的群成员相互认证的方法和系统 | |
CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
Abraham et al. | Revocable and offline-verifiable self-sovereign identities | |
US11797985B2 (en) | Value transfer method, apparatus, and system | |
KR102284396B1 (ko) | 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치 | |
US10887110B2 (en) | Method for digital signing with multiple devices operating multiparty computation with a split key | |
CN114172747B (zh) | 一种基于数字证书的群成员获得认证证书的方法和系统 | |
CN114168923B (zh) | 一种基于数字证书的群ca证书生成方法和系统 | |
CN114168922B (zh) | 一种基于数字证书的用户ca证书生成方法和系统 | |
JP7250960B2 (ja) | ユーザのバイオメトリクスを利用したユーザ認証および署名装置、並びにその方法 | |
WO2024139083A1 (zh) | 一种基于零知识的门限身份认证方法、装置及云计算系统 | |
CN110784318B (zh) | 群密钥更新方法、装置、电子设备、存储介质及通信系统 | |
CN111628985A (zh) | 安全访问控制方法、装置、计算机设备和存储介质 | |
CN112422534B (zh) | 电子证书的信用评估方法以及设备 | |
KR20120019916A (ko) | 그래픽 otp 인증을 위한 인증처리서버 및 그 방법 | |
CN110401535B (zh) | 数字证书生成、安全通信、身份认证方法及装置 | |
Wu et al. | A Blockchain‐Based Hierarchical Authentication Scheme for Multiserver Architecture | |
CN114172668B (zh) | 一种基于数字证书的群成员管理方法和系统 | |
Hahn et al. | Enhanced authentication for outsourced educational contents through provable block possession | |
CN115514504A (zh) | 跨联盟的节点认证方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |