CN111884988A - 数据的安全传输方法 - Google Patents
数据的安全传输方法 Download PDFInfo
- Publication number
- CN111884988A CN111884988A CN202010371254.XA CN202010371254A CN111884988A CN 111884988 A CN111884988 A CN 111884988A CN 202010371254 A CN202010371254 A CN 202010371254A CN 111884988 A CN111884988 A CN 111884988A
- Authority
- CN
- China
- Prior art keywords
- data
- entropy pool
- message
- messaging proxy
- header
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3242—Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3247—Cryptographic 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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及数据的安全传输方法。在经由消息传递代理在第一装置和第二装置之间的端到端的数据安全传输中执行:借助于信令消息经由消息传递代理在第一装置和第二装置之间共享熵池,以非对称方式加密信令消息的可能有用数据并且信令消息包括消息签名;以及经由消息传递代理在第一装置和第二装置之间传输后续消息,每个所述后续消息包括头部和有用数据,头部包括基于共享熵池获得的认证密钥的识别码和基于共享熵池获得的对称加密密钥的识别码,藉由对称加密密钥对称地加密有用数据并且藉由消息认证码认证由头部和有用数据形成的整体,消息认证码是藉由认证密钥获得的且插入在头部中。这样,后续消息得益于通过预先共享熵池的方式赋予的不可否认性。
Description
技术领域
本发明涉及在围绕消息传递代理布置的传输架构中安全地传输数据的方法,消息传递代理(agent de messagerie)有时也称为“消息代理(agent de messages)”或“消息中介(courtier de messages)”或“消息传递中介(courtier de messagerie)”,英语为“message broker”。
背景技术
消息传递代理充当须彼此通信的各种单元之间的居间中介,从而使得这些各种单元能够脱开(découplage)。当彼此通信的各种单元必须强制性地遵守端到端的安全传输约束时,会出现困难。实际上,在数据传输链中实施消息传递代理按照定义会引入削弱数据安全保障的居间中介。
更确切地说,可以藉由例如TLS(英语为“Transport Layer Security(传输层安全性)”)协议来保障端到端通信的安全,该协议使得能够在客户端-服务器关系中确保服务器的基本认证(简单认证)和在服务器如此请求的情况下的客户端的基本认证(互相认证)、以及所交换数据的机密性和完整性。消息传递代理的存在于是强迫在消息传递代理与须彼此通信的各种单元中的每一个单元之间使用TLS协议,但是由于消息传递代理于是本身能够访问在所述各种单元之间交换的未经加密的数据,因此不再遵守端到端的安全性约束。另外,鉴于对诸如TLS或SASL(英语为“Simple Authentication and Security Layer(简单认证和安全性层)”)之类的安全性协议的支持,消息传递代理的该类型是特定的。另外,考虑到针对数百万用户的消息传递,如例如互联网上电视系统的情况,依靠经互相认证的连接在资源方面极其昂贵,这是因为在这种情况下,需要为每个用户提供唯一的专用证书,并且需要管理能够递送与潜在用户数量相适应的数量的证书的公钥基础设施PKI(英语为“Public Key Infrastructure”)。
可以对经由消息传递代理交换的每个消息添加加密和认证,以确保端到端的安全性并将消息的有用数据(donnée utile,英语为“payload data(有效载荷数据)”)的可及范围限制为这些有用数据的接收方。于是,第一种方法在于对消息的有用数据使用非对称加密并对整个消息使用签名,以确保机密性和不可否认性,并且仅使用成对的私钥/公钥,这易于管理,但需要大量的处理资源(例如,CPU(英语为“Central Processing Unit(中央处理单元)”)容量)。然而,该第一种方法不适用于嵌入式设备的情况,其具有较少的处理资源而必须收发大量的消息,诸如物联网IoT(英语为“Internet of Things”)的情况。第二种方法在于对消息的有用数据使用对称加密,对整个消息使用签名,并针对对称加密传送秘密密钥,该秘密密钥本身是以非对称方式加密的,以确保机密性和不可否认性,并且此处仍使用成对的公钥/私钥。然而,与第一种方法相比,该第二种方法通过仅消除了对消息的有用数据进行非对称加密的需求而仅略微减轻了处理资源需求的负担。第三种方法在于对整个消息使用消息认证码并对消息的有用数据使用对称加密,以确保机密性和认证,所述消息认证码例如HMAC类型的消息认证码(HMAC英语为“keyed-Hash Message AuthenticationCode(用密钥的散列消息认证码)”,或用密钥加了加密标记的消息认证码)。然而,该第三种方法并不适用,因为与前两种方法相比,该方法会导致缺乏不可否认性。
于是,期望减轻现有技术的这些缺点。
尤其是期望提供一种解决方案,其使得即便是存在消息传递代理也能够确保端到端的安全性,从而能够支持具有多样化的处理能力(即,可以是嵌入式设备的处理资源,也可以是云计算处理资源)的通信设备。
尤其是期望提供一种解决方案,其适合于使用发布-订阅(英语为“Publish-Subscribe”)型机制的消息传递代理以及使用“路由RPC(Routed RPC,RPC的英语为“RemoteProcedure Call(远程过程调用)”)”型机制的消息传递代理。
发明内容
本发明的目的是提出一种经由消息传递代理在第一装置和第二装置之间进行端到端的数据安全传输的方法,其特征在于该方法包括以下步骤:借助于信令消息经由消息传递代理在第一装置和第二装置之间共享熵池(réserve d'entropie,英语为“entropypool”)(要求不可否认性、完整性和机密性),以非对称方式对所述信令消息的可能的有用数据进行加密从而赋予机密性,并且所述信令消息包括消息签名从而赋予不可否认性和完整性;以及,经由消息传递代理在第一装置和第二装置之间传输后续消息,每个所述后续消息包括头部(英语为“header”)和有用数据,头部包括基于所共享的熵池(具有不可否认性)获得的认证密钥的识别码(要求认证和完整性)和基于所共享的熵池(具有不可否认性)获得的对称加密密钥的识别码(要求认证和完整性),藉由对称加密密钥以对称方式对有用数据进行加密以赋予机密性,并且藉由消息认证码(赋予认证和完整性)对由头部和有用数据形成的整体进行认证,所述消息认证码是藉由认证密钥获得的并且插入在头部中。这样,确保了端到端的安全性,同时通过采用对称加密而极力减少对处理资源的需求,所述对称加密继承了通过在第一装置和第二装置之间预先共享的熵池的方式而赋予的不可否认性。
根据特定实施例,消息认证码是HMAC类型的。这样,增强了端到端的安全性。
根据特定实施例,通过存储在熵池中的第一数据的聚合(agrégation)来获得认证密钥,并且通过熵池中的对应于所述第一数据的索引的聚合来获得认证密钥的识别码。这样,藉由结构简单的熵池,可以容易地生成和识别许多认证密钥。
根据特定实施例,通过存储在熵池中的第一数据的聚合来获得认证密钥,并且认证密钥的识别码是索引聚合表的索引,熵池中的对应于所述第一数据的索引的聚合被存储在所述索引聚合表中。
根据特定实施例,通过存储在熵池中的第二数据的聚合来获得对称加密密钥,并且通过熵池中的对应于所述第二数据的索引的聚合来获得对称加密密钥的识别码。这样,藉由结构简单的熵池,可以容易地生成和识别许多对称加密密钥。
根据特定实施例,通过存储在熵池中的第二数据的聚合来获得对称加密密钥,并且对称加密密钥的识别码是索引聚合表的索引,熵池中的对应于所述第二数据的索引的聚合被存储在所述索引聚合表中。
根据特定实施例,第一装置通过使用与跟第二装置一起使用的相同的熵池、以相同的方式来执行经由消息传递代理与第三装置的端到端的数据安全收发。这样,第一装置、第二装置和第三装置容易地在同一个端到端的安全群组环境中操作。
根据特定实施例,第一装置通过使用与跟第二装置一起使用的熵池不同的熵池、以相同的方式来执行经由消息传递代理与第三装置的端到端的数据安全收发。这样,一方面是第一装置和第二装置,另一方面是第一装置和第三装置,容易地在端到端的私有安全环境中操作。
根据特定实施例,第一装置通过使用专用于发射来自第一装置的消息的熵池来执行经由消息传递代理向第二装置和第三装置的端到端的数据安全发射。这样,在端到端的私有安全环境中,仅第一装置容易地进行发射操作,并且第二装置和第三装置进行接收操作。
根据特定实施例,第一装置通过使用专用于由第一装置进行消息接收的熵池来执行经由消息传递代理的对来自第二装置和第三装置的数据的端到端的安全接收。这样,在端到端的私有安全环境中,仅第一装置容易地进行接收操作,并且第二装置和第三装置进行向第一装置的发射操作。
根据特定实施例,第一装置是电视解码器并且第二装置是终端,所述终端被配置成并且适合于经由端到端的数据安全传输来控制电视解码器。这样,容易地以安全的方式控制电视解码器。
根据特定实施例,第一装置是计算云并且第二装置是终端,所述终端被配置成并且适合于经由端到端的数据安全传输来将分析数据传输给计算云。这样,计算云容易地以安全的方式接收分析数据。
根据特定实施例,熵池被存储在计算云内、在与第二装置通信的每个应用实例可访问的数据库中。这样,避免了在应用实例之间复制熵池的副本,这使得能够通过计算云的应用实例而容易地应用对熵池的访问控制。
本发明还涉及一种计算机程序,其可以存储在介质上和/或从通信网络下载,以便被处理器读取。该计算机程序包括当所述程序由处理器执行时用于实现在其任一实施例中的上述方法的指令。本发明还涉及一种存储这样的计算机程序的信息存储介质。
本发明还涉及一种称为第一装置的装置,其适合于并且被配置成执行经由消息传递代理与第二装置的端到端的数据安全传输。第一装置包括:用于借助于信令消息经由消息传递代理在第一装置和第二装置之间共享熵池的部件,以非对称方式对所述信令消息的可能的有用数据进行加密,并且所述信令消息包括消息签名;以及,用于经由消息传递代理在第一装置和第二装置之间传输后续消息的部件,每个所述后续消息包括头部和有用数据,头部包括基于所共享的熵池获得的认证密钥的识别码和基于所共享的熵池获得的对称加密密钥的识别码,藉由对称加密密钥以对称方式对有用数据进行加密,并且藉由消息认证码对由头部和有用数据形成的整体进行认证,所述消息认证码是藉由认证密钥获得的并且插入在头部中。
附图说明
通过阅读以下对至少一个实施例的描述,上述发明特征以及其他发明特征将更加清楚地显现,所述描述是结合附图进行的,在附图中:
图1示意性地示出了本发明可以实现于其中的通信系统的第一示例;
图2示意性地示出了通信系统的第二示例;
图3示意性地示出了通信系统中的装置的硬件布置的示例;
图4示意性地示出了熵池共享算法;
图5示意性地示出了用于共享熵池的交换的示例;
图6示意性地示出了用于共享熵池的信令消息的格式的示例;
图7示意性地示出了藉由共享熵池的安全消息格式的第一示例;
图8示意性地示出了藉由共享熵池的安全消息格式的第二示例;
图9示意性地示出了藉由共享熵池的安全消息发送算法;以及
图10示意性地示出了熵池的布置。
具体实施方式
接下来的描述介绍了经由消息传递代理从第一装置向第二装置的端到端的数据安全传输,其包括:借助于信令消息经由消息传递代理在第一装置和第二装置之间共享熵池,以非对称方式对所述信令消息的可能的有用数据进行加密,并且所述信令消息包括消息签名;以及,经由消息传递代理在第一装置和第二装置之间传输后续消息,每个所述后续消息包括头部和有用数据,头部包括基于所共享的熵池获得的认证密钥的识别码和基于所共享的熵池获得的对称加密密钥的识别码,藉由对称加密密钥以对称方式对有用数据进行加密,并且藉由认证码对由头部和有用数据形成的整体进行认证,所述认证码是藉由认证密钥获得的并且插入在头部中。接下来的描述介绍了通信系统中的这种端到端的数据安全传输(消息传递代理可能被包括或可能不被包括在所讨论的通信系统中),在图1和图2中示出了所述通信系统的示例。
这样,图1示意性地示出了本发明可以实现于其中的通信系统的第一示例。
在图1中,通信系统处于家庭网络(英语为“home network”)NET 100中。通信系统包括适合于并且被配置成解码视听流的电视解码器DEC 110。这些视听流通常由电视解码器DEC 110从诸如互联网之类的分发网络接收。例如,电视解码器DEC 110连接到家庭网关(英语为“residential gateway(住宅网关)”),家庭网关提供对互联网的访问,以使得电视解码器DEC 110能够接收这些视听流。
在家庭网络NET 100内,电视解码器DEC 110例如藉由Wi-Fi(注册商标)类型的无线连接而连接到至少一个终端T1 101、T2 102、T3 103。例如,终端T1 101是智能电话(英语为“smartphone(智能手机)”),终端T2 102是平板电脑,并且终端T3 103是便携式计算机(英语为“laptop(膝上型电脑)”)。每个终端T1 101、T2 102、T3 103适合于并且被配置成遥控电视解码器DEC 110。
电视解码器DEC 110包括一个或多个应用APP1 131、APP2 132、APP3 133。电视解码器DEC 110还包括消息传递代理BRK 120,其例如是WAMP(英语为“Web ApplicationMessaging Protocol(Web应用消息传递协议)”)类型的。每个终端T1 101、T2 102、T3 103包括适合于并且被配置成中间通过消息传递代理BRK 120与电视解码器DEC 110的一个或多个应用APP1 131、APP2 132、APP3 133通信的应用。
当电视解码器DEC 110包含多个应用APP1 131、APP2 132、APP3 133时,电视解码器DEC 110可以包括代理应用(英语为“proxy application”)PXY 130,代理应用PXY 130用作电视解码器DEC 110内部的在消息传递代理BRK 120和应用APP1 131、APP2 132、APP3133之间的居间中介。
本发明使得能够保障以下交换的安全:在终端T1 101、T2 102、T3 103的每个应用与每个应用APP1 131、APP2 132、APP3 133之间的交换、或者至少在终端T1 101、T2 102、T3103的每个应用与代理应用PXY 130之间。为此,在电视解码器DEC 110的每个应用APP1131、APP2 132、APP3 133和终端T1 101、T2 102、T3 103的被授权与电视解码器DEC 110的所述应用进行交换的每个应用之间共享熵池。在存在代理应用PXY 130的情况下,在电视解码器DEC 110的代理应用PXY 130和终端T1 101、T2 102、T3 103的被授权与电视解码器DEC110的一个或多个应用APP1 131、APP2 132、APP3 133进行交换的每个应用之间共享熵池。
通信系统的该第一示例特别适合于与使用消息传递代理BRK 120的服务的应用群组(终端的应用和电视解码器DEC 110的应用APP1 131、APP2 132、APP3 133、或代理应用PXY 130)共享同一个熵池。然而,尽管如此,仍可以使用专用于使用消息传递代理BRK 120的服务的每个终端应用的熵池。
要注意到,尽管在图1中,消息传递代理BRK 120被包括在电视解码器DEC 110中,但是消息传递代理BRK 120也可以安装在家庭网络NET 100的第三方装置中。可以藉由例如增补了SASL协议的TLS协议来保障家庭网络NET 100中与消息传递代理BRK 120的通信的安全。如介绍部分所述,这使得能够保障与消息传递代理BRK 120的数据交换(与消息传递代理BRK 120的交换协议)的安全,但是不能保障应用之间的端到端数据交换的安全。这赋予了补充的安全保障等级,但是没有对消息传递代理BRK 120本身的存在所引起的安全性弱点问题起作用。
图2示意性地示出了本发明可以实现于其中的通信系统的第二示例。
在图2中,通信系统包括云计算系统CLD 210,至少一个终端T1' 201、T2' 202、T3'203、T4' 204例如藉由互联网连接到所述云计算系统CLD 210。回顾一下,云计算系统是服务器农场中的一个或多个部分,其通常是以虚拟机的形式。例如,终端T1' 201、T2' 202属于第一家庭网络NET1 201,并且终端T3' 203、T4' 204属于第二家庭网络NET2 202。例如,终端T1' 201和T3' 203是家庭网关,并且终端T2' 202和T4' 204是经由所述家庭网关访问互联网的电视解码器。
云计算系统CLD 210包括应用的一个或多个软件实例,在由Amazon Web Services(亚马逊Web服务,注册商标)的云计算系统的服务所提供的功能性中称为lambda功能。云计算系统CLD 210还包括例如WAMP类型的消息传递代理BRK 120。每个终端T1' 201、T2' 202、T3' 203、T4' 204包括适合于并且被配置成中间通过消息传递代理BRK 120与云计算系统CLD 210的一个或多个应用实例LBD1 231、LBD2 232、LBD3 233通信的应用。如图2所示,应用实例LBD1 231可以用作至少一个其他应用实例LBD2 232、LBD3 233与消息传递代理BRK120之间的居间中介。
云计算系统CLD 210还包括由应用实例LBD1 231、LBD2 232、LBD3 233共享的数据库SGBD 240(例如,存储器中的REDIS(英语为“REmote DIctionary Server(远程字典服务器)”)类型的数据库)。在其中存储有要在云计算系统CLD 210和终端T1' 201、T2' 202、T3'203、T4' 204的应用之间共享的每个熵池。
这样,本发明尤其使得能够将来自终端T1' 201、T2' 202、T3' 203、T4' 204的分析数据上传给云计算系统CLD 210,以便通过自动化学习(英语为“Machine Learning(机器学习)”)进行处理,以优化终端T1' 201、T2' 202、T3' 203、T4' 204和/或其他终端的配置。
通信系统的该第二示例特别适合于专用于使用消息传递代理BRK 120的服务的每个终端应用的熵池的共享。这样,终端T1' 201、T2' 202、T3' 203、T4' 204中的每一个和云计算系统CLD 210之间的交换彼此完全隔离。
作为变型,通信系统的该第二示例还特别适合于熵池专用于从第一装置向其他装置(至少第二装置和第三装置)的端到端的数据安全发射。于是,熵池仅专用于经由消息传递代理BRK 120的来自第一装置的消息的发射以及所述其他装置对这些消息的接收(以便解密由所述第一装置经由消息传递代理BRK 120发射的消息)。于是,同一个熵池就不适用于两个通信方向。这种方法也可以适用于通信系统的第一示例的上下文中。
作为另一变型或作为前面的变型的增补,通信系统的该第二示例还特别适合于熵池专用于从其他装置(至少第二装置和第三装置)向第一装置的端到端的数据安全接收。于是,熵池仅专用于经由消息传递代理BRK 120的目的地为第一装置的消息的发射以及所述第一装置对这些消息的接收(以便由所述第一装置解密这些消息)。于是,如前面的变型中那样,同一个熵池就不适用于两个通信方向。这种方法也可以适用于通信系统的第一示例的上下文中。
要注意到,尽管在图2中,消息传递代理BRK 120被包括在云计算系统CLD 210中,但是消息传递代理BRK 120也可以安装在第三方装置中。可以藉由例如增补了SASL协议的TLS协议来保障与消息传递代理BRK 120的通信的安全。如介绍部分所述,这使得能够保障与消息传递代理BRK 120的数据交换(与消息传递代理BRK 120的交换协议)的安全,但是不能保障终端应用和云计算系统CLD 210中的应用实例之间的端到端数据交换的安全。如针对图1的上下文那样,这赋予了补充的安全保障等级,但是没有对消息传递代理BRK 120本身的存在所引起的安全性弱点问题起作用。
如后文详述的,熵池是藉由信令消息来共享的,信令消息是藉由非对称加密来加密的,以便满足机密性要求,并且信令消息还包括消息签名,以便满足不可否认性要求。这样,熵池就继承了藉由用于传输并因此用于共享熵池的信令消息的签名而确保的不可否认性。于是,这种继承使得在随后的数据消息交换中能够仅使用例如HMAC类型的消息认证码MAC(英语为“Message Authentication Code”)、以及使用所共享的熵池的对称加密,而无需质疑不可否认性要求。作为回顾,消息认证码MAC是伴随数据的代码,其目的为通过使得能够验证数据未经任何修改来确保这些数据的完整性。消息认证码MAC不仅确保了消息完整性验证功能,如简单的散列函数所使能的那样,而且还藉由秘密密钥的共享而确保了认证功能。HMAC类型的消息认证码是一种消息认证码MAC,它是使用加密的散列函数结合秘密密钥计算出来的,以提高鲁棒性。
这样,一旦共享了熵池,与非对称加密机制相比,就减少了对要中间通过消息传递代理BRK 120而传输的消息进行加密以及对中间通过消息传递代理BRK 120接收到的消息进行解密所需的处理资源。这意味着本发明使得能够支持具有多样化的处理能力(即,可以是嵌入式设备的处理资源,也可以是云计算处理资源)的通信设备,所述通信设备可能在同一个通信系统内。
图3示意性地示出了通信系统中的装置的硬件布置的硬件架构的示例,如例如终端T1 101、T2 102、T3 103和/或终端T1' 201、T2' 202、T3' 203、T4' 204和/或电视解码器DEC 110和/或形成云计算系统CLD 210的服务器。
所呈现的硬件架构的示例包括通过通信总线310连接的:处理器CPU 301;读写存储器RAM(英语为“Random Access Memory(随机存取存储器)”)302;只读存储器ROM(英语为“Read Only Memory”)303或闪存;存储单元或存储介质读取器,如SD(英语为“SecureDigital(安全数字)”)读卡器304或硬盘HDD(英语为“Hard Disk Drive(硬盘驱动器)”);以及至少一组通信接口COM 305。该组通信接口COM 305使得所考虑的通信装置能够在通信系统中进行通信,并且更特别地经由消息传递代理BRK 120进行通信。
处理器CPU 301能够执行从存储器ROM 303、外部存储器(如SD卡)、存储介质(如硬盘HDD)、或通信网络加载到存储器RAM 302中的指令。在上电的情况下,处理器CPU 301能够从存储器RAM 302读取指令并执行它们。这些指令形成计算机程序,所述计算机程序使处理器CPU 301实施本文描述的全部或部分的算法和步骤。
这样,本文描述的全部或部分的算法和步骤可以通过由可编程机器(如DSP(英语为“Digital Signal Processor(数字信号处理器)”)或微控制器或处理器)执行一组指令而以软件形式实现。本文描述的全部或部分的算法和步骤也可以由专用机器或组件(如FPGA(英语为“Field-Programmable Gate Array(现场可编程门阵列)”)或ASIC(英语为“Application-Specific Integrated Circuit(专用集成电路)”))以硬件形式来实现。这样,所考虑的通信装置包括适合于并且被配置成实现本文描述的算法和步骤的电子电路。
图4示意性地示出了熵池共享算法。作为例示,考虑熵池是由代理应用PXY 130提供的。
在步骤401中,代理应用PXY 130获得熵池。熵池例如是通过配置代理应用PXY 130获得的(例如,在安装时、或在制造时、或在电视解码器DEC 110的更新期间)。代理应用PXY130通过读取其中存储有熵池的存储区来获得熵池。在图2的云计算系统CLD 210的应用实例LBD1 231的情况中,应用实例LBD1 231向数据库SGBD 240获得熵池。
熵池是能够生成认证密钥和对称加密密钥的一组数据。认证密钥和对称加密密钥藉由各自的识别码来识别,所述识别码使得能够在熵池中找到对应的数据。
优选地,通过存储在熵池中的数据的聚合来生成认证密钥和对称加密密钥。例如,数据以8位表示,并且通过聚合16个8位数据以形成128位密钥来生成认证密钥和对称加密密钥。每个数据(例如8位的数据)是藉由特定于其的索引值而在熵池中识别的。在图10中示意性地示出了针对标为熵池_1的熵池的这种布置。这样,可以通过构成认证密钥或对称加密密钥的数据的索引值的聚合来创建所述密钥的识别码。相同的数据可以多次使用以形成认证密钥或对称加密密钥,这意味着其索引值在所讨论的密钥的识别码中多次出现。例如,考虑定义如下的128位认证密钥:
0x057E004F480856260891F6FF56F10548。
这样定义的认证密钥于是可以藉由图10所示的熵池中的对应的8位数据的索引的聚合来识别,所述索引的聚合如下:
{1; 10; 19; 15; 14; 6; 0; 3; 6; 11; 16; 18; 0; 5; 1; 14}。
这种方法使得能够交换认证密钥的识别码和对称加密密钥的识别码,只有熵池的知晓方才能从中找到所讨论的密钥。
在特定实施例中,也可以使用索引聚合表。定义认证密钥和对称加密密钥的上述索引的聚合可以随着所述密钥的创建而存储在所述索引聚合表中。换言之,仅需要在其中定义了所讨论的密钥的第一消息中提供所讨论的索引聚合。于是可以随后代替定义这样的密钥的索引聚合而使用所述索引聚合表中的索引,形成所述密钥的索引聚合被存储到所述索引聚合表中。
在步骤402中,代理应用PXY 130创建旨在共享在步骤401中获得的熵池的信令消息。藉由非对称加密对信令消息进行加密以满足机密性要求,并且信令消息还包括消息签名以满足不可否认性要求。使用熵池的一个或多个接收方的公钥来实现加密。该一个或多个接收方使用他们的私钥(在群组共享的情况下,几个接收方共用同一组私钥和公钥)来解码消息,从而恢复所传输的熵池。签名是用发送方(即,此处探讨的示例中的代理应用PXY130)的私钥来实现的。于是,该一个或多个接收方使用发送方的公钥来验证接收到的消息的真实性。在共享熵池之前各参与方即知晓公钥。这可以通过配置或通过交换具有认证和完整性的明文消息来实现,该消息的未加密不会造成安全性问题,因为只有公钥才能验证用对应的私钥实现的消息的签名,并且只有私钥才能解密用对应的公钥加密的消息。
在步骤403中,代理应用PXY 130通过向一个或多个接收方传输在步骤402中创建的信令消息来共享在步骤401中获得的熵池。于是,中间通过消息传递代理BRK 120来执行熵池的共享。所应用的非对称加密防止消息传递代理BRK 120能够访问熵池的内容,从而确保了信令消息仅能被一个或多个目标接收方所解密。签名向一个或多个接收方确保了熵池确实是由预期的发送方(即,此处探讨的示例中的代理应用PXY 130)提供的。
优选地,在熵池的一个或多个接收方的主动下触发图4的算法。作为变型,可以在熵池的发送方的主动下触发图4的算法。还可以例如定期地重复图4的算法以更新熵池。
下文结合图5详细描述共享熵池的过程的示例。下文结合图6详细描述适合于共享熵池的信令消息的格式的示例。
一旦这样共享了熵池,就可以使用基于该熵池的使用的对称加密,于是从用于所述熵池的共享的非对称加密和签名继承了不可否认性。下文结合图7和图8详细描述藉由共享熵池的安全消息格式的示例。
图5示意性地示出了用于共享熵池的交换的示例。图5的示例是基于图2的通信系统的示例。在图5中,执行两个熵池的共享:在应用实例LBD 500(例如,应用实例LBD1 231)和第一电视解码器STB1 501之间的第一共享,以及在应用实例LBD 500和第二电视解码器STB2 502之间的第二共享。
消息传递代理BRK 120优选地使用主题树(英语为“topics tree”)。这些主题是消息传递的锚定点。这样,可以通过瞄准给定的主题、即通过瞄准树中的对应节点来投递消息,并通过向主题订阅或注册来接收这些消息。主题还使得能够易于管理访问控制。类似地,可以使用分级数据模型(英语为“hierarchical data model”),该模型使得能够使所交换的消息的类型通用。
例如,主题树包括记为“/根”的根510,记为“/根/熵池”的第一节点511从属于根510。记为“/根/熵池/Req”的第二节点512和记为“/根/熵池/Ntfy”的第三节点513从属于第一节点511。这样,以特定的方式定义主题,一方面用于请求熵池,并且另一方面用于作为响应传输所请求的熵池。
在步骤521中,应用实例LBD 500向消息传递代理BRK 120传输目标为主题树的节点512的第一订阅消息SUB。消息传递代理BRK 120于是记录应用实例LBD 500经由节点512执行了订阅。
在步骤522中,第一电视解码器STB1 501向消息传递代理BRK 120传输目标为主题树的节点513的第二订阅消息SUB。消息传递代理BRK 120于是记录第一电视解码器STB1501经由节点513执行了订阅。
随后,在步骤523中,第一电视解码器STB1 501发送目标为主题树的节点512的第一请求REQ。第一请求REQ的目的地为应用实例LBD 500(优选地,其是充当云计算系统CLD210的入口点的应用实例LBD1 231)并且请求为第一电视解码器STB1 501传输熵池。用来源、即第一电视解码器STB1 501的私钥对第一请求REQ进行签名。并非严格地需要第一请求REQ包含有用数据。如果是这种情况,则用接收方、即应用实例LBD 500(优选地,其是充当云计算系统CLD 210的入口点的应用实例LBD1 231)的公钥来以非对称方式加密有用数据,以确保其机密性。例如,第一请求REQ符合图6所示的格式。在步骤523中,将第一请求REQ封装在符合用于与消息传递代理BRK 120进行交换的协议的消息中,这意味着,通过该封装,该消息由第一电视解码器STB1 501送给消息传递代理BRK 120。
在步骤524中,消息传递代理BRK 120检测到第一请求REQ的目标为主题树的节点512(应用实例LBD 500在步骤521中经由该节点执行了订阅),并且于是将第一请求REQ传播到应用实例LBD 500。为此,消息传递代理BRK 120解封装由第一电视解码器STB1 501传输的消息,并将第一请求REQ重新封装在符合用于与消息传递代理BRK 120进行交换的协议的消息中,这意味着,通过该封装,该消息由消息传递代理BRK 120送给应用实例LBD 500。
在步骤525中,应用实例LBD 500解封装从消息传递代理BRK 120接收的消息。应用实例LBD 500验证第一请求REQ是用所述第一请求REQ所源自于的第一电视解码器STB1 501的私钥签名的。
如果第一请求REQ未正确签名,则应用实例LBD 500忽略第一请求REQ。
如果第一请求REQ被正确签名并且第一请求REQ包含有用数据,则应用实例LBD500用其私钥解密有用数据,所述有用数据是以非对称方式加密了的。然后,应用实例LBD500恢复旨在与第一电视解码器STB1 501共享的熵池,并作为返回发送目标为主题树的节点513的第一响应RSP。第一响应RSP的目的地为第一电视解码器STB1 501,并且包括所请求的熵池。使用应用实例LBD 500的私钥对第一响应RSP进行签名。第一响应RSP的有用数据包含所请求的熵池,并且用接收方、即第一电视解码器STB1 501的公钥以非对称方式对所述有用数据进行加密,以确保其机密性。当在通信系统中可能使用几个熵池时,有用数据优选地还包含熵池的识别码。例如,第一响应RSP符合图6所示的格式。在步骤525中,第一响应RSP被封装在符合用于与消息传递代理BRK 120进行交换的协议的消息中,这意味着,通过该封装,该消息由应用实例LBD 500送给消息传递代理BRK 120。
在步骤526中,消息传递代理BRK 120检测到第一响应RSP的目标为主题树的节点513(第一电视解码器STB1 501在步骤522中经由该节点执行了订阅),并且于是将第一响应RSP传播到第一电视解码器STB1 501。为此,消息传递代理BRK 120解封装由应用实例LBD500传输的消息,并将第一响应RSP重新封装在符合用于与消息传递代理BRK 120进行交换的协议的消息中,这意味着,通过该封装,该消息由消息传递代理BRK 120送给第一电视解码器STB1 501。在接收到第一响应RSP时,第一电视解码器STB1 501解封装由消息传递代理BRK 120传输的消息,并验证第一响应RSP是由所述第一响应RSP所源自于的应用实例LBD500的私钥签名的。
如果第一响应RSP未正确签名,则第一电视解码器STB1 501忽略第一响应RSP。
如果第一响应RSP被正确签名,则第一电视解码器STB1 501用其私钥来解密有用数据,所述有用数据是以非对称方式加密了的。这样,第一电视解码器STB1 501恢复由应用实例LBD 500提供的熵池,并将其存储在存储器中。该熵池于是就在应用实例LBD 500和第一电视解码器STB1 501之间共享了。该熵池继承了与应用实例LBD 500向第一电视解码器STB1 501传输它的方式相关联的不可否认性,并且使得能够藉由对称加密在应用实例LBD500和第一电视解码器STB1 501之间传输后续消息,而不会丧失不可否认性的益处。
在步骤527中,第二电视解码器STB2 502向消息传递代理BRK 120传输目标为主题树的节点513的第三订阅消息SUB。消息传递代理BRK 120于是记录第二电视解码器STB2502经由节点513执行了订阅。
随后,在步骤528中,第二电视解码器STB2 502发送目标为主题树的节点512的第二请求REQ。第二请求REQ的目的地为应用实例LBD 500(优选地,其是充当云计算系统CLD210的入口点的应用实例LBD1 231)并且请求为第二电视解码器STB2 502传输熵池。用第二电视解码器STB2 502的私钥对第二请求REQ进行签名。并非严格地需要第二请求REQ包含有用数据。如果是这种情况,则使用接收方、即应用实例LBD 500的公钥来以非对称方式加密有用数据,以确保其机密性。在步骤528中,将第二请求REQ封装在符合用于与消息传递代理BRK 120进行交换的协议的消息中,这意味着,通过该封装,该消息由第二电视解码器STB2502送给消息传递代理BRK 120。
在步骤529中,消息传递代理BRK 120检测到第二请求REQ的目标为主题树的节点512(应用实例LBD 500在步骤521中经由该节点执行了订阅),并且于是将第二请求REQ传播到应用实例LBD 500。为此,消息传递代理BRK 120解封装由第二电视解码器STB2 502传输的消息,并将第二请求REQ重新封装在符合用于与消息传递代理BRK 120进行交换的协议的消息中,这意味着,通过该封装,该消息由消息传递代理BRK 120送给应用实例LBD 500。
在步骤530中,应用实例LBD 500解封装从消息传递代理BRK 120接收的消息。应用实例LBD 500验证第二请求REQ是通过所述第二请求REQ所源自于的第二电视解码器STB2502的私钥签名的。
如果第二请求REQ未正确签名,则应用实例LBD 500忽略第二请求REQ。
如果第二请求REQ被正确签名并且第二请求REQ包含有用数据,则应用实例LBD500用其私钥解密有用数据,所述有用数据是以非对称方式加密了的。然后,应用实例LBD500恢复旨在与第二电视解码器STB2 502共享的熵池(其可以或者可以不与先前跟第一解码器STB1 501共享的熵池相同),并作为返回发送目标为主题树的节点513的第二响应RSP。第二响应RSP的目的地为第二电视解码器STB2 502,并且包括所请求的熵池。通过应用实例LBD 500的私钥对第二响应RSP进行签名。第二响应RSP的有用数据包含所请求的熵池,并且用接收方、即第二电视解码器STB2 502的公钥以非对称方式对所述有用数据进行加密,以确保其机密性。当在通信系统中可能使用几个熵池时,有用数据优选地还包含熵池的识别码。例如,第二响应RSP符合图6所示的格式。在步骤530中,第二响应RSP被封装在符合用于与消息传递代理BRK 120进行交换的协议的消息中,这意味着,通过该封装,该消息由应用实例LBD 500送给消息传递代理BRK 120。
在步骤531中,消息传递代理BRK 120检测到第二响应RSP的目标为主题树的节点513,第一电视解码器STB1 501在步骤522中经由该节点执行了订阅,并且第二电视解码器STB2 502在步骤527中经由该节点执行了订阅。消息传递代理BRK 120于是在步骤531中将第二响应RSP传播到第一电视解码器STB1 501,并且在步骤532中将第二响应RSP传播到第二电视解码器STB2 502。为此,消息传递代理BRK 120解封装由应用实例LBD 500传输的消息,并将第二响应RSP重新封装在符合用于与消息传递代理BRK 120进行交换的协议的两个消息中。通过该封装,这些消息中的一个由消息传递代理BRK 120送给第一电视解码器STB1501,并且这些消息中的另一个由消息传递代理BRK 120送给第二电视解码器STB2 502。第一电视解码器STB1 501检测到第二响应RSP的目的地不是它,并且忽略第二响应RSP。
在接收到第二响应RSP时,第二电视解码器STB2 502解封装由消息传递代理BRK120传输的消息,并验证第二响应RSP是由所述第二响应RSP所源自于的应用实例LBD 500的私钥签名的。
如果第二响应RSP未正确签名,则第二电视解码器STB2 502忽略第二响应RSP。
如果第二响应RSP被正确签名,则第二电视解码器STB2 502用其私钥来解密有用数据,所述有用数据是以非对称方式加密了的。这样,第二电视解码器STB2 502恢复由应用实例LBD 500提供的熵池,并将其存储在存储器中。该熵池于是就在应用实例LBD 500和第二电视解码器STB2 502之间共享了。该熵池继承了与应用实例LBD 500向第二电视解码器STB2 502传输它的方式相关联的不可否认性,并且使得能够藉由对称加密在应用实例LBD500和第二电视解码器STB2 502之间传输后续消息,而不会丧失不可否认性的益处。
图6示意性地示出了用于共享熵池的信令消息的格式的示例。这样,图6的消息格式适合于图5的范围内提到的请求REQ和响应RSP的传输。图6的消息格式未显示出与用于跟消息传递代理BRK 120进行交换的协议相关联的封装。
该消息具有头部HDR 601以及潜在地通过非对称加密而加密的有用数据PDATA602。头部HDR 601包括指示消息类型(请求、响应)的字段TY 611、指示有用数据PDATA 602的大小的字段LG 612、识别消息源的字段SRC 613、识别消息接收方的字段DEST 614、以及包括消息签名的字段SIGN 615。消息签名是用消息源的私钥实现的,并且有用数据PDATA602的加密是用接收方的公钥实现的。
这样,消息的所有数据(头部加上有用数据)都被认为是敏感的(英语为“sensitive”),并且被签名的完整性功能所覆盖。这样,有用数据还被认为是机密的,并通过非对称加密得到保护。
图7示意性地示出了藉由共享熵池的安全消息格式的第一示例。这样,一旦共享了对应的熵池,图7的消息格式就适合于经由消息传递代理BRK 120的数据传输。图7的消息格式适合于发布-订阅(英语为“Publish-Subscribe”)型消息传递机制。图7的消息格式未显示出与用于跟消息传递代理BRK 120进行交换的协议相关联的封装。
该消息具有头部HDR1 701以及通过非对称加密而加密的有用数据PDATA 702。头部HDR1 701包括指示消息类型的字段TY 711、指示有用数据PDATA 702的大小的字段LG712、识别消息源的字段SRC 713、识别消息接收方的字段DEST 714。头部HDR1 701还包括字段AKID 716,其识别根据适合于所讨论的消息的传输的熵池而构造的认证密钥。字段AKID716例如包括所讨论的熵池的一组数据索引,如已经结合图4解释的。根据另一示例,字段AKID 716包括(如果这不是通知所讨论的密钥的第一消息的话)所讨论的索引的聚合存储在其中的索引聚合表的索引。
头部HDR1 701还包括字段EKID 717,其识别根据适合于有用数据PDATA 702的对称加密的熵池而构造的对称加密密钥。字段EKID 717例如包括所讨论的熵池的一组数据索引,如已经结合图4解释的。根据另一示例,字段EKID 717包括(如果这不是通知所讨论的密钥的第一消息的话)所讨论的索引的聚合存储在其中的索引聚合表的索引。
头部HDR1 701还包括字段HMAC 718,该字段包括消息认证码,优选地为HMAC类型的消息认证码,以使得能够在接收时认证并验证消息的完整性。
当在通信系统中可能使用几个熵池时,头部HDR1 701还包括字段EPID 715,该字段提供用于生成由字段AKID 716识别的认证密钥和由字段EKID 717识别的对称加密密钥的熵池的识别码。
这样,消息的所有数据(头部HDR1 701加上有用数据PDATA 702)都被认为是敏感的(英语为“sensitive”),并且被例如HMAC类型的消息认证码所覆盖。这样,有用数据PDATA702还被认为是机密的,并通过藉由适用的熵池的对称加密而得到保护。
图8示意性地示出了藉由共享熵池的安全消息格式的第二示例。安全消息格式的该第二示例再次采用图7中示意性地示出的第一示例,在头部HDR1 701和有用数据PDATA802之前有另一头部HDR2 801。图8的消息格式适合于“路由RPC”类型的消息传递机制。图8的消息格式也未显示出与用于跟消息传递代理BRK 120进行交换的协议相关联的封装。
头部HDR2 801包括字段METH 811,该字段识别该消息的目标为哪种类型的RPC方法,例如,Get(取得)或Set(设置)类型、或者Command(命令)或Response(响应)或Notify(通知)类型。头部HDR2 801还包括字段RPCID 812,其提供该消息的目标RPC的识别码。这使得能够不使用泄露太多信息的特定请求,并且使得能够如发布-订阅型消息传递机制的情况中那样构造头部HDR1 701和有用数据PDATA 802。
头部HDR2 801不加密。这样,消息的其余数据(头部HDR1 701加上有用数据PDATA802)被认为是敏感的(英语为“sensitive”),并且被例如HMAC类型的消息认证码所覆盖。这样,有用数据PDATA 802还被认为是机密的,并通过藉由适用的熵池的对称加密而得到保护。
图9示意性地示出了藉由共享熵池的安全消息发送算法。作为例示,考虑图9的算法由代理应用PXY 130来实现。
在步骤901中,代理应用PXY 130基于与作为安全消息的目的地的装置或应用共享的熵池来获得认证密钥和对应的认证密钥的识别码。如已经指出的,该认证密钥的识别码优选地通过聚合存储在所讨论的熵池中的数据的索引来构造。并且在另一实施例中,除了第一消息之外,索引聚合表的索引对于使用相同密钥的随后的消息来说足矣。这使得能够减小这些随后的消息的头部的大小。
在步骤902中,代理应用PXY 130基于与作为安全消息的目的地的装置或应用共享的熵池来获得对称加密密钥和对应的对称加密密钥的识别码。如已经指出的,该对称加密密钥的识别码优选地通过聚合存储在所讨论的熵池中的数据的索引来构造。并且在另一实施例中,除了第一消息之外,索引聚合表的索引对于使用相同密钥的随后的消息来说足矣。这使得能够减小这些随后的消息的头部的大小。
在步骤903中,代理应用PXY 130通过将旨在接收例如HMAC类型的消息认证码的字段保留为零值来组装消息。代理应用PXY 130通过使用在步骤902中获得的对称加密密钥通过对称加密来保障有用数据的安全。代理应用PXY 130在消息头部插入对称加密密钥的识别码以及在步骤901中获得的认证密钥的识别码。
在步骤904中,代理应用PXY 130对这样组装的消息计算例如HMAC类型的消息认证码。于是,代理应用PXY 130将计算出的消息认证码插入到已被初始化为零值的专用字段中。可以使用图7或图8的消息格式。
在步骤905中,代理应用PXY 130通过根据用于与消息传递代理BRK 120进行交换的协议对这样的经安全保障的消息进行封装来将所述消息传输给消息传递代理BRK 120。这样,首先可以通过藉由(例如,HMAC类型的)认证密钥检查消息认证码来在接收时验证消息的真实性和完整性,所述认证密钥是在消息头部中识别的并且藉由所共享的熵池而被找到(可能是通过遍历索引聚合表),并且可以藉由(所共享的秘密的)对称加密密钥来解密有用数据,所述对称加密密钥也是在消息头部中识别的并且也藉由所共享的熵池而被找到(可能是通过遍历索引聚合表)。
Claims (16)
1.经由消息传递代理(120)在第一装置(500、130、231)和第二装置(501、101、201)之间进行端到端的数据安全传输的方法,其特征在于该方法包括以下步骤:
- 借助于信令消息经由消息传递代理(120)在第一装置(500、130、231)和第二装置(501、101、201)之间共享(403)熵池,以非对称方式对所述信令消息的可能的有用数据(602)进行加密,并且所述信令消息包括消息签名(615);以及
- 经由消息传递代理(120)在第一装置(500、130、231)和第二装置(501、101、201)之间传输(905)后续消息,每个所述后续消息包括头部(701)和有用数据(702、802),头部(701)包括基于所共享的熵池获得(901)的认证密钥的识别码(716)和基于所共享的熵池获得(902)的对称加密密钥的识别码(715),藉由对称加密密钥以对称方式对有用数据(702、802)进行加密,并且藉由消息认证码(718)对由头部(701)和有用数据(702、802)形成的整体进行认证,所述消息认证码(718)是藉由认证密钥获得的并且插入在头部(701)中。
2.根据权利要求1所述的方法,其中,消息认证码是HMAC类型的。
3.根据权利要求1和2中的一项所述的方法,其中,通过存储在熵池中的第一数据的聚合来获得认证密钥,并且通过熵池中的对应于所述第一数据的索引的聚合来获得认证密钥的识别码。
4.根据权利要求1和2中的一项所述的方法,其中,通过存储在熵池中的第一数据的聚合来获得认证密钥,并且认证密钥的识别码是索引聚合表的索引,熵池中的对应于所述第一数据的索引的聚合被存储在所述索引聚合表中。
5.根据权利要求1至3中的任一项所述的方法,其中,通过存储在熵池中的第二数据的聚合来获得对称加密密钥,并且通过熵池中的对应于所述第二数据的索引的聚合来获得对称加密密钥的识别码。
6.根据权利要求1至4中的任一项所述的方法,其中,通过存储在熵池中的第二数据的聚合来获得对称加密密钥,并且对称加密密钥的识别码是索引聚合表的索引,熵池中的对应于所述第二数据的索引的聚合被存储在所述索引聚合表中。
7.根据权利要求1至6中的任一项所述的方法,其中,第一装置(130、231)通过使用与跟第二装置(101、201)一起使用的相同的熵池、以相同的方式来执行经由消息传递代理(120)与第三装置(102、202)的端到端的数据安全收发。
8.根据权利要求1至6中的任一项所述的方法,其中,第一装置(130、231、500)通过使用与跟第二装置(101、201、501)一起使用的熵池不同的熵池、以相同的方式来执行经由消息传递代理(120)与第三装置(102、202、502)的端到端的数据安全收发。
9.根据权利要求1至6中的任一项所述的方法,其中,第一装置(130、231、500)通过使用仅专用于发射来自第一装置(130、231、500)的消息的熵池来执行经由消息传递代理(120)向第二装置(101、201、501)和第三装置(102、202、502)的端到端的数据安全发射。
10.根据权利要求1至6中的任一项所述的方法,其中,第一装置(130、231、500)通过使用专用于由第一装置(130、231、500)进行消息接收的熵池来执行经由消息传递代理(120)的对来自第二装置(101、201、501)和第三装置(102、202、502)的数据的端到端的安全接收。
11.根据权利要求1至10中的任一项所述的方法,其中,第一装置是电视解码器(110)并且第二装置是终端(101、103),所述终端(101、103)被配置成并且适合于经由端到端的数据安全传输来控制电视解码器(110)。
12.根据权利要求1至10中的任一项所述的方法,其中,第一装置是计算云(210)并且第二装置是终端(201、203),所述终端(201、203)被配置成并且适合于经由端到端的数据安全传输来将分析数据传输给计算云(210)。
13.根据权利要求12所述的方法,其中,熵池被存储在计算云(210)内、在与第二装置(201、203)通信的每个应用实例(231、232、233)可访问的数据库(240)中。
14.计算机程序产品,其包括当所述程序由处理器执行时用于由所述处理器实现根据权利要求1至13中的任一项所述的方法的指令。
15.存储计算机程序的信息存储介质,所述计算机程序包括当所述程序由处理器读取并执行时用于由所述处理器实现根据权利要求1至13中的任一项所述的方法的指令。
16.适合于并且被配置成执行经由消息传递代理与第二装置(501、101、201)的端到端的数据安全传输的称为第一装置的装置(500、130、231),其特征在于,第一装置(500、130、231)包括:
- 用于借助于信令消息经由消息传递代理(120)在第一装置(500、130、231)和第二装置(501、101、201)之间共享(403)熵池的部件,以非对称方式对所述信令消息的可能的有用数据(602)进行加密,并且所述信令消息包括消息签名(615);以及
- 用于经由消息传递代理(120)在第一装置(500、130、231)和第二装置(501、101、201)之间传输(905)后续消息的部件,每个所述后续消息包括头部(701)和有用数据(702、802),头部(701)包括基于所共享的熵池获得(901)的认证密钥的识别码(716)和基于所共享的熵池获得(902)的对称加密密钥的识别码(715),藉由对称加密密钥以对称方式对有用数据(702、802)进行加密,并且藉由消息认证码对由头部(701)和有用数据(702、802)形成的整体进行认证,所述消息认证码是藉由认证密钥获得的并且插入在头部(701)中。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1904620A FR3095708B1 (fr) | 2019-05-02 | 2019-05-02 | Procédé de transmission securisée de données |
| FR1904620 | 2019-05-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN111884988A true CN111884988A (zh) | 2020-11-03 |
Family
ID=68501658
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010371254.XA Pending CN111884988A (zh) | 2019-05-02 | 2020-05-06 | 数据的安全传输方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11411741B2 (zh) |
| EP (1) | EP3734901B1 (zh) |
| CN (1) | CN111884988A (zh) |
| BR (1) | BR102020008787A2 (zh) |
| FR (1) | FR3095708B1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115484041A (zh) * | 2021-06-15 | 2022-12-16 | 劳伦斯·刘 | 利用实时短暂熵源实现持久前瞻信息保密的方法及系统 |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112866083A (zh) * | 2020-12-31 | 2021-05-28 | 广州极飞科技股份有限公司 | 消息发送方法、电子设备及通信系统 |
| US11924339B2 (en) | 2021-04-15 | 2024-03-05 | Real Random IP, LLC | System and method for secure end-to-end electronic communication using a privately shared table of entropy |
| US12407502B2 (en) | 2021-04-15 | 2025-09-02 | Real Random IP, LLC | System and method for secure end-to-end electronic communication using a mutating table of entropy |
| US20250045744A1 (en) * | 2023-08-01 | 2025-02-06 | Circle Internet Group, Inc. | Platform controlled wallets in blockchain systems |
| US20250045736A1 (en) * | 2023-08-01 | 2025-02-06 | Circle Internet Group, Inc. | End-user controlled wallets in blockchain systems |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060274899A1 (en) * | 2005-06-03 | 2006-12-07 | Innomedia Pte Ltd. | System and method for secure messaging with network address translation firewall traversal |
| US9002018B2 (en) * | 2006-05-09 | 2015-04-07 | Sync Up Technologies Corporation | Encryption key exchange system and method |
| WO2010027495A1 (en) * | 2008-09-04 | 2010-03-11 | Trilliant Networks, Inc. | A system and method for implementing mesh network communications using a mesh network protocol |
| EP3869730B1 (en) * | 2015-02-13 | 2024-06-12 | Visa International Service Association | Confidential communication management |
| CN105376589A (zh) * | 2015-10-27 | 2016-03-02 | 上海斐讯数据通信技术有限公司 | 基于mqtt的智能电视消息的推送装置及方法 |
| WO2017095303A1 (en) * | 2015-12-04 | 2017-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Provisioning node, communication node and methods therein for handling key identifiers in wireless communication |
| US9584493B1 (en) * | 2015-12-18 | 2017-02-28 | Wickr Inc. | Decentralized authoritative messaging |
| US10623186B1 (en) * | 2017-11-10 | 2020-04-14 | Amazon Technologies, Inc. | Authenticated encryption with multiple contexts |
-
2019
- 2019-05-02 FR FR1904620A patent/FR3095708B1/fr not_active Expired - Fee Related
-
2020
- 2020-04-28 US US16/860,802 patent/US11411741B2/en active Active
- 2020-04-28 EP EP20171849.1A patent/EP3734901B1/fr active Active
- 2020-05-01 BR BR102020008787-8A patent/BR102020008787A2/pt unknown
- 2020-05-06 CN CN202010371254.XA patent/CN111884988A/zh active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115484041A (zh) * | 2021-06-15 | 2022-12-16 | 劳伦斯·刘 | 利用实时短暂熵源实现持久前瞻信息保密的方法及系统 |
| CN115484041B (zh) * | 2021-06-15 | 2024-09-06 | 劳伦斯·刘 | 利用实时短暂熵源实现持久前瞻信息保密的方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| FR3095708B1 (fr) | 2022-03-04 |
| US20200351102A1 (en) | 2020-11-05 |
| BR102020008787A2 (pt) | 2020-11-10 |
| EP3734901B1 (fr) | 2023-06-21 |
| EP3734901A1 (fr) | 2020-11-04 |
| US11411741B2 (en) | 2022-08-09 |
| FR3095708A1 (fr) | 2020-11-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12047362B2 (en) | Systems and methods for secure multi-party communications using a proxy | |
| US11323247B2 (en) | Methods and systems for secure data communication | |
| CA3073549C (en) | Methods and systems for secure data communication | |
| US12284270B2 (en) | Systems and methods for providing signatureless, confidential and authentication of data during handshake for classical and quantum computing environments | |
| US10084760B2 (en) | Secure messages for internet of things devices | |
| US10069800B2 (en) | Scalable intermediate network device leveraging SSL session ticket extension | |
| CN111884988A (zh) | 数据的安全传输方法 | |
| CN114244508B (zh) | 数据加密方法、装置、设备及存储介质 | |
| US11936689B2 (en) | Transmission of data or messages on board a vehicle using a SOME/IP communication protocol | |
| US11044082B2 (en) | Authenticating secure channel establishment messages based on shared-secret | |
| US11838409B2 (en) | Method and apparatus for transferring data in a publish-subscribe system | |
| US20170149748A1 (en) | Secure Group Messaging and Data Steaming | |
| US11722466B2 (en) | Methods for communicating data utilizing sessionless dynamic encryption | |
| US20160277372A1 (en) | Optimization of a secure connection with enhanced security for private cryptographic keys | |
| KR102266654B1 (ko) | Mqtt-sn 프로토콜의 보안을 위한 mqtt-sn 보안 관리 방법 및 시스템 | |
| CN113918971B (zh) | 基于区块链的消息传输方法、装置、设备及可读存储介质 | |
| CN117812581A (zh) | 会话数据的安全通信方法、后量子安全通道装置及系统 | |
| US11153087B1 (en) | Hub-based token generation and endpoint selection for secure channel establishment | |
| CN103416020B (zh) | 受控的安全域 | |
| CN115987526A (zh) | 一种基于业务链的数据共享方法、系统和装置 | |
| CN110798431A (zh) | 一种安全参数交互方法、装置、设备及系统 | |
| CN118018226A (zh) | 数据传输方法及相关产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |