CN108028840A - 实现建立安全的对等连接 - Google Patents

实现建立安全的对等连接 Download PDF

Info

Publication number
CN108028840A
CN108028840A CN201680053754.0A CN201680053754A CN108028840A CN 108028840 A CN108028840 A CN 108028840A CN 201680053754 A CN201680053754 A CN 201680053754A CN 108028840 A CN108028840 A CN 108028840A
Authority
CN
China
Prior art keywords
fingerprint
reciprocity end
certificate
peer
instruction
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
Application number
CN201680053754.0A
Other languages
English (en)
Other versions
CN108028840B (zh
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN108028840A publication Critical patent/CN108028840A/zh
Application granted granted Critical
Publication of CN108028840B publication Critical patent/CN108028840B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)

Abstract

提出了一种用于服务器的方法,用于实现在第一对等端和第二对等端之间建立安全的对等连接。该方法包括以下步骤:从第一对等端接收针对web应用的请求;向第一对等端发送命令以请求第一对等端的证书的指纹;从第一对等端接收第一指纹;以及向第二对等端发送第一指纹。

Description

实现建立安全的对等连接
技术领域
本发明涉及用于实现建立安全对等连接的方法、服务器、对等设备、计算机程序和计算机程序产品。
背景技术
WebRTC(Web实时通信)RTC对等连接(RTCPeerConnection)是能够双向传输诸如音频和视频之类的实时媒体以及传输数据对象的对等连接。这些RTC对等连接是通过交换某些配置信息来建立的。在Web浏览器中,有一个定义的JavaScript API(应用编程接口)来触发RTC对等连接的建立,并消耗和提供必要的配置信息。然后通过例如使用HTTP(超文本传输协议)、WebSocket等查找和连接服务(通常建立在集中式服务器上)来交换该配置信息,以经由服务器在对等端之间传输必要的信令信息。
Java脚本(JS)是在Web浏览器沙箱中执行的代码,即仅在Web浏览器中执行的代码,一般不能访问底层操作系统。但是,尽管存在各种安全机制,但在访问特定Web服务时,将代码注入到特定用户在浏览器中运行的JS代码存在很大风险。这种风险是中间人注入、跨站点脚本(XSS)或不佳混搭(mash-up),导致恶意Java脚本可能被执行。
发明内容
实施例的一个目的在于防止中间人作为对等端插入对等连接(诸如RTC对等连接)的攻击。这种攻击是通过使用已注入本地浏览器(用户代理)上下文的客户端代码执行的信令消息的操纵来完成的。
根据第一方案,提出了一种用于服务器的方法,用于实现在第一对等端和第二对等端之间建立安全的对等连接。所述方法包括以下步骤:从第一对等端接收针对web应用的请求;向第一对等端发送命令以请求第一对等端的证书的指纹;从第一对等端接收第一指纹;以及向第二对等端发送第一指纹。
所述方法还可以包括以下步骤:从所述第二对等端接收针对web应用的请求;向所述第二对等端发送指令以请求所述第二对等端的证书的指纹;从所述第二对等端接收第二指纹;以及向所述第一对等端发送所述第二指纹。
向所述第一对等端发送命令的步骤可以包括:发送命令以指示所述第一对等端为与所述web应用相关联的任意对等连接所使用的每个证书提交哈希值;在这种情况下,接收第一指纹数据的步骤包括:接收在所述web应用的上下文中使用的每个证书的相应哈希值。
当被执行时,向所述第二对等端发送命令的步骤可以包括:发送命令以指示所述第二对等端为与所述web应用相关联的任意对等连接所使用的每个证书提交哈希值;在这种情况下,当被执行时,接收第二指纹数据的步骤包括:接收在所述web应用的上下文中使用的每个证书的相应哈希值。
“当被执行时”一词应被解释为当所涉及的(可选)的步骤被执行时,还存在其他适用的主题。
向所述第一对等端发送命令的步骤可以包括发送内容安全策略CSP命令;在这种情况下,接收第一指纹数据的步骤可以包括:接收包括在所述web应用的上下文中使用的每个证书的相应指纹在内的CSP命令。
当被执行时,向所述第二对等端发送命令的步骤可以包括发送CSP命令;在这种情况下,当被执行时,接收第二指纹数据的步骤可以包括:接收包括在所述web应用的上下文中使用的每个证书的相应指纹在内的CSP命令。
所述方法还可以包括以下步骤:从所述第一对等端接收配置信息,所述配置信息包括所述第二对等端的标识符。
所述方法还可以包括以下步骤:通过参照所述第一指纹数据检查配置消息来检查配置消息的发送方的有效性。
所述方法还可以包括以下步骤:分别向所述第一对等端和所述第二对等端发送两个统一资源标识符URI以接收指纹数据;在这种情况下,向所述第二对等端发送所述第一指纹的步骤包括:使用所述URI中的一个URI,在对请求的响应中发送所述第一指纹;以及向所述第一对等端发送所述第二指纹的步骤包括:使用所述URI中的一个URI,在对请求的响应中发送所述第二指纹。
安全对等连接可以是数据报传输层安全DTLS连接,并且每个证书是DTLS证书。
根据第二方案,提出了一种用于实现在第一对等端和第二对等端之间建立安全对等连接的服务器。所述服务器包括:处理器;以及存储器,包括能够由所述处理器执行以进行以下操作的指令:从第一对等端接收针对web应用的请求;向第一对等端发送指令以请求所述第一对等端的证书的指纹;从第一对等端接收第一指纹;以及向所述第二对等端发送所述第一指纹。
所述服务器还可以包括能够由所述处理器执行以进行以下操作的指令:从所述第二对等端接收针对web应用的请求;向所述第二对等端发送指令以请求所述第二对等端的证书的指纹;以及从所述第二对等端接收第二指纹;以及向所述第一对等端发送所述第二指纹。
用于向所述第一对等端发送命令的指令可以包括能够由所述处理器执行以进行以下操作的指令:发送命令以指示所述第一对等端为与所述web应用相关联的任意对等连接所使用的每个证书提交哈希值;在这种情况下,用于接收第一指纹数据的指令包括能够由所述处理器执行以进行以下操作的指令:接收在所述web应用的上下文中使用的每个证书的相应哈希值。
当被执行时,用于向所述第二对等端发送命令的指令可以包括能够由所述处理器执行以进行以下操作的指令:发送命令以指示所述第二对等端为与所述web应用相关联的任意对等连接所使用的每个证书提交哈希值;在这种情况下,当被执行时,用于接收第二指纹数据的指令包括能够由所述处理器执行以进行以下操作的指令:接收在所述web应用的上下文中使用的每个证书的相应哈希值。
向所述第一对等端发送命令的指令可以包括能够由所述处理器执行以进行以下操作的指令:发送内容安全策略CSP命令;在这种情况下,用于接收第一指纹数据的指令包括能够由所述处理器执行以进行以下操作的指令:接收包括在所述web应用的上下文中使用的每个证书的相应指纹在内的CSP命令。
当被执行时,用于向所述第二对等端发送命令的指令可以包括能够由所述处理器执行以进行如下操作的指令:发送CSP命令;在这种情况下,用于接收第二指纹数据的指令包括能够由所述处理器执行以进行以下操作的指令:接收包括在所述web应用的上下文中使用的每个证书的相应指纹在内的CSP命令。
所述服务器还可以包括能够由所述处理器执行以进行以下操作的指令:从所述第一对等端接收配置信息,所述配置信息包括所述第二对等端的标识符。
所述服务器还可以包括能够由所述处理器执行以进行以下操作的指令:通过参照所述第一指纹数据检查配置消息来检查配置消息的发送方的有效性。
所述服务器还可以包括能够由所述处理器执行以进行以下操作的指令:分别向所述第一对等端和所述第二对等端发送两个统一资源标识符URI以接收指纹数据。在这种情况下,其中向所述第二对等端发送所述第一指纹的指令包括能够由所述处理器执行以进行以下操作的指令:使用所述URI中的一个URI,在对请求的响应中发送所述第一指纹;以及向所述第一对等端发送所述第二指纹的指令包括能够由所述处理器执行以进行以下操作的指令:使用所述URI中的一个URI,在对请求的响应中发送所述第二指纹。
安全对等连接可以是数据报传输层安全DTLS连接,并且每个证书可以是DTLS证书。
根据第三方案,提出了一种服务器,包括:用于从第一对等端接收针对web应用的请求的装置;用于向所述第一对等端发送命令以请求所述第一对等端的证书的指纹的装置;用于从所述第一对等端接收第一指纹的装置;以及用于向第二对等端发送所述第一指纹从而实现在所述第一对等端和所述第二对等端之间建立安全对等连接的装置。
根据第四方案,提出了一种用于实现在第一对等端和第二对等端之间建立安全对等连接的计算机程序。所述计算机程序包括计算机程序代码,所述计算机程序代码在服务器上运行时使得所述服务器:从第一对等端接收针对web应用的请求;向第一对等端发送指令以请求所述第一对等端的证书的指纹;从第一对等端接收第一指纹;以及向所述第二对等端发送所述第一指纹。
根据第五方案,提出了一种计算机程序产品,所述计算机程序产品包括根据第四方面的计算机程序和存储所述计算机程序的计算机可读装置。
根据第六方案,提出了一种第一对等端的方法,用于实现在第一对等端和第二对等端之间建立安全对等连接。所述方法包括以下步骤:向服务器发送针对web应用的请求;接收对于对等端的证书的指纹的命令;以及响应于所述请求,发送所述第一对等端的证书的第一指纹以用于验证所述第一指纹对应于所述第一对等端的证书。
接收对于所述指纹的命令的步骤可以包括接收对于所述指纹的CSP命令;以及发送所述指纹的步骤包括在CSP命令中发送所述指纹。
所述方法还可以包括以下步骤:接收所述第二对等端的证书的第二指纹;以及在与所述第二对等端的握手过程中,通过与所述第二指纹进行比较来验证所述第二对等端的身份,其中所述握手仅在所述验证成功时成功。
接收所述第二指纹的步骤可以包括接收CSP命令中的所述第二指纹。
所述方法还可以包括以下步骤:接收用于接收指纹数据的URI;使用所述URI发送指纹数据请求;以及其中接收所述第二指纹的步骤包括接收对所述指纹数据请求的响应,所述响应包括所述第二指纹。
每个指纹可以包括证书的哈希值。
发送所述第一指纹的步骤可以包括使用对于所述指纹的命令中包括的URI来发送所述第一指纹。
安全对等连接可以是数据报传输层安全DTLS连接,并且每个证书可以是DTLS证书。
根据第七方案,提出了一种用于实现在第一对等端和第二对等端之间建立安全对等连接的作为第一对等端的对等设备。所述对等设备包括:处理器;以及存储器,包括能够由所述处理器执行以进行以下操作的指令:向服务器发送针对web应用的请求;接收对于对等端的证书的指纹的命令;以及响应于所述请求,发送所述第一对等端的证书的第一指纹以用于验证所述第一指纹对应于所述第一对等端的证书。
用于接收对于所述指纹的命令的指令可以包括能够由所述处理器执行以进行以下操作的指令:接收对于所述指纹的CSP命令;在这种情况下,用于发送所述指纹的指令包括能够由所述处理器执行以进行以下操作的指令:在CSP命令中发送所述指纹。
所述对等设备还可以包括能够由所述处理器执行以进行以下操作的指令:接收所述第二对等端的证书的第二指纹;在与所述第二对等端的握手过程中,通过与所述第二指纹进行比较来验证所述第二对等端的身份,其中所述握手仅在所述验证成功时成功。
用于接收所述第二指纹的指令可以包括能够由所述处理器执行以进行以下操作的指令:接收CSP命令中的所述第二指纹。
所述对等设备还可以包括能够由所述处理器执行以进行以下操作的指令:接收用于接收指纹数据的URI;使用所述URI发送指纹数据请求。在这种情况下,用于接收所述第二指纹的指令包括能够由所述处理器执行以进行以下操作的指令:接收对所述指纹数据请求的响应,所述响应包括所述第二指纹。
每个指纹可以包括证书的哈希值。
用于发送所述第一指纹的指令可以包括能够由所述处理器执行以进行以下操作的指令:使用对于所述指纹的命令中包括的URI来发送所述第一指纹。
安全对等连接可以是数据报传输层安全DTLS连接,并且每个证书可以是DTLS证书。
根据第八方案,提出了一种对等设备,包括:用于向服务器发送针对web应用的请求的装置;用于接收对于对等端的证书的指纹的命令的装置;以及用于响应于所述请求,发送作为第一对等端的所述对等设备的证书的第一指纹,以用于验证所述第一指纹对应于所述第一对等端的证书,从而实现在所述第一对等端和第二对等端之间建立安全对等连接的装置。
根据第九方案,提出了一种用于实现在第一对等端和第二对等端之间建立安全对等连接的计算机程序。所述计算机程序包括计算机程序代码,所述计算机程序代码在作为第一对等端的对等设备上运行时使得所述对等设备:向服务器发送针对web应用的请求;接收对于对等端的证书的指纹的命令;以及响应于所述请求,发送所述第一对等端的证书的第一指纹以用于验证所述第一指纹对应于所述第一对等端的证书。
根据第十方案,提出了一种计算机程序产品,所述计算机程序产品包括根据第九方案的计算机程序和存储所述计算机程序的计算机可读装置。
一般地,除非本文另有明确说明,否则权利要求中使用的所有术语根据其技术领域中的普通含义来解释。除非另有明确说明,否则对“一/一个/所述元件、设备、组件、装置、步骤等”的所有引用应被开放地解释为指代元件、设备、组件、装置、步骤等中的至少一个实例。除非明确声明,否则本文所公开的任何方法的步骤不一定严格按所公开的顺序来执行。
附图说明
现在通过举例的方式参考附图描述本发明,其中:
图1是示出了可以应用本文提出的实施例的环境的示意图,其中web服务器以及查找和连接服务器被实现在同一服务器中;
图2是示出了可以应用本文提出的实施例的环境的示意图,其中web服务器以及查找和连接服务器是独立的实体;
图3是示出了在同一服务器中实现web服务器以及查找和连接服务器时的通信的示意性序列图;
图4是示出了当web服务器以及查找和连接服务器是独立实体时的通信的示意性序列图;
图5A-图5B是示出了用于实现对等连接的安全建立的服务器中的方法的实施例的示意性流程图;
图6A-图6B是示出了用于实现对等连接的安全建立的对等设备中的方法的实施例的示意性流程图;
图7是示出了图1-图2中的任意服务器或对等设备(这里由单个设备表示)的组件的示意图;
图8是示出了根据一个实施例的图1的组合服务器或图2的web服务器的功能模块的示意图;
图9是示出了根据一个实施例的图1-图2的任意对等设备(这里由单个对等设备表示)的功能模块的示意图;以及
图10示出了包括计算机可读装置在内的计算机程序产品的一个示例。
具体实施方式
现在将在下文参考其中示出本发明的特定实施例的附图来更全面地描述本发明。然而,本发明可以按多种不同形式来实现,并且不应当被解释为受到本文阐述的实施例的限制;相反,通过示例的方式给出这些实施例,使得本公开将是透彻和完整的,并且向本领域技术人员充分地传达本发明的范围。在说明书全文中,相似的标记指代相似的要素。
图1是示出了可以应用本文提出的实施例的环境的示意图,其中web服务器以及查找和连接服务器被实现在同一服务器中。
这里存在第一对等端102a和第二对等端102b。第一对等端102a可以对应于第一用户代理“UA”(UA1),并且第二对等端102b可以对应于第二UA(UA2)或者可替代地可以是服务器。
组合服务器101实现web服务器以及查找和连接(F&C)服务器。F&C服务器用于交换UA1 102a和UA2 102b之间的连接205的配置信息。F&C服务器可以例如使用HTTP、WebSocket等建立在集中式服务器上,因此可以如这里所示与Web服务器组合,或者F&C服务器可以如图2所示与Web服务器分开,这在下面解释。
两个对等端102a-102b中的每一个使用服务器连接209来与组合服务器101连接,从而在两个对等端102a-102b之间建立诸如RTC对等连接之类的连接205,这将在下面参考图3和图5A-5B更详细地解释。
图2是示出了可以应用本文提出的实施例的环境的示意图,其中web服务器以及查找和连接服务器是独立的实体。如图1所示,存在第一对等端102a和第二对等端102b。
第一对等端102a经由web服务器连接201连接到web服务器101’,并且经由F&C服务器连接203连接到F&C服务器103。
第二对等端102b经由web服务器连接202连接到web服务器101’,并且经由F&C服务器连接204连接到F&C服务器103。
在web服务器101’与F&C服务器103之间设置有API(应用编程接口)206。
如在图1中所示,该结构用于在第一对等端102a和第二对等端102b之间建立连接205,这将在下面参考图4和图5A-5B更详细地解释。
图1和图2的所有连接都可以例如使用互联网协议(IP)来实现,例如,使用基于TCP(传输控制协议)/IP连接的HTTP来实现。
图3是示出了在同一服务器中实现web服务器以及查找和连接服务器时的通信的示意性序列图。
现在将解释与本文的实施例有关的多种技术。
内容安全策略(CSP)是一种安全深入的解决方案,其可以帮助减轻或防止当在浏览器中执行的JS被操纵时可能发生的攻击。CSP通过使Web服务器包含“Content-Security-Policy”HTTP首部或在HTML(超文本标记语言)<meta>标签中包含一个或多个内容策略来工作。内容策略由命令(directive)和值组成。例如,“default-src’self’”限制资源下包含的任意内容仅来自同一个源。当浏览器在执行内容的任何活动部分之前提取并首先处理任何内容时,浏览器既可以提取策略,也可以在执行内容之前检查内容是否满足策略。如果违反策略,则web服务器可以请求浏览器向特定的URI(统一资源标识符)报告违规行为、或阻止相关行为或执行这两者。
CSP的典型用法是首先让浏览器仅报告违反命令的情况,然后,可能考虑到其他因素,指示浏览器阻止该动作。
命名实体(DANE)的基于DNS(域名服务器)认证是防止滥用证书的一种技术,即认证机构(CA)向不代表证书中的域所有者的实体颁发证书。域运营商知道他使用哪个CA,并将这些信息安全地传递给使用DNSSEC(DNS安全扩展)的客户端。也可以使用DANE而不是依靠CA建立信任链。这是通过在DANE DNS记录中包括证书的公钥或其哈希指纹来完成的。具有DANE能力的客户端将在建立TLS(传输层安全性)时验证服务器提供的证书是否包含匹配密钥,是否具有正确的哈希或者是否具有符合条件的属性(如颁发CA)。
使用web应用的WebRTC的服务器在现有技术中具有有限的手段来防止由于代码注入用户代理中运行的应用而导致的某些严重攻击。最严重的风险是在RTC对等连接建立期间恶意代码在数据和媒体路径上注入中间人。这是通过替换DTLS(数据报TLS)指纹以及配置信息中的地址信息来完成的。这导致对等端以及本地用户代理在RTC对等连接建立期间连接到中间人,并在WebRTC DTLS/SRTP密钥中接受该中间人。这使攻击者能够接收对等端之间的所有通信,即窃听用户。
针对此攻击的一种保护措施是使用身份提供商(IdP)对信令进行客户端侧签名。但是,这种保护措施是可选的并由JS调用,除非用户自己配置了IdP,从而使恶意脚本可以跳过这一点。通常,在大多数应用中,禁用身份的断言不太可能会被用户注意到。此外,实际签名要求用户在身份提供商处拥有身份,并在某个阶段提供凭据。因此,这种安全性从用户的角度来看具有开销。
DANE旨在用于命名实体,但可能的例外是媒体服务器、WebRTC端点(例如web浏览器)通常没有可能在公共DNS系统中查找的名称。事实上,由于隐私问题,WebRTC浏览器不希望在多个不同的Web服务(源)上使用相同的证书,因为可能会跨多个服务跟踪用户和端点。
由于DANE也使用DNS系统(一个具有大量缓存的分布式系统),因此可能会对性能产生重大影响。如果DNS记录尚未缓存在本地解析器中,则直到记录传递之前的缓存访问发生的次数(即往返次数)会很重要,因为解析器将必须从根节点走过记录链,直到达到域名的权威名称服务器。此外,如果信息需要更新,则通常会有显着的延迟,直到旧的缓存记录过期并且新的缓存记录被获取。
现在看图3所示的实施例,Web应用使用RTC对等连接来在不同用户的用户代理(UA)中的Web应用的实例之间进行通信,即实时媒体或数据对象传输。我们将使用来自WebRTC的基本单服务器用例,其中UA 102a-102b使用一个服务器(两个UA中使用的Web应用的源)用于必要的信令。但是,该解决方案适用于各种部署,而不仅仅适用于图1所示的部署。每当本文使用术语“源”时,其是指本文的实施例中向用户代理提供web应用的服务器。
该方法的建立一个具有安全保护的RTC对等连接的步骤如下,重点介绍该方法中与安全机制相关的步骤。下面序列中的实体之间的消息交换在图3中的序列图中示出。应该注意的是,虽然术语UA在这里用于两个对等端,但其中的每一个都可以用另一类型的对等端(例如服务器)代替。
1.当UA发送获得(GET)请求1a以用于获得与由使用该方法的安全保护的源服务器101’服务的web应用有关的任何资源时,服务器101’在其HTTP响应1b中包括新的CSP命令。这个名为“rtcpc-hash-submission-uri”的新CSP命令包括作为HTTP URI(报告目的地URI)的值。该命令指示UA将在应用的上下文(和子上下文)中创建的任何RTC对等连接中使用的所有DTLS证书的证书哈希值(指纹)提交给作为该命令中的值而包括的URI。可以实现Web应用,使得在用户向应用验证自己之后,为UA上下文设置用于报告的CSP命令。这使报告目的地URI能够对用户id和会话进行编码。当UA请求应用的资源时,服务器还包括名为“rtcpc-src”的没有任何值的CSP命令。该命令的值是DTLS证书(指纹)的哈希列表。将该命令设置为空值将阻止建立RTC对等连接的任何尝试。这是因为该命令明确列出了其允许建立RTC对等连接的指纹的对等端,因此空列表不允许RTC对等连接。在进行下一步之前,UA1 102a和UA2102b都已完成此操作。
2.然后,UA1 102a的用户在web应用中发起一些活动,诸如点击用户界面中的呼叫按钮,这需要与UA2 102b建立RTC对等连接。
3.运行在UA1 102a中的用于Web应用的JS代码创建RTC对等连接对象。这导致若干个UA1 102a本地操作;一个是创建或使用本地存储的证书,该证书将用于保护RTC对等连接建立的DTLS-SRTP密钥部分。该证书绑定到RTC对等连接对象。
4.UA1 102a遵循CSP命令(“rtcpc-hash-submission-uri”)并使用报告目的地URI(命令的值)作为资源标识符发送HTTP请求4,以报告当前由该上下文中的RTC对等连接使用的所有证书的哈希。证书哈希可以是CSP请求命令的一部分,例如“rtcpc-hash sha256-b4a0ac31d59a0c9f794e04be232e1143bca0a50a21ed385492e2e7e50fa88f00”。
此处使用的HTTP POST消息的示例:
P0ST/Hash-
Submission/NTA2MDUzNTk2NTk4MzIxMDY4MTI4NzQyNTM1Mj
M=HTTP/1.1
Host:www.example.com
Content-Security-Policy:rtcpc-hash sha256-b4a0ac31d59aOc9f794e04be232e1143bca0a50a21ed385492e2e7e50fa88f00
Content-Length:0
该命令的值是哈希值列表,以用于创建哈希的哈希算法(例如SHA(安全哈希算法)-256或SHA-512)为前缀。证书哈希也可以以合适的定义格式作为请求主体的一部分。由报告目的地URI指定的服务器将与用户id和会话(请求URI的一部分)相关联的哈希存储在服务器上合适的数据结构或数据库中。
5.然后,JS代码进一步调用RTC对等连接API方法CreateOffer,该方法产生对等UA需要用来建立RTC对等连接的必要配置信息。
6.然后,请求使用从UA到查找和连接(F&C)服务器功能的适当传输来发送配置信息,在这种情况下,该配置信息旨在包括对等端的标识符的web服务器(源)的一部分。适当的传输可以是例如HTTPS、安全WebSocket,但不限于这些。
7.当F&C服务器(组合服务器101的一部分)接收到配置信息、任何存在a=identity(身份)SDP属性或对应(例如a=fingerprint(指纹),其仅包含证书哈希并且是信令/配置信息的一部分),可以通过参照在先前步骤中直接从UA收到的针对此用户id和会话的证书哈希值来验证该首部的值。如果哈希值不匹配,则F&C服务器检测到问题以及在RTC对等连接媒体路径上插入中间人的尝试。F&C服务器还可以对指纹和用户身份执行其他分析,以决定是否考虑端点(用户和/或用户代理)存在恶意。例如,端点的呼叫模式表明它是恶意的。如果证书哈希匹配并且没有检测到其他问题,则处理继续。
8.F&C服务器确定如何将配置信息传输到UA2 102b中预期接收方的JS应用实例。
9.使用确定的传输连接,配置数据9被调度为传输到UA2102b。当以支持包括CSP首部的协议发送信息时,则包括列出白名单证书的命令(例如,包括“rtcpc-src sha256-b4a0ac31d59a0c9f794e04be232e1143bca0a50a21ed385492e2e7e50fa88f00”,以指示在UA2102b和UA1 102a之间的RTC对等连接建立期间发生DTLS握手时,期望作为对等端的UA1的DTLS证书哈希。
10.UA2 102b接收CSP首部并存储命令和与相关上下文相关联的哈希值。将配置信息提供给运行在UA2 102b中的用于Web应用的JS代码。
11.JS代码处理配置并创建RTC对等连接(如果尚未完成),并将来自UA1 102a的远程配置信息添加到对等连接。然后,它获取需要提供给UA1 102a的本地配置信息,以使其能够完成RTC对等连接建立。该信息然后被发送回F&C服务器(组合服务器101的一部分)。这将开始尝试UA2 102b与UA1 102a建立RTC对等连接。
12.在UA2 102b中创建RTC对等连接将触发其报告UA2的RTC对等连接中使用的DTLS证书哈希值。因此,UA2 102b使用在CSP“rtcpc-hash-submission-uri”命令中提供的报告目的地URI来向组合服务器101发送HTTP请求12。该请求包含证书的哈希值。与之前相似,该请求例如可以使用CSP命令,例如“rtcpc-hash sha256-7820456dd950d9e41f75a2dd682723clea325f37301da96860b71177ec26dc83”。
13.UA2将配置信息13发回到组合服务器101的一部分(F&C服务器)。
14.当报告目的地服务器接收到由报告URI所指示的资源的UA2的证书哈希时,服务器101将存储与用户id和会话id相关联的UA2的证书哈希。
15.当F&C服务器101接收到来自UA2的配置信息(步骤13)以及证书哈希报告(步骤14)时,它可以继续在配置信息的a=identity属性部分(或相应地,a=fingerprint)中将该哈希值与UA2使用CSP报告命令报告的值进行比较。如果它们匹配,则该处理继续。同样,F&C服务器101可以进一步分析该信息以决定是否终止列出端点的白名单。
16.然后,F&C服务器101向UA1转发配置信息16。在该消息中,它将包括CSP首部“rtcpc-src sha256-7820456dd950d9e41f75a2dd682723clea325f37301da96860b71177ec26dc83”。因此,当建立RTC对等连接时,向UA1提供作为对等端可接受的已知证书(即UA2的证书的哈希)。
17.当UA1 102a接收该消息时,它存储CSP命令和值。
18.然后,UA1 102a的JS代码在接收到的配置信息上执行,并将其添加为远程描述。这将触发UA1的RTC对等连接建立过程。
19.如果例如如在RFC5245中所描述的交互连接建立(ICE)19a在UA1 102a和UA2102b之间建立直接路径方面是成功的,则执行DTLS握手19b-19c。当执行DTLS握手时,通常交换每个对等端使用的证书。在接收到证书后,每个UA都会验证对等端的证书是否具有与“rtcpc-src”命令中给出的值相匹配的哈希值。如果没有,则连接建立被中止。如果CSP失败报告命令被包括在内,也中止连接建立。
因此,通过向源服务器(组合服务器101)(例如在CSP策略报告中向服务器)提供UA102a-102b在RTC对等连接中使用的DTLS证书的哈希指纹,可以防止中间人攻击。由于证书指纹的提交由用户代理(UA)执行,所以破坏的JS不会干扰提交。
源服务器(即,这里的组合服务器101)收集该UA的有效指纹并保持其与信令用户身份相关联。服务器101使用指纹和用户身份来防止应用注入中间人地址和DTLS证书指纹而不是受到攻击的对等端的真实指纹。服务器101还可以通过验证信令信息中的指纹并且例如通过分析用户的呼叫模式来检测恶意端点,决定用户是否应该被列入白名单。
参考上面在图3中在步骤4、6、12和13中描述的过程,服务器101从用户代理(UA)接收信息,例如用于建立对等连接的指纹和对等连接配置信息。该数据到达服务器101(例如作为事件)被服务器101用来分析通信是否合适。如果不合适,则服务器可以将具有特定指纹的用户代理标记为不列入白名单,这将导致用户代理在步骤9或16中接收到信息以在尝试的情况下无法建立对等连接。在建立对等连接之后,服务器101还可以监视包括参与者行为在内的通信会话本身,或者基于其他外部输入来确定通信会话应该被终止或者参与者应被放弃,在这种情况下,相关对等端连接需要被终止。可以例如使用HTTP POST消息,通过从向受影响的用户代理发送的CSP命令“rtcpc-src”中的批准哈希列表中删除对等用户代理的指纹来完成此终止操作。当UA收到该命令时,它需要针对每个RTC对等连接检查对等哈希是否仍然在列表中,如果不在,则终止RTC对等连接。
在一些实施例中,服务器101可以使用由DTLS指纹识别的用户代理列表来确定用户代理是否可以用于特定通信服务。当服务器101确定是否允许建立特定的通信会话时,与特定的UA实例相关联以及因此与特定的DTLS证书哈希相关联的用户也是有用的信息。如上面第1项所述,应用可以确保用户及其登录会话绑定到当报告证书哈希时使用的URI。在特定用户被限制为仅与子集(如朋友列表或其他封闭用户组)进行通信的应用中,服务器可以检查发起通信会话的用户是否被允许与识别的用户及其端点进行通信。这将防止在UA上执行的恶意应用使UA1与(由攻击者控制的)UA3通信并且同时建立从UA3到UA2的第二RTC对等连接,从而在UA1和UA2之间创建以UA3作为中间人的连接。
在一些实施例中,可以由UA 102a-102b端对端地保护RTC对等连接配置信息,这意味着F&C服务器不能从中检索DTLS指纹,在这种情况下,与UA 102a-102b之间交换的RTC对等连接信息不同地(out-of-band)向服务器101发送用于服务器101的必要信息。
图4是示出了当web服务器以及查找和连接服务器是独立实体时的通信的示意性序列图。
在一些部署中,选择将web服务器101’和用于建立RTC对等连接的查找和连接服务器103分离到不同的服务器中。其原因包括将web应用的实时媒体通信或会议部分的操作和管理的问题或外包进行分离。所描述的安全解决方案仍然可以使用,但如图2所示,涉及更多的实体和更多的通信链接。根据web服务器101’和F&C服务器103之间的信任关系,可以有不同的实施方式。
我们将描述一个示例实施方式,其中web服务器101’将控制用户授权以及建立安全解决方案的使用。F&C服务器103使用F&C服务器103和web服务器101’之间的API(图2中的206)来验证任何身份断言以及下面明确描述的一些其他功能。否则,F&C服务器103处理用于建立RTC对等连接的任何信令消息的路由。下面序列的实体之间交换的消息在图4的序列图中示出。
21.用户代理发出用于从源服务器101’(图2中的web服务器101’)获得web应用的资源的获得请求21a。该Web应用使用WebRTC组件来实现其某些功能。来自服务器101’的一个或多个响应2lb包括需要报告正在使用的DTLS证书哈希(指纹)(“rtcpc-hash-submission-uri”)的CSP策略以及具有空值的“rtcpc-src”命令。后面的命令“rtcpc-src”是为了防止在服务器明确允许(列为白名单)任何对等端之前建立任何RTC对等连接。源服务器还可以使用CSP来限制哪些脚本可以加载到上下文中以及从哪里加载,从而将其限制到自身以及用于F&C服务器103的域。UA1 102a和UA2 102b都完成这一步。
22.由源服务器101’传送的页面/脚本加载来自查找和连接(F&C)服务器103的JS源和其他资源。CSP命令从源服务器继承,因为它包括在同一个安全上下文中。此时,F&C服务器103还以适当的方式(例如使用其的API(图2中的206)与web服务器101’验证用户的身份。
23.用户与应用的交互(例如点击用户界面中的呼叫按钮)导致UA1 102a启动创建RTC对等连接以满足与UA2 102b的通信需求。在创建RTC对等连接时,由UA1 102a用于该RTC对等连接的哈希使用以CSP“rtcpc-hash-submission-uri”命令提供的报告URI为目标的HTTP请求进行报告。在这种情况下,web服务器101’想要控制允许哪些对等端建立RTC对等连接的批准。
24.UA1 102a中的web应用将配置信息24从其创建的RTC对等连接连同目的地对等端的身份一起发送给F&C服务器103。
25.F&C服务器103使用该API向Web服务器101’通知25a UA1102a正试图建立到UA2102b的连接,并且它们需要其对应的哈希以被列为白名单。在RTC对等连接DTLS握手之前解决在UA中需要实现白名单的同步要求的一种可能方式如下:web服务器101’向F&C返回两个不同的URI 25b,每个URI用于两个UA中的各个。UA需要检索该资源以获得该资源的更新白名单,并且需要在完成RTC对等连接建立之前完成。这些URI在这里称为白名单策略更新URI。URI是对Web服务器数据库记录的引用,它使服务器能够确定该Web应用实例所需的是哪个证书指纹。F&C服务器103可以通过使用F&C服务器向Web服务器API验证配置信息证书指纹是否与UA提交给服务器的指纹匹配,以请求提交的指纹并且在F&C中执行比较,或者提交来自配置信息的指纹并使web服务器101’执行比较。
26.F&C服务器103向预期的目的地UA2 102b发送配置信息26a。另外,UA2 102b还发送其白名单策略更新URI。同时,F&C服务器103向UA1 102a发送白名单策略更新URI 26b。
27.UA1 102a请求27白名单策略更新资源。web服务器101’查找需要在CSP“rtcpc-src”命令的值字段中提供哪个证书指纹。web服务器101’还没有UA2的哈希,因此将挂起UA1102a直到服务器具有哈希。
28.UA2 102b中的Web应用创建RTC对等连接,为其提供从UA1 102a接收的配置信息。在UA2 102b中创建RTC对等连接使得UA发起向由CSP“rtcpc-hash-submission-uri”命令值设置的资源URI报告DTLS证书哈希(指纹)28。
29.然后,UA2 102b中的应用使用所提供的URI从web服务器101’请求29a白名单策略更新资源。该请求将提供更新的CSP“rtcpc-src”命令。当web服务器101’获得请求时,它检查其是否具有相关的哈希,即UA1的哈希。如之前报告的那样,它很可能已经存在,如果不是,该动作将被挂起,直到哈希变得可用。在Web服务器对白名单策略更新请求的响应29b中,将包括CSP“rtpc-src”命令,其中作为值的一部分的哈希之一是所提供的一个UA1102a。如果上下文中的应用具有多个与不同对等端的RTC对等连接,则可能存在多个哈希。
30.当UA2 102b接收到白名单更新资源时,脚本可以安全地继续知道策略是否有效。因此,应用将配置从UA1 102a应用于RTC对等连接。然后,应用产生RTC对等连接的应答配置并将其发送30给F&C服务器103。此后,RTC对等连接通信路径建立在UA2 102b侧继续,直到它成功或超时。
31.F&C服务器103在接收到UA2的配置信息时将其转发31给UA1 102a。它可以首先执行验证,以验证UA2 102b在配置中提供的指纹与其提交给Web服务器的指纹相匹配。如在步骤25中,这可以在F&C或web服务器101’中执行,取决于API设计以及谁被信任执行比较。
32.在步骤28发生后的某个时间,web服务器101’将接收UA2的哈希并对其进行存储。当接收到它时将确定它具有对来自UA1 102a的策略更新资源的未完成请求,该UA1102a引用了UA2 102b被(“rtcpc-hash-submission-uri”命令)指示要在提交在UA2 102b中使用的证书哈希时使用的资源标识符。UA1的白名单策略更新请求现在将通过针对当前在该安全上下文中以白名单列出的所有对等端的证书哈希,包括相关CSP“rtcpc-src”命令和所有哈希来进行应答31。
33.在检索到策略更新资源以及从UA2 102b接收到RTC对等连接配置信息之后,UA1 102a中的脚本现在可以应用配置信息并继续建立RTC对等连接。
34.ICE 34a在两侧运行,并且如果成功则发生DTLS握手34b-34c,以交换它们的证书。每个UA都将验证证书哈希是否与CSP“rtcpc-src”命令的值字段中列出的证书哈希匹配。如果不匹配,则RTC对等连接将被终止,并且可以根据是否给出了报告CSP命令而被报告给源服务器。
可以注意到,在这种情况下,拥有多个实体会导致一些检查和处理,以确保在尝试建立RTC对等连接之前列出白名单。如果没有完成,则RTC对等连接可能会因为无法及时传送白名单信息而被终止。在前面的示例中,这种协调是通过在实施先决策略之前不发送配置信息来完成的。
作为进一步的优化,可以在浏览器逻辑或JavaScript逻辑推断数据需求之前使用推送机制将信息置于设备中。示例是策略更新和证书哈希。
应该注意的是,策略和证书指纹的报告需要被安全传输,它们需要兼顾机密性和完整性保护,以防止攻击者修改信息或使用提交URI来注入中间人的指纹。对于任何HTTP协议首部或函数,或者传输的数据对象,使用HTTPS(TLS)将是最简单的选择。
上述解决方案在收集DTLS证书哈希的实体方面很灵活,因为这是通过作为值提供给“rtcpc-hash-submission-uri”命令的URI为每个用户代理应用实例所配置的。但是,CSP框架限制谁可以向上下文的源提供更新后的CSP策略,从而为“rtcpc-src”命令提供实现与新对等端建立RTC对等连接的更新值。因此,如果应用的F&C连接部分在于控制允许哪些对等端进行通信的批准,则执行P&C以及建立RTC对等连接的应用部分将必须被加载到其自己的用户代理沙箱中以使得F&C服务器成为源。但是,这使得应用的各个部分之间的通信更受限制。否则,如果web服务器101’保持为源,则在F&C服务器103或收集各种应用实例的证书哈希的其他服务器与web服务器101’之间将需要一些API来提供用于提供更新的CSP“rtcpc-src”命令的必要信息。
由在第二用途中使用F&C提供给web服务器API的信息所支持的web服务器101’可以执行通信及其模式的分析以用于潜在的恶意使用。例如,恶意脚本可能会试图通过建立两个RTC对等连接(一个从UA1到UA3,另一个从UA3到UA2),明确地使用F&C服务器103创建RTC对等连接链,使得UA3将成为UA1和UA2之间的中间人。
图5A-图5B是示出了用于在第一对等端和第二对等端之间实现对等连接的安全建立的服务器中的方法的实施例的示意性流程图。安全的对等连接可以例如是数据报传输层安全DTLS连接,在这种情况下,每个证书都是DTLS证书。应该注意的是,该方法的步骤不限于这里所示的顺序;步骤可以以任何合适的顺序执行,只要满足任何明确提及的依赖关系。从组合服务器101或web服务器101’的角度参考上面的图3和图4来说明和解释图5A-5B的方法的实施例。
在从第一对等端接收对应用的请求的步骤40中,从第一对等端接收对web应用的请求(例如,图3的1a或图4的21a)。
在向第一对等端发送命令的步骤42中,向第一对等端发送命令(例如,图3的1b或图4的21b)以请求第一对等端的证书的指纹。该命令可以是步骤40中对请求的响应的一部分。
可选地,如上所述,该命令指示第一对等端为关于与该Web应用关联的任何对等连接使用的每个证书提交哈希值。该命令可以是CSP命令。
在接收第一对等端的证书数据的步骤44中,接收来自第一对等端的第一指纹(例如,图3的4或图4的23)。该指纹分别是在Web应用的上下文中使用的每个证书的一个或多个相应哈希值。指纹可以在CSP命令中被接收,该CSP命令包括在web应用的上下文中使用的每个证书的相应指纹。
在向第二对等端发送第一对等端的证书数据的步骤50中,第一指纹(例如,图3的9或图4的29b)被发送到第二对等端。
现在参见图5B,将仅描述其与图5A相比的新的或修改的步骤。
在从第二对等端接收对应用的请求的步骤41中,从第二对等端接收对web应用的请求(例如,图3的来自UA2的1a或图4的来自UA2的21a)。
在向第二对等端发送命令的步骤47中,向第二对等端发送命令(例如,图3的朝向UA2的1b或图4的朝向UA2的21b)以请求第二对等端的证书的指纹。
可选地,该命令指示第二对等端为关于与该Web应用关联的任何对等连接使用的每个证书提交哈希值。该命令可以是CSP命令。
在接收第二对等端的证书数据的步骤48中,从第二对等端接收第二指纹(例如,图3的12或图4的28)。该指纹分别是在Web应用的上下文中使用的每个证书的一个或多个相应哈希值。指纹可以在CSP命令中被接收,该CSP命令包括在web应用的上下文中使用的每个证书的相应指纹。
在向第一对等端发送第二对等端的证书数据的步骤52中,第二指纹(例如,图3的16或图4的32)被发送到第一对等端。
在接收配置信息的步骤45中,从第一对等端接收配置信息(例如,图3的6或图4的(经由F&C服务器)25a),该配置信息包括第二对等端的标识符。
在检查有效性的步骤46中,通过参照第一指纹数据检查配置消息来检查配置消息的发送方的有效性。
在发送URI的步骤58中,发送两个统一资源标识符URI分别用于第一对等端和第二对等端(例如图4的25b)以接收指纹数据。这些URI可以被发送给F&C服务器以提供给两个对等端。在这种情况下,向第二对等端发送第一对等端的证书数据的步骤50包括使用URI之一在对请求的响应中发送第一指纹。此外,向第一对等端发送第二对等端的证书数据的步骤52然后包括使用URI之一在对请求的响应中发送第二指纹。
根据本文提出的实施例的解决方案的优点在于它提供了强的深度安全性机制,其防止可能破坏用户的数据媒体安全的严重类型的攻击,而不会增加任何用户负担。
此外,Web服务运营商不依赖于其他角色来提供必要的基础设施,就像DNS运营商扮演关键角色的DANE一样。
图6A-图6B是示出了用于在第一对等端和第二对等端之间实现对等连接的安全建立的对等设备中的方法的实施例的示意性流程图。安全的对等连接可以例如是数据报传输层安全DTLS连接,在这种情况下,每个证书都是DTLS证书。应该注意的是,该方法的步骤不限于这里所示的顺序;步骤可以以任何合适的顺序执行,只要满足任何明确提及的依赖关系。从第一对等端102a的角度参考上面的图3和图4来说明和解释图6A-6B的方法的实施例。
在发送对应用的请求的步骤140中,向服务器(例如,图1的101或图2的101’)发送对web应用的请求(例如,图3的1a或图4的21a)。
在接收对证书数据的请求的步骤142中,接收用于对等端的证书的指纹的命令(例如图3的1b或图4的21b)。命令可以是用于指纹的CSP命令。
在发送证书数据的步骤144中,响应于该请求,发送第一对等端的证书的第一指纹(例如,图4的4或图4的23)以用于验证第一指纹对应于第一对等端的证书。指纹可以在CSP命令中发送。可选地,这包括使用用于指纹的命令中包括的URI来发送第一指纹,如图4中所例示且如上文所述。
现在参见图6B,将仅描述其与图6A相比的新的修改的步骤。
在接收URI的步骤145中,接收用于接收指纹数据的URI(例如,图4的26b)。
在发送指纹数据请求的步骤146中,使用该URI发送指纹数据请求(例如,图4的27)。
在接收证书数据的步骤148中,接收第二对等端的证书的第二指纹(例如,图3的16或图4的32)。可选地,响应于指纹数据请求而接收第二指纹。第二指纹可以在CSP命令中接收。
在验证步骤150中,在与第二对等端的握手过程中,通过与第二指纹进行比较来验证第二对等端的身份,其中握手仅在验证成功时成功。
可选地,每个指纹包括证书的哈希值。
图7是示出了图1-图2中的任意服务器或对等设备(这里由单个设备101、102表示)的组件的示意图。使用能够执行存储在存储器64中的软件指令67(因此可以是计算机程序产品)的合适的中央处理单元(CPU)、多处理器、微控制器、数字信号处理器(DSP)、专用集成电路等中的一个或多个的任何组合来提供处理器60。处理器60可以被配置为执行上文参考图5A-5B和图6A-6B描述的方法。
存储器64可以是读写存储器RAM和只读存储器ROM的任意组合。存储器64还可以包括持久存储设备,其例如可以是磁存储器、光存储器、固态存储器或甚至远程安装存储器中的任意单独一个或组合。
还提供数据存储器66,用于在处理器60中软件指令的执行期间读取和/或存储数据。数据存储器66可以是读写存储器(RAM)和只读存储器(ROM)的任意组合。
服务器101/对等设备102还包括I/O接口62,用于与其他外部实体通信。可选地,I/O接口62还包括用户界面。
为了突出本文提出的构思,省略了服务器101/对等设备102的其他组件。
图8是示出了根据一个实施例的图1的组合服务器101或图2的web服务器101’的功能模块的示意图。这些模块使用诸如在服务器中执行的计算机程序之类的软件指令来实现。可选地或另外地,使用硬件(诸如ASIC(专用集成电路)、FPGA(现场可编程门阵列)或分立逻辑电路中的任何一个或多个)来实现模块。模块对应于图5A-5B所示的方法中的步骤。
接收器70对应于步骤40、41、44、45和48。发送器72对应于步骤42、47、40、52和58。验证器74对应于步骤46。确定器76对应于步骤49。
图9是示出了根据一个实施例的图1-图2的任意对等设备102a-102b(这里由单个对等设备102表示)的功能模块的示意图。这些模块使用诸如在对等设备中执行的计算机程序之类的软件指令来实现。可选地或另外地,使用硬件(诸如ASIC(专用集成电路)、FPGA(现场可编程门阵列)或分立逻辑电路中的任何一个或多个)来实现模块。模块对应于图6A-6B所示的方法中的步骤。
发送器170对应于步骤140、144和146。接收器172对应于步骤142、145和148。验证器174对应于步骤150。
图10示出了包括计算机可读装置在内的计算机程序产品的一个示例。在该计算机可读装置中,可以存储计算机程序91,该计算机程序可以使处理器执行根据此处描述的实施例的方法。在该示例中,计算机程序产品是诸如CD(紧凑盘)或DVD(数字多功能盘)或蓝光盘之类的光盘。如上所述,该计算机程序产品也可以体现在设备的存储器中,例如图7的计算机程序产品64。虽然计算机程序91此处被示意性地示为所示光盘上的轨道,可以以任意适合于计算机程序产品的方式来存储计算机程序,例如可移除固态存储器(例如,通用串行总线(USB)驱动器)。
以下是使用各个方面呈现的实施例的另一视角。
根据一个方面,提供了一种用于建立对等连接的服务器的方法。在该方法中,服务器从UA(用户代理)接收对应用的请求。服务器然后发送对UA证书的请求,并且响应于该请求,服务器接收UA的证书。服务器验证证书是否是被允许的证书,并验证对等连接中的对等端的证书。如果允许涉及的对等端的所有证书,则服务器发起建立对等连接。
根据一个方面,提供了一种用于建立对等连接的服务器。服务器被配置为从UA(用户代理)接收对应用的请求。服务器被配置为之后发送对UA的证书的请求,并且服务器被配置为接收UA的证书。服务器被配置为验证证书是否为被允许的证书,并且还被配置为验证对等连接中对等端的证书。如果允许涉及的对等端的所有证书,则服务器被配置为发起建立对等连接。
根据一个方面,提供了一种用于建立对等连接的服务器。服务器包括用于从UA(用户代理)接收对应用的请求的接收器。服务器还包括用于发送对UA的证书的请求的发送器,并且接收器还被配置为接收UA的证书。服务器还包括验证器,用于验证证书是被允许的证书并且用于验证对等连接中对等端的证书。如果允许涉及的对等端的所有证书,则服务器的建立器被配置为发起建立对等连接。
根据一个方面,提供了一种用于UA的方法,用于在所述UA与另一对等端之间建立对等连接。在该方法中,UA向服务器发送对应用的请求。然后,UA接收对UA的证书的请求,并且响应于该请求,UA发送UA的证书,使得服务器可以验证证书是被允许的证书,并且使得服务器还可以验证用于对等连接中对等端的证书。如果允许涉及的对等端的所有证书,则服务器发起建立对等连接。
根据一个方面,提供了一种UA,用于在所述UA与另一对等端之间建立对等连接。UA被配置为向服务器发送对应用的请求。然后,UA被配置为接收对UA的证书的请求,并且响应于该请求,UA被配置为发送UA的证书,使得服务器可以验证证书是被允许的证书,并且使得服务器还可以验证用于对等连接中对等端的证书。如果允许涉及的对等端的所有证书,则服务器发起建立对等连接。
根据一个方面,提供了一种UA,用于在所述UA与另一对等端之间建立对等连接。UA包括用于向服务器发送对应用的请求的发送器。UA还包括用于接收对UA的证书的请求的接收器,并且响应于该请求,发送器被进一步配置为发送UA的证书,使得服务器可以验证证书是被允许的证书,并且使得服务器还可以验证用于对等连接中对等端的证书。如果允许涉及的对等端的所有证书,则服务器发起建立对等连接。
服务器可以是web服务器,并且实施例可以在上下文实时web浏览中应用。
服务器可以是组合的web服务器和F&C服务器,或者服务器的功能可以分布在多个服务器(例如,一个Web服务器和一个F&C服务器)上。
根据另一方面,UA包括处理器和包括可由处理器执行的指令的存储器。处理器可操作为执行如上所述的UA的方法。
根据另一方面,服务器包括处理器和包括可由处理器执行的指令的存储器。处理器可操作为执行如上所述的服务器的方法。
输入单元(接收器)可以是通用输入单元的形式,尤其是在与外部设备有线连接的情况下。备选地,输入单元可以是接收器或收发器的形式,尤其是在与外部设备无线连接的情况下。相应地,输出单元(发送器)可以是通用输出单元的形式,尤其是在与外部设备有线连接的情况下。备选地,输出单元可以是发射器或收发器的形式,尤其是在与外部设备无线连接的情况下。
备选地,本文描述的步骤、功能、过程、模块和/或块/单元中的至少一些可以在软件中实现,例如由合适的处理电路(例如一个或多个处理器或处理单元)来执行的计算机程序。
处理电路的示例包括但不限于:一个或多个微处理器、一个或多个数字信号处理器(DSP)、一个或多个中央处理单元(CPU)、视频加速硬件、和/或任意合适的可编程逻辑电路,例如一个或多个现场可编程门阵列(FPGA)或者一个或多个可编程逻辑控制器(PLC)。
还应当理解,可以重新使用实现所提出技术的任何常规设备或单元的通用处理能力。也可以例如通过对现有软件进行重新编程或添加新的软件组件重新使用现有的软件。
在特定实施例中,处理器操作为当执行存储在存储器中的指令时执行上述操作。由此,处理器互连到存储器以实现正常的软件执行。
在一个示例中,以计算机程序实现本文描述的步骤、功能、过程、模块和/或框的至少一部分,所述计算机程序被加载到存储器中用于由包括一个或更多个处理器的处理电路来执行。处理器和存储器彼此互连,以支持常规软件执行。通信电路也互连到处理器和/或存储器以实现视频数据的输入和/或输出。
术语“处理器”在一般意义上应被解释为能够执行程序代码或计算机程序指令以执行特定处理、确定或计算任务的任何系统或设备。
因此,包括一个或多个处理器的处理电路被配置为:在运行计算机程序时执行例如本文描述的那些明确定义的处理任务。
处理电路不是必须专用于仅执行上述步骤、功能、过程和/或块,而是还可以执行其他任务。
所提出的技术还提供了包括计算机程序的载体。载体是以下之一:电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质。
举例说明,软件或计算机程序可以实现为计算机程序产品,其通常被承载或存储在计算机可读介质(优选地,非易失性计算机可读存储介质)上。计算机可读介质可包括一个或多个可移除或不可移除的存储设备,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、紧致盘(CD)、数字多用途盘(DVD)、蓝光盘、通用串行总线存储器(USB)存储器、硬盘驱动(HDD)存储设备、闪存、磁带、或者任意其他常规存储器设备。计算机程序可以因此被加载到计算机或等效处理设备(其由用于由其处理器执行的布置来表示)的操作存储器中。
已经参考一些实施例在上文中主要地描述了本发明。然而,如本领域技术人员容易理解的,除了上文所公开的实施例之外的其它实施例同样可能在由所附专利权利要求限定的本发明的范围内。

Claims (38)

1.一种用于服务器的方法,用于实现在第一对等端和第二对等端之间建立安全对等连接,所述方法包括以下步骤:
从第一对等端接收(40)针对web应用的请求;
向所述第一对等端发送(42)命令以请求所述第一对等端的证书的指纹;
从所述第一对等端接收(44)第一指纹;以及
向所述第二对等端发送(50)所述第一指纹。
2.根据权利要求1所述的方法,还包括以下步骤:
从所述第二对等端接收(41)针对所述web应用的请求;
向所述第二对等端发送(47)命令以请求所述第二对等端的证书的指纹;
从所述第二对等端接收(48)第二指纹;以及
向所述第一对等端发送(52)所述第二指纹。
3.根据权利要求1或2所述的方法,其中:
向所述第一对等端发送(42)命令的步骤包括:发送命令以指示所述第一对等端为与所述web应用相关联的任意对等连接所使用的每个证书提交哈希值;
接收(44)第一指纹数据的步骤包括:接收在所述web应用的上下文中使用的每个证书的相应哈希值;
当被执行时,向所述第二对等端发送(47)命令的步骤包括:发送命令以指示所述第二对等端为与所述web应用相关联的任意对等连接所使用的每个证书提交哈希值;以及
当被执行时,接收(48)第二指纹数据的步骤包括:接收在所述web应用的上下文中使用的每个证书的相应哈希值。
4.根据权利要求1至3中任一项所述的方法,其中:
向所述第一对等端发送(42)命令的步骤包括发送内容安全策略CSP命令;
接收(44)第一指纹数据的步骤包括:接收包括在所述web应用的上下文中使用的每个证书的相应指纹在内的CSP命令;
当被执行时,向所述第二对等端发送(47)命令的步骤包括发送CSP命令;以及
当被执行时,接收(48)第二指纹数据的步骤包括:接收包括在所述web应用的上下文中使用的每个证书的相应指纹在内的CSP命令。
5.根据权利要求1至4中任一项所述的方法,还包括以下步骤:
从所述第一对等端接收(45)配置信息,所述配置信息包括所述第二对等端的标识符。
6.根据权利要求5所述的方法,还包括以下步骤:
通过参照所述第一指纹数据检查配置消息来检查(46)配置消息的发送方的有效性。
7.根据权利要求4至6中任一项所述的方法,还包括以下步骤:
分别向所述第一对等端和所述第二对等端发送(54)两个统一资源标识符URI以接收指纹数据;以及
其中向所述第二对等端发送(50)所述第一指纹的步骤包括:使用所述URI中的一个URI,在对请求的响应中发送所述第一指纹;以及
其中向所述第一对等端发送(52)所述第二指纹的步骤包括:使用所述URI中的一个URI,在对请求的响应中发送所述第二指纹。
8.根据前述权利要求中任一项所述的方法,其中,所述安全对等连接是数据报传输层安全DTLS连接,并且每个证书是DTLS证书。
9.一种服务器(101,101’),用于实现在第一对等端和第二对等端之间建立安全的对等连接,所述服务器包括:
处理器(60);以及
存储器(64),包括能够由所述处理器执行以进行以下操作的指令(66):
从第一对等端接收针对web应用的请求;
向第一对等端发送指令以请求所述第一对等端的证书的指纹;
从所述第一对等端接收第一指纹;以及
向所述第二对等端发送所述第一指纹。
10.根据权利要求9所述的服务器(101,101’),还包括能够由所述处理器执行以进行以下操作的指令(66):
从所述第二对等端接收针对web应用的请求;
向所述第二对等端发送指令以请求所述第二对等端的证书的指纹;
从所述第二对等端接收第二指纹;以及
向所述第一对等端发送所述第二指纹。
11.根据权利要求9或10所述的服务器(101,101’),其中:
用于向所述第一对等端发送(42)命令的指令包括能够由所述处理器执行以进行以下操作的指令(66):发送命令以指示所述第一对等端为与所述web应用相关联的任意对等连接所使用的每个证书提交哈希值;
用于接收第一指纹数据的指令包括能够由所述处理器执行以进行以下操作的指令(66):接收在所述web应用的上下文中使用的每个证书的相应哈希值;
当被执行时,用于向所述第二对等端发送命令的指令包括能够由所述处理器执行以进行以下操作的指令(66):发送命令以指示所述第二对等端为与所述web应用相关联的任意对等连接所使用的每个证书提交哈希值;以及
当被执行时,用于接收第二指纹数据的指令包括能够由所述处理器执行以进行以下操作的指令(66):接收在所述web应用的上下文中使用的每个证书的相应哈希值。
12.根据权利要求9至11中任一项所述的服务器(101,101’),其中:
向所述第一对等端发送命令的指令包括能够由所述处理器执行以进行以下操作的指令(66):发送内容安全策略CSP命令;
用于接收第一指纹数据的指令包括能够由所述处理器执行以进行以下操作的指令(66):接收包括在所述web应用的上下文中使用的每个证书的相应指纹在内的CSP命令;
当被执行时,用于向所述第二对等端发送命令的指令包括能够由所述处理器执行以进行如下操作的指令(66):发送CSP命令;以及
当被执行时,用于接收第二指纹数据的指令包括能够由所述处理器执行以进行以下操作的指令(66):接收包括在所述web应用的上下文中使用的每个证书的相应指纹在内的CSP命令。
13.根据权利要求9至12中任一项所述的服务器(101,101’),还包括能够由所述处理器执行以进行以下操作的指令(66):从所述第一对等端接收配置信息,所述配置信息包括所述第二对等端的标识符。
14.根据权利要求13所述的服务器(101,101’),还包括能够由所述处理器执行以进行以下操作的指令(66):通过参照所述第一指纹数据检查配置消息来检查配置消息的发送方的有效性。
15.根据权利要求12至14中任一项所述的服务器(101,101’),还包括能够由所述处理器执行以进行以下操作的指令(66):
分别向所述第一对等端和所述第二对等端发送两个统一资源标识符URI以接收指纹数据;以及
其中向所述第二对等端发送所述第一指纹的指令包括能够由所述处理器执行以进行以下操作的指令(66):使用所述URI中的一个URl,在对请求的响应中发送所述第一指纹;以及
其中向所述第一对等端发送(52)所述第二指纹的指令包括能够由所述处理器执行以进行以下操作的指令(66):使用所述URI中的一个URI,在对请求的响应中发送所述第二指纹。
16.根据权利要求9至15中任一项所述的服务器(101,101’),其中,所述安全对等连接是数据报传输层安全DTLS连接,并且每个证书是DTLS证书。
17.一种服务器(101,101’),包括:
用于从第一对等端接收针对web应用的请求的装置;
用于向所述第一对等端发送命令以请求所述第一对等端的证书的指纹的装置;
用于从所述第一对等端接收第一指纹的装置;以及
用于向第二对等端发送所述第一指纹从而实现在所述第一对等端和所述第二对等端之间建立安全对等连接的装置。
18.一种计算机程序(66,91),用于实现在第一对等端和第二对等端之间建立安全对等连接,所述计算机程序包括计算机程序代码,所述计算机程序代码在服务器(101,101’)上运行时使得服务器(101,101’):
从第一对等端接收针对web应用的请求;
向第一对等端发送指令以请求所述第一对等端的证书的指纹;
从所述第一对等端接收第一指纹;以及
向所述第二对等端发送所述第一指纹。
19.一种计算机程序产品(64,90),包括根据权利要求18所述的计算机程序和存储有所述计算机程序的计算机可读装置。
20.一种用于第一对等端的方法,用于实现在第一对等端和第二对等端之间建立安全对等连接,所述方法包括以下步骤:
向服务器发送(140)针对web应用的请求;
接收(142)针对所述对等端的证书的指纹的命令;以及
响应于所述请求,发送(144)所述第一对等端的证书的第一指纹以用于验证所述第一指纹对应于所述第一对等端的证书。
21.根据权利要求20所述的方法,其中接收(142)针对所述指纹的命令的步骤包括:接收针对所述指纹的CSP命令;以及发送(144)所述指纹的步骤包括在CSP命令中发送所述指纹。
22.根据权利要求20或21所述的方法,还包括以下步骤:
接收(148)所述第二对等端的证书的第二指纹;以及
在与所述第二对等端的握手过程中,通过与所述第二指纹进行比较来验证(150)所述第二对等端的身份,其中所述握手仅在所述验证成功时成功。
23.根据权利要求22所述的方法,其中接收(148)所述第二指纹的步骤包括在CSP命令中接收所述第二指纹。
24.根据权利要求20至23中任一项所述的方法,还包括以下步骤:
接收(145)用于接收指纹数据的URI;
使用所述URI发送(146)指纹数据请求;以及
其中接收(148)所述第二指纹的步骤包括接收对所述指纹数据请求的响应,所述响应包括所述第二指纹。
25.根据权利要求20至24中任一项所述的方法,其中每个指纹包括证书的哈希值。
26.根据权利要求20至25中任一项所述的方法,其中,发送(144)所述第一指纹的步骤包括使用针对所述指纹的所述命令中包括的URI来发送所述第一指纹。
27.根据权利要求20至26中任一项所述的方法,其中,所述安全对等连接是数据报传输层安全DTLS连接,并且每个证书是DTLS证书。
28.一种对等设备(102a),作为用于实现在第一对等端和第二对等端之间建立安全对等连接的第一对等端,所述对等设备(102a)包括:
处理器(60);以及
存储器(64),包括能够由所述处理器执行以进行以下操作的指令(66):
向服务器发送针对web应用的请求;
接收针对对等端的证书的指纹的命令;以及
响应于所述请求,发送所述第一对等端的证书的第一指纹以用于验证所述第一指纹对应于所述第一对等端的证书。
29.根据权利要求28所述的对等设备(102a),其中用于接收针对所述指纹的命令的指令包括能够由所述处理器执行以进行以下操作的指令(66):接收针对所述指纹的CSP命令;以及用于发送所述指纹的指令包括能够由所述处理器执行以进行以下操作的指令(66):在CSP命令中发送所述指纹。
30.根据权利要求28或29所述的对等设备(102a),还包括能够由所述处理器执行以进行以下操作的指令(66):
接收所述第二对等端的证书的第二指纹;以及
在与所述第二对等端的握手过程中,通过与所述第二指纹进行比较来验证所述第二对等端的身份,其中所述握手仅在所述验证成功时成功。
31.根据权利要求30所述的对等设备(102a),其中用于接收所述第二指纹的指令包括能够由所述处理器执行以进行以下操作的指令(66):在CSP命令中接收所述第二指纹。
32.根据权利要求28至31中任一项所述的对等设备(102a),还包括能够由所述处理器执行以进行以下操作的指令(66):
接收用于接收指纹数据的URI;
使用所述URI发送指纹数据请求;以及
其中用于接收所述第二指纹的指令包括能够由所述处理器执行以进行以下操作的指令(66):接收对所述指纹数据请求的响应,所述响应包括所述第二指纹。
33.根据权利要求28至32中任一项所述的对等设备(102a),其中,每个指纹包括证书的哈希值。
34.根据权利要求28至33中任一项所述的对等设备(102a),其中,用于发送所述第一指纹的指令包括能够由所述处理器执行以进行以下操作的指令(66):使用针对所述指纹的所述指令中包括的URI来发送所述第一指纹。
35.根据权利要求28至34中任一项所述的对等设备(102a),其中,所述安全对等连接是数据报传输层安全DTLS连接,并且每个证书是DTLS证书。
36.一种对等设备,包括:
用于向服务器发送针对web应用的请求的装置;
用于接收针对对等端的证书的指纹的命令的装置;以及
用于响应于所述请求,发送作为第一对等端的所述对等设备的证书的第一指纹,以用于验证所述第一指纹对应于所述第一对等端的证书,从而实现在所述第一对等端和第二对等端之间建立安全对等连接的装置。
37.一种计算机程序(66,91),用于实现在第一对等端和第二对等端之间建立安全对等连接,所述计算机程序包括计算机程序代码,所述计算机程序代码在作为所述第一对等端的对等设备上运行时使得所述对等设备:
向服务器发送针对web应用的请求;
接收针对对等端的证书的指纹的命令;以及
响应于所述请求,发送所述第一对等端的证书的第一指纹以用于验证所述第一指纹对应于所述第一对等端的证书。
38.一种计算机程序产品(64,90),包括根据权利要求37所述的计算机程序和存储有所述计算机程序的计算机可读装置。
CN201680053754.0A 2015-07-15 2016-06-22 实现建立安全的对等连接 Active CN108028840B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562192716P 2015-07-15 2015-07-15
US62/192,716 2015-07-15
PCT/SE2016/050605 WO2017010925A1 (en) 2015-07-15 2016-06-22 Enabling setting up a secure peer-to-peer connection

Publications (2)

Publication Number Publication Date
CN108028840A true CN108028840A (zh) 2018-05-11
CN108028840B CN108028840B (zh) 2021-01-22

Family

ID=56550280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680053754.0A Active CN108028840B (zh) 2015-07-15 2016-06-22 实现建立安全的对等连接

Country Status (5)

Country Link
US (1) US10868802B2 (zh)
EP (1) EP3323232B1 (zh)
CN (1) CN108028840B (zh)
AR (1) AR105377A1 (zh)
WO (1) WO2017010925A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111771357A (zh) * 2019-01-31 2020-10-13 深圳市汇顶科技股份有限公司 Tls证书认证方法、装置、设备及存储介质
CN114679486A (zh) * 2022-03-29 2022-06-28 网易(杭州)网络有限公司 通信交互方法及系统、应用端、客户端、中转服务端
CN115037978A (zh) * 2022-07-13 2022-09-09 北京字跳网络技术有限公司 投屏方法及相关设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014009495B4 (de) * 2014-06-26 2020-07-23 Unify Gmbh & Co. Kg Verfahren zum Aufbau einer für die Übermittlung von Medienströmen geeigneten Kommunikationsverbindung von einem ersten RTC-Client zu einem zweiten RTC-Client
CN113723941A (zh) * 2016-05-27 2021-11-30 腾讯科技(深圳)有限公司 信息更新的方法、装置以及服务器
GB2575433B (en) * 2018-06-26 2020-07-08 Advanced Risc Mach Ltd Automatic client device registration
JP7099198B2 (ja) * 2018-09-03 2022-07-12 富士フイルムビジネスイノベーション株式会社 管理装置、管理システム及びプログラム
US11017075B1 (en) * 2018-11-30 2021-05-25 Amazon Technologies, Inc. Detecting digital content performing browser fingerprinting using WebRTC
US11425114B2 (en) * 2019-09-30 2022-08-23 Ringcentral, Inc. Systems and methods for supporting a secure connectivity
US11533617B2 (en) * 2020-09-30 2022-12-20 Fortinet, Inc. Secure link aggregation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195969A (zh) * 2010-03-10 2011-09-21 阿瓦雅公司 具有单登入安全认证的多个设备的受信群组
CN102299917A (zh) * 2010-06-25 2011-12-28 微软公司 在视频会议中结合直接和路由通信
US20140201820A1 (en) * 2013-01-14 2014-07-17 Futurewei Technologies, Inc. Adapting Federated Web Identity Protocols
CN104301107A (zh) * 2013-07-17 2015-01-21 阿瓦亚公司 经由相应WebRTC数据信道验证WebRTC媒体信道私密性的方法、系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842449B2 (en) * 2002-07-09 2005-01-11 Verisign, Inc. Method and system for registering and automatically retrieving digital-certificates in voice over internet protocol (VOIP) communications
US7392375B2 (en) * 2002-09-18 2008-06-24 Colligo Networks, Inc. Peer-to-peer authentication for real-time collaboration
US20040243665A1 (en) * 2003-05-27 2004-12-02 Outi Markki System and method for services provision in a peer-to-peer environment
US8582567B2 (en) * 2005-08-09 2013-11-12 Avaya Inc. System and method for providing network level and nodal level vulnerability protection in VoIP networks
FI20050491A0 (fi) * 2005-05-09 2005-05-09 Nokia Corp Järjestelmä varmenteiden toimittamiseksi viestintäjärjestelmässä
US8200959B2 (en) * 2007-06-28 2012-06-12 Cisco Technology, Inc. Verifying cryptographic identity during media session initialization
EP2245832B1 (de) * 2008-01-07 2016-01-06 Unify GmbH & Co. KG Verfahren zum authentisieren einer schlüsselinformation zwischen endpunkten einer kommunikationsbeziehung
US20090288138A1 (en) * 2008-05-19 2009-11-19 Dimitris Kalofonos Methods, systems, and apparatus for peer-to peer authentication
KR101088852B1 (ko) * 2009-12-09 2011-12-06 한국인터넷진흥원 인터넷 전화 과금우회 공격 탐지 시스템 및 그 탐지 방법
US9203823B2 (en) * 2013-10-30 2015-12-01 At&T Intellectual Property I, L.P. Methods and systems for selectively obtaining end user authentication before delivering communications
WO2015069165A1 (en) * 2013-11-08 2015-05-14 Telefonaktiebolaget L M Ericsson (Publ) Allocation of ressources for real-time communication
US9380030B2 (en) * 2014-05-20 2016-06-28 Avay Inc. Firewall traversal for web real-time communications
US10033720B2 (en) * 2014-05-28 2018-07-24 Futurewei Technologies, Inc. Method and system for creating a certificate to authenticate a user identity
EP3195523B1 (en) * 2014-08-20 2020-03-18 Telefonaktiebolaget LM Ericsson (publ) Methods, devices and management terminals for establishing a secure session with a service
US20170250827A1 (en) * 2014-08-22 2017-08-31 Nokia Solutions And Networks Oy Trust anchor update in a public key infrastructure
FR3028369A1 (fr) * 2014-11-10 2016-05-13 Orange Procede et systeme de gestion d'identites d'utilisateurs destine a etre mis en oeuvre lors d'une communication entre deux navigateurs web
US9979722B2 (en) * 2014-12-22 2018-05-22 Futurewei Technologies, Inc. Method and apparatus for processing a RTCWEB authentication
US10193698B1 (en) * 2015-06-26 2019-01-29 Juniper Networks, Inc. Avoiding interdicted certificate cache poisoning for secure sockets layer forward proxy
US9819745B2 (en) * 2015-07-09 2017-11-14 Extreme Networks, Inc. System and method for prevention of denial of service attacks for hosted network address translator
US9860064B2 (en) * 2016-03-07 2018-01-02 Citrix Systems, Inc. Encrypted password transport across untrusted cloud network
CN109274634B (zh) * 2017-07-18 2021-06-11 腾讯科技(深圳)有限公司 多媒体通信方法及装置、存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195969A (zh) * 2010-03-10 2011-09-21 阿瓦雅公司 具有单登入安全认证的多个设备的受信群组
CN102299917A (zh) * 2010-06-25 2011-12-28 微软公司 在视频会议中结合直接和路由通信
US20140201820A1 (en) * 2013-01-14 2014-07-17 Futurewei Technologies, Inc. Adapting Federated Web Identity Protocols
CN104301107A (zh) * 2013-07-17 2015-01-21 阿瓦亚公司 经由相应WebRTC数据信道验证WebRTC媒体信道私密性的方法、系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111771357A (zh) * 2019-01-31 2020-10-13 深圳市汇顶科技股份有限公司 Tls证书认证方法、装置、设备及存储介质
CN111771357B (zh) * 2019-01-31 2022-05-24 深圳市汇顶科技股份有限公司 Tls证书认证方法、装置、设备及存储介质
CN114679486A (zh) * 2022-03-29 2022-06-28 网易(杭州)网络有限公司 通信交互方法及系统、应用端、客户端、中转服务端
CN114679486B (zh) * 2022-03-29 2024-05-07 网易(杭州)网络有限公司 通信交互方法及系统、应用端、客户端、中转服务端
CN115037978A (zh) * 2022-07-13 2022-09-09 北京字跳网络技术有限公司 投屏方法及相关设备
CN115037978B (zh) * 2022-07-13 2023-08-25 北京字跳网络技术有限公司 投屏方法及相关设备

Also Published As

Publication number Publication date
WO2017010925A1 (en) 2017-01-19
EP3323232B1 (en) 2023-02-22
CN108028840B (zh) 2021-01-22
EP3323232A1 (en) 2018-05-23
AR105377A1 (es) 2017-09-27
US20180205720A1 (en) 2018-07-19
US10868802B2 (en) 2020-12-15

Similar Documents

Publication Publication Date Title
CN108028840A (zh) 实现建立安全的对等连接
CN103179106B (zh) 对未授权的访问请求使用假肯定响应的网络安全
Yavari et al. An Improved Blockchain‐Based Authentication Protocol for IoT Network Management
CN105027493B (zh) 安全移动应用连接总线
CN102638454B (zh) 一种面向http身份鉴别协议的插件式单点登录集成方法
CN105229987B (zh) 主动联合的移动认证
CN105554098B (zh) 一种设备配置方法、服务器及系统
CN108235805A (zh) 账户统一方法、装置及存储介质
CN108702393A (zh) 服务授权握手
CN107342984A (zh) 一种用于设备绑定的系统、方法及装置
CN110351228A (zh) 远程登录方法、装置和系统
CN103179134A (zh) 基于Cookie的单点登录方法、系统及其应用服务器
CN107426174A (zh) 一种可信执行环境的访问控制系统及方法
JP5895782B2 (ja) 通信システム、通信装置、通信方法、および、通信プログラム
CN107872455A (zh) 一种跨域单点登录系统及其方法
JP2007310512A (ja) 通信システム、サービス提供サーバおよびユーザ認証サーバ
CN110278179A (zh) 单点登录方法、装置和系统以及电子设备
CN108347428A (zh) 基于区块链的应用程序的注册系统、方法和装置
Recabarren et al. Tithonus: A bitcoin based censorship resilient system
CN106209816B (zh) 一种网络摄像机登录方法及系统
CN109829722A (zh) 一种电子支付系统的用户身份实名认证方法
CN111786795B (zh) 域名注册方法、域名监管方法、客户端及域名监管终端
CN109450990A (zh) 一种基于教育系统的云存储实现方法及电子设备
Abubakar et al. A lightweight and user-centric two-factor authentication mechanism for iot based on blockchain and smart contract
Wang et al. A framework for formal analysis of privacy on SSO protocols

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