CN117240489A - 一种会议数据传输方法、装置及设备 - Google Patents

一种会议数据传输方法、装置及设备 Download PDF

Info

Publication number
CN117240489A
CN117240489A CN202210981404.8A CN202210981404A CN117240489A CN 117240489 A CN117240489 A CN 117240489A CN 202210981404 A CN202210981404 A CN 202210981404A CN 117240489 A CN117240489 A CN 117240489A
Authority
CN
China
Prior art keywords
conference
digital watermark
conference terminal
key
terminal
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.)
Pending
Application number
CN202210981404.8A
Other languages
English (en)
Inventor
耿峰
赵高永
田文渊
陈小华
李�泳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2023/082404 priority Critical patent/WO2023236617A1/zh
Publication of CN117240489A publication Critical patent/CN117240489A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种会议数据传输方法、装置及设备,应用于计算机技术领域中。在该方法中,第一会议终端获取会议的安全数据,基于安全数据生成第一数字水印,向会议中的第二会议终端发送第一媒体数据,第一媒体数据中嵌入有所述第一数字水印;第二会议终端也会基于获取的安全数据生成与第一会议终端对应的数字水印,并将生成的数字水印与从第一媒体数据中提取到的第一数字水印进行匹配,以判断是否存在中间人攻击。由于攻击者不能够轻易获取到会议的安全数据,故攻击者难以对第一数字水印进行仿冒,从而难以进行不被发现的攻击行为。

Description

一种会议数据传输方法、装置及设备
本申请要求在2022年6月7日向中国国家知识产权局提交的,申请号为202210636942.3、发明名称为“一种安全的数据传输方法”的中国发明专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种会议数据传输方法、装置及设备。
背景技术
为了实现数据的安全传输,通常采用端到端加密(end-to-end encryption,E2EE)进行通信。端到端加密允许数据在从发送端到接收端的传输过程中始终以密文形式存在。当数据被采用端到端加密传输时,该数据在到达终点之前不被解密,这有利于防止潜在的攻击者获取解密数据所需的加密密钥。
然而,即使采用了端到端加密机制,数据的传输仍然可能存在一些安全风险,比如,存在“中间人攻击”的问题。中间人攻击(nan-in-the-middle,MitM)是一种“间接”的入侵攻击,为了伪装,攻击者将自己作为数据传输过程中所涉及的一个或数个实体(即攻击者将自己置于通讯的两端之间),从而拦截、篡改通讯两端之间的通信数据。
例如,在图1所示的示例中,假设Alice与Bob进行通信,而Server作为攻击者希望拦截Alice给Bob发送的消息,并向Bob发送虚假消息。在这个过程中:1、Alice将自己的公钥PKA发送给Bob,Bob将自己的公钥PKB发送给Alice,但双方的消息均被Server拦截,即Bob没有收到Alice的公钥PKA,Alice也没有收到Bob的公钥PKB。2、Alice由于没有接收到Bob的公钥,故请求获取Bob的公钥,请求仍被Server拦截。3、Server向Alice发送虚假公钥PKB’。4、Alice使用虚假公钥PKB’加密消息生成密文1并发送。5、Server拦截到密文1后,使用与虚假公钥PKB’对应的私钥进行解密,得到明文,并使用公钥PKB对明文进行加密生成密文2,并将密文2发送给Bob。Server在上述拦截的过程中,还可以根据自身需求,在对Alice发送的数据进行解密后,再对数据进行篡改,然后使用Bob的公钥PKB对篡改后的数据进行加密后再发送给Bob。
由此可见,如何防止中间人攻击对通信安全性而言尤为重要,是目前研究的重要课题。
发明内容
本申请实施例提供一种会议数据传输方法、装置及设备,用于实现数据传输时发送端与接收端之间的身份验证,有效防止中间人攻击。
第一方面,本申请实施例提供一种会议数据传输方法,应用于参与会议的第一会议终端,所述方法包括:获取所述会议的安全数据,所述会议的安全数据包括如下的一项或多项:所述会议的主秘钥,所述会议的入会密码,参与所述会议的多个会议终端中的至少一个会议终端的公钥和所述第一会议终端的私钥;其中,所述主秘钥是由所述多个会议终端协商确定的,所述多个会议终端包括所述第一会议终端和第二会议终端;基于所述安全数据生成第一数字水印;向所述第二会议终端发送第一媒体数据,所述第一媒体数据中嵌入有所述第一数字水印,以使所述第二会议终端根据所述第一数字水印判断是否存在中间人攻击。
在上述会议数据传输方法中,第一会议终端根据会议的安全数据生成第一数字水印,并将嵌入有第一数字水印的媒体数据发送给其他会议终端,使得其他会议终端在接收到媒体数据的同时,还能够获取第一数字水印,并根据第一数字水印判断是否存在中间人攻击。与传统的身份验证(仅在数据传输之前进行身份验证)相比,上述方法使得会议终端在数据传输过程中仍能够根据接收到的媒体数据进行安全性验证,能够进一步提高数据传输的安全性。此外,即使攻击者能够获取到部分用于生成数字水印的安全数据,但难以获取根据安全数据生成数字水印的算法,故攻击者难以对第一数字水印进行仿冒,从而难以进行不被发现的攻击行为。
在一种可能的实现方式中,所述第一媒体数据包含N个媒体帧,所述方法还包括:将所述第一数字水印拆分成N个部分;将所述第一数字水印的N个部分分别嵌入所述N个媒体帧中;其中,所述N为大于1的整数。对数字水印进行拆分,使得拆分后的每个部分的长度较小,能够满足单个媒体帧对嵌入水印最大长度的要求,不会由于嵌入过长的数字水印使得音、视频在播放时产生异常。第二会议终端从N个媒体帧中提取出完整的第一数字水印,那么根据完整的第一数字水印进行校验的过程,相当于对N个媒体帧均进行了校验,因此,与每个媒体帧中均嵌入完整数字水印的方案相比,上述方案能够降低第二会议终端的检测次数,降低对第二会议终端的性能需求,但并没有减少第二会议终端检测的媒体帧数量。
在一种可能的实现方式中,所述多个会议终端还包括第三会议终端,所述方法还包括:向所述第三会议终端发送所述第一媒体数据,以使所述第三会议终端根据所述第一数字水印判断是否存在中间人攻击。当会议中还包第三会议终端时,第一会议终端还可以将发送给第二会议终端的第一媒体数据发送给第三会议终端,以使第三会议终端在接收到媒体数据的同时,也能够根据第一数字水印进行中间人攻击检测。
在一种可能的实现方式中,所述安全数据包括所述主秘钥、所述第一会议终端的私钥、所述多个会议终端中每个会议终端的公钥;所述基于所述安全数据生成第一数字水印,包括:根据所述主秘钥、所述第一会议终端的私钥、所述第一会议终端的公钥和所述第二会议终端的公钥生成所述第一数字水印。在该实现方式中,第一数字水印根据主秘钥、第一会议终端的私钥、第一会议终端的公钥和所述第二会议终端的公钥生成,增加了第一数字水印生成的复杂度,而攻击者难以获取到用于生成第一数字水印的全部信息,破解第一数字水印的难度也显著提升。
在一种可能的实现方式中,所述多个会议终端还包括第三会议终端,所述方法还包括:根据所述主秘钥、所述第一会议终端的私钥、所述第一会议终端的公钥和所述第三会议终端的公钥生成第二数字水印;向所述第三会议终端发送第二媒体数据,所述第二媒体数据中嵌入有所述第二数字水印,以使所述第三会议终端根据所述第三数字水印判断是否存在中间人攻击。当会议中还包第三会议终端时,第一会议终端向第二会议终端、第三会议终端发送的媒体数据中可以嵌入不同的数字水印,也就是说,第一会议终端针对不同的会议终端生成不同的数字水印,即使攻击者破解了第一数字水印,也无法利用第一数字水印向所有会议终端发送仿冒数据。
在一种可能的实现方式中,所述根据所述主秘钥、所述第一会议终端的私钥、所述第一会议终端的公钥和所述第二会议终端的公钥生成第一数字水印,包括:根据所述第一会议终端的公钥和所述第二会议终端的公钥生成公钥字符串;根据所述主秘钥、所述第一会议终端的标识和所述第二会议终端的标识生成派生秘钥;采用所述第一会议终端的私钥对所述公钥字符串和所述派生秘钥进行数字签名,得到所述第一数字水印。用于生成第一数字水印的安全数据较多,且生成方式复杂,尤其是数字签名很难被破解、仿冒,因此通过上述方式得到第一数字水印,能够进一步提高第一数字水印的安全性,增加攻击者破解第一数字水印的难度。
在一种可能的实现方式中,所述方法还包括:接收所述第二会议终端发送的第三媒体数据;从所述第三媒体数据中提取第三数字水印;基于所述安全数据生成第一验证信息;根据所述第三数字水印和所述第一验证信息的匹配结果判断是否存在中间人攻击。第一会议终端可以在媒体数据中嵌入第一数字水印使得第二会议终端实现中间人攻击检测,第二会议终端也可以采用类似的方法,在发送给第一会议终端的媒体数据中嵌入数字水印,从而使得第一会议终端执行中间人检测,以确保双向通信的安全。
在一种可能的实现方式中,所述安全数据包括所述主秘钥、所述第一会议终端的私钥、所述第二会议终端的公钥;所述基于所述安全数据生成第一验证信息,包括:基于所述主秘钥、所述第一会议终端的公钥和所述第二会议终端的公钥生成与所述第二会议终端对应的第一验证信息。在该实现方式中,第三数字水印可以根据主秘钥、第二会议终端的私钥、第一会议终端的公钥和所述第二会议终端的公钥生成,那么第一会议终端可以基于主秘钥、第一会议终端的公钥和所述第二会议终端的公钥生成相应的第一验证信息,从而根据第一验证信息进行中间人攻击检测。
在一种可能的实现方式中,所述第三数字水印是经所述第二会议终端的私钥进行数字签名后的数据;所述根据所述第三数字水印和所述第一验证信息的匹配结果判断是否存在中间人攻击,包括:采用所述第二会议终端的公钥对所述第三数字水印进行解密,将所述解密得到的数据与所述第一验证信息进行匹配,若匹配失败,确定存在中间人攻击。用于生成第三数字水印的安全数据较多,且生成方式复杂,尤其是数字签名很难被破解、仿冒,因此第三数字水印的安全性较高;相应的,第一会议终端需要根据第二会议终端的公钥进行验签。
在一种可能的实现方式中,所述第三媒体数据包含M个媒体帧,所述从所述第三媒体数据中提取第三数字水印,包括:从所述M个媒体帧中提取得到所述第三数字水印的M个部分;根据提取到的所述第三数字水印的M个部分得到所述第三数字水印。对数字水印进行拆分,使得拆分后的每个部分的长度较小,能够满足单个媒体帧对嵌入水印最大长度的要求,不会由于嵌入过长的数字水印使得音、视频在播放时产生异常。第一会议终端从M个媒体帧中提取出完整的第三数字水印,那么根据完整的第三数字水印进行校验的过程,相当于对M个媒体帧均进行了校验,因此,与每个媒体帧中均嵌入完整数字水印的方案相比,上述方案能够降低第一会议终端的检测次数,降低对第一会议终端的性能需求,但并没有减少第一会议终端检测的媒体帧数量。
在一种可能的实现方式中,所述安全数据包括所述主秘钥;在基于所述安全数据生成第一数字水印之后,所述方法还包括:在第四会议终端加入所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第四数字水印;其中,协商得到所述更新后的所述主秘钥的多个会议终端包括所述第一会议终端、所述第二会议终端和所述第四会议终端;向所述第二会议终端发送第四媒体数据,所述第四媒体数据中嵌入有所述第四数字水印,以使所述第二会议终端根据所述第四数字水印判断是否存在中间人攻击。为了保证数字水印的时效性,不使后加入的会议终端能够根据相同的数字水印获取其未加入会议时产生的媒体数据,可以在有新的会议终端加入会议时,对数字水印进行更新。具体的,生成新的数字水印的方法不必发生变化,更新用于生成数字水印的主秘钥,即可实现对数字水印的更新。
在一种可能的实现方式中,所述会议的安全数据包括所述主秘钥,所述多个会议终端还包括第五会议终端,所述方法还包括:在所述第五会议终端离开所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第五数字水印;其中,协商得到所述更新后的所述主秘钥的多个会议终端不包括所述第五会议终端;向所述第二会议终端发送第五媒体数据,所述第五媒体数据中嵌入有所述第五数字水印,以使所述第二会议终端根据所述第五数字水印判断是否存在中间人攻击。为了保证数字水印的时效性,不使应当离开的会议的会议终端能够根据相同的数字水印继续获取、发送媒体数据,可以在有会议终端离开会议时,对数字水印进行更新。具体的,生成新的数字水印的方法不必发生变化,更新用于生成数字水印的主秘钥,即可实现对数字水印的更新。
第二方面,本申请实施例提供一种会议数据传输方法,应用于参与会议的第二会议终端,所述方法包括:接收第一会议终端发送的第一媒体数据,所述第一媒体数据中嵌入有第一数字水印;从所述第一媒体数据中提取所述第一数字水印;基于会议的安全数据生成第一验证信息,所述会议的安全数据包括如下的一项或多项:所述会议的主秘钥,所述会议的入会密码,参与所述会议的多个会议终端中的至少一个会议终端的公钥;其中,所述主秘钥是由所述多个会议终端协商确定的,所述多个会议终端包括所述第一会议终端和第二会议终端;根据所述第一数字水印和所述第一验证信息的匹配结果判定是否存在中间人攻击。
在一种可能的实现方式中,所述第一媒体数据包含N个媒体帧,所述从所述第一媒体数据中提取所述第一数字水印,包括:从所述N个媒体帧中提取得到所述第一数字水印的N个部分;根据提取到的所述第一数字水印的N个部分得到所述第一数字水印。
在一种可能的实现方式中,所述安全数据包括所述主秘钥、所述第一会议终端的公钥和所述第二会议终端的公钥,且所述第一数字水印是根据所述安全数据生成的;所述基于会议的安全数据生成第一验证信息,包括:根据所述主秘钥、所述第一会议终端的公钥和所述第二会议终端的公钥生成所述第一验证信息。
在一种可能的实现方式中,所述第一数字水印是采用所述第一会议终端的私钥对公钥字符串和派生秘钥进行数字签名得到的,所述公钥字符串是根据所述第一会议终端的公钥和所述第二会议终端的公钥生成的,所述派生秘钥是根据所述主秘钥、所述第一会议终端的标识和所述第二会议终端的标识生成的;所述根据所述主秘钥、所述第一会议终端的公钥和所述第二会议终端的公钥生成所述第一验证信息,包括:根据所述第一会议终端的公钥和所述第二会议终端的公钥生成公钥字符串,所述第二会议终端根据所述主秘钥、所述第一会议终端的标识和所述第二会议终端的标识生成派生秘钥,所述第二会议终端对所述公钥字符串和所述派生秘钥进行哈希运算,得到所述第一验证信息;所述根据所述第一数字水印和所述第一验证信息的匹配结果判定是否存在中间人攻击,包括:根据所述第一会议终端的公钥对所述第一数字水印进行解密,将所述解密得到的数据与所述第一验证信息进行匹配,若匹配失败,确定存在中间人攻击。
在一种可能的实现方式中,所述安全数据包括所述主秘钥;所述方法还包括:在第三会议终端加入所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第二验证信息,其中,协商得到所述更新后的所述主秘钥的多个会议终端包括所述第一会议终端、所述第二会议终端和所述第三会议终端;接收所述第一会议终端发送的第二媒体数据,所述第二媒体数据中嵌入有第二数字水印;从所述第二媒体数据中提取所述第二数字水印;根据所述第二数字水印和所述第二验证信息的匹配结果判定是否存在中间人攻击。
在一种可能的实现方式中,所述会议的安全数据包括所述主秘钥,所述多个会议终端还包括第四会议终端,所述方法还包括:在所述第四会议终端离开所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第三验证信息,其中,协商得到所述更新后的所述主秘钥的多个会议终端不包括所述第四会议终端;接收所述第一会议终端发送的第三媒体数据,所述第三媒体数据中嵌入有第三数字水印;从所述第三媒体数据中提取所述第三数字水印;根据所述第三数字水印和所述第三验证信息的匹配结果判定是否存在中间人攻击。
第三方面,本申请实施例提供一种会议数据传输装置,所述装置为参与会议的第一会议装置,所述装置包括执行上述第一方面以及任意一种可能实现方式的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第四方面,本申请实施例提供一种会议数据传输装置,所述装置为参与会议的第二会议装置,所述装置包括执行上述第二方面以及任意一种可能实现方式的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第五方面,本申请实施例提供一种会议数据传输系统,所述系统至少包括如第三方面所述的会议数据传输装置和如第四方面所述的会议数据传输装置。
在一种可能的实现方式中,所述系统还包括会议服务器,用于接收所述第一会议数据传输发送的第一媒体数据,将所述第一媒体数据发送至所述第二会议装置。
第六方面,本申请实施例提供一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器存储有计算机程序;所述处理器用于调用所述存储器中存储的计算机程序,以执行上述第一方面以及任意一种可能实现方式的方法,或者,执行上述第二方面以及任意一种可能实现方式的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如上述第一方面以及任意一种可能实现方式的方法,或者,执行上述第二方面以及任意一种可能实现方式的方法。
附图说明
图1为本申请实施例提供的中间人攻击的方法流程示意图;
图2为本申请实施例提供的视频会议场景示意图;
图3为本申请实施例提供的身份验证仪式示意图;
图4为本申请实施例提供的一种会议数据传输方法的流程示意图;
图5为本申请实施例提供的一种信道密钥协商过程示意图;
图6为本申请实施例提供的另一种信道密钥协商过程示意图;
图7为本申请实施例提供的另一种会议数据传输方法的流程示意图;
图8为本申请实施例提供的又一种会议数据传输方法的流程示意图;
图9为本申请实施例提供的再一种会议数据传输方法的流程示意图;
图10为本申请实施例提供的一种会议数据传输装置的结构示意图;
图11为本申请实施例提供的另一种会议数据传输装置的结构示意图;
图12本申请实施例提供的计算机设备结构示意图。
具体实施方式
防止攻击的方法主要包括两类,分别为身份验证和篡改检测。
其中,常见的身份验证方法是通过证书签发机构(certification authority,CA)签发的CA证书验证公钥真实性。例如,Alice和Bob互相交换CA证书,Alice可以使用Bob提供的由受信任的CA签名的证书来验证Bob的公钥的真实性。例如,Bob向第三方CA申请认证,认证通过后,第三方CA向Bob发送CA证书;Bob将该CA证书发送给Alice,若该第三方CA是Alice信任的CA,则Alice配置有该第三方CA的公钥,那么Alice可以根据第三方CA的公钥以及CA证书中的明文信息对CA中的签名数据进行验签,若验签成功,则Alice认为获取到的公钥是真实的Bob的公钥。但是,若攻击者已成功控制CA,那么攻击者则能够伪造CA证书,进而基于伪造的CA证书通过身份验证,发起中间人攻击。
篡改检测就是检测接收到的信息是否经过篡改。关于篡改检测,目前并没有建立自动化机制(自动化机制通常是指篡改检测的过程由系统自动检测,无需用户参与)来防止数据传递过程中的攻击行为。当前在实现数据的安全传递上,大多采用端到端机会性加密(机会性加密通常是指在创建通信连接时,发起方首先尝试请求加密,如果对方也支持加密连接,则建立加密连接通道,期间不进行身份验证;如果加密请求尝试失败,则回退到明文通信机制)。然而,机会性加密只能防止被动攻击,对攻击者的主动攻击,如中间人攻击,则无能为力。
下面以视频会议场景为例对中间人攻击进行说明。
通常情况下,视频会议可以包括多个参会方,一个参会方通过一个会议终端加入该视频会议。会议终端的形态可以是专用的物理设备,也可以是具有会议功能的软件程序,该软件程序可以运行在各种计算设备上,比如,手机、平板,电脑等各种用户终端上;在这种情况下,运行该软件程序的计算设备也可以认为是会议终端。会议终端通过会议服务平台加入视频会议,具体的,会议终端可以从会议服务平台获取视频会议的媒体数据,并将本地采集的媒体数据发送至会议服务器平台,以使会议服务平台转发给其他参会的会议终端。会议终端可以通过无线网络连接,使得参会方不受地理位置限制,能够顺利加入视频会议中。在有些情况下,一个参会方可能只包含一个参会用户,比如,该参会用户通过运行在手机上的会议软件程序加入视频会议;在有些情况下,一个参会方也可以包含多个参会用户,比如在会议室场景中,位于会议室中的多个参会用户通过该会议室中的一个会议终端加入视频会议。
在视频会议场景中,多个参会方在加入会议的过程中,会议终端与会议服务器平台建立的通信通道包括信令通道和媒体通道。其中,信令通道通常用于承载呼叫信令、会议控制信令;媒体通道通常用于承载实时音视频编码流,该媒体通道通常也被称为视频会议的带内通道。在该场景中,E2EE所需要的密钥材料,通常包括所有参会方的公钥,该公钥可以通过与会议服务器平台建立的通信通道传输。在该通信通道上,如果存在中间人攻击,则攻击者通过可以实施的攻击行为包括:对传输的数据进行读取、篡改、插入、删除、重排等操作。
由于视频会议具有连续交互的属性,如果参会方彼此熟识,各参会方能够实时听到其他参会方的声音,实时看到其他参会方的图像,那么能够通过声音、图像观察和辨识其他参会方的身份。因此,如果攻击者想要达到伪造声音或图像的目的,非常困难,通常需要使用人工智能(artificial intelligence,AI)一类的攻击手段。所以,攻击者通常只能对视频会议中的数据进行读取,而不能够(除非投入大量攻击资源成本)进行篡改,插入,删除等操作。因此,可以利用视频会议中用户能够根据声音、图像进行辅助鉴别的特性,进行身份验证。
在图1所示的例子中,在视频会议场景下,中间人攻击是依靠攻击者在视频会议的通信通道上替换各个参会方的公钥实现的。一种可能的解决方法是,在视频会议过程中,可以通过所有参会方实施互动仪式,例如通过参会人朗读接收到的公钥,以确认接收到的是否为真实的公钥,从而可以检测出是否受到了中间人攻击。各参会方通过用户参与验证密钥的过程称为身份验证仪式。
为了方便各参会方进行身份验证仪式,会议中的每个会议终端都可以独立计算一个会议主持人的安全代码,例如,会议主持人的安全代码Security Code=Wordify(Hash(会议主持人使用的会议终端的公钥)),其中Wordify函数用于将二进制哈希转换为人类可读的代码,安全代码Security Code的长度较长,更有利于防止攻击者对安全代码的破解。
下面以在图2为例说明视频会议场景所应用的系统(称为视频会议系统)。假设该系统包括会议平台服务和四个会议终端,四个参会用户(用户A、用户B、用户C和用户D)分别通过第一终端、第二终端、第三终端、第四终端接入会议。图2中以会议平台服务器为多点控制单元(multipoint control unit,MCU)为例,由MCU向用户提供认证服务(通过参会用户使用的会议终端),并对会议数据进行转发。例如,第一会议终端将用户A侧的视频数据发送给MCU,MCU将该视频数据转发给第二会议终端、第三会议终端和第四会议终端,以使用户B、用户C和用户D能够分别通过第二会议终端、第三会议终端和第四会议终端,观看用户A的视频影像。如图3所示,假设用户A为主持人,用户A可以通过第一会议终端依次与用户B、用户C、用户D进行身份验证仪式,即用户B、用户C和用户D分别通过第二会议终端、第三会议终端和第四会议终端依次读出会议主持人的安全代码,主持人可以确认用户B、用户C和用户D读出的是否为正确的安全代码。若某个用户读出的安全代码不正确,则主持人可以将该用户其踢出会议,并更换会议密钥。被踢出会议的用户允许重新进行身份认证并加入会议。
但是,由于计算安全代码需要较多的会议E2EE密钥的相关材料,而会议在召开过程中存在不断有人进出的场景,故安全代码可能需要刷新频繁,若主持人刚发出安全代码,就有参会人入会或者离会导致带外安全码再次刷新的,那么身份验证仪式很难正常执行;或者,需要主持人多次举行身份验证仪式。且身份验证仪式只能按仪式事件驱动校验,不能持续校验,若用户持续念安全代码则会议无法正常进行,只能间隔一段时间进行一次身份验证。但是,两次身份验证之间则无法保障安全性。此外,上述方法的实现依赖人为参与的安全代码认证,由于受到人机交互(human-computer interaction,HCI)体验的制约,导致用户界面生成的安全代码不能太长,实际都是经过截短的安全代码,而截短后的安全代码容易被仿冒或者破解,因而会引入安全风险。
有鉴于此,本申请实施例提供一种会议数据传输方法,用于实现自动检测是否存在中间人攻击行为,实现过程中参会人员不感知,不会打断会议,且安全性高。
该方法可以应用于如图2所示的视频会议系统中的任一个会议终端。参见图4,为本申请实施例提供的会议数据传输方法的流程示意图。在图4所示的示例中,以会议包括第一会议终端和第二会议终端为例进行说明,但还可以包括更多数量的会议终端。如图4所示,第一会议终端可以执行以下步骤:
步骤401、第一会议终端获取会议的安全数据。
会议的安全数据为可以用于生成数字水印,并进一步用于进行中间人攻击检测。可选的,会议的安全数据可以包括以下数据中的一项或多项:
1)会议的主秘钥。
主秘钥通常用于对会议中传输的媒体数据、控制信令进行加密、解密,以实现端到端加密。在本申请实施例中,主秘钥还可以用于生成数字水印。
会议的主秘钥可以通过参与该会议的多个会议终端(通常是参与会议的所有会议终端)共同协商获得,协商过程可以是基于E2EE密钥协商协议或者群组密钥协商协议进行的。常见的两种基于E2EE密钥协商协议的秘钥协商过程可以如图5、图6所示。
在图5所示的信道密钥协商协议过程中,会议终端两两形成一个通信对,在会议包括4个会议终端的情况下,会议中共存在6个通信对,每个通信对具有一个通信秘钥,如图5中的(a)所示,会议终端A与会议终端B之间的通信秘钥为Kab,会议终端A与会议终端C之间的通信秘钥为Kac,会议终端A与会议终端D之间通信秘钥为Kad,会议终端B与会议终端C之间的通信秘钥为Kbc,会议终端B与会议终端D之间的通信秘钥为Kbd,会议终端C与会议终端D之间的通信秘钥为Kcd。当作为会议管理者的会议终端A生成主秘钥M后,如图5中的(b)所示,会议终端A使用Kab对主秘钥M进行加密,并发送给用户B;使用Kac对主秘钥M进行加密,并发送给会议终端C;使用Kad对主秘钥M进行加密,并发送给会议终端D。
如图6所示,是基于E2EE密钥协商协议中的信号(Signal)协议进行秘钥协商的过程。在图6中的(a)所示的信道密钥协商示例中,每个会议终端都有一个不同于其他会议终端的发件人秘钥,在发送消息时,使用自身的发件人秘钥对待发送消息进行加密,并发送给其他用户。以会议终端A为例,会议终端A可以随机生成自身的发件人秘钥Ka,然后,通过与会议终端B之间的配对秘钥EKab对发件人秘钥Ka进行加密,并将加密后的发件人秘钥EKab(Ka)发送给会议终端B;通过与会议终端C之间的配对秘钥EKac对发件人秘钥Ka进行加密,并将加密后的发件人秘钥EKab(Ka)发送给会议终端C;通过与会议终端D之间的配对秘钥对发件人秘钥Ka进行加密,并将加密后的发件人秘钥EKad(Ka)发送给会议终端D。当作为会议管理者的会议终端A生成主秘钥M后,如图6中的(b)所示,会议终端A使用Ka对主秘钥M进行加密,并发送给会议终端B、会议终端C、会议终端D。
当然,图5、图6仅为信道秘钥协商示例,本申请实施例对协商主秘钥的过程并不限定,还可以采用其他方式协商主秘钥,例如,基于群组密钥协商协议中的消息层安全(Message Laver Security,MLS)协议进行主秘钥的协商。
2)参与会议的多个会议终端中的至少一个会议终端的公钥。
应理解,参与会议的多个会议终端至少包括上述第一会议终端和第二会议终端,还可能包括更多数量的会议终端。多个会议终端中的至少一个会议终端,即参与会议的部分或全部会议终端,可以包括第一会议终端,可以包括第二会议终端,也可以包括会议管理者(如,主持人)使用的会议终端(当然,会议管理者使用的会议终端,可能是第一会议终端、第二会议终端或者其他会议终端)。
公钥(public key)与私钥(private key)是一种通过算法得到的秘钥对。如果用秘钥对中的一个密钥加密一段数据,则需要用另一个密钥解密,例如,用公钥加密数据则用私钥进行解密,用私钥加密数据则用公钥进行解密,否则解密将不会成功。公钥是秘钥对中面向通信对端公开的部分。
在本申请实施例中,涉及的会议终端的公钥、私钥,可以是指会议终端自身具备的公钥、私钥(例如,会议室配备的专用会议终端,可以供一个或多个用户使用,专用会议终端自身具备的公钥、私钥);或者,也可以指会议终端的登录用户的公钥、私钥(例如,会议终端为运行会议应用程序的计算设备,会议应用程序当前的登录用户的公钥即为会议终端的公钥、私钥,若更换的登录用户,那么会议终端的公钥、私钥也随之变化)。
可选的,公钥可以包括长期公钥和/或临时公钥。其中,长期公钥可以是会议终端的登录用户在注册时生成的、不变的公钥,或者是会议终端自身在会议系统中注册时生成的公钥;临时公钥则表示一段时间内有效、会被更新的公钥,如每隔一段时间更新一次临时公钥或者每次加入会议时生成一个临时公钥。
参与会议的多个会议终端中的至少一个会议终端的公钥,可以从服务器获取。第一会议终端和第二会议终端可以预先将自身的公钥发送至服务器(例如图2中所示的MCU)。当会议中还包括其他会议终端时,其他会议终端也可以预先将自身的公钥发送至服务器。那么第一会议终端则可以从服务器获取第二会议终端的公钥和/或其他会议终端的公钥。类似的,其他会议终端也可以从服务器获取所需的会议终端的公钥。
3)第一会议终端的私钥。
第一会议终端的私钥可以与第一终端的公钥组成秘钥对,私钥则是秘钥对中非公开的部分,正常情况下,第一会议终端的私钥,其他会议终端或服务器无法获知。
当会议的安全数据包括第一会议终端的公钥和/或私钥时,可以通过如下方式获取第一会议终端的公钥和/私钥:
若第一会议终端的公钥/私钥为第一会议终端自身具备的公钥/私钥,那么第一会议终端从存储器中读取所需的公钥和/或私钥即可;若第一会议终端的公钥/私钥为登录到该第一会议终端的用户的公钥/私钥,那么第一会议终端在用户登录时能够根据登录用户的信息获取公钥/私钥。在有些情况下,第一会议终端上可能不存在登录用户(比如,会议室的会议终端,是公用的,不需要用户登录),但在会议开展的期间可能是与某个参会用户是绑定的(临时进行绑定),那么,第一会议终端也可以将与其绑定的用户的公钥/私钥或者用户终端的公钥/私钥作为其公钥/私钥。若第一会议终端的公钥/私钥为用户的公钥/私钥,或者为用户终端(如用户的手机、平板电脑等)的公钥/私钥,且第一会议终端与用户终端是两个不同的物理设备时,那么第一会议终端可以通过蓝牙、近场通信(near fieldcommunication,NFC)、用户输入等方式获取用户或用户终端的公钥。第一会议终端在生成第一数字水印时,可以先根据公钥生成待签名的信息,如上述公钥字符串allGroupPK和派生秘钥OTP_OOB,然后将待签名信息发送给用户终端,由用户终端根据私钥对其进行数字签名,并将数字签名后的信息即第一数字水印发送给第一会议终端。
4)会议的入会密码。
在创建会议时,可以对会议设置入会密码,想要加入该会议的会议终端,需要通过正确的入会密码加入会议,若会议终端不知道入会密码,则无法加入会议。
会议的入会密码,可以通过带内通道获取,例如,第一会议终端可以从服务器获取入会密码;或者,也可以通过带外通道(非会议系统的通道)获取,例如,服务器将入会密码通过短信、邮件等方式发送给第一会议终端对应的第一用户,再由第一用户通过蓝牙、NFC、输入等方式传输至第一会议终端。
以上信息可以作为安全数据用于生成数字水印,但能够作为安全数据的信息并不限于此,还可以将其他信息作为安全数据,本申请实施例对此并不限定。
步骤402、第一会议终端基于安全数据生成第一数字水印。
基于安全数据生成的第一数字水印用于进行中间人攻击检测,即,第一数字水印被认为是会议的合法会议终端才能够获取的,而不会被其他人获取、仿冒。
具体地,安全数据可以包括会议的主秘钥和/或会议管理者对应的会议终端的公钥,那么第一会议终端可以根据会议的主秘钥和/或会议管理者对应会议终端的公钥生成第一数字水印。例如,可以将主秘钥作为第一数字水印,或者,可以将会议管理者对应会议终端的公钥作为第一数字水印,或者,还可以根据预设算法对主秘钥和会议管理者对应会议终端的公钥进行计算,得到第一数字水印。
安全数据可以包括入会密码,那么第一会议终端可以根据入会密码生成第一数字水印。例如,可以将入会密码作为第一数字水印,或者,也可以根据预设算法对入会密码进行计算得到第一数字水印。
安全数据还可以包括会议的主秘钥、第一会议终端的私钥、第一会议终端的公钥和第二会议终端的公钥,那么第一会议终端可以根据会议的主秘钥、第一会议终端的私钥、第一会议终端的公钥和第二会议终端的公钥生成第一数字水印。
进一步的,会议可以包括更多数量的会议终端,而安全数据可以包括主秘钥、第一会议终端的私钥、会议中全部会议终端的公钥,那么第一会议终端也可以根据主秘钥、第一会议终端的私钥以及会议中全部会议终端的公钥生成第一数字水印,以实现进一步提高第一数字水印的安全性。通常情况下,用于生成第一数字水印的会议安全数据越多、越不易被攻击者获取,生成的数字水印的安全性就越高。具体地,即使攻击者能够拦截主秘钥,或者获取到某个会议终端的公钥信息,但由于攻击者很难获取到会议的全部参会的会议终端的信息,进而难以获取到全部参会的会议终端的公钥,因而攻击者基于获取的信息并不足够生成该数字水印,进而无法实施攻击。
在一个具体示例中,在安全数据包括主秘钥、第一会议终端的私钥、第一会议终端的公钥和第二会议终端的公钥时,第一会议终端可以按照如下方式生成第一数字水印:
第一会议终端可以先根据第一会议终端的公钥和第二会议终端的公钥生成公钥字符串。例如,可以令公钥字符串allGroupPK=pkA||pkB,其中,符号||表示字符串拼接,pkA表示用户A的公钥,pkB表示用户B的公钥。又例如,当公钥信息包括长期公钥和临时公钥时,可以令公钥字符串allGroupPK=epkA||epkB||LongPKA||LongPKB||,其中,epkA表示用户A的临时公钥,epkB表示用户B的临时公钥,LongPKA表示用户A的长期公钥,LongPKB表示用户B的长期公钥。进一步的,公钥字符串还可以会议中的其他会议终端的公钥生成,或者,可以根据会议中全部会议终端的公钥生成。
然后,第一会议终端可以根据主秘钥、第一会议终端的标识和第二会议终端的标识生成派生秘钥。例如,可以令派生秘钥OTP_OOB=KDF(mk,IDA||IDB||“OOB”),其中,mk表示主秘钥,IDA表示用户A的标识,IDB表示用户B的标识,OOB表示带外参数,带外参数可以是会议服务器如MCU预先生成的,不同会议的带外参数可以相同也可以不同。进一步的,派生秘钥还可以根据会议中的其他会议终端的标识生成,或者,可以根据会议中全部会议终端的标识生成。
最后,第一会议终端可以根据第一会议终端的私钥、公钥字符串和派生秘钥生成第一数字水印。可选的,第一会议终端可以使用自身私钥对公钥字符串和派生秘钥进行数字签名,例如,第一会议终端先对公钥字符串和派生秘钥进行哈希运算,得到哈希值Hash(OTP_OOB,allGroupPK),再根据第一会议终端的私钥对哈希值进行加密,从而得到第一数字水印R。由于数字签名很难被破解、仿冒,因此通过数字签名得到第一数字水印,能够进一步提高数字水印的安全性。
步骤403、第一会议终端向第二会议终端发送第一媒体数据,第一媒体数据中嵌入有第一数字水印。
第一会议终将生成的第一数字水印嵌入待发送的第一媒体数据(如音频帧、视频帧等)中。例如,可以对第一数字水印进行编码,并将编码后的信息嵌入视频帧的预设位置上,即,用编码后的信息替换视频帧预设位置上的数据。被嵌入有数字水印的数据,即使被拷贝,嵌入的信息也会一并被拷贝。数字水印可分为浮现式和隐藏式两种。浮现式水印是可被看见的水印,其包含的信息可在观看图片、视频时同时被看见。隐藏式的水印是以数字数据的方式加入图片、音频或视频中,但在一般的状况下无法被看见。本申请实施例对数字水印采用浮现式嵌入还是隐藏式嵌入不做限定。
第一会议终端将嵌入有第一数字水印的第一媒体数据发送给第二会议终端,使得第二会议终端在接收到第一媒体数据后,能够从第一媒体数据中提取出第一数字水印,从而根据提取到的第一数字水印检测是否存在中间人攻击。
具体的,第二会议终端也可以基于上述安全数据生成验证信息R’,接收到第一媒体数据后,可以从第一媒体数据中提取第一数字水印R,并根据提取到的第一数字水印R与生成的验证信息R’进行中间人攻击检测。第二会议终端生成验证信息R’的方式与第一会议终端生成第一数字水印R的原理类似,例如,若第一会议终端根据会议的主秘钥和/或会议管理者的公钥生成第一数字水印R,那么第二会议终端也根据会议的主秘钥和/或会议管理者的公钥生成验证信息R’;若第一会议终端根据入会密码生成第一数字水印R,那么第二会议终端也根据入会密码生成验证信息R’;若第一会议终端根据会议的主秘钥、第一会议终端的私钥、第一会议终端的公钥和第二会议终端的公钥生成第一数字水印R,由于第二会议终端无法获取到第一会议终端的私钥,故使用第一会议终端的公钥代替第一会议终端的私钥,即,第二会议终端根据会议的主秘钥、第一会议终端的公钥以及第二会议终端的公钥生成验证信息R’。然后,第二会议终端可以验证第一数字水印R与验证信息R’是否匹配,若匹配,则认为不存在中间人攻击行为,否则,认为存在中间人攻击行为。
当会议中的多个会议终端,除了包括第一会议终端、第二会议终端之外,还包括其他会议终端时,例如还包括第三会议终端时,那么第一会议终端还可以将上述第一媒体数据发送给第三会议终端,以使第三会议终端也能够根据第一数字水印检测是否存在中间人攻击。第三会议终端根据第一数字水印检测是否存在中间人攻击的方式,与第二会议终端根据第一数字水印检测是否存在中间人攻击类似,可参见上述第二会议终端的实现方式,此处不再赘述。
当会议中还包括第三会议终端时,在另一种可能的实现方式中,第一会议终端向第二会议终端、第三会议终端发送的媒体数据中可以嵌入不同的数字水印。例如,向第二会议终端发送的第一媒体数据中嵌入的第一数字水印,是根据主秘钥、第一会议终端的私钥、第一会议终端的公钥和第二会议终端的公钥生成的;向第三会议终端发送的第二媒体数据中嵌入的第二数字水印,可以是根据主秘钥、第一会议终端的私钥、第一会议终端的公钥和第三会议终端的公钥生成的。
在上述会议数据传输方法中,第一会议终端根据会议的安全数据生成第一数字水印,并将嵌入有第一数字水印的媒体数据发送给其他会议终端,使得其他会议终端在接收到媒体数据的同时,还能够获取第一数字水印,并根据第一数字水印判断是否存在中间人攻击。与传统的身份验证(仅在数据传输之前进行身份验证)相比,上述方法使得会议终端在数据传输过程中仍能够根据接收到的媒体数据进行安全性验证,能够进一步提高数据传输的安全性。此外,即使攻击者能够获取到部分用于生成数字水印的安全数据,但难以获取根据安全数据生成数字水印的算法,故攻击者难以对第一数字水印进行仿冒,从而难以进行不被发现的攻击行为。
在会议过程中,第一会议终端可以采用上述在媒体数据中嵌入数字水印的方式使得其他会议终端实现中间人攻击检测,其他会议终端也可以采用类似的方法,在发送给第一会议终端的媒体数据中嵌入数字水印,从而使得第一会议终端执行中间人检测。下面以图7为例进行说明本申请实施例提供的另一种会议数据传输的方法。如图7所示,除了上述步骤401至步骤403,该方法还可以包括以下步骤:
步骤404、第一会议终端接收第二会议终端发送的第三媒体数据。
在该步骤中,第一会议终端还未进行中间人攻击检测,因此,第一会议终端只是根据接收到的第三媒体数据中携带的发送端标识(例如发送端的ID,或者发送端在会议中的编号等),认为第三媒体数据是第二会议终端发送的。但第三媒体数据是第二会议终端发送的,还是攻击者发送的,需要第一会议终端根据下述步骤405至步骤407进行验证。
步骤405、第一会议终端从第三媒体数据中提取第三数字水印。
若接收到的第三媒体数据中嵌入有第三数字水印,则第一会议终端从第三媒体数据中提取第三数字水印,继续进行中间人攻击检测的流程,即,根据第三数字水印验证第三媒体数据是否为第二会议终端发送的。
若第一会议终端没有从第三媒体数据中提取到第三数字水印,则可以认为第三媒体数据不是第二会议终端生成的,确定存在中间人攻击的情况。
步骤406、第一会议终端基于安全数据生成与第二会议终端对应的第一验证信息。
第一会议终端生成第一验证信息的方式与第二会议终端的生成第三数字水印的方式类似。例如,若第二会议终端根据会议的主秘钥和/或管理者对应的会议终端的公钥生成第三数字水印,那么第一会议终端也根据会议的主秘钥和/或管理者对应的会议终端的公钥生成第一验证信息;若第二会议终端根据入会密码生成第三数字水印,那么第一会议终端也根据入会密码生成第一验证信息;若第二会议终端根据会议的主秘钥、第二会议终端的私钥、第一会议终端的公钥和第二会议终端的公钥生成第三数字水印,由于第一会议终端无法获取到第二会议终端的私钥,故使用第二会议终端的公钥代替第二会议终端的私钥,即,第一会议终端根据会议的主秘钥、第一会议终端的公钥以及第二会议终端的公钥生成第一验证信息。
第一会议终端执行上述步骤405和步骤406的顺序本申请实施例不做限定。第一会议终端可以在创建会议或加入会议时,就针对第二会议终端生成其对应的第一验证信息,以备后续使用;或者,第一会议终端也可以在接收到第二会议终端发送的第三媒体数据之后,再生成相应的第一验证信息。不过,第一会议终端针对第二会议终端,生成一次第一验证信息即可,可以不必在每次接收到第二会议终端发送的媒体数据时都执行生成第一验证信息的操作。但是,在用于生成第一验证信息的安全数据发生变化时,第一会议终端需要生成新的第一验证信息。例如,当安全数据包括第二会议终端的公钥,且公钥包括长期公钥和临时公钥时,第一会议终端生成的与第二会议终端对应的第一验证信息,在第二会议终端的临时公钥有效期内有效,若该第二会议终端的临时公钥被更新,那么第一会议终端则需更新对应的第一验证信息。又例如,当安全数据包括主秘钥时,当主秘钥被更新时,那么第一会议终端需要根据更新后的主秘钥更新第一验证信息。
在一些实施例中,第一会议终端生成的第一数字水印和第二会议终端生成的第三数字水印可能相同。例如,当第一会议终端仅根据会议的主秘钥和/或管理者对应的会议终端的公钥生成第一数字水印、第二会议终端也根据会议的主秘钥和/或管理者对应的会议终端的公钥生成第三数字水印时,那么第一数字水印和第三数字水印可以相同。在这种情况下,为了简化第一会议终端的操作,第一会议终端可以直接将生成的第一数字水印作为第一验证信息。
步骤407、第一会议终端根据第三数字水印和第一验证信息判断是否存在中间人攻击。
第一会议终端判断提取到的第三数字水印与生成的第一验证信息是否相匹配,若匹配,则认为不存在中间人攻击,否则,认为存在中间人攻击。
第一会议终端在判断提取到的第三数字水印与生成的第一验证信息是否相匹配时,可以直接将第三数字水印和第一验证信息进行匹配;或者,也可以对提取到的第三数字水印进行处理,将处理后的信息与第一验证信息进行匹配,例如,第三数字水印是第二会议终端采用自己的私钥进行签名后得到的,那么第一会议终端可以使用第二会议终端的公钥对第三数字水印进行验签,将验签后的数据与第一验证信息进行匹配。
例如,若第二会议终端生成的第三数字水印是根据主秘钥和管理者对应的会议终端的公钥生成的,那么第一会议终端根据主秘钥和管理者对应的会议终端的公钥生成第一验证信息;第一会议终端在接收到第二会议终端发送的第三媒体数据并从中提取出第三数字水印后,可以直接将第三数字水印和第一验证信息进行比较,判断是否相同。
又例如,在会议数据包括主秘钥、第一会议终端的公钥和第二会议终端的公钥的情况下,第二会议终端根据第一会议终端的公钥和第二会议终端的公钥生成公钥字符串allGroupPK,根据主秘钥、第一会议终端的标识和第二会议终端的标识生成派生秘钥OTP_OOB,使用第二会议终端的私钥对公钥字符串allGroupPK和派生秘钥OTP_OOB进行数字签名,得到了第三数字水印R。那么第一会议终端根据第一会议终端的公钥和第二会议终端的公钥生成公钥字符串allGroupPK’,根据主秘钥、第一会议终端的标识和第二会议终端的标识生成派生秘钥OTP_OOB’,并对公钥字符串allGroupPK’和OTP_OOB’进行哈希运算,得到哈希值Hash’,并将哈希值Hash’作为第一验证信息。第一会议终端在接收到第三媒体数据并提取出第三数字水印后,可以使用第二会议终端的公钥对提取到的第三数字水印R进行解密,得到哈希值Hash,然后将哈希值Hash与哈希值Hash’进行匹配,确定匹配结果。
再例如,第二会议终端根据主秘钥、第一会议终端的公钥和第二会议终端的公钥生成公钥字符串allGroupPK和派生秘钥OTP_OOB后,根据公钥字符串allGroupPK和派生秘钥OTP_OOB并基于HMAC算法生成第三数字水印;第一会议终端也根据主秘钥、第一会议终端的公钥和第二会议终端的公钥生成公钥字符串allGroupPK’和派生秘钥OTP_OOB’,并基于HMAC算法生成第一验证信息。第一会议终端在接收到第三媒体数据并提取出第三数字水印后,可以将第三数字水印和第一验证信息进行比较,判断是否相同。
应当理解,图4所示实施例以会议包括第一会议终端和第二会议终端为例,在实际应用中,若会议中还包括其他会议终端,那么第一会议终端还可能接收到其他会议终端发送的媒体数据,并提取嵌入其中的数字水印,第一会议终端也可以生成与其他会议终端对应的验证信息,并根据提取到的数字水印和生成的验证信息验证是否存在中间人攻击。
由于数字水印的长度可能较长,若在每个媒体帧中均嵌入完整的数字水印,并针对每个媒体帧进行数字水印提取,并与验证信息进行匹配,计算量可能较大,对会议终端的性能要求较高。在个人对个人(peer to peer,P2P)场景下,会议终端的性能还能够勉强支持对每个待发送的媒体帧嵌入数字水印、对接收到的每个媒体帧提取完整的数字水印并进行校验。但在群组多对多通信时,通信数据量非常大,会议终端的性能则难以支撑对每个待发送的媒体帧嵌入完整的数字水印、对接收到的每个媒体帧提取完整的数字水印并进行校验。
为了解决会议终端性能的问题,本申请实施例提供了一种解决方案:第一会议终端在将第一数字水印嵌入第一媒体数据时,可以将第一数字水印拆分成N个部分,N为大于1的整数,然后将拆分得到的N个部分嵌入第一媒体数据包含的N个媒体帧中。这样,每个媒体帧中嵌入的并非完整的第一数字水印,而是其中一部分;第二会议终端或其他会议终端在接收到第一媒体数据并提取第一数字水印时,可以对N个媒体帧分别进行提取,得到第一数字水印的N个部分,并采用与拆分方法对应的拼接方法得到完整的第一数字水印。例如,第一会议终端生成的第一数字水印为abcdefghij,可以将其拆分为ab、cd、ef、gh、ij,然后将ab、cd、ef、gh、ij分别嵌入至5个媒体帧中;第二会议终端可以从5个媒体帧中分别提取到ab、cd、ef、gh、ij,然后进行拼接得到abcdefghij。
在一种可能的实现方式中,假设第一数字水印的长度为length(R),而每个媒体帧中允许携带的数字水印传输容量为length(水印),那么N的取值可以通过下述公式确定:N=length(R)/length(水印),若length(R)/length(水印)非整数,可以对length(R)/length(水印)进行向上取整。
类似的,第二会议终端在将第三数字水印嵌入第三媒体数据时,也可以将第三数字水印拆分成M个部分,M为大于1的整数,可以与N相同,也可以不同,然后将拆分得到的M个部分分别嵌入第三媒体数据包含的M个媒体帧中。这样,每个媒体帧中嵌入的并非完整的第三数字水印,而是其中一部分;第一会议终端或其他会议终端在接收到第三媒体数据并提取第三数字水印时,可以对M个媒体帧分别进行提取,得到第三数字水印的M个部分,并采用与拆分方法对应的拼接方法得到完整的第三数字水印。
在本申请上述方案中,对数字水印进行拆分,使得拆分后的每个部分的长度较小,能够满足单个媒体帧对嵌入水印最大长度的要求,不会由于嵌入过长的数字水印使得音、视频在播放时产生异常。以第二会议终端对第一会议终端发送的媒体数据进行校验为例,第二会议终端从N个媒体帧中提取出完整的第一数字水印,那么根据完整的第一数字水印进行校验的过程,相当于对N个媒体帧均进行了校验,因为其中任一个媒体帧中嵌入的部分数字水印存在问题,第二会议终端得到的第一数字水印都不会是正确的第一数字水印。因此,与每个媒体帧中均嵌入完整数字水印的方案相比,上述方案能够降低会议终端的检测次数,降低对会议终端的性能需求,但并没有减少检测的媒体帧数量,在降低检测次数的同时保障了对媒体帧的连续性校验,有效提高数据传输的安全性,能够及时检测出中间人攻击的行为是否存在。
在一种可能的设计中,也可以对不在每个媒体帧中嵌入第一数字水印或部分第一数字水印,而是每X个媒体帧中对其中一个媒体帧嵌入完整的第一数字水印;那么第二会议终端每接收到X个媒体帧进行一次校验,也能够降低第二会议终端的校验次数,从而降低对会议终端的性能需求。例如,X=10,第一会议终端可以在第一个、第十一个、第二十一个、…媒体帧中嵌入第一数字水印,而第二个至第十个、第十二个至第二十个、第二十二个至第三十个、…媒体帧中不再嵌入第一数字水印。
此外,在会议进行过程中,参与的会议终端可能会发生变化,例如有新的会议终端加入,或者已加入的会议终端离开。为了保证数字水印的时效性,不使应当离开的会议的会议终端能够根据相同的数字水印继续获取、发送媒体数据,且不使后加入的会议终端能够根据相同的数字水印获取其未加入会议时产生的媒体数据,可以在参会的会议终端发生变化时,对数字水印进行更新。生成新的数字水印的方法不必发生变化,更新用于生成数字水印的安全数据,即可实现对数字水印的更新。
例如,若用于生成第一数字水印的安全数据中包括会议的主秘钥,在会议进行过程中第四会议终端加入,那么可以对该主秘钥进行更新,即,第一会议终端、第二会议终端、第四会议终端协商确定该会议新的主秘钥,第一会议终端根据新的主秘钥生成新的数字水印,例如,第四数字水印。第一会议终端生成第四数字水印后,发送给其他会议终端的媒体数据中,则可以嵌入有第四数字水印。
又例如,当会议进行过程中已加入的第五会议终端离开,那么第一会议终端、第二会议终端可以重新协商确定会议新的主秘钥。应理解,第五会议终端不再参与协商新的主秘钥的过程。第一会议终端根据新的主秘钥生成新的数字水印,例如,第五数字水印。第一会议终端生成第五数字水印后,发送给其他会议终端的媒体数据中,则可以嵌入有第五数字水印。
进一步的,当参与的会议终端发生变化,第一会议终端的数字水印随之进行更新,第二会议终端的数字水印也可以进行更新,那么第一会议终端生成的与第二会议终端对应的验证信息也需要相应进行更新,第二会议终端生成的与第一会议终端对应的验证信息也会更新。第一会议终端、第二会议终端生成数字水印的方式不必变化,根据更新后的安全数据生成新的数字水印即可;第一会议终端、第二会议终端生成验证信息的方式不必变化,根据更新后的安全数据生成新的验证信息即可。
当数字水印发生更新时,由于第一会议终端对第一数字水印进行更新、生成新的数字水印之后,无法确定第二会议终端以及其他会议终端是否能够同步更新与第一会议终端对应的验证信息,为了避免部分会议终端没有完成更新导致新的数字水印匹配失败的情况,第一会议终端可以在生成新的数字水印后,延迟使用新的数字水印。具体的,第一会议终端可以在生成新的数字水印后,仍使用旧的数字水印发送媒体数据,使用旧数字水印发送媒体数据达到预设数据量后,再使用新数字水印发送媒体数据。例如,可以预设延迟发送X个媒体帧,即第一会议终端可以在生成新的数字水印后,仍使用旧的数字水印发送X个媒体帧,而第X+1个媒体帧中则嵌入新的数字水印。又例如,当第一数字水印被拆分为N个部分分别嵌入N个媒体帧时,可以将N个媒体帧记为一个周期,那么可以预设延迟发送Y个周期,即第一会议终端可以在生成新的数字水印后,仍使用旧的数字水印发送Y个周期的媒体帧,而第Y+1个周期的媒体帧中则嵌入有新的数字水印。
相应的,第二会议终端在更新与第一会议终端对应的验证信息后,针对第一会议终端发送的预设数量的媒体数据,可以采用旧的验证信息和新的验证信息进行匹配。若采用新的验证信息匹配成功,则不论是否达到预设数量,此后均采用新的验证信息进行匹配;若采用旧的验证信息匹配成功,且仍在预设数量内,仍认为匹配结果为成功;但在超过预设数量后,则第二会议终端仅采用新的验证信息进行匹配。
类似的,第一会议终端在更新与第二会议终端对应的验证信息后,第一会议终端也可以针对第二会议终端发送的预设数量的媒体数据,采用旧的验证信息和新的验证信息进行匹配。若采用新的验证信息匹配成功,则不论是否达到预设数量,此后均采用新的验证信息进行匹配;若采用旧的验证信息匹配成功,且仍在预设数量内,仍认为匹配结果为成功;但在超过预设数量后,则第一会议终端仅采用新的验证信息进行匹配。
为了更加清楚理解本申请上述实施例,下面结合图8、图9进行举例说明。
在图8所示的会议数据传输场景中,会议包括第一会议终端、第二会议终端和第三会议终端。以第一会议终端、第二会议终端执行的步骤进行举例说明:
步骤801a、第一会议终端在视频会议系统的MCU进行注册,将第一会议终端的公钥材料(public key bundle)发送给MCU。
其中,可选地,第一会议终端的公钥材料可以包括长期公钥LongPKA和临时公钥epkA。
步骤801b、第二会议终端在视频会议系统的MCU进行注册,将会议终端B的公钥材料(public key bundle)发送给MCU。
其中,可选地,第二会议终端的公钥材料可以包括长期公钥LongPKB和临时公钥epkB。
步骤802a、第一会议终端创建会议,确定参会用户包括第一会议终端、第二会议终端、第三会议终端,第一会议终端从MCU处获取第二会议终端、第三会议终端的公钥材料。
步骤802b、第二会议终端确定加入会议,从MCU获取第一会议终端、第三会议终端的公钥材料。
步骤803、第一会议终端与第二会议终端、第三会议终端协商主秘钥mk。
步骤804a、第一会议终端生成数字水印A。
例如,第一会议终端生成公钥字符串allGroupPK=epkA||epkB||epkC||LongPKA||LongPKB||LongPKC||;然后生成派生秘钥OTP_OOB=KDF(mk,IDA||IDB||IDC||“OOB”),其中,mk表示主秘钥,IDA表示第一会议终端的标识,IDB表示第二会议终端的标识,IDC表示第三会议终端的标识,OOB表示带外参数;对OTP_OOB、allGroupPK进行哈希运算得到哈希值Hash,再根据第一会议终端的私钥对希值Hash进行加密,得到数字水印A。
步骤804b、第二会议终端生成验证信息A’。
例如,第二会议终端生成公钥字符串allGroupPK’=epkA||epkB||epkC||LongPKA||LongPKB||LongPKC||;然后生成派生秘钥OTP_OOB’=KDF(mk,IDA||IDB||IDC||“OOB”);对OTP_OOB’、allGroupPK’进行哈希运算得到哈希值Hash’,哈希值Hash’即为验证信息A’。
步骤805、第一会议终端将数字水印A拆分成5个部分(A1、A2、A3、A4、A5),分别嵌入5个媒体帧中并发送给第二会议终端、第三会议终端。
步骤806、第二会议终端从接收到的5个媒体帧中提取A1、A2、A3、A4、A5,并拼接得到数字水印A。
步骤807、第二会议终端将获得的数字水印A与生成的验证信息A’进行匹配。
例如,验证信息A’为哈希值Hash’时,第二会议终端可以使用第一会议终端的公钥对数字水印A进行验签得到哈希值Hash,然后对哈希值Hash与验证信息A’进行匹配。
若匹配成功,则可以认为不存在中间人攻击;若匹配失败,则认为该会议受到了中间人攻击。
类似的,第二会议终端还可以生成数字水印B,第一会议终端还可以生成验证信息B’;第二会议终端将数字水印B拆分成5个部分(B1、B2、B3、B4、B5),分别嵌入5个媒体帧中并发送给第一会议终端、第三会议终端;第一会议终端从接收到的5个媒体帧中提取B1、B2、B3、B4、B5,并拼接得到数字水印B,并将获得的数字水印B与生成的验证信息B’进行匹配,以检测是否存在中间人攻击。
在图所示的会议数据传输场景中,第一会议终端、第二会议终端、第三会议终端已经加入会议,在会议进行过程中,第四会议终端也加入了会议,此时,第一会议终端、第二会议终端、第三会议终端和第四会议终端可以按照图9所示的流程执行以下步骤:
步骤901a、第一会议终端、第二会议终端和第三会议终端获取第四会议终端的公钥资料。
步骤901b、第四会议终端获取第一会议终端、第二会议终端、第三会议终端的公钥资料。
步骤902、第一会议终端、第二会议终端、第三会议终端、第四会议终端协商新的主秘钥Nmk。
步骤903a、第一会议终端生成新的数字水印NA。
第一会议终端生成数字水印NA的方式与步骤804a中生成数字水印A的方式类似,区别在于生成allGroupPK时增加第四会议终端的公钥(长期公钥LongPKD、临时公钥epkD),生成OTP_OOB时增加第四会议终端的标识并将主秘钥mk替换为新的主秘钥Nmk。
步骤903b、第二会议终端生成新的验证信息NA’。
第二会议终端生成验证信息NA’的方式与步骤804b中生成验证信息A’的方式类似,区别在于生成allGroupPK’时增加第四会议终端的公钥(长期公钥LongPKD、临时公钥epkD),生成OTP_OOB’时增加第四会议终端的标识并将主秘钥mk替换为新的主秘钥Nmk。
步骤903c、第四会议终端生成验证信息NA’。
第四会议终端生成验证信息NA’的方式与第二会议终端生成验证信息NA’的方式类似,可以参考步骤903b的执行方式。
步骤904、第一会议终端将数字水印NA拆分成5个部分(NA1、NA2、NA3、NA4、NA5),分别嵌入5个媒体帧中并发送给第二会议终端、第三会议终端、第四会议终端。
步骤905a、第二会议终端从接收到的5个媒体帧中提取NA1、NA2、NA3、NA4、NA5,并拼接得到数字水印NA。
步骤905b、第四会议终端从接收到的5个媒体帧中提取NA1、NA2、NA3、NA4、NA5,并拼接得到数字水印NA。
步骤906a、第二会议终端将获得的数字水印NA与生成的验证信息NA’进行匹配。
步骤906b、第四会议终端将获得的数字水印NA与生成的验证信息NA’进行匹配。
若匹配成功,则可以认为不存在中间人攻击;若匹配失败,则认为该会议受到了中间人攻击。
类似的,第二会议终端也可以生成数字水印NB,第一会议终端、第三会议终端、第四会议终端也可以生成验证信息NB’;第二会议终端将数字水印NB拆分成5个部分(NB1、NB2、NB3、NB4、NB5),分别嵌入5个媒体帧中并发送给会议第一会议终端、第三会议终端、第四会议终端;第一会议终端、第三会议终端、第四会议终端从接收到的5个媒体帧中提取NB1、NB2、NB3、NB4、NB5,并拼接得到数字水印NB,并将获得的数字水印NB与生成的验证信息NB’进行匹配,以检测是否存在中间人攻击。第四会议终端还可以生成数字水印ND,第一会议终端、第二会议终端、第三会议终端还可以生成验证信息ND’;第四会议终端将数字水印ND拆分成5个部分(ND1、ND2、ND3、ND4、ND5),分别嵌入5个媒体帧中并发送给会议第一会议终端、第二会议终端、第三会议终端;第一会议终端、第二会议终端、第三会议终端从接收到的5个媒体帧中提取ND1、ND2、ND3、ND4、ND5,并拼接得到数字水印ND,并将获得的数字水印ND与生成的验证信息ND’进行匹配,以检测是否存在中间人攻击。
基于相同的技术构思,本申请实施例还提供一种会议数据传输装置,用于实现上述方法实施例中第一会议终端的功能。装置可以包括执行上述方法实施例中任意一种可能的实现方式的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
示例性的,该装置可以如图10所示,包括获取模块1001、生成模块1002和发送模块1003,进一步的,该装置还可以包括嵌入模块1004、提取模块1005、判断模块1006中的一个或多个。
其中,获取模块1001,用于获取所述会议的安全数据,所述会议的安全数据包括如下的一项或多项:所述会议的主秘钥,所述会议的入会密码,参与所述会议的多个会议装置中的至少一个会议装置的公钥和所述第一会议装置的私钥;其中,所述主秘钥是由所述多个会议装置协商确定的,所述多个会议装置包括所述第一会议装置和第二会议装置。
生成模块1002,用于基于所述安全数据生成第一数字水印。
发送模块1003,用于向所述第二会议装置发送第一媒体数据,所述第一媒体数据中嵌入有所述第一数字水印,以使所述第二会议装置根据所述第一数字水印判断是否存在中间人攻击。
在一种可能的实现方式中,所述第一媒体数据包含N个媒体帧,所述装置还包括嵌入模块1004,用于:将所述第一数字水印拆分成N个部分;将所述第一数字水印的N个部分分别嵌入所述N个媒体帧中;其中,所述N为大于1的整数。
在一种可能的实现方式中,所述多个会议装置还包括第三会议装置,所述发送模块1003还用于:向所述第三会议装置发送所述第一媒体数据,以使所述第三会议装置根据所述第一数字水印判断是否存在中间人攻击。
在一种可能的实现方式中,所述安全数据包括所述主秘钥、所述第一会议装置的私钥、所述多个会议装置中每个会议装置的公钥;所述生成模块1002具体用于:根据所述主秘钥、所述第一会议装置的私钥、所述第一会议装置的公钥和所述第二会议装置的公钥生成所述第一数字水印。
在一种可能的实现方式中,所述多个会议装置还包括第三会议装置;所述生成模块1002还用于:根据所述主秘钥、所述第一会议装置的私钥、所述第一会议装置的公钥和所述第三会议装置的公钥生成第二数字水印;所述发送模块1003还用于:向所述第三会议装置发送第二媒体数据,所述第二媒体数据中嵌入有所述第二数字水印,以使所述第三会议装置根据所述第三数字水印判断是否存在中间人攻击。
在一种可能的实现方式中,所述生成模块1002具体用于:根据所述第一会议装置的公钥和所述第二会议装置的公钥生成公钥字符串;根据所述主秘钥、所述第一会议装置的标识和所述第二会议装置的标识生成派生秘钥;采用所述第一会议装置的私钥对所述公钥字符串和所述派生秘钥进行数字签名,得到所述第一数字水印。
在一种可能的实现方式中,所述获取模块1001还用于:获取所述第二会议装置发送的第三媒体数据;所述装置还包括提取模块1005,用于从所述第三媒体数据中提取第三数字水印;所述生成模块1002还用于:基于所述安全数据生成第一验证信息;所述装置还包括判断模块1006,用于根据所述第三数字水印和所述第一验证信息的匹配结果判断是否存在中间人攻击。
在一种可能的实现方式中,所述安全数据包括所述主秘钥、所述第一会议装置的私钥、所述第二会议装置的公钥;所述生成模块1002,在基于所述安全数据生成第一验证信息时,具体用于:基于所述主秘钥、所述第一会议装置的公钥和所述第二会议装置的公钥生成与所述第二会议装置对应的第一验证信息。
在一种可能的实现方式中,所述第三数字水印是经所述第二会议装置的私钥进行数字签名后的数据;所述判断模块1006具体用于:采用所述第二会议装置的公钥对所述第三数字水印进行解密,将所述解密得到的数据与所述第一验证信息进行匹配,若匹配失败,确定存在中间人攻击。
在一种可能的实现方式中,所述第三媒体数据包含M个媒体帧,所述提取模块1005具体用于:从所述M个媒体帧中提取得到所述第三数字水印的M个部分;根据提取到的所述第三数字水印的M个部分得到所述第三数字水印。
在一种可能的实现方式中,所述安全数据包括所述主秘钥;所述生成模块1002还用于:在第四会议装置加入所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第四数字水印;其中,协商得到所述更新后的所述主秘钥的多个会议装置包括所述第一会议装置、所述第二会议装置和所述第四会议装置;所述发送模块1003还用于:向所述第二会议装置发送第四媒体数据,所述第四媒体数据中嵌入有所述第四数字水印,以使所述第二会议装置根据所述第四数字水印判断是否存在中间人攻击。
在一种可能的实现方式中,所述会议的安全数据包括所述主秘钥,所述多个会议装置还包括第五会议装置;所述生成模块1002还用于:在所述第五会议装置离开所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第五数字水印;其中,协商得到所述更新后的所述主秘钥的多个会议装置不包括所述第五会议装置;所述发送模块1003还用于:向所述第二会议装置发送第五媒体数据,所述第五媒体数据中嵌入有所述第五数字水印,以使所述第二会议装置根据所述第五数字水印判断是否存在中间人攻击。
基于相同的技术构思,本申请实施例还提供一种会议数据传输装置,用于实现上述方法实施例中第二会议终端的功能。装置可以包括执行上述方法实施例中任意一种可能的实现方式的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
示例性的,该装置可以如图11所示,包括:接收模块1101、提取模块1102、生成模块1103和判断模块1104。
具体的,接收模块1101,用于接收第一会议终端发送的第一媒体数据,所述第一媒体数据中嵌入有第一数字水印。提取模块1102,用于从所述第一媒体数据中提取所述第一数字水印。生成模块1103,用于基于会议的安全数据生成第一验证信息,所述会议的安全数据包括如下的一项或多项:所述会议的主秘钥,所述会议的入会密码,参与所述会议的多个会议终端中的至少一个会议终端的公钥;其中,所述主秘钥是由所述多个会议终端协商确定的,所述多个会议终端包括所述第一会议终端和第二会议终端。判断模块1104,用于根据所述第一数字水印和所述第一验证信息的匹配结果判定是否存在中间人攻击。
在一种可能的实现方式中,所述第一媒体数据包含N个媒体帧,所述提取模块1102具体用于:从所述N个媒体帧中提取得到所述第一数字水印的N个部分;根据提取到的所述第一数字水印的N个部分得到所述第一数字水印。
在一种可能的实现方式中,所述安全数据包括所述主秘钥、所述第一会议终端的公钥和所述第二会议终端的公钥,且所述第一数字水印是根据所述安全数据生成的;所述生成模块1103具体用于:根据所述主秘钥、所述第一会议终端的公钥和所述第二会议终端的公钥生成所述第一验证信息。
在一种可能的实现方式中,所述第一数字水印是采用所述第一会议终端的私钥对公钥字符串和派生秘钥进行数字签名得到的,所述公钥字符串是根据所述第一会议终端的公钥和所述第二会议终端的公钥生成的,所述派生秘钥是根据所述主秘钥、所述第一会议终端的标识和所述第二会议终端的标识生成的。所述生成模块1103具体用于:根据所述第一会议终端的公钥和所述第二会议终端的公钥生成公钥字符串,所述第二会议终端根据所述主秘钥、所述第一会议终端的标识和所述第二会议终端的标识生成派生秘钥,所述第二会议终端对所述公钥字符串和所述派生秘钥进行哈希运算,得到所述第一验证信息。所述判断模块1104具体用于:根据所述第一会议终端的公钥对所述第一数字水印进行解密,将所述解密得到的数据与所述第一验证信息进行匹配,若匹配失败,确定存在中间人攻击。
在一种可能的实现方式中,所述安全数据包括所述主秘钥。所述生成模块1103还用于:在第三会议终端加入所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第二验证信息,其中,协商得到所述更新后的所述主秘钥的多个会议终端包括所述第一会议终端、所述第二会议终端和所述第三会议终端。所述接收模块1101还用于:接收所述第一会议终端发送的第二媒体数据,所述第二媒体数据中嵌入有第二数字水印。所述提取模块1102还用于:从所述第二媒体数据中提取所述第二数字水印。所述判断模块1104还用于:根据所述第二数字水印和所述第二验证信息的匹配结果判定是否存在中间人攻击。
在一种可能的实现方式中,所述会议的安全数据包括所述主秘钥,所述多个会议终端还包括第四会议终端,所述生成模块1103还用于:在所述第四会议终端离开所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第三验证信息,其中,协商得到所述更新后的所述主秘钥的多个会议终端不包括所述第四会议终端。所述接收模块1101还用于接收所述第一会议终端发送的第三媒体数据,所述第三媒体数据中嵌入有第三数字水印。所述提取模块1102还用于:从所述第三媒体数据中提取所述第三数字水印。所述判断模块1104还用于:根据所述第三数字水印和所述第三验证信息的匹配结果判定是否存在中间人攻击。
基于相同的技术构思,本申请实施例还提供一种计算机设备,用于实现上述方法实施例中控制节点的功能。该计算机设备包括如图12所示的处理器1201,以及与处理器1201连接的存储器1202。进一步的,该计算机设备还可以包括通信接口1203以及通信总线1204。
处理器1201可以是通用处理器,微处理器,特定集成电路(application specificintegrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件,分立门或者晶体管逻辑器件,或一个或多个用于控制本申请方案程序执行的集成电路等。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1202,用于存储程序指令和/或数据,以使处理器1201调用存储器1202中存储的指令和/或数据,实现处理器1201的上述功能。存储器1202可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1202可以是独立存在,例如片外存储器,通过通信总线1204与处理器1201相连接。存储器1202也可以和处理器1201集成在一起。存储1202可以包括内存储器和外存储器(如硬盘等)。
通信接口1203,用于与其他设备通信,如PCI总线接口、网卡,无线接入网(radioaccess network,RAN),无线局域网(wireless local area networks,WLAN)等。
通信总线1204可包括一通路,用于在上述组件之间传送信息。
示例性的,该计算机设备可以为上述方法实施例中的第一会议终端,也可以为上述方法实施例中的第二会议终端。
当该计算机设备为上述方法实施例中的第一会议终端时,所述处理器1201用于调用所述存储器1202中存储的计算机程序,通过通信接口1203执行以下步骤:获取所述会议的安全数据,所述会议的安全数据包括如下的一项或多项:所述会议的主秘钥,所述会议的入会密码,参与所述会议的多个会议终端中的至少一个会议终端的公钥和所述第一会议终端的私钥;其中,所述主秘钥是由所述多个会议终端协商确定的,所述多个会议终端包括所述第一会议终端和第二会议终端;基于所述安全数据生成第一数字水印;向所述第二会议终端发送第一媒体数据,所述第一媒体数据中嵌入有所述第一数字水印,以使所述第二会议终端根据所述第一数字水印判断是否存在中间人攻击。
此外,上述各个部件还可以用于支持第一会议终端所执行的其它过程。有益效果可参考前面的描述,此处不再赘述。
当该计算机设备为上述方法实施例中的第二会议终端时,所述处理器1201用于调用所述存储器1202中存储的计算机程序,通过通信接口1203执行以下步骤:接收第一会议终端发送的第一媒体数据,所述第一媒体数据中嵌入有第一数字水印;从所述第一媒体数据中提取所述第一数字水印;基于会议的安全数据生成第一验证信息,所述会议的安全数据包括如下的一项或多项:所述会议的主秘钥,所述会议的入会密码,参与所述会议的多个会议终端中的至少一个会议终端的公钥;其中,所述主秘钥是由所述多个会议终端协商确定的,所述多个会议终端包括所述第一会议终端和第二会议终端;根据所述第一数字水印和所述第一验证信息的匹配结果判定是否存在中间人攻击。
此外,上述各个部件还可以用于支持第二会议终端所执行的其它过程。有益效果可参考前面的描述,此处不再赘述。
基于相同的技术构思,本申请实施例提供一种会议数据传输系统,所述系统至少包括如图10所示的第一会议数据传输装置和如图11所示第二会议数据传输装置,或者,至少包括如图12所示的作为第一会议终端的计算机设备和如图12所示的作为第二会议终端的计算机设备。
在一种可能的实现方式中,所述系统还包括会议服务器,用于接收所述第一会议数据传输装置/第一计算机设备发送的第一媒体数据,将所述第一媒体数据发送至第二会议数据传输装置/第二计算机设备。
基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,当所述计算机可读指令在计算机上运行时,使得上述方法实施例被执行。
基于相同的技术构思,本申请实施例提供还一种包含指令的计算机程序产品,当其在计算机上运行时,使得上述方法实施例被执行。
需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (28)

1.一种会议数据传输方法,其特征在于,应用于参与会议的第一会议终端,所述方法包括:
获取所述会议的安全数据,所述会议的安全数据包括如下的一项或多项:所述会议的主秘钥,所述会议的入会密码,参与所述会议的多个会议终端中的至少一个会议终端的公钥和所述第一会议终端的私钥;其中,所述主秘钥是由所述多个会议终端协商确定的,所述多个会议终端包括所述第一会议终端和第二会议终端;
基于所述安全数据生成第一数字水印;
向所述第二会议终端发送第一媒体数据,所述第一媒体数据中嵌入有所述第一数字水印,以使所述第二会议终端根据所述第一数字水印判断是否存在中间人攻击。
2.根据权利要求1所述的方法,其特征在于,所述第一媒体数据包含N个媒体帧,所述方法还包括:
将所述第一数字水印拆分成N个部分;
将所述第一数字水印的N个部分分别嵌入所述N个媒体帧中;其中,所述N为大于1的整数。
3.根据权利要求1或2所述的方法,其特征在于,所述多个会议终端还包括第三会议终端,所述方法还包括:
向所述第三会议终端发送所述第一媒体数据,以使所述第三会议终端根据所述第一数字水印判断是否存在中间人攻击。
4.根据权利要求1或2所述的方法,其特征在于,所述安全数据包括所述主秘钥、所述第一会议终端的私钥、所述多个会议终端中每个会议终端的公钥;
所述基于所述安全数据生成第一数字水印,包括:
根据所述主秘钥、所述第一会议终端的私钥、所述第一会议终端的公钥和所述第二会议终端的公钥生成所述第一数字水印。
5.根据权利要求4所述的方法,其特征在于,所述多个会议终端还包括第三会议终端,所述方法还包括:
根据所述主秘钥、所述第一会议终端的私钥、所述第一会议终端的公钥和所述第三会议终端的公钥生成第二数字水印;
向所述第三会议终端发送第二媒体数据,所述第二媒体数据中嵌入有所述第二数字水印,以使所述第三会议终端根据所述第三数字水印判断是否存在中间人攻击。
6.根据权利要求4或5所述的方法,其特征在于,所述根据所述主秘钥、所述第一会议终端的私钥、所述第一会议终端的公钥和所述第二会议终端的公钥生成第一数字水印,包括:
根据所述第一会议终端的公钥和所述第二会议终端的公钥生成公钥字符串;
根据所述主秘钥、所述第一会议终端的标识和所述第二会议终端的标识生成派生秘钥;
采用所述第一会议终端的私钥对所述公钥字符串和所述派生秘钥进行数字签名,得到所述第一数字水印。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
接收所述第二会议终端发送的第三媒体数据;
从所述第三媒体数据中提取第三数字水印;
基于所述安全数据生成第一验证信息;
根据所述第三数字水印和所述第一验证信息的匹配结果判断是否存在中间人攻击。
8.根据权利要求7所述的方法,其特征在于,所述安全数据包括所述主秘钥、所述第一会议终端的私钥、所述第二会议终端的公钥;
所述基于所述安全数据生成第一验证信息,包括:
基于所述主秘钥、所述第一会议终端的公钥和所述第二会议终端的公钥生成与所述第二会议终端对应的第一验证信息。
9.根据权利要求8所述的方法,其特征在于,所述第三数字水印是经所述第二会议终端的私钥进行数字签名后的数据;
所述根据所述第三数字水印和所述第一验证信息的匹配结果判断是否存在中间人攻击,包括:
采用所述第二会议终端的公钥对所述第三数字水印进行解密,将所述解密得到的数据与所述第一验证信息进行匹配,若匹配失败,确定存在中间人攻击。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述第三媒体数据包含M个媒体帧,所述从所述第三媒体数据中提取第三数字水印,包括:
从所述M个媒体帧中提取得到所述第三数字水印的M个部分;
根据提取到的所述第三数字水印的M个部分得到所述第三数字水印。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述安全数据包括所述主秘钥;
在基于所述安全数据生成第一数字水印之后,所述方法还包括:
在第四会议终端加入所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第四数字水印;其中,协商得到所述更新后的所述主秘钥的多个会议终端包括所述第一会议终端、所述第二会议终端和所述第四会议终端;
向所述第二会议终端发送第四媒体数据,所述第四媒体数据中嵌入有所述第四数字水印,以使所述第二会议终端根据所述第四数字水印判断是否存在中间人攻击。
12.根据权利要求1-10任一项所述的方法,其特征在于,所述会议的安全数据包括所述主秘钥,所述多个会议终端还包括第五会议终端,所述方法还包括:
在所述第五会议终端离开所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第五数字水印;其中,协商得到所述更新后的所述主秘钥的多个会议终端不包括所述第五会议终端;
向所述第二会议终端发送第五媒体数据,所述第五媒体数据中嵌入有所述第五数字水印,以使所述第二会议终端根据所述第五数字水印判断是否存在中间人攻击。
13.一种会议数据传输装置,其特征在于,所述装置为参与会议的第一会议装置,所述装置包括:
获取模块,用于获取所述会议的安全数据,所述会议的安全数据包括如下的一项或多项:所述会议的主秘钥,所述会议的入会密码,参与所述会议的多个会议装置中的至少一个会议装置的公钥和所述第一会议装置的私钥;其中,所述主秘钥是由所述多个会议装置协商确定的,所述多个会议装置包括所述第一会议装置和第二会议装置;
生成模块,用于基于所述安全数据生成第一数字水印;
发送模块,用于向所述第二会议装置发送第一媒体数据,所述第一媒体数据中嵌入有所述第一数字水印,以使所述第二会议装置根据所述第一数字水印判断是否存在中间人攻击。
14.根据权利要求13所述的装置,其特征在于,所述第一媒体数据包含N个媒体帧,所述装置还包括嵌入模块,用于:
将所述第一数字水印拆分成N个部分;
将所述第一数字水印的N个部分分别嵌入所述N个媒体帧中;其中,所述N为大于1的整数。
15.根据权利要求13或14所述的装置,其特征在于,所述多个会议装置还包括第三会议装置,所述发送模块还用于:
向所述第三会议装置发送所述第一媒体数据,以使所述第三会议装置根据所述第一数字水印判断是否存在中间人攻击。
16.根据权利要求13或14所述的装置,其特征在于,所述安全数据包括所述主秘钥、所述第一会议装置的私钥、所述多个会议装置中每个会议装置的公钥;
所述生成模块具体用于:
根据所述主秘钥、所述第一会议装置的私钥、所述第一会议装置的公钥和所述第二会议装置的公钥生成所述第一数字水印。
17.根据权利要求16所述的装置,其特征在于,所述多个会议装置还包括第三会议装置;
所述生成模块还用于:根据所述主秘钥、所述第一会议装置的私钥、所述第一会议装置的公钥和所述第三会议装置的公钥生成第二数字水印;
所述发送模块还用于:向所述第三会议装置发送第二媒体数据,所述第二媒体数据中嵌入有所述第二数字水印,以使所述第三会议装置根据所述第三数字水印判断是否存在中间人攻击。
18.根据权利要求16或17所述的装置,其特征在于,所述生成模块具体用于:
根据所述第一会议装置的公钥和所述第二会议装置的公钥生成公钥字符串;
根据所述主秘钥、所述第一会议装置的标识和所述第二会议装置的标识生成派生秘钥;
采用所述第一会议装置的私钥对所述公钥字符串和所述派生秘钥进行数字签名,得到所述第一数字水印。
19.根据权利要求13-18任一项所述的装置,其特征在于,所述获取模块还用于:获取所述第二会议装置发送的第三媒体数据;
所述装置还包括提取模块,用于从所述第三媒体数据中提取第三数字水印;
所述生成模块还用于:基于所述安全数据生成第一验证信息;
所述装置还包括判断模块,用于根据所述第三数字水印和所述第一验证信息的匹配结果判断是否存在中间人攻击。
20.根据权利要求19所述的装置,其特征在于,所述安全数据包括所述主秘钥、所述第一会议装置的私钥、所述第二会议装置的公钥;
所述生成模块,在基于所述安全数据生成第一验证信息时,具体用于:
基于所述主秘钥、所述第一会议装置的公钥和所述第二会议装置的公钥生成与所述第二会议装置对应的第一验证信息。
21.根据权利要求20所述的装置,其特征在于,所述第三数字水印是经所述第二会议装置的私钥进行数字签名后的数据;
所述判断模块具体用于:
采用所述第二会议装置的公钥对所述第三数字水印进行解密,将所述解密得到的数据与所述第一验证信息进行匹配,若匹配失败,确定存在中间人攻击。
22.根据权利要求19-21任一项所述的装置,其特征在于,所述第三媒体数据包含M个媒体帧,所述提取模块具体用于:
从所述M个媒体帧中提取得到所述第三数字水印的M个部分;
根据提取到的所述第三数字水印的M个部分得到所述第三数字水印。
23.根据权利要求13-22任一项所述的装置,其特征在于,所述安全数据包括所述主秘钥;
所述生成模块还用于:在第四会议装置加入所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第四数字水印;其中,协商得到所述更新后的所述主秘钥的多个会议装置包括所述第一会议装置、所述第二会议装置和所述第四会议装置;
所述发送模块还用于:向所述第二会议装置发送第四媒体数据,所述第四媒体数据中嵌入有所述第四数字水印,以使所述第二会议装置根据所述第四数字水印判断是否存在中间人攻击。
24.根据权利要求13-22任一项所述的装置,其特征在于,所述会议的安全数据包括所述主秘钥,所述多个会议装置还包括第五会议装置;
所述生成模块还用于:在所述第五会议装置离开所述会议的情况下,更新所述主秘钥,基于更新后的所述主秘钥生成第五数字水印;其中,协商得到所述更新后的所述主秘钥的多个会议装置不包括所述第五会议装置;
所述发送模块还用于:向所述第二会议装置发送第五媒体数据,所述第五媒体数据中嵌入有所述第五数字水印,以使所述第二会议装置根据所述第五数字水印判断是否存在中间人攻击。
25.一种会议数据传输系统,其特征在于,所述系统至少包括如权利要求13-24任一项所述的第一会议装置和第二会议装置;
所述第二会议装置,用于接收所述第一会议装置发送的第一媒体数据,所述第一媒体数据中嵌入有第一数字水印;从所述第一媒体数据中提取所述第一数字水印;基于会议的安全数据生成第一验证信息,所述会议的安全数据包括如下的一项或多项:所述会议的主秘钥,所述会议的入会密码,参与所述会议的多个会议装置中的至少一个会议装置的公钥;其中,所述主秘钥是由所述多个会议装置协商确定的,所述多个会议装置包括所述第一会议装置和第二会议装置;根据所述第一数字水印和所述第一验证信息的匹配结果判定是否存在中间人攻击。
26.根据权利要求25所述的系统,其特征在于,所述系统还包括会议服务器,用于接收所述第一会议装置发送的第一媒体数据,将所述第一媒体数据发送至所述第二会议装置。
27.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器存储有计算机程序;
所述处理器用于调用所述存储器中存储的计算机程序,以执行权利要求1-12任一项所述的方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-12任一项所述的方法。
CN202210981404.8A 2022-06-07 2022-08-16 一种会议数据传输方法、装置及设备 Pending CN117240489A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2023/082404 WO2023236617A1 (zh) 2022-06-07 2023-03-20 一种会议数据传输方法、装置及设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2022106369423 2022-06-07
CN202210636942 2022-06-07

Publications (1)

Publication Number Publication Date
CN117240489A true CN117240489A (zh) 2023-12-15

Family

ID=89084980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210981404.8A Pending CN117240489A (zh) 2022-06-07 2022-08-16 一种会议数据传输方法、装置及设备

Country Status (2)

Country Link
CN (1) CN117240489A (zh)
WO (1) WO2023236617A1 (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4731000B2 (ja) * 1999-08-20 2011-07-20 パナソニック株式会社 データ再生装置、及びデータ再生方法
US7017045B1 (en) * 2000-08-22 2006-03-21 Koninklijke Philips Electronics N.V. Multimedia watermarking system and method
CN101299667A (zh) * 2008-06-05 2008-11-05 华为技术有限公司 一种认证方法、系统、客户端设备和服务器
JP5031793B2 (ja) * 2009-05-15 2012-09-26 株式会社日立製作所 改ざん検出システム、透かし情報埋込装置、改ざん検出装置、透かし情報埋込方法、および改ざん検出方法
US8850203B2 (en) * 2009-08-28 2014-09-30 Alcatel Lucent Secure key management in multimedia communication system
US9866383B2 (en) * 2015-10-28 2018-01-09 Cisco Technology, Inc. Key management for privacy-ensured conferencing
US10129229B1 (en) * 2016-08-15 2018-11-13 Wickr Inc. Peer validation
CN109994115B (zh) * 2018-01-03 2023-07-07 阿里巴巴集团控股有限公司 通讯方法及装置、数据处理方法及设备

Also Published As

Publication number Publication date
WO2023236617A1 (zh) 2023-12-14

Similar Documents

Publication Publication Date Title
CN111949953B (zh) 基于区块链的身份认证方法、系统、装置和计算机设备
US8214649B2 (en) System and method for secure communications between at least one user device and a network entity
CN109728909A (zh) 基于USBKey的身份认证方法和系统
CN110933484A (zh) 一种无线投屏设备的管理方法及装置
EP2278513A1 (en) Method for preventing the use of a cloned user unit communicating with a server
CN111683090A (zh) 一种基于分布式存储的区块链数字签名方法及装置
US8085937B1 (en) System and method for securing calls between endpoints
CN111130798A (zh) 一种请求鉴权方法及相关设备
CN113824570A (zh) 一种基于区块链的安全终端的认证方法和系统
CN114553441B (zh) 一种电子合同签署方法及系统
CN113613241A (zh) 基于区块链的无线网络节点数据处理方法及装置
WO2022265945A1 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
US20240064143A1 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
CN114520726A (zh) 基于区块链数据的处理方法和装置、处理器及电子设备
CN115955320B (zh) 一种视频会议身份认证方法
CN110139163B (zh) 一种获取弹幕的方法和相关装置
CN114928503B (zh) 一种安全通道的实现方法及数据传输方法
CN107979596B (zh) 一种直播中防止刷人气行为的方法及系统
CN114095229B (zh) 能源互联网的数据传输协议构建方法、装置和系统
US11658955B1 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
CN112769783B (zh) 数据传输方法及云服务器、接收端和发送端
CN112235320B (zh) 一种基于密码的视联网组播通信方法及装置
WO2023236617A1 (zh) 一种会议数据传输方法、装置及设备
CN113014534A (zh) 一种用户登录与认证的方法及装置
US11843636B1 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system

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