一种验证方法及相关设备与流程

未命名 09-13 阅读:90 评论:0


1.本技术涉及通信技术领域,尤其涉及一种验证方法、通信节点、系统以及计算机、计算机可读存储介质、计算机程序产品。


背景技术:

2.随着通信技术尤其是实时通信(real-time communications,rtc)技术的发展,语音会议、视频会议等通信业务得到广泛应用。如何保障上述通信业务中的通信信息安全成为一个重要的问题。
3.常见的保障通信信息安全的方式为对通信信息进行端到端加密(end to end encryption,e2ee),使得只有处于通信业务中的用户可以对获取到的信息进行解密,防止信息泄露。然而,e2ee可以存在中间人攻击(man-in-the-middle,mitm)。中间人攻击是一种攻击者在端到端加密的实体之间拦截和改变传播的信息的攻击。
4.业界亟需提供一种验证方法,以对群组通信中的成员进行身份认证,检测或防止中间人攻击,保障通信信息安全。


技术实现要素:

5.本技术提供了一种验证方法,该方法中通信节点通过不同通信通道分别传输验证凭据和用于计算验证凭据的材料至其他通信节点,以使得其他通信节点基于上述材料计算验证凭据,并通过接收的验证凭据和计算得到的验证凭据进行验证,检测中间人攻击,保障了通信信息安全,而且攻击者需要攻破不同通道进行攻击,提升了防仿冒安全强度。本技术还提供了对应的通信节点、通信系统、计算机可读存储介质以及计算机程序产品。
6.第一方面,本技术提供了一种验证方法。该方法应用于群组通信,所述群组包括第一通信节点和多个第二通信节点。其中,同一个群组中的通信节点可以具有角色划分,例如第一通信节点可以是管理节点,第二通信节点可以是成员节点。通信节点可以是终端设备或服务器。
7.具体地,多个第二通信节点中的任一第二通信节点可以通过第一通道获取第一验证凭据,以及通过至少一个第二通道获取第二密钥,该第一验证凭据根据第二密钥生成,然后第二通信节点根据第二密钥生成第二验证凭据,接着第二通信节点根据第二验证凭据和第一验证凭据进行验证。
8.在该方法中,由于采用了多个通道(如多种带外通道)参与身份验证,具体是通过不同通道传输验证凭据以及用于生成验证凭据的第二密钥等材料,中间人很难在多个通道上均进行篡改仿冒信息,提高了防仿冒安全强度,保障了通信信息安全。
9.在一些可能的实现方式中,第二密钥由第一通信节点根据第一通信节点接收的用户输入内容,通过密钥导出算法生成。一方面可以增加中间人攻击的难度,另一方面,基于用户输入内容生成第二密钥,并基于第二密钥生成验证凭据,可以提高用户参与度,提升用户对于验证凭据的认知。
10.在一些可能的实现方式中,所述第二密钥为通过所述密钥导出算法生成的多个派生密钥。相应地,所述第二通信节点通过多个第二通道中的每个第二通道获取所述多个派生密钥中的一个派生密钥。
11.该方法通过基于用户输入内容一次性地生成多个派生密钥,通过多个派生密钥参与验证凭据的计算,一方面提高验证凭据的复杂度,提高身份验证的安全性,另一方面可以简化用户操作。
12.在一些可能的实现方式中,所述第一通道和所述第二通道为带外通道。由于带内通道用于承载信令(如呼叫信令、会控信令),或者承载实时音视频编码流,将用于传输验证凭据以及计算验证凭据的第二密钥的通信通道与上述带内通道隔离,可以进一步提高攻击难度,进而提高安全性。
13.在一些可能的实现方式中,所述带外通道包括会议内容通道、蜂窝电话通道、邮件通道、短信通信、即时通信应用通道中的一种或多种。其中,会议内容通道是指基于会议内容如声音、图像抽象出来的通道。音视频会议自带实时同步连续交互属性,与会者能够实时听到对方声音,或者实时看到对方图像,与会者对其他与会者具有辨识能力,声音或图像变化时,与会者能够感知,因而可以视为与会者之间存在会议内容通道。
14.该方法支持多种不同的带外通道传输验证凭据和第二密钥,例如通过会议内容通道传输验证凭据,通过蜂窝电话通道、邮件通道、短信通道和/或即时通信应用通道传输计算验证凭据的第二密钥,能够满足不同场景的需求,具有较高可用性。
15.在一些可能的实现方式中,所述第一验证凭据由所述第一通信节点对加入所述群组进行限制后生成。其中,第一通信节点对加入群组进行限制,可以是基于会议控制功能如“锁定会议”、“等候室”等进行控制。如此,可以避免身份验证期间,有新的通信节点加入群组,导致验证凭据需要刷新,继而影响验证效率。而且,该方法可以实现可控刷新验证凭据,避免了频繁刷新验证凭据导致的资源浪费。
16.在一些可能的实现方式中,所述多个第二通信节点包括当前与会的通信节点和曾经与会的通信节点。如此,即使有通信节点离开会议,也无需更新验证凭据,避免了验证凭据无序刷新。
17.在一些可能的实现方式中,所述第二通信节点可以根据所述第二密钥,通过逻辑运算生成第二验证凭据。区别于通过拼接方式生成第二验证凭据,逻辑运算的运算结果不会受到逻辑运算的输入顺序的影响,因而即使加入群组的顺序(如与会顺序)发生变化,也无需更新验证凭据,提升了验证效率,避免了资源浪费。
18.在一些可能的实现方式中,所述逻辑运算包括异或运算、同或运算、和运算、或运算中的一种或多种。具体地,第二通信节点可以按位置信上述异或运算、同或运算、和运算、或运算等逻辑运算,并且运算结果与顺序无关,即使通信节点加入群组的顺序(如与会顺序)发生变化,也无需更新验证凭据,提升了验证效率,避免了资源浪费。
19.在一些可能的实现方式中,第二通信节点还可以获取第一通信节点的公钥信息和所述多个第二通信节点的公钥信息,以及获取第一密钥,所述第一密钥为所述群组的消息密钥。相应地,第二通信节点根据所述第一密钥、所述第二密钥、第一通信节点的公钥信息和多个第二通信节点的公钥信息,生成第二验证凭据。
20.其中,第二通信节点通过将各个通信节点的公钥信息和群组的消息密钥也纳入身
份验证,可以实现一次性对多个通信节点进行身份验证,提高了验证效率。
21.在一些可能的实现方式中,第二通信节点可以根据所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息生成多个第一散列消息认证码,根据所述第一密钥生成第二散列消息认证码,根据所述第二密钥生成至少一个第三散列消息认证码。然后第二通信节点对所述多个第一散列消息认证码、所述第二散列消息认证码以及所述至少一个第三散列消息认证码进行逻辑运算,生成第二验证凭据。
22.在该方法中,第二通信节点可以通过对散列消息认证码进行逻辑运算,避免了因为通信节点加入群组的顺序(获取公钥信息的顺序)导致需要刷新验证凭据,节省了计算资源,高了验证效率。
23.在一些可能的实现方式中,所述公钥信息包括长期公钥和短期公钥。其中,验证凭据的计算依赖于长期公钥和短期公钥,因此可以缩小攻击窗口,减低中间人攻击的攻击范围。
24.第二方面,本技术提供了一种第一通信节点。应用于群组通信,所述群组包括第一通信节点和多个所述第二通信节点,所述第一通信节点包括:
25.生成模块,用于根据第二密钥生成第一验证凭据;
26.通信模块,用于通过第一通道发送第一验证凭据,以及通过至少一个第二通道发送第二密钥,以使所述第二通信节点根据所述第二密钥生成第二验证凭据,并根据所述第二验证凭据和所述第一验证凭据进行验证。
27.在一些可能的实现方式中,所述通信模块还用于:
28.接收用户输入内容;
29.所述生成模块还用于:
30.根据所述用户输入内容,通过密钥导出算法生成所述第二密钥。
31.在一些可能的实现方式中,所述生成模块具体用于:
32.通过所述密钥导出算法生成多个派生密钥;
33.所述通信模块具体用于:
34.通过多个第二通道中的每个第二通道发送所述多个派生密钥中的一个派生密钥。
35.在一些可能的实现方式中,所述第一通道和所述第二通道为带外通道。
36.在一些可能的实现方式中,所述带外通道包括会议内容通道、蜂窝电话通道、邮件通道、短信通信、即时通信应用通道中的一种或多种。
37.在一些可能的实现方式中,所述第一通信节点还包括:
38.控制模块,用于对加入所述群组进行限制;
39.所述生成模块具体用于:
40.在对加入所述群组进行限制后,生成第一验证凭据。
41.在一些可能的实现方式中,所述通信模块还用于:
42.获取所述多个第二通信节点的公钥信息;
43.获取第一密钥,所述第一密钥为所述群组的消息密钥;
44.所述生成模块具体用于:
45.根据所述第一密钥、所述第二密钥、所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息,生成第一验证凭据。
46.在一些可能的实现方式中,所述生成模块具体用于:
47.根据所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息生成多个第一散列消息认证码,根据所述第一密钥生成第二散列消息认证码,根据所述第二密钥生成至少一个第三散列消息认证码;
48.对所述多个第一散列消息认证码、所述第二散列消息认证码以及所述至少一个第三散列消息认证码进行逻辑运算,生成第一验证凭据。
49.在一些可能的实现方式中,所述公钥信息包括长期公钥和短期公钥。
50.第三方面,本技术提供了一种第二通信节点。应用于群组通信,所述群组包括第一通信节点和多个所述第二通信节点,所述第二通信节点包括:
51.通信模块,用于通过第一通道获取第一验证凭据,以及通过至少一个第二通道获取第二密钥,所述第一验证凭据根据所述第二密钥生成;
52.生成模块,用于根据所述第二密钥生成第二验证凭据;
53.验证模块,用于根据所述第二验证凭据和所述第一验证凭据进行验证。
54.在一些可能的实现方式中,所述第二密钥为通过所述密钥导出算法生成的多个派生密钥;
55.所述通信模块具体用于:
56.所述第二通信节点通过多个第二通道中的每个第二通道获取所述多个派生密钥中的一个派生密钥。
57.在一些可能的实现方式中,所述第一通道和所述第二通道为带外通道。
58.在一些可能的实现方式中,所述带外通道包括会议内容通道、蜂窝电话通道、邮件通道、短信通信、即时通信应用通道中的一种或多种。
59.在一些可能的实现方式中,所述多个第二通信节点包括当前与会的通信节点和曾经与会的通信节点。
60.在一些可能的实现方式中,所述生成模块具体用于:
61.根据所述第二密钥,通过逻辑运算生成第二验证凭据。
62.在一些可能的实现方式中,所述逻辑运算包括异或运算、同或运算、和运算、或运算中的一种或多种。
63.在一些可能的实现方式中,所述通信模块还用于:
64.获取所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息;
65.获取第一密钥,所述第一密钥为所述群组的消息密钥;
66.所述生成模块具体用于:
67.所述第二通信节点根据所述第一密钥、所述第二密钥、所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息,生成第二验证凭据。
68.在一些可能的实现方式中,所述生成模块具体用于:
69.根据所述第一通信节点的公钥信息和其它第二通信节点的公钥信息生成多个第一散列消息认证码,根据所述第一密钥生成第二散列消息认证码,根据所述第二密钥生成至少一个第三散列消息认证码;
70.对所述多个第一散列消息认证码、所述第二散列消息认证码以及所述至少一个第三散列消息认证码进行逻辑运算,生成第二验证凭据。
71.在一些可能的实现方式中,所述公钥信息包括长期公钥和短期公钥。
72.第四方面,本技术提供了一种通信系统。应用于群组通信,所述群组包括第一通信节点和多个第二通信节点;
73.所述第一通信节点,用于通过第一通道发送第一验证凭据,以及通过至少一个第二通道发送第二密钥,所述第一验证凭据根据所述第二密钥生成;
74.所述多个第二通信节点中的任一第二通信节点,用于根据所述第二密钥生成第二验证凭据,根据所述第二验证凭据和所述第一验证凭据进行验证。
75.第五方面,本技术提供了一种通信节点。该通信节点包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
76.所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,以使得所述通信节点执行如本技术第一方面或第一方面的任一种实现方式中的方法。
77.第六方面,本技术提供了一种通信节点。该通信节点包括处理器和接口电路;所述接口电路,用于接收代码指令并传输至所述处理器;所述处理器用于运行所述代码指令以执行如本技术第一方面或第一方面的任一种实现方式中的方法。
78.第七方面,本技术提供了一种计算机可读存储介质。该计算机可读存储介质用于存储指令,当所述指令被执行时,使如本技术第一方面或第一方面的任一种实现方式中的方法被实现。
79.第八方面,本技术提供了一种包含指令的计算机程序产品,当其在通信节点上运行时,使得通信节点执行上述第一方面或第一方面的任一种实现方式中由第二通信节点执行的方法。
80.本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
81.为了更清楚地说明本技术实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
82.图1为本技术实施例提供的一种验证方法的场景示意图;
83.图2为本技术实施例提供的一种验证方法的交互流程图;
84.图3为本技术实施例提供的一种会话密钥协商的流程示意图;
85.图4为本技术实施例提供的一种检测中间人攻击报文的原理示意图;
86.图5为本技术实施例提供的一种群组视频会议场景的架构示意图;
87.图6为本技术实施例提供的一种第一通信节点的结构示意图;
88.图7为本技术实施例提供的一种第二通信节点的结构示意图;
89.图8为本技术实施例提供的一种通信节点的硬件结构图;
90.图9为本技术实施例提供的一种通信系统的结构示意图。
具体实施方式
91.本技术实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征
可以明示或者隐含地包括一个或者更多个该特征。
92.首先对本技术实施例中所涉及到的一些技术术语进行介绍。
93.实时通信(real-time communications,rtc),具体是指在通信节点之间实时传输消息的通信技术。实时通信通常具有较低的延时,因而广泛应用于语音会议、视频会议等群组通信场景。其中,多个通信节点(两个或两个以上的通信节点)可以组成一个群组,在该群组内进行的通信即为群组通信。
94.端到端加密(end to end encryption,e2ee),具体是对通信节点之间传输的消息进行加密,使得只有通信节点的用户可以阅读消息。原则上,端到端加密可以防止潜在的窃听者,如电信供应商、互联网服务提供商甚至是通信系统的提供者,获取能够用以解密消息的密钥。将端到端加密应用于群组通信,可以在一定程度上保障通信安全。
95.中间人攻击(man-in-the-middle,mitm),是指攻击者与通信的两端(或者更多端点)分别创建独立的联系,并交换其所收到的数据,使通信的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通信双方的通话并插入新的内容。
96.中间人攻击能成功的前提条件是攻击者能将自己伪装成每一个参与会话的通信节点,并且不被其他通信节点识破。为保证群组通信中各个通信节点之间的会话的安全性,在群组的会话建立之后、进行群组通信之前,通信节点之间可以举行身份验证过程,通过身份验证技术确认各个通信节点接收到真实的公钥信息,从而检测通信节点之间是否存在中间人攻击。
97.在进行群组通信时,参与群组通信的各个通信节点分别与控制平台,例如是会议场景中的多点控制单元(multi control unit,mcu),建立通信通道。该通信通道包括信令通道和媒体通道,其中,信令通道用于承载呼叫信令、会控信令(会议控制信令),媒体通道用于承载实时的音视频编码流(音频编码流和视频编码流中的至少一种)。上述信令通道、媒体通道也称作会议的带内通道。
98.由于音频会议或视频会议等群组通信天然具有实时同步连续交互属性,与会人可以实时听到对方声音,或者实时看到对方图像,因此,会议场景中与会人之间可以认为存在一个带外通道。在该带外通道上,如果存在中间人攻击,攻击者对实时音视频流进行篡改、删除或重排,很难不被与会人所观察到。为此,可以定义该带外通道的安全属性,中间人(攻击者)在该带外通道上只能读取信息,而不能够(除非投入大量攻击资源成本)篡改信息、插入信息、删除信息或者重排信息。
99.上述安全属性非常适合用于身份验证,所有与会人之间可以一起朗读确认信息,而中间人很难在中间篡改仿冒信息,且保证以假乱真,而不被与会人感知,如此可以实现身份验证,该身份验证也称作带外身份验证(out-of-band authentication,ooba)。
100.在进行带外身份验证时,群组中的用户(如与会人)可以先将自己的公钥信息上传至服务器。其中,公钥信息可以包括长期公钥(long public key,longpk)和临时公钥(ephemeral public key,epk)。服务器可以对公钥信息进行完整性保护。例如,服务器可以通过篡改检测对公钥信息进行完整性保护。群组中的管理节点(例如会议发起者)可以从服务器下载群组中的其他成员节点(例如会议参与者,指其他与会人)的公钥信息,协商产生用于群组通信的会话密钥。该会话密钥也可以称作群组主密钥(group master key,gmk)、
bundle)上报至服务器10,该公钥信息包中可以包括所述通信节点的公钥信息,例如身份标识、长期公钥(longpk)或短期公钥(epk,也可以称为临时公钥)等中的一项或多项。服务器10可对每个通信节点的公钥信息包进行完整性保护。在需要进行群组通信的情况下,属于同一群组中的各个通信节点之间可以进行会话密钥协商,建立用于群组通信的会话并获得用于群组通信的会话密钥,也即群组的消息密钥gmk。为了便于描述,本技术实施例也将其称作第一密钥。群组通信中的所有通信节点可使用该第一密钥对发送的消息进行加密,或者对接收到的消息进行解密,从而实现加密通信。
108.本技术实施例中,为了提升群组通信时举行身份验证过程的执行效率同时保障群组通信安全,会话建立之后,群组中的任一通信节点可以作为第一通信节点发起会话安全验证过程,该群组中除第一通信节点以外的节点可称为第二通信节点,第一通信节点可以根据本技术实施例的验证方法与该群组中的多个第二通信节点之间进行身份验证过程。
109.其中,第一通信节点和所述多个第二通信节点均可从所述服务器10获取该群组中除自身以外的其它通信节点的公钥信息(例如包括其它通信节点的公钥信息包中的部分信息或全部信息),获取用于群组通信的第一密钥,例如是通过密钥协商的方式获得上述第一密钥,以及获取其他材料如第二密钥,并基于所述群组中所有通信节点的公钥信息、第一密钥以及第二密钥等其他材料,生成可用于会话安全验证的验证凭据(例如表示为r)。为便于区分,第一通信节点生成的验证凭据可称为第一验证凭据,第二通信节点生成的验证凭据可称为第二验证凭据。
110.进行会话安全验证过程时,第一通信节点可将所述第一验证凭据发送给所述多个第二通信节点,任一第二通信节点可基于接收到的第一验证凭据以及自身生成的第二验证凭据进行会话安全验证,以检测在该第二通信节点和所述第一通信节点之间是否存在中间人攻击。
111.其中,第一通信节点和第二通信节点之间可以基于带外通信的方式,如通过不同的带外通道传输该第一验证凭据和用于计算验证凭据的其他材料,并通过带外身份验证的方式检测是否存在中间人攻击。
112.具体地,接收到通过带外通道传输的第二密钥等其他材料后,第二通信节点可以基于各个通信节点的公钥信息、第一密钥和第二密钥生成第二验证凭据,然后第二通信节点可以将通过其他带外通道传输的第一验证凭据与自身生成的第二验证凭据进行比对,当所述第一验证凭据与所述第二验证凭据一致时,第二通信节点可确定自身与所述第一通信节点之间的会话为安全通信,所述第二通信节点可保持该会话;当所述第一验证凭据与所述第二验证凭据不一致时,第二通信节点可确定自身与所述第一通信节点之间的会话为不安全通信,并可终止该会话。
113.进一步地,检测到不安全通信并终止会话的第二通信节点,在自查通信链路并确保通信安全后,还可以重新发起与上述第一通信节点以及其它第二通信节点之间的上述密钥协商过程和会话安全验证过程,并在验证为安全通信后与群组中的其它通信节点进行群组通信。由此,通过采用相同的安全算法同时在群组中的第一通信节点和多个第二通信节点之间进行会话安全验证,可以高效地保障群组中的每个第二通信节点与所述第一通信节点之间的e2ee安全通信。
114.需要说明的是,本技术实施例中,仅为了便于区分和描述,将群组中发起会话安全
验证过程并向外发送验证凭据的通信节点称为第一通信节点,将接收来自该第一通信节点的第一验证凭据并基于该第一验证凭据进行会话安全验证的通信节点称为第二通信节点,并非对各个通信节点的功能的限定。在一些实施例中,第一通信节点也可以具有接收来自其它通信节点(例如任一第二通信节点)的验证凭据以及基于接收到的验证凭据进行会话安全验证的功能,第二通信节点也可以具有向其它通信节点(例如第一通信节点或群组中的其它第二通信节点)发送验证凭据的功能,本技术实施例对此不做限定。
115.图2示出了本技术实施例的验证方法的流程示意图。其中,以节点a、节点b和节点c为某个群组中的通信节点进行示例说明,并不限定该群组中的节点的数量、节点的设备类型等。
116.参阅图2所示,该验证方法可以包括以下步骤:
117.s201,该s201为可选步骤:节点a、节点b和节点c在服务器10进行注册,并将自身的公钥信息包上报至服务器10。
118.s202:当需要进行群组通信时,节点a可以作为发起者(initiator),与群组成员(group member)节点b和节点c进行会话密钥协商,建立用于群组通信的会话并获得用于群组通信的会话密钥,也称为第一密钥,为便于区分,该第一密钥可以使用gmk表示。
119.示例地,本步骤中,节点a、节点b和节点c可以采用信号(signal)协议建立e2ee群组通信会话并获得该第一密钥。
120.如图3所示,以节点a为管理节点,节点b和节点c为成员节点为例,实施时,管理节点在与每个成员节点进行密钥协商时,可从服务器10获取相应成员节点的公钥信息,并根据自身的公钥信息和该成员节点的公钥信息生成与该成员节点对应的信道密钥,例如节点a与节点b进行密钥协商后得到的节点a与节点b之间的信道密钥可以表示为k
ab
,节点a与节点c进行密钥协商后得到的节点a与节点c之间的信道密钥可以表示为k
ac
。管理节点在与每个成员节点密钥协商,生成与每个成员节点对应的信道密钥之后,可以认为和该成员节点之间建立安全信任关系,此时,管理节点可以将用于安全通信的共享密钥分发给该成员节点。
121.一种可选的实施方式中,管理节点可以随机生成共享密钥(例如节点a生成共享密钥表示为ka),管理节点可通过与各个成员节点之间的信道密钥对该共享密钥进行加密,再将加密后的得到的密文,例如表示为ek
ab
(ka)、ek
ac
(ka)、ek
ad
(ka),发送给相应的成员节点。在完成共享密钥的分发后,群组会话建立完成,群组中的所有通信节点以该共享密钥作为会话密钥(即群组主密钥gmk,又称第一密钥),进行加密的群组通信。例如,发送消息的节点可以使用共享密钥对消息进行加密,再发送加密后的消息,接收消息的节点使用共享密钥对接收到的消息进行解密,以获取到传输的消息。
122.应理解,上述仅以signal协议为例对本技术实施例的会话密钥协商过程进行说明,并不限定该会话密钥协商过程的实现方式,示例地,群组中的各个通信节点例如还可以采用成对通道方式、或者消息传输层安全(messaging layer security,mls)协议等实现该会话密钥协商过程,本技术实施例对群组所采用的密钥协商协议不做限定。
123.实施时,该gmk可以是具体的秘密值,也可以是字符串,还可以是密钥参数集合,本技术实施例对此不做限定。并且,群组所包含的通信节点可以是由发起群组通信的管理节点指定的,也可以是服务器10划分确定的,本技术实施例对群组中的通信节点的确定方式
不做限定。上述对共享密钥进行加密得到的密文可以承载在管理节点发送的密钥协商请求中,对端的成员节点在接收到该密钥协商请求后,可以根据相应的密钥协商协议与该管理节点进行会话密钥协商,获取该共享密钥,本技术实施例对该实现方式不做限定。应理解,当群组所使用的密钥协商协议变更为其它密钥协商协议时,群组中各个通信节点之间的密钥协商过程变化为相应的其它实施过程,在此不再赘述。
124.在完成会话建立之后,节点a、节点b和节点c中的任一个节点可以作为第一通信节点发起会话安全验证过程,以验证上述s202所建立的群组通信会话是否存在中间人攻击。
125.以节点a作为第一通信节点,节点b和节点c作为第二通信节点为例,该会话安全验证过程可以包括以下步骤:
126.s203:节点a进行会议控制,使得用于群组通信的会话进入限制主动入会状态。
127.具体地,服务器10可以提供会议控制功能,如“会议锁定”、“等候室”等功能,其中,“会议锁定”是指不允许主动加入会议,“等候室”是指使得请求加入会议的人员处于等候状态。如此,可以避免群组通信中新加入成员,导致需要不断地计算验证凭据,以重新进行身份验证。
128.上述s201至s203为本技术实施例的可选步骤,执行本技术实施例的方法可以不执行上述s201至s203,在本技术实施例其他可能的实现方式中,节点a可以不结合其他节点的公钥信息计算用于身份验证的验证凭据,并且,在算力足够强大的情况下,节点a也可以在计算验证凭据时,不对加入群组进行限制,例如不启用“会议锁定”、“等候室”等会议控制功能。
129.s204:节点a接收用户输入内容,根据用户输入内容通过密钥导出算法生成第二密钥。
130.用户输入内容(userinput)具体是会议主持人输入的内容。例如,会议输入内容可以记作“s”,节点a可以基于用户输入内容,通过密钥导出算法如kdf,派生出第二密钥。该第二密钥为用于计算验证凭据的材料。第二密钥可以包括至少一个密钥。
131.参见图3所示的基于用户输入内容的密钥导出算法的流程示意图,基于用户输入内容的密钥导出算法也称作算法i,该算法i定义substringbf(s)=substring(1,length(s)/2,s),substringat(s)=substring(length(s)/2+1,length(s),s)。其中,substring()方法返回一个字符串在开始索引到结束索引之间的一个子集,或从开始索引直到字符串的末尾的一个子集,bf表示前面before,at表示后面after。length表示长度,基于此,substringbf(s)可以返回s的前半部分,substringat(s)可以返回s的后半部分。
132.具体地,节点a可以基于如下公式生成第二密钥:
[0133][0134]
其中,a[1]至a[n]为节点a计算出来需要用户传递的自定义导出密钥值,也即第二密钥。
[0135]
需要说明的是,图3仅仅是本技术实施例中节点a导出第二密钥的一种实现方式,在本技术实施例其他可能的实现方式中,节点a也可以通过其他方式导出第二密钥,例如节点a可以根据预先设定的算法生成第二密钥。
[0136]
s205:节点a根据第一密钥gmk、第二密钥以及节点a、节点b和节点c的公钥信息,生成第一验证凭据。
[0137]
本步骤中,节点a可以根据节点a、节点b和节点c的公钥信息,以及第一密钥gmk和该第二密钥,通过逻辑运算生成第二验证凭据。其中,逻辑运算是指布尔逻辑的运算。在本实施例中,逻辑运算可以包括异或运算、同或运算、与运算、或运算中的一种或多种。由于公钥信息的排序并不影响异或运算等逻辑运算的结果,因此,公钥信息的排序发生变化后也无需进行校准或重新排序,避免了大规模会议场景下排序频繁导致验证凭据出现偏差的情况,也无需重新计算验证凭据,节省了计算开销。
[0138]
在一些可能的实现方式中,节点a可以根据所述节点a的公钥信息和其它节点如节点b、节点c的公钥信息生成多个第一散列消息认证码(hash-based message authentication code,hmac),以及根据所述第一密钥生成第二散列消息认证码,根据所述第二密钥生成至少一个第三散列消息认证码。然后节点a将所述多个第一散列消息认证码、所述第二散列消息认证码以及所述至少一个第三散列消息认证码进行异或运算,从而生成第二验证凭据。
[0139]
为了便于理解,本技术还提供了示例进行说明。在该示例中,节点a通过算法ii计算第一验证凭据。该算法具体可以通过如下公式表达:
[0140][0141]
其中,groupid用于表示群组标识,也即会议标识。在算法ii中,异或运算xor支撑用户的公钥信息和用户输入内容无序计算,不影响生成的验证凭据。r表示一次性验证凭据,节点a生成的验证凭据也可以表示为ra。
[0142]
需要说明的是,s205为节点a根据第二密钥生成第一验证凭据的一种具体实现方式,在本技术实施例其他可能的实现方式中,节点a也可以根据第二密钥,通过其他方式生成第一验证凭据。例如,节点a不执行上述s201、s202时,节点a也可以直接根据第二密钥生成第一验证凭据。
[0143]
s206:节点a通过第一带外通道向节点b和节点c发送第一验证凭据,以及通过至少
一个第二带外通道向节点b和节点c发送第二密钥。
[0144]
本步骤中,第一带外通道可以是会议内容通道,第二带外通道可以是蜂窝电话通道、邮件通道、短信通道、即时通信应用通道中的一种或多种。节点a可以通过与节点b、节点c之间的第一带外通道发送该第一验证凭据,相应地,节点b、节点c基于第一带外通道,接收该第一验证凭据。节点a可以通过与节点b、节点c之间的第二带外通道发送第二密钥,相应地,节点b、节点c基于第二带外通道,接收该第二密钥,以便用于计算第二验证凭据。
[0145]
以群组视频会议场景为例,节点a本端的ra,可以是节点a在视频会议中,通过语音朗读出的,或者通过视频方式共享给节点b、节点c的,也可以是通过其他带外通信方式共享给节点b、节点c的,包括但不限于社交方式,例如即时通信应用程序、短信、邮件、蜂窝通话等,本技术实施例对该带外通信的具体实现方式不做限定。
[0146]
在本实施例中,用户可以配置用于传输第二密钥的第二带外通道的数量,该第二带外通道的数量大于或等于1,节点a可以根据用户配置的第二带外通道的数量,通过相应数量的第二带外通道传输第二密钥。在一些实施例中,第二密钥包括n个密钥时,节点a可以采用n个第二带外通道传输n个密钥,每个第二带外通道传输n个密钥中的一个密钥,并且,每个第二带外通道传输的密钥不同。
[0147]
s206为节点a通过第一通道传输第一验证凭据,通过第二通道传输第二密钥的一种实现方式。在本技术实施例其他可能的实现方式中,节点a可以通过其他不同通道传输上述第一验证凭据和第二密钥,以提升攻击难度。
[0148]
s207:节点b/节点c根据第一密钥、第二密钥以及节点a、节点b和节点c的公钥信息,生成第二验证凭据。
[0149]
本步骤中,节点b/节点c作为群组中除节点a以外的成员节点,可以采用与节点a相同的算法生成该第二验证凭据,表示为rb和rc,详细实现过程可参阅上文结合公式(1)-(2)的相关介绍,在此不再赘述。
[0150]
s208:节点b/节点c根据第二验证凭据和第一验证凭据进行会话安全验证。
[0151]
本步骤中,节点b/节点c可以将接收到第一验证凭据和自身生成的第二验证凭据进行比对,当所述第一验证凭据与所述第二验证凭据一致时,节点b/节点c可以确定节点a与节点b/节点c之间的会话为安全通信,节点b/节点c可以保持该会话。当所述第一验证凭据与所述第二验证凭据不一致时,节点b/节点c可以确定节点a与节点b/节点c之间的会话为不安全通信,并终止节点a与节点b/节点c之间的会话。
[0152]
如图4所示,假设节点b与节点a之间存在中间人攻击,中间攻击者会拦截来自节点a的第一验证凭据ra,经过篡改后,向节点b发送伪造的r
a’。节点b接收到该r
a’后,与自身采用相同的算法生成的第二验证凭据rb进行比对,可以明显发觉r
a’与rb不一致,表明节点a和节点b之间存在中间人攻击,双方之间的会话为不安全通信,节点b需要终止该会话,并退出群组通信。假设节点c与节点a之间不存在中间人攻击,不存在中间攻击者拦截和篡改来自节点a的第一验证凭据,节点c接收到该ra后,与自身采用相同的算法生成的第二验证凭据rc进行比对,确定ra与rc一致,表明节点a和节点c之间不存在中间人攻击,双方之间的会话为安全通信,节点c可以保持该会话,并使用之前协商确定的第一密钥与群组中的其它通信节点进行通信。
[0153]
由此,通过上述验证方法,群组中的所有通信节点通过采用相同的安全算法生成
验证凭据,同时群组中的某个通信节点作为第一通信节点可以向其它通信节点发送自身生成的验证凭据,以便其它通信节点基于接收到的验证凭据在双方节点之间进行会话安全验证,从而提升群组通信时举行身份验证过程的执行效率。同时,上述通过多个带外通道进行带外身份验证的过程,由于需要攻击者破坏多个带外通道,使得攻击者拦截和破坏身份验证的过程变得更加困难,可以在一定程度上降低中间人攻击成功的可能性,保障群组通信的安全性。
[0154]
如图5所示,以群组视频会议场景为例,认证服务器40和转发服务器42可以构成会议平台服务,用于维护参与视频会议的通信节点之间的关系信息等。节点a、节点b、和节点c可通过会议呼叫的方式加入同一会议,建立多方视频会议,即群组会议。所建立的主要通信通道包括:信令通道,用于承载呼叫信令、会控信令;媒体通道,用于承载实时音视频编码流。
[0155]
建立e2ee安全通信所需要的公钥信息包,包括群组中所有通信节点交换的公钥信息也可在该带内通道上传输。在带内通道上,如果存在中间人攻击,则认为中间攻击者可以执行攻击行为事件,包括读取信息、篡改信息、插入信息、删除信息、重排信息等。
[0156]
其中,由于视频会议自带实时同步连续交互属性,所有参会的通信节点很熟悉对方节点的情况下,能够实时地根据来自对方节点的声音、图像等进行观察和辨识,根据微妙的声音、图像变化察觉是否存在中间人攻击,因此可以认为视频会议场景在与会节点之间存在一个带外通道,该带外通道为第一带外通道。通信节点之间如节点a、b、c之间还存在第三方的带外通道,如即时通信应用程序、短信、邮件、蜂窝通话等第二带外通道。
[0157]
节点a、b、c之间可以通过上述第一带外通道传输验证凭据,通过上述第二带外通道传输用于生成验证凭据的第二密钥等材料。在该第一带外通道上,如果存在中间人攻击,攻击者对实时音视频流进行篡改,或删除,或重排信息,很难不被其它与会节点所观察到。而且,攻击者还需要拦截第二带外通道上传输的第二密钥等材料,进一步增加了攻击难度。进行会话安全验证时,可以通过所有参会的通信节点的实时互动,比如参会的通信节点对应的用户一起朗读确认收到的对方验证凭据是否真实,来检测是否受到中间人攻击。一旦某个通信节点对应的用户朗读的信息不同于其它通信节点,可以很快被觉察到,并踢出该视频会议。
[0158]
需要说明的是,图5所示的视频会议架构中,可以支持公有云的会议服务架构和企业入驻式的会议架构,涉及的核心网元可以包括但不限于:视频会议系统中的多点控制单元(multi control unit,mcu)(例如前述的认证服务器)、视频会议终端(例如前述的节点a、节点b、以及节点c)、以及可选的辅助服务器,本技术实施例对此不做限定。
[0159]
本技术实施例的会议为e2ee会议。e2ee会议通常作用于高密会议,通过会议控制项(如会议锁定、会议等候室)与oob验证凭据组合捆绑使用,可以进一步提高会议安全性。同时对加入群组进行限制,以及基于异或运算生成验证凭据,提供一种用户顺序无关、用户密钥顺序无关的oob验证凭据计算算法,可以把无序刷新oob验证凭据,变成可控刷新,从而解决相关方案验证仪式不易开展的问题。
[0160]
在该方法中,用于身份验证的验证凭据的计算不仅依赖于正在与会者的密钥材料,还包括曾经与会者的密钥材料,且与会议成员历史记录进行映射有利于向用户解释oob验证凭据的严谨性。验证凭据的计算不仅依赖前置e2ee协商相关密钥材料,还包括用户输
入内容,使得用户易于理解oob校验。
[0161]
该方法引入多个带外通道传输机制,同时提出一种算法,在确保安全性不降低的前提下,主持人只需输入一次自定义内容即可生成多个派生密钥适应多个带外通道。一方面,简化了操作,另一方面,通过多个带外通道传输验证凭据以及参与生成验证凭据的密钥材料,保障了安全性。其中,验证凭据同时依赖所有人的公钥信息(包含检验者自己的真实公钥)、用户输入内容的派生密钥(第二密钥)以及当前会议标识,任何人遭受中间人攻击都可以被有效检验出,支持一次性识别每一个人是否遭受中间人攻击,验证效率较高。
[0162]
此外,验证凭据的计算算法同时依赖长期、短期密钥、自定义内容(用户输入内容),不受密钥更新策略影响,如此可以进一步缩小攻击窗口。
[0163]
基于本技术实施例提供的验证方法,本技术实施例还提供了一种如前述的第一通信节点、第二通信节点、通信系统进行介绍。
[0164]
参见图6所示的第一通信节点600的结构示意图,该节点600包括:
[0165]
生成模块602,用于根据第二密钥生成第一验证凭据;
[0166]
通信模块604,用于通过第一通道发送第一验证凭据,以及通过至少一个第二通道发送第二密钥,以使所述第二通信节点根据所述第二密钥生成第二验证凭据,并根据所述第二验证凭据和所述第一验证凭据进行验证。
[0167]
在一些可能的实现方式中,所述通信模块604还用于:
[0168]
接收用户输入内容;
[0169]
所述生成模块602还用于:
[0170]
根据所述用户输入内容,通过密钥导出算法生成所述第二密钥。
[0171]
在一些可能的实现方式中,所述生成模块602具体用于:
[0172]
通过所述密钥导出算法生成多个派生密钥;
[0173]
所述通信模块604具体用于:
[0174]
通过多个第二通道中的每个第二通道发送所述多个派生密钥中的一个派生密钥。
[0175]
在一些可能的实现方式中,所述第一通道和所述第二通道为带外通道。
[0176]
在一些可能的实现方式中,所述带外通道包括会议内容通道、蜂窝电话通道、邮件通道、短信通信、即时通信应用通道中的一种或多种。
[0177]
在一些可能的实现方式中,所述第一通信节点600还包括:
[0178]
控制模块606,用于对加入所述群组进行限制;
[0179]
所述生成模块602具体用于:
[0180]
在对加入所述群组进行限制后,生成第一验证凭据。
[0181]
在一些可能的实现方式中,所述通信模块604还用于:
[0182]
获取所述多个第二通信节点的公钥信息;
[0183]
获取第一密钥,所述第一密钥为所述群组的消息密钥;
[0184]
所述生成模块602具体用于:
[0185]
根据所述第一密钥、所述第二密钥、所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息,生成第一验证凭据。
[0186]
在一些可能的实现方式中,所述生成模块602具体用于:
[0187]
根据所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息生成多
个第一散列消息认证码,根据所述第一密钥生成第二散列消息认证码,根据所述第二密钥生成至少一个第三散列消息认证码;
[0188]
对所述多个第一散列消息认证码、所述第二散列消息认证码以及所述至少一个第三散列消息认证码进行逻辑运算,生成第一验证凭据。
[0189]
在一些可能的实现方式中,所述公钥信息包括长期公钥和短期公钥。
[0190]
根据本技术实施例的第一通信节点600可对应于执行本技术实施例中描述的方法,并且第一通信节点600的各个模块/单元的上述和其它操作和/或功能分别为了实现图2所示实施例中的各个方法中节点a的相应流程,为了简洁,在此不再赘述。
[0191]
接下来,参见图7所示的第二通信节点700的结构示意图,该节点700包括:
[0192]
通信模块702,用于通过第一通道获取第一验证凭据,以及通过至少一个第二通道获取第二密钥,所述第一验证凭据根据所述第二密钥生成;
[0193]
生成模块704,用于根据所述第二密钥生成第二验证凭据;
[0194]
验证模块706,用于根据所述第二验证凭据和所述第一验证凭据进行验证。
[0195]
在一些可能的实现方式中,所述第二密钥为通过所述密钥导出算法生成的多个派生密钥;
[0196]
所述通信模块702具体用于:
[0197]
所述第二通信节点通过多个第二通道中的每个第二通道获取所述多个派生密钥中的一个派生密钥。
[0198]
在一些可能的实现方式中,所述第一通道和所述第二通道为带外通道。
[0199]
在一些可能的实现方式中,所述带外通道包括会议内容通道、蜂窝电话通道、邮件通道、短信通信、即时通信应用通道中的一种或多种。
[0200]
在一些可能的实现方式中,所述多个第二通信节点包括当前与会的通信节点和曾经与会的通信节点。
[0201]
在一些可能的实现方式中,所述生成模块704具体用于:
[0202]
根据所述第二密钥,通过逻辑运算生成第二验证凭据。
[0203]
在一些可能的实现方式中,所述逻辑运算包括异或运算、同或运算、和运算、或运算中的一种或多种。
[0204]
在一些可能的实现方式中,所述通信模块702还用于:
[0205]
获取所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息;
[0206]
获取第一密钥,所述第一密钥为所述群组的消息密钥;
[0207]
所述生成模块704具体用于:
[0208]
所述第二通信节点根据所述第一密钥、所述第二密钥、所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息,生成第二验证凭据。
[0209]
在一些可能的实现方式中,所述生成模块704具体用于:
[0210]
根据所述第一通信节点的公钥信息和其它第二通信节点的公钥信息生成多个第一散列消息认证码,根据所述第一密钥生成第二散列消息认证码,根据所述第二密钥生成至少一个第三散列消息认证码;
[0211]
对所述多个第一散列消息认证码、所述第二散列消息认证码以及所述至少一个第三散列消息认证码进行逻辑运算,生成第二验证凭据。
[0212]
在一些可能的实现方式中,所述公钥信息包括长期公钥和短期公钥。
[0213]
根据本技术实施例的第二通信节点700可对应于执行本技术实施例中描述的方法,并且第二通信节点700的各个模块/单元的上述和其它操作和/或功能分别为了实现图2所示实施例中的各个方法中节点b或节点c的相应流程,为了简洁,在此不再赘述。
[0214]
图6、图7从第一通信节点600、第二通信节点700包括的功能模块的角度,对第一通信节点600、第二通信节点700进行了介绍。接下来,将从硬件的角度对第一通信节点600、第二通信节点700进行介绍。
[0215]
本技术实施例还提供一种通信节点800。该通信节点800可以是终端设备,包括但不限于台式机、笔记本电脑或者智能手机、智能穿戴设备。在一些实施例中,通信节点800也可以是服务器。该通信节点800具体用于实现如图6所示实施例中第一通信节点600或如图7所示实施例中第二通信节点700的功能。
[0216]
图8提供了一种通信节点800的结构示意图,如图8所示,通信节点800包括总线801、处理器802、通信接口803和存储器804。处理器802、存储器804和通信接口803之间通过总线801通信。
[0217]
总线801可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0218]
处理器802可以为中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、微处理器(micro processor,mp)或者数字信号处理器(digital signal processor,dsp)等处理器中的任意一种或多种。
[0219]
通信接口803用于与外部通信。例如,通信节点800用于实现图6所示实施例中第一通信节点600的功能时,通信接口803用于获取多个第二通信节点700的公钥信息,获取第一密钥,以及通过第一通道向多个第二通信节点700发送第一验证凭据,通过至少一个第二通道向多个第二通信节点700发送第二密钥等等。又例如,通信节点800用于实现图7所示实施例中第二通信节点700的功能时,通信接口803用于通过第一通道接收第一通信节点600发送的第一验证凭据,通过至少一个第二通道接收第一通信节点600发送的第二密钥等等。
[0220]
存储器804可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram)。存储器804还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器,硬盘驱动器(hard disk drive,hdd)或固态驱动器(solid state drive,ssd)。
[0221]
存储器804中存储有计算机可读指令,处理器802执行该计算机可读指令,以使得通信节点800执行前述验证方法(或实现前述第一通信节点600或第二通信节点700的功能)。
[0222]
具体地,在实现图6或图7所示的实施例的情况下,且图6或图7中所描述的第一通信节点600、第二通信节点700的各模块的功能为通过软件实现的情况下,执行图6或图7中各模块的功能所需的软件或程序代码可以存储在通信节点800中的至少一个存储器804中。至少一个处理器802执行存储器804中存储的程序代码,以使得通信节点800执行前述验证方法。
[0223]
本技术实施例还提供一种通信系统。参见图9所示的通信系统的结构示意图,该通信系统900包括第一通信节点600和多个第二通信节点700。其中,所述第一通信节点600用于通过第一通道发送第一验证凭据,以及通过至少一个第二通道发送第二密钥,所述第一验证凭据根据所述第二密钥生成;所述多个第二通信节点700中的任一第二通信节点700用于根据所述第二密钥生成第二验证凭据,根据所述第二验证凭据和所述第一验证凭据进行验证。
[0224]
本技术实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示通信节点执行上述验证方法。
[0225]
本技术实施例还提供了一种计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在通信节点上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算设备或数据中心进行传输。所述计算机程序产品可以为一个软件安装包,在需要使用前述验证方法的任一方法的情况下,可以下载该计算机程序产品并在通信节点上执行该计算机程序产品。
[0226]
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。

技术特征:
1.一种验证方法,其特征在于,应用于群组通信,所述群组包括第一通信节点和多个第二通信节点,所述方法包括:所述第二通信节点通过第一通道获取第一验证凭据,以及通过至少一个第二通道获取第二密钥,所述第一验证凭据根据所述第二密钥生成;所述第二通信节点根据所述第二密钥生成第二验证凭据;所述第二通信节点根据所述第二验证凭据和所述第一验证凭据进行验证。2.根据权利要求1所述的方法,其特征在于,所述第二密钥由所述第一通信节点根据所述第一通信节点接收的用户输入内容,通过密钥导出算法生成。3.根据权利要求2所述的方法,其特征在于,所述第二密钥为通过所述密钥导出算法生成的多个派生密钥;所述第二通信节点通过至少一个第二通道获取第二密钥,包括:所述第二通信节点通过多个第二通道中的每个第二通道获取所述多个派生密钥中的一个派生密钥。4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一通道和所述第二通道为带外通道。5.根据权利要求4所述的方法,其特征在于,所述带外通道包括会议内容通道、蜂窝电话通道、邮件通道、短信通信、即时通信应用通道中的一种或多种。6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一验证凭据由所述第一通信节点对加入所述群组进行限制后生成。7.根据权利要求1至6任一项所述的方法,其特征在于,所述多个第二通信节点包括当前与会的通信节点和曾经与会的通信节点。8.根据权利要求1至7任一项所述的方法,其特征在于,所述第二通信节点根据所述第二密钥生成第二验证凭据,包括:所述第二通信节点根据所述第二密钥,通过逻辑运算生成第二验证凭据。9.根据权利要求8所述的方法,其特征在于,所述逻辑运算包括异或运算、同或运算、和运算、或运算中的一种或多种。10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:所述第二通信节点获取所述第一通信节点的公钥信息和其他第二通信节点的公钥信息;所述第二通信节点获取第一密钥,所述第一密钥为所述群组的消息密钥;所述第二通信节点根据所述第二密钥生成第二验证凭据,包括:所述第二通信节点根据所述第一密钥、所述第二密钥、所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息,生成第二验证凭据。11.根据权利要求10所述的方法,其特征在于,所述第二通信节点根据所述第一密钥、所述第二密钥、所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息,生成第二验证凭据,包括:所述第二通信节点根据所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息生成多个第一散列消息认证码,根据所述第一密钥生成第二散列消息认证码,根据所述第二密钥生成至少一个第三散列消息认证码;
所述第二通信节点对所述多个第一散列消息认证码、所述第二散列消息认证码以及所述至少一个第三散列消息认证码进行逻辑运算,生成第二验证凭据。12.根据权利要求10或11所述的方法,其特征在于,所述公钥信息包括长期公钥和短期公钥。13.一种第二通信节点,其特征在于,应用于群组通信,所述群组包括第一通信节点和多个所述第二通信节点,所述第二通信节点包括:通信模块,用于通过第一通道获取第一验证凭据,以及通过至少一个第二通道获取第二密钥,所述第一验证凭据根据所述第二密钥生成;生成模块,用于根据所述第二密钥生成第二验证凭据;验证模块,用于根据所述第二验证凭据和所述第一验证凭据进行验证。14.根据权利要求13所述的节点,其特征在于,所述第二密钥为通过所述密钥导出算法生成的多个派生密钥;所述通信模块具体用于:所述第二通信节点通过多个第二通道中的每个第二通道获取所述多个派生密钥中的一个派生密钥。15.根据权利要求13或14所述的节点,其特征在于,所述第一通道和所述第二通道为带外通道。16.根据权利要求15所述的节点,其特征在于,所述带外通道包括会议内容通道、蜂窝电话通道、邮件通道、短信通信、即时通信应用通道中的一种或多种。17.根据权利要求13至16任一项所述的节点,其特征在于,所述多个第二通信节点包括当前与会的通信节点和曾经与会的通信节点。18.根据权利要求13至17任一项所述的节点,其特征在于,所述生成模块具体用于:根据所述第二密钥,通过逻辑运算生成第二验证凭据。19.根据权利要求18所述的节点,其特征在于,所述逻辑运算包括异或运算、同或运算、和运算、或运算中的一种或多种。20.根据权利要求13至19任一项所述的节点,其特征在于,所述通信模块还用于:获取所述第一通信节点的公钥信息和其他第二通信节点的公钥信息;获取第一密钥,所述第一密钥为所述群组的消息密钥;所述生成模块具体用于:所述第二通信节点根据所述第一密钥、所述第二密钥、所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息,生成第二验证凭据。21.根据权利要求20所述的节点,其特征在于,所述生成模块具体用于:根据所述第一通信节点的公钥信息和所述多个第二通信节点的公钥信息生成多个第一散列消息认证码,根据所述第一密钥生成第二散列消息认证码,根据所述第二密钥生成至少一个第三散列消息认证码;对所述多个第一散列消息认证码、所述第二散列消息认证码以及所述至少一个第三散列消息认证码进行逻辑运算,生成第二验证凭据。22.根据权利要求20或21所述的节点,其特征在于,所述公钥信息包括长期公钥和短期公钥。
23.一种通信系统,其特征在于,应用于群组通信,所述群组包括第一通信节点和多个第二通信节点;所述第一通信节点,用于通过第一通道发送第一验证凭据,以及通过至少一个第二通道发送第二密钥,所述第一验证凭据根据所述第二密钥生成;所述多个第二通信节点中的任一第二通信节点,用于根据所述第二密钥生成第二验证凭据,根据所述第二验证凭据和所述第一验证凭据进行验证。24.一种通信节点,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合:所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,以使得所述通信节点执行如权利要求1至12中任一项所述的方法。25.一种计算机可读存储介质,其特征在于,用于存储指令,当所述指令被执行时,使如权利要求1至12中任一项所述的方法被实现。26.一种通信节点,其特征在于,包括处理器和接口电路;所述接口电路,用于接收代码指令并传输至所述处理器;所述处理器用于运行所述代码指令以执行如权利要求1至12中任一项所述的方法。

技术总结
本申请提供了一种验证方法,应用于群组通信,群组包括第一通信节点和多个第二通信节点,该方法包括:第二通信节点通过第一通道获取第一验证凭据,以及通过至少一个第二通道获取第二密钥,该第一验证凭据根据第二密钥生成,然后第二通信节点根据第二密钥生成第二验证凭据,接着第二通信节点根据第二验证凭据和第一验证凭据进行验证。通信节点之间通过上述进行验证,可以检测中间人攻击,保障了通信信息安全,而且攻击者需要攻破不同通道进行攻击,提升了防仿冒安全强度。提升了防仿冒安全强度。提升了防仿冒安全强度。


技术研发人员:杨浩天 廖涛 耿峰 周李京
受保护的技术使用者:华为云计算技术有限公司
技术研发日:2022.03.01
技术公布日:2023/9/11
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐