CN116915433A - 被配置用于支持多执行环境的密码保护通信的网络设备 - Google Patents

被配置用于支持多执行环境的密码保护通信的网络设备 Download PDF

Info

Publication number
CN116915433A
CN116915433A CN202310395211.9A CN202310395211A CN116915433A CN 116915433 A CN116915433 A CN 116915433A CN 202310395211 A CN202310395211 A CN 202310395211A CN 116915433 A CN116915433 A CN 116915433A
Authority
CN
China
Prior art keywords
network device
session
protocol
key
host system
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
CN202310395211.9A
Other languages
English (en)
Inventor
A·巴特尔特
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN116915433A publication Critical patent/CN116915433A/zh
Pending legal-status Critical Current

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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • 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
    • 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
    • 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
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0822Key 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 key encryption key
    • 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
    • H04L9/0861Generation of secret information including derivation or calculation 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供了被配置用于支持多执行环境的密码保护通信的网络设备。一些实施例针对被配置用于与第二网络设备进行密码保护通信的第一网络设备。该密码保护通信至少包括握手协议、批量数据密码保护协议和恢复协议。会话处理系统从握手协议获得第一批量密码保护密钥和恢复密钥。第一密码保护密钥被转发到主机系统,而不是恢复密钥。

Description

被配置用于支持多执行环境的密码保护通信的网络设备
技术领域
当前公开的主题涉及被配置用于与第二网络设备进行密码保护通信的第一网络设备、用于在第一网络设备和第二网络设备之间进行密码保护通信的方法、计算机可读介质。
背景技术
在诸如因特网的计算机网络上,两个计算机化设备之间的受保护通信是常见的。例如,保护数据可以通过加密数据、认证数据或两者来完成。一种众所周知的用于保护计算机网络中的通信的系统是TLS或DTLS。
我们将两个端点之间的初始TLS或DTLS握手称为完全握手,其利用长期秘密密钥来建立端点认证,例如服务器端点的认证,或者替代地客户端和服务器端点的相互认证。经由长期秘密密钥的这样的端点认证的多种变体已经被IETF标准化;例如,对应于来自X509v3证书的公钥的非对称私钥、对应于所谓的原始公钥的非对称私钥、或者先前已经经由一些带外手段分发给两个端点的对称预共享秘密密钥。在完全握手期间,使用经认证的密钥建立方法,以便密码地导出短暂密钥材料(例如短期密钥),该密钥材料然后可以是导出用于批量加密以及用于所谓的恢复机制的密钥的基础,该恢复机制针对相同端点之间的未来TLS或DTLS连接使能实现缩短的握手。缩短的握手使能实现与性能相关的节省,例如,由于更少的所需握手消息而减少了网络等待时间开销,以及关于密码术的更低的计算开销。
已经针对TLS、RFC5246、RFC8446和DTLS、RFC6347协议IETF标准化多个特定于版本的恢复机制。例如,在版本<=1.2中使用来自RFC 5246的经由会话ID的会话恢复,在版本<=1.2中使用来自RFC5077的会话票证,并且针对版本1.3指定经由预共享密钥从RFC8446恢复。所引用的RFC通过参考被包括在本文中。
已知的恢复变体有效地利用了短暂恢复密钥,该密钥然后经由来自初始完全握手的长期秘密密钥有效地代替显式端点认证。本文使用术语恢复密钥,因为TLS RFC在这方面不提供一致的命名。恢复密钥是短期密钥,因为它们与通常将不会超过24小时的可配置寿命相关联。在TLS 1.3的具体情况下,该寿命也具有最多7天的硬上限。缩短的恢复握手由于它从初始完全握手起就加密绑定到经认证的密钥建立方法而仅被隐式地端点认证。
例如,在IoT设备上通常遇到的问题是,与用于端点认证的长期秘密密钥相比,恢复范围内的短暂密钥对攻击者的有效防御少得多。获得对恢复密钥的访问的攻击者将能够恢复对应的TLS(或DTLS)会话,而实际上不需要对长期秘密密钥的任何访问——这在初始完全握手期间将是对于显式端点认证所必要的。在拥有泄露的恢复密钥的情况下,对应的TLS(或DTLS)会话甚至可能潜在地恢复多次并且是从不同的端点恢复的。这通常将会违反系统的安全目标。
此外,特别是在服务器侧TLS(或DTLS)端点上,基于会话票证的恢复变体利用所谓的会话票证加密密钥(STEK),该密钥通常也像所有其他短暂密钥材料一样暴露给主机系统。通过某种手段(诸如利用主机系统上的信息泄露漏洞)获得STEK知识的攻击者将能够有效地解密包含在(STEK加密的)会话票证中的恢复密钥材料,并且这些可以从先前记录的TLS(或DTLS)会话中收集。除了使得攻击者能够恢复对应的会话之外,对于TLS版本<1.3,这种攻击还使得能够解密对应的批量流量,这有效地否定了前向保密的安全益处。值得注意的是,这种攻击有效地促进大规模监控。
发明内容
在第一网络设备和第二网络设备之间具有改进的通信将是有利的。
在一实施例中,提供了运行时对短暂密钥材料的改进保护。例如,在一实施例中可能直接暴露给网络设备的主机系统的唯一短暂密钥材料是在批量保护(例如加密等)的特定范围中使用的对称密钥;例如,一实施例可以将TLS协议的密码导出的key_block暴露给主机系统。即使攻击者获得对这些密钥的访问,他/她也将只能解密或操控相应的TLS(或DTLS)连接。然而,将有效地阻止攻击者窃取恢复密钥和其他短暂密钥材料,例如用于恢复的密钥材料。
例如,第一网络设备可以被配置用于与第二网络设备进行密码保护通信。密码保护通信至少包括握手协议、批量数据密码保护协议和恢复协议。例如,第一和第二网络设备可以被配置用于TLS或DTLS协议。
有趣的是,第一网络设备被配置为在第一网络设备中布置多个单独的执行环境,包括主机系统和会话处理系统。密码通信中涉及的协议至少跨这两个执行环境被划分。
会话处理系统可以被配置为取决于长期秘密获得密码响应,并在第一网络设备和第二网络设备之间建立安全会话。以这种方式获得的用于批量数据的密码保护的一个或多个密钥被转发到主机系统,但是其他短暂密钥材料、特别是恢复密钥并没有。
批量数据的密码保护现在可以由主机系统执行,但是对主机系统的攻击不导致另一个短暂密钥材料的泄露。此外,长期秘密密钥被进一步从主机系统中去除;在一实施例中,长期秘密密钥存储在主机系统不可访问的安全系统中,而会话处理程序只能通过接口(例如,预定义的API)进行访问。
在使用中,通常大多数活动是在主机系统中完成的。主机系统也可以是用户应用运行的执行环境。因此,对第一网络设备的潜在攻击更可能在主机系统上;该主机系统具有更大的攻击表面和/或具有更多的外部网络连接。事实上,在一实施例中,会话处理系统不需要与外部计算机具有任何连接;例如,因为比如对于建立密码信道所需的任何通信都是由主机系统转发的。
向例如运行在主机系统中的用户应用提供批量保护服务不需要的密钥材料不暴露给主机系统。有趣的是,第一网络能够恢复,并且因此能够几乎没有延迟地进行密码通信,因为会话处理系统能够访问用于它的短暂密钥。
在一实施例中,第一网络设备包括安全系统,该安全系统被配置为存储长期秘密,会话处理系统被配置为从安全系统获得密码响应。优选地,安全系统是被配置为存储和防护密码密钥的硬件防护模块,例如安全模块、安全密码处理器、所谓的可信平台模块(TPM)、专用微控制器等。
在一实施例中,主机系统执行环境和会话处理系统执行环境均不能访问长期秘密,并且主机系统执行环境不能访问恢复密钥。
另一方面是一种通信方法。该方法的实施例可以作为计算机实现的方法在计算机上实现,或者在专用硬件中实现,或者在两者的组合中实现。该方法的实施例的可执行代码可以存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上的非暂时性程序代码,用于当所述程序产品在计算机上执行时执行该方法的实施例。
在一实施例中,该计算机程序包括计算机程序代码,当计算机程序在计算机上运行时,该计算机程序代码适于执行该方法的实施例的所有或部分步骤。优选地,该计算机程序体现在计算机可读介质上。
附图说明
将参考附图仅以示例的方式描述另外的细节、方面和实施例。各图中的元件是为了简单和清楚而图示的,并不一定是按比例绘制的。在各图中,与已经描述的元件相对应的元件可以具有相同的附图标记。在附图中,
图1a示意性地示出了被配置用于密码保护通信的第一网络设备的实施例的示例
图1b示意性地示出了第二网络设备的实施例的示例,
图1c示意性地示出了通信系统的实施例的示例,
图2示意性地示出了被配置用于密码保护通信的第一网络设备的实施例的示例,
图3示意性地示出了用于密码保护通信的方法的实施例的示例,
图4a示意性地示出了根据一实施例的具有包括计算机程序的可写部分的计算机可读介质,
图4b示意性地示出了根据一实施例的处理器系统的表示。
参考符号列表
以下参考和缩写的列表对应于图1a-2、4a和4b,并且被提供用于促进附图的解释,并且不应被解释为限制权利要求。
100、101通信系统
110第一网络设备
130处理器系统
140存储装置
150通信接口
160、160.1、160.2第二网络设备
170处理器系统
180存储装置
190通信接口
172计算机网络
200第一网络设备
211密码保护通信
210主机系统
220会话处理系统
230安全系统
231密码接口
221第一通信信道
222第二通信信道
1000计算机可读介质
1010可写部分
1020计算机程序
1110(一个或多个)集成电路
1120处理单元
1122存储器
1124专用集成电路
1126通信元件
1130互连
1140处理器系统
具体实施方式
虽然当前公开的主题容许以许多不同形式的实施例,但是在附图中示出了并且将在本文中详细描述一个或多个具体实施例,应理解,本公开将被认为是当前公开的主题的原理的例示,并且不旨在将其限制于所示出和描述的具体实施例。
在下文中,为了理解起见,在操作中描述实施例的元件。然而,将清楚的是,各个元件被布置成执行被描述为由它们执行的功能。此外,当前公开的主题不仅仅限于实施例,而且还包括在本文中描述的或在相互不同的从属权利要求中记载的特征的每一种其他组合。
常规上,诸如IoT设备、桌面设备、服务器等网络设备利用TLS(或DTLS)协议,以便在设备上运行的TCP使能(或UDP使能)的软件和在设备后端处运行的对应服务之间使能实现密码保护的端到端安全隧道。密码保护数据用于所有种类的数字通信中,例如来发送或接收数字数据,例如传感器数据、计算机指令、媒体等。
在许多TLS(或DTLS)部署中,短暂密钥材料(例如,特别是用于恢复的密钥材料)比长期秘密密钥受到的保护少得多。为了方便,密钥材料等同于从其导出的密钥。
例如,非对称长期秘密密钥通常被保护在专用安全系统内部,该专用安全系统被专门设计用于保护这种秘密密钥材料在设备断电时“静止”、以及“运行时”不被泄露。这些种类的安全系统通常是以硬件安全模块(HSM)、可信平台模块(TPM)、基于PKCS#11的安全系统或其他种类的专门化密码子系统的形式现成提供的。这些子系统通常仅暴露用于通用密码方案的API(例如,用于创建ECDSA签名、基于RSA的加密和签名等的API)。然而,这样的安全系统不提供专门为TLS(或DTLS)握手定制的API,为了能够在安全系统内部保存短暂密钥材料(例如,也对应于TLS版本<1.3等中的恢复密钥的所谓的主秘密),将需要专门为TLS(或DTLS)握手定制的API。在下文中,我们将继续使用安全系统作为这些种类的专门化现成密码子系统的涵盖性术语。安全系统通常是网络设备的一部分。
批量流量的实际加密和认证通常直接在主机系统上进行。这种方法具有节省等待时间的益处,因为批量数据不必循环通过安全系统。常规上,恢复范围内的短暂密钥材料因此通常直接暴露给主机系统,在该主机系统中,对泄露的防御比安全系统内部的长期密钥弱得多。
本文中描述的实施例可以与所有当前的TLS和DTLS协议版本、例如IETF标准化的版本一起应用。例如,在一实施例中,附加子系统——会话处理系统——被集成在主机系统和安全系统之间。该会话处理系统可以被选择来在运行时提供比主机系统更鲁棒的保护保证;例如,会话处理系统可以具有由类型1管理程序或某个可信执行环境变体提供的更鲁棒的分离。例如,会话处理系统可以被配置为运行TLS(或DTLS)握手、警报和change_cipher_spec子协议,并保持短暂密钥材料(例如,恢复密钥、服务器侧端点情况下的STEK等)受保护。用于批量保护(例如,批量加密)的导出密钥(例如,key_block)被提供给处理所有批量加密(例如,TLS(或DTLS)协议范围内的application_data记录)的主机系统。
TLS、RFC5246、RFC8446和DTLS、RFC6347是IETF标准化的密码协议,它们被广泛使用以便在IoT设备上的软件和IoT后端处的服务之间提供密码保护的端到端安全隧道;这些通过参考被包括在本文中。TLS握手也已经被应用于更近的QUIC协议RFC9001,其通过参考被包括在本文中。
用于恢复的IETF标准化机制RFC5246、RFC8446、RFC5077使能实现了与性能相关的益处,诸如减少了网络等待时间开销和关于密码术的更低的计算开销;这些通过参考被包括在本文中。然而,在没有对该范围内的短暂密钥材料(例如,恢复密钥、服务器侧TLS/DTLS端点情况下的STEK等)的足够的运行时保护的情况下,所有这些恢复方法在安全性方面都有潜在的严重缺陷。本文中详细描述的方法降低了攻击者从设备中泄露短暂密钥材料的风险。实施例可以与现有的现成安全系统、特别是不提供TLS(或DTLS)特定的API的那些相组合。该方法可以应用于客户侧以及服务器侧TLS(或DTLS)端点。此外,取决于特定于会话的要求和特定的用例,在完全握手期间与用于端点认证的安全系统的集成适用于客户侧以及服务器侧端点认证。
IETF标准化的TLS和DTLS版本允许各种端点认证和密钥交换方法,并且它们中的一些还绑定到特定的协议版本。用于导出短暂密钥材料(例如,在恢复机制中实际使用的密钥)的密码方案和约定也可能是完全不同的。
例如,application_data记录范围内的操作可以由主机系统处理,例如批量加密的处理,而其他子协议(例如握手、警报和change_cipher_spec)被委托给会话处理系统。会话处理系统可以对所有短暂密钥材料具有控制、甚至独占控制,例如,包括恢复密钥、服务器侧TLS/DTLS端点情况下的STEK等。application_data和其他记录类型之间的转变可以通过主机系统和TLS/DTLS会话处理系统之间的状态和控制的明确移交来处理。
图1a示意性地示出了第一网络设备110的实施例的示例。图1b示意性地示出了第二网络设备160的实施例的示例。第一网络设备110和第二网络设备160可以是通信系统100的一部分。
第一网络设备110被配置为从/向第二网络设备160发送和/或接收密码保护通信。
第二网络设备160同样被配置为向/从第一网络设备110接收和/或发送密码保护通信。第一和第二网络设备之间的关系不必是一对一的。例如,第一网络设备110可以被配置为与多个第二网络设备或者与单个第二网络设备进行密码保护通信。第一网络设备110可以被配置成服务器设备或客户端设备。第二网络设备可以是根据一实施例的设备,例如像第一网络设备一样,但是这不是必需的。第二网络设备可以是常规的。
密码保护通信包括不同的协议,至少包括握手协议、批量数据密码保护协议和恢复协议。本文中进一步解释这些协议。实施例可以遵循本文中提到的几个标准之一来实现这些协议;然而,不遵循那些标准的实施例也是可能的。
例如,通信系统100可以用于保护其他通信需求,例如,安全消息、电子邮件、银行业、云计算等等。
第一网络设备110可以包括处理器系统130、存储装置140和通信接口150。第二网络设备160可以包括处理器系统170、存储装置180和通信接口190。存储装置140和180可以是例如电子存储装置、磁存储装置等。存储装置可以包括本地存储装置,例如本地硬盘驱动器或电子存储器。存储装置140和180可以包括非本地存储装置,例如云存储装置。在后一种情况下,存储装置140和180可以包括到非本地存储装置的存储接口。存储器可以包括多个分立的子存储装置,它们一起构成存储装置140、180。存储装置可以包括易失性可写部分(比如RAM)、非易失性可写部分(例如闪存)、非易失性不可写部分(例如ROM)。
存储装置140和180可以是非暂时性存储装置。例如,存储装置140和180可以在电力存在的情况下存储数据,诸如易失性存储器设备,例如随机存取存储器(RAM)。例如,存储装置140和180可以在电力存在以及在没有电力存在的情况下存储数据,诸如非易失性存储器设备,例如闪速存储器。
设备110和160可以通过计算机网络在内部彼此通信,与其他设备、外部存储装置、输入设备、输出设备和/或一个或多个传感器通信。计算机网络可以是互联网、内联网、LAN、WLAN等。计算机网络可以是因特网。设备110和160包括连接接口,该连接接口被布置成根据需要在通信系统100内或通信系统100外进行通信。例如,连接接口可以包括连接器,例如有线连接器(例如以太网连接器、光学连接器等),或者无线连接器(例如天线,例如Wi-Fi、4G或5G天线)。
通信接口150可以用于发送或接收数字数据,例如通信,特别是密码保护通信。通信接口190可以用于发送或接收数字数据,例如通信,特别是密码保护通信。
设备110和160的执行可以在处理器系统中实现。设备110和160可以包括实现实施例的各方面的功能单元。功能单元可以是处理器系统的一部分。例如,本文中示出的功能单元可以全部或部分地以存储在设备的存储装置中并可由处理器系统执行的计算机指令来实现。
处理器系统可以包括一个或多个处理器电路,例如微处理器、CPU、GPU等。设备110和160可以包括多个处理器。处理器电路可以以分布式方式实现,例如作为多个子处理器电路。例如,设备110和160可以使用云计算。
典型地,第一网络设备110和第二网络设备160各自包括微处理器,该微处理器执行存储在设备处的适当软件;例如,该软件可能已经被下载和/或存储在对应的存储器中,例如诸如RAM的易失性存储器或者诸如闪存的非易失性存储器。
代替于使用软件来实现功能,设备110和/或160可以全部或部分地在可编程逻辑中实现,例如作为现场可编程门阵列(FPGA)。这些设备可以全部或部分实现为所谓的专用集成电路(ASIC),例如为其特定用途定制的集成电路(IC)。例如,电路可以用CMOS实现,例如使用硬件描述语言,诸如Verilog、VHDL等。特别地,第一网络设备110和第二网络设备160可以包括例如用于密码处理和/或算术处理的电路。
第一网络设备110和/或第二网络设备160可以包括安全系统。安全系统被配置为存储长期秘密。例如,安全系统可以包括被设计为安全地存储和/或隔离一个或多个密码密钥的可信平台模块(TPM)(例如根据ISO/IEC 11889)、安全密码处理器、专用微控制器。安全系统可以包括管理程序来创建和/或实施单独的执行环境。安全系统优选地由安全硬件支持,但也可以用软件创建。例如,在设备上运行的内核可以实现安全系统。安全系统、尤其是具有基于硬件的安全是优选的,但不是必需的,在紧要关头,会话处理程序可以处理长期密钥的存储、保护和处理。虽然后者不是优选的布置,但它仍然比主机系统要处理长期秘密的布置好。
这些种类的安全系统通常是以硬件安全模块(HSM)、可信平台模块(TPM)、基于PKCS#11的安全系统或其他种类的专门化密码子系统的形式现成提供的。这些子系统通常仅暴露用于通用密码方案的API(例如,用于创建ECDSA签名、基于RSA的加密和签名等的API)。
第一网络设备110和/或第二网络设备160可以被配置为布置多个单独的执行环境。例如,该设备可以包括执行环境机制。例如,该设备可以包括OS内核和/或管理程序等,以创建和/或实施单独的执行环境。
在混合实施例中,功能单元部分地在硬件中实现(例如作为协处理器,例如密码协处理器)并且部分地在设备上存储和执行的软件中实现。
图1c示意性地示出了通信系统101的实施例的示例。通信系统101可以包括多个第二网络设备;示出了第二网络设备160.1和160.2。通信系统100可以包括多个第一网络设备;示出了一个第一网络设备110。这些设备通过计算机网络172(例如因特网)连接。客户端和服务器设备可以根据一实施例。
图2示意性地示出了被配置用于密码保护通信的第一网络设备的实施例的示例。第一网络设备200被配置用于与第二网络设备进行密码保护通信211。图2中未示出第二网络设备。第一和第二网络设备以及可能地另外的第一和/或第二网络设备可以是用于交换密码保护数据的通信系统的一部分。
在一实施例中,第一网络设备200与现有标准兼容,使得第二网络设备可以是常规网络设备。这是不必要的;第二网络设备可以根据一实施例。后者是有利的,因为如果两个端点都更安全,则通过网络交换的数据更安全。然而,第二数字网络也可以或取而代之通过常规手段具有更高的安全性。
图2示出了与第二网络设备的密码保护通信211。密码保护通信211包括至少三个部分:握手协议、批量数据密码保护协议和恢复协议。握手协议建立用于密码保护的短暂密钥,并且如果需要的话,布置一种手段来恢复通信,而不必执行握手协议的完整迭代。后者用在稍后的恢复协议中。因为握手协议花费时间并延迟通信,因此这是有利的。去除或减少握手协议减少等待时间。
例如,第一网络设备200和/或第二网络设备可以运行包括彼此通信的密码应用。通过保护第一和第二设备之间的通信,增加了应用的安全性。
实施例可以在服务器侧有效地采样。例如,在一实施例中,第一网络设备200可以是服务器设备或IoT后端设备。
实施例可以在消费者侧有效地采样。例如,在一实施例中,第一网络设备200可以是消费者设备或IoT客户端。
安全系统230
第一网络设备200配置有安全系统230。安全系统230被配置为存储长期秘密。典型地,安全系统230包括基于硬件的安全性,以保护长期秘密。安全系统可以被配置为防护长期秘密免受第一网络设备200的其余部分影响。例如,长期秘密可以包括非对称密钥对的私钥,例如公钥-私钥对。例如,长期秘密可以包括私有RSA密钥、私有ECDSA密钥。对应于私钥的公钥可以与第二网络设备共享。例如,长期秘密可以包括对称密钥,该对称密钥例如通过出界信道(out-of-bound channel)与第二网络设备共享。长期秘密使得能够生成与另一设备共享的短暂秘密。对长期秘密的访问一般使能实现读取所有通信和/或创建真实性令牌的能力。因此,应当避免长期秘密的泄露。
安全系统被配置为使得安全系统230之外的设备200的其余部分不能直接访问长期秘密。为了仍然允许使用长期秘密,安全系统230导出密码接口231,该密码接口231允许用长期秘密执行一些操作。安全系统可以是基于硬件的模块,其存储一个或多个只能通过密码接口访问的长期秘密。例如,接口231可以包括用于使用长期秘密解密数据的操作。例如,接口231可以包括用于使用长期秘密(例如,签名或消息认证码)来计算数据的认证令牌的操作。安全系统可以存储多个长期秘密。安全系统是优选的,但是可选的。
为了更高的安全性,安全系统优选是基于硬件的,但这不是必需的。例如,安全系统可以是执行环境,如会话处理程序(如本文中所描述的)。
执行环境
第一网络设备200被配置为在第一网络设备200中布置多个单独的执行环境。多个单独的执行环境包括主机系统210和会话处理系统220。
例如,在使用(D)TLS的实施例中,主机系统可以被认为是(D)TLS前端。例如,(D)TLS前端可以作为使用(D)TLS的原始应用进程的一部分被加载到执行环境中,例如通过导入库。主机系统、例如(D)TLS前端处理application_data记录。会话处理系统可以被认为是(D)TLS后端。例如,为此目的,一个或多个专用守护程序可以在单独的进程上下文中运行。前端和后端只能经由专用信道、例如经由会话和控制信道而连接。会话系统、例如(D)TLS后端处理(D)TLS的其他子协议。
执行环境不能访问第一网络设备200中的另一个执行环境中的数据和/或软件,也不能访问安全系统230中的数据和/或软件。特别地,主机系统210执行环境和会话处理系统220执行环境均不能访问存储在安全系统230中的长期秘密。尽管两个执行环境不能直接读取或写入访问彼此的代码,但它们可以配置有接口来发送和/或接收数据。
对接口231的访问通常限于系统200的部分。例如,设备200可以被配置为使得只有会话处理程序220能访问接口231。
在一实施例中,主机系统运行密码应用以使用批量密码保护密钥来密码保护数据,密码应用被配置为利用批量密码保护密钥来保护发送到第二网络设备和/或从第二网络设备接收的数据。例如,密码操作可以与其他应用部分分离。例如,在一实施例中,主机系统210运行密码应用以使用批量密码保护密钥来密码保护数据,并且运行用户应用,该用户应用被配置为使用从第二网络设备接收的数据和/或向第二网络设备提供数据。由用户应用发送和接收数据然后可以通过密码应用来完成,其中所述数据用批量密码保护密钥来保护,如本文中所讨论的。
例如,在一实施例中,执行环境、特别是主机系统执行环境和会话处理系统执行环境通过硬件支持的执行分离(例如管理程序,例如类型-1管理程序或某个可信执行环境变体)而彼此分离。
可以使用任何通用的分离机制来实施执行环境。分离机制可以使用可信计算基础(TCB)。分离可以由可信计算基础(TCB)来实施。可信计算基础(TCB)例如包括管理和分离进程的OS内核的TCB(例如Linux或BSD内核)、分离虚拟机(VM)的管理程序的TCB、或者将非安全世界与安全世界分离的可信执行环境(TEE)(例如ARM TrustZone的安全世界)的TCB。这些TCB在分离强度、HW资源要求、等待时间/吞吐量等方面提供了不同的折衷。这些TCB可以堆叠。
如本文中进一步讨论的,不同的执行环境可以用于支持不同的密码应用。
特别地,主机系统可以用于支持批量操作,例如批量数据的密码保护。例如,密码保护可以包括机密性保护,例如数据的加密和/或解密。例如,密码保护可以包括完整性保护,例如真实性令牌的生成和/或验证。
会话处理程序可以用于支持与批量数据保护不相关的操作。例如,会话处理程序可以支持包括使用到安全系统的接口231的操作。
例如,在一实施例中,第一网络设备200根据TLS、例如根据RFC 8446(通过引用包括在本文中)来配置,其中
-主机系统210被配置为处理类型application_data协议的记录,但不处理其他类型的操作,例如握手、警报和change_cipher_spec类型,并且
-会话处理系统220被配置为执行其他类型的操作。
握手协议
握手协议由会话处理程序处理。在握手协议期间,会话处理系统220被配置为取决于长期秘密从安全系统230获得密码响应。例如,取决于长期秘密,可以用对指定响应的请求调用接口231。该响应可以是例如消息认证码的解密、签名、生成或验证。例如,该响应可以包括通过随机数计算的签名等。
密码响应作为握手协议的一部分被发送到第二网络设备,以在第一网络设备200和第二网络设备之间建立安全会话。会话处理系统220从握手协议获得第一批量密码保护密钥和恢复密钥。第一批量密码保护密钥被转发到主机系统210。恢复密钥不被转发到主机系统210。
例如,会话处理系统可以获得key_block,其可以包含一个或多个密码密钥。例如,key_block可以包括用于客户端和服务器侧的不同密钥,并且为了加密/认证的目的,密钥可以取决于所使用的密码套件(cipher suite)。用于批量保护的密钥的典型示例是短暂会话密钥。如本文中所讨论的,批量保护可以指代从第一网络设备发送的数据的加密、在第一网络设备处接收的数据的解密、认证令牌的生成和验证等。
建立用于(例如短暂会话密钥材料的)批量保护的密钥的两个示例是:1)认证密钥协定,例如基于(EC)DHE,以及2)密钥传输,例如来自TLS<=1.2中的较旧RSA密码套件。例如,参见RFC 8446第4节(TLS 1.3)和RFC 5246中第7节和第8节(TLS 1.2),通过引用包括在本文中。
恢复密钥一般指代可以用于恢复第一和第二网络设备之间的密码通信的所有其他短暂密钥材料,而不涉及长期秘密,例如,不执行完全握手协议。例如,恢复密钥可以包括TLS或DTLS预主秘密、主秘密、恢复PSK、会话票证加密密钥(STEK)等等。
会话处理系统220可以被配置为从握手协议获得与第二网络设备共享的主秘密。主秘密可以用于导出第一批量密码保护密钥和恢复密钥。更具体地,主秘密本身可以从在第一和第二网络设备之间共享(例如协商)的预主秘密中导出。预主秘密也应当受到保护。在TLS<=1.2中,主秘密可以用作恢复密钥。在TLS 1.3中,恢复密钥是导出的密钥,称为预共享密钥。
注意,主机系统210执行环境不能访问恢复密钥。例如,如果使用主秘钥和/或预主密钥,则主机系统210执行环境不能访问主秘密或预主秘密。例如,主机系统210执行环境可能只能访问批量数据保护范围内的短暂密钥材料,诸如key_block或流量密钥。
批量密码保护密钥和恢复密钥通常是短期密钥。例如,这些可以具有有效性日期,例如,最多一周、一天等的有效性。
握手协议可以包括由会话处理程序认证第二网络设备。
批量数据密码保护协议
主机系统210被配置为密码保护在第二网络设备处接收的或发送到第二网络设备的批量数据。
密码保护可以是机密性保护。例如,可以使用批量保护密钥、例如对称解密密钥来对接收的数据进行解密。例如,可以使用批量保护密钥、例如对称解密密钥来对发送的数据进行加密。
密码保护可以是完整性保护。例如,可以使用批量保护密钥、例如对称验证密钥来验证接收的数据;例如,与接收到的数据相关联的认证令牌(例如作为接收到的数据的一部分或结合接收到的数据而接收的)可以用批量保护密钥来验证。例如,可以向发送的数据提供用批量保护密钥生成的认证令牌。不是所有上述四个功能都需要存在,例如,只有一个或两个,或一些,等等。例如,在一实施例中,不使用机密性保护,但是使用认证。例如,在一实施例中,不使用完整性保护,但是使用机密性保护。上述四个功能可以各自使用不同的密钥,或者一些或全部可以使用相同的密钥。为了性能,对于这些中的每一个优选对称密钥,但是也可以用非对称密钥完成这些中的每一个。例如,非对称加密/描述、签名生成/验证等。
例如,在接收侧,批量数据的密码保护可以包括数据的解密和认证令牌的验证。例如,保护可以包括认证加密(AE)和具有关联数据的认证加密(AEAD),例如,同时确保数据的机密性和真实性的加密形式。例如,一实施例可以实现诸如TLS<=1.2的密码套件,其支持仅认证模式。
根据期望,可以包括其他密码保护。例如,可以添加重放保护,例如从而确保发送和/或接收的响应的新鲜度。在一实施例中,批量保护专门在主机系统210执行环境中执行。
恢复协议
会话处理系统220被配置为在恢复协议期间从恢复密钥获得密码响应。密码响应作为恢复协议的一部分被发送到第二网络设备,以重建第一网络设备200和第二网络设备之间的安全会话。会话处理系统220从恢复协议获得第二批量密码保护密钥。第二批量密码保护密钥被转发到主机系统210,以供在批量数据保护中使用。通常,第一和第二批量保护密钥是对称密钥;尽管这不是必需的。
在恢复协议期间,可以处理恢复密钥,例如,以获得另外的密钥。例如,可以在恢复协议期间处理预主秘密或主秘密,以获得另外的密钥,该另外的密钥然后可以用于执行密码操作。恢复协议中的部分处理可以预先计算。
在一实施例中,会话处理系统220从恢复协议获得包括多个密钥的新的key_block或新的流量密钥。这些密钥更新现有密钥。例如,第一批量保护密钥可以是第一多个保护密钥的一部分。恢复协议可以提供第二多个保护密钥。
第二批量保护密钥可以被主机系统用于批量保护,例如作为第一批量保护密钥,例如机密性或完整性保护。
通信
在一实施例中,协议通信在主机系统和会话处理程序之间进行分配。在一实施例中,安全系统没有被配置用于响应或生成协议消息。如果需要来自安全系统的响应,则会话处理程序可以调用到安全系统的接口。
主机系统和会话处理程序可以以各种方式一起工作。例如,在一实施例中,主机系统210和会话处理系统220配置有第一通信信道221。
例如,主机系统210和会话处理系统220可以配置有控制机制,以指示对安全密码保护通信211的控制。该控制机制指示在批量保护期间对主机系统210的控制。该控制机制针对握手协议并且针对恢复协议将控制从主机系统210改变到会话处理系统220。
利用控制机制,主机系统210和会话处理程序220清楚它们中的哪一个负责通信。控制机制可以包括第二通信信道,以在主机系统210和会话处理系统220之间移交安全的密码保护通信211的状态。例如,如果主机系统需要生成它不能生成的消息(因为它不能访问这样做所需的密钥),则它可以通过第二通信信道222发送消息以移交控制。移交可以包括生成新消息所需的任何状态。
例如,在握手协议期间和恢复协议期间,第一网络设备200和第二网络设备之间的通信可以到达主机系统210,并且通过第一通信信道221被转发到会话处理系统220。
例如,如果消息在控制处于会话处理程序时到达,则通信可能被转发。
主机系统还可以或取而代之被配置为取决于与接收到的通信相关联的通信类型(例如嵌入其中的通信类型)将接收到的通信转发到会话处理程序。
在一实施例中,接收到的通信可以被加密,即使它不是批量数据。特别地,关于通信类型的任何指示可以被加密,例如,通信类型可以被加密。在一实施例中,主机系统被配置为在取决于通信类型将通信转发到会话处理程序之前至少解密通信类型。例如,在一实施例中,主机系统被配置为解密所有传入的通信,并且如果通信需要由会话处理程序进一步处理,则进行转发。
例如,使用DTLS的实施例使用指示记录类型的ContentType(内容类型)字段。ContentType字段可以用于决定DTLS记录将由主机系统还是由会话处理系统来处理。这对应于TLS使用的子协议(例如:application_d、握手、警报、等)。主机系统可以被配置为将不是application_data的所有记录传递给会话处理系统。这可以用ContentType字段的加密来扩展,例如作为记录有效载荷保护特征的一部分。如果使用ContentType字段加密,则主机系统可以被配置为在处理记录本身或转发到会话处理程序之前对其进行解密。
取代于让主机系统简单地将不是application_data的所有TLS(或DTLS)记录转发(例如,未修改)到会话处理系统,可能的是作为一种变体,让主机系统总是处理针对所有种类的受保护记录——不仅针对application_data记录,而且还有初始握手之后的其他类型的TLS记录——的解密/认证检查。这是可能的,因为主机系统和会话处理系统可以根据期望划分它们的职责,例如使用控制信道222。
下面说明了几个另外的可选改善、细节和实施例。
示例实施例1
在下文中,将给出设置及其工作的概述。该设备包括TLS/DTLS会话处理系统。注意,所描述的方法可以独立于主机系统作为客户端或服务器的角色来应用。对于与外部TLS/DTLS端点的每个活动TLS/DTLS会话,可以在主机系统和TLS/DTLS会话处理系统之间建立两个逻辑通信信道。当TLS/DTLS会话处理系统处于主动控制的时候,可以使用会话信道以便透明地转发所有的TLS/DTLS协议记录类型。控制信道可以用于在主机系统和TLS/DTLS会话处理系统之间转移状态和控制(例如,在每个时间点并且取决于当前处理的子协议,这些系统中只有一个可以是活动的TLS/DTLS协议端点)。在完全握手期间,TLS/DTLS会话处理系统在端点认证的范围内与安全系统进行交互。
例如,主机系统可以被配置用于与外部TLS/DTLS端点的基于TCP/IP的连接性。主机系统被配置用于批量保护,特别是批量加密(例如,处理application_data记录类型)。主机系统能访问用于加密和认证的对称密钥(key_block),但不能访问其他短暂密钥材料。会话信道被布置成透明地中继所有其他记录协议类型到TLS/DTLS会话处理系统。
会话处理系统被配置为管理握手和TLS/DTLS会话状态以及所有短暂密钥材料,例如握手、警报和change_cipher_spec记录。在完全握手期间,会话处理系统在端点认证的范围内与安全系统交互。
步骤1.在外部TLS/DTLS端点和主机系统之间启动TLS(或UDP情况下的DTLS)的新TCP/IP连接。为了启动TLS/DTLS握手,主机系统提供预初始化的TLS/DTLS状态(例如,为了发信号通知是否请求TLS或DTLS),并且然后将控制移交给TLS/DTLS会话处理系统。在放弃主动控制之后,主机系统然后在TLS/DTLS会话处理系统和外部TLS/DTLS端点之间透明地转发所有另外的记录。
步骤2.在初始完全握手期间的端点认证的范围内,TLS/DTLS会话处理系统与安全系统交互(例如,为了经由长期密钥获得针对端点认证所需的ECDSA签名)。对于服务器侧TLS/DTLS端点,在缩短的恢复握手被请求并且可接受的情况下,不需要安全系统的参与。TLS/DTLS会话处理系统和外部TLS/DTLS端点之间的握手建立了所有需要的状态和短暂密钥材料(例如,用于恢复的密钥材料、用于批量加密的key_block、在服务器侧端点使用该恢复机制的情况下用于加密会话票证的STEK等)。
步骤3.在握手完成之后,TLS/DTLS会话处理系统经由控制信道向主机系统提供处理application_data记录(例如,key_block,但不是其他短暂密钥材料)所需的所有状态,并移交控制。主机系统接管控制,直到遇到不同于application_data记录类型的子协议,这然后将触发状态和控制向TLS/DTLS会话处理系统的另一转移。然后,TLS/DTLS会话处理系统将是活动的TLS/DTLS端点,直到对应的子协议事件(例如,密钥更新、重新协商、恢复、终止等)已完成。
步骤4.作为主动TLS/DTLS端点再次接管的主机系统,以便处理批量加密(例如,application_data记录)。不需要TLS/DTLS会话处理系统的主动参与,直到遇到除application_data之外的记录类型。
示例实施例2
在该例示实施例中,第一网络设备配备有分离机制,例如可信计算基础(TCB),例如管理程序和安全系统。安全系统优选地被布置来提供对长期秘密的基于硬件的防护,但是这不是必需的。我们将假设安全系统是基于硬件的模块,其存储一个长期秘密或多个长期秘密,仅可通过密码接口访问。应当注意,硬件模块对于安全系统不是必需的。
在没有基于硬件的保护的情况下,设置可能不保护设备免受本地物理攻击。特别不保护是因为当设备断电时,长期私钥材料于是将不受到任何硬件装置的保护。然而,在只有来自网络的攻击被认为是相关的情况下,将长期秘密与主机系统分离仍然提供优势。
假设该实施例具有基于TCP/IP的连接性和TLS。变体实施例可以取而代之使用UDP和DTLS。还有另外的变体使用来自RFC9000的QUIC。QUIC也是基于UDP的。
例如,使用诸如管理程序之类的分离机制来创建多个执行环境。称为“主机执行环境”的第一执行环境。它运行称为“主机系统”的软件包。第一执行环境还可以运行应用,例如用户应用。第二执行环境称为“会话处理执行环境”。它运行称为“会话处理系统”的软件包。
例如,用户应用可以在主机执行环境中使用TLS库,这基本上意味着库代码在相对于TLS相同的进程上下文中运行,只有application_data子协议将在那里处理。
在最简单的情况下,例如,仅由OS内核分离进程,如会话处理系统可以只是由OS内核的TCB分离的另一个进程,该TCB然后专用于TLS会话处理的任务,例如,处理握手、警报和change_cipher_spec子协议以及与安全系统交互。作为附加地使用与管理程序的更强分离的可选变体,主机系统和会话处理系统将是位于由管理程序分离的不同VM中的单独环境。作为另一替代方案,会话处理系统也可能潜在地被实现为某种裸机(bare-metal)应用,例如省略了POSIX OS内核的单内核(unikernel)等。另一个替代部署场景将把会话处理系统移动到可信执行环境(TEE)中。
在所称的主机系统和会话处理系统之间创建一个或多个通信信道。在一实施例中,至少有两个通信信道:会话信道和控制信道。
在一实施例中,仅使用一个会话信道和一个控制信道。即使在这种情况下,也可以支持多个TLS会话,例如通过多路复用一个或多个通信信道。在一实施例中,创建多个通信信道,使得处理多个TLS会话更容易。
在一实施例中,使用TLS的每个应用通常将对应于专用的“主机系统”,并且通常将作为专用的应用进程运行——例如,在多个TLS使能的进程/应用的意义上,设备可以具有多个主机系统。每个主机系统可以具有其自己的执行环境。然后,每个主机系统可以经由(一个或多个)会话和控制信道连接到一个单独的共享会话处理系统。替代地,可以配置多个专用会话处理系统,例如每个主机系统一个。
由同一应用处理的多个TLS会话(例如,在同一主机系统环境中)可以通过单对会话和控制信道来处理(例如,通过利用多路复用,或者替代地,通过为每个TLS会话建立专用的会话和控制信道)。
初始握手-非恢复情况
应用:用户应用通过API向主机系统发信号通知它想要使用TLS与第二网络设备启动密码保护的端到端安全隧道(简称为安全会话)。取代于应用启动安全会话,安全会话可以由第二网络设备启动。
通常,用户应用和主机系统实际上属于同一应用进程,例如,TLS处理部分通常将由加载的TLS库完成。
主机系统:
a.通过控制信道移交控制。主机系统可以首先预初始化握手消息,并通过控制信道将其转发到会话处理系统,例如,结合移交控制。
b.当控制利用会话处理系统时,主机系统将所有消息从会话处理系统透明地转发到第二网络设备,反之亦然。
例如,至少在某些情况下可以使用主机系统处的预初始化。例如,当应用用作客户端时,主机系统可以向会话处理系统发信号通知是否应启动TLS或DTLS会话,应初始化哪个SNI,也可能是哪个TLS协议版本、密码套件等。这样的通信参数可以通过控制信道而不是通过会话信道以结构化的方式转移。两种选项都是可能的。
会话处理系统:
c.完成握手协议,其包括
i.进一步填充预初始化的握手消息(如果使用的话)
ii与安全系统交互(例如,为了经由长期密钥获得对于端点认证所需的签名)。
iii.从握手协议获得:
1.状态
2.用于批量加密的短暂密钥材料:key_block
a.TLS 1.2 RFC 5246中给出了key_block的示例。key_block的示例是TLS 1.3RFC 8446中的流量密钥。
3.用于恢复的短暂密钥材料。
d.通过控制信道将控制转移到主机系统,并通过控制信道将key_block转发到主机系统。
一般而言,短暂密钥材料是具有有限寿命的密钥材料(例如,与长期密钥相对照的短期)。使用长期密钥的初始握手(例如,涉及DHE或ECDHE等)可以创建所谓的预主秘密。预主秘密在会话处理系统内部保持受保护,因为它可以与来自先前握手的公开可见信息进行密码组合,以便计算主秘密。因此,主秘密是从预主秘密导出的,并且这可以用于TLS<=1.2中的恢复目的。在TLS 1.3中,该恢复密钥被称为预共享密钥,并且协议细节也不同。
注意,key_block(在TLS 1.3/RFC8446中称为流量密钥)优选是会话处理系统与主机系统共享的唯一一种短暂密钥材料。用于恢复的短暂密钥材料可以包括例如主秘密、预主秘密。
会话票证加密密钥(STEK)是短暂密钥材料的另一个示例,其在基于会话票证的恢复的范围内使用并且应当仅保存在会话处理系统内部而不可用于主机系统。会话票证机制(RFC5077)中使用STEK。STEK是具有有限寿命(例如1小时)的密钥。使用它以便对会话票证进行加密,然后将这些票证发送给客户端,以便使得它们能够恢复会话。
批量保护
主机系统:接收具有加密数据的类型application_data的TLS消息。使用从会话处理程序接收的key_block执行批量解密。向应用发送解密的数据。
e.TLS 1.2 RFC5246和TLS 1.3 RFC8446中给出了application_data的示例。
主机系统:从应用接收未加密的数据。在安全会话中使用key_block执行批量加密。向第二网络设备发送application_data消息中的加密数据。
该示例将加密视为批量流量密码保护的示例。然而,其他示例是可能的。例如,(取决于所使用的密码套件)key_block可以包括多个对称密钥,例如,2个用于加密并且2个用于认证,例如,对于AES-CBC,可以存在4个密钥,2个用于认证并且2个用于加密——分别由客户端和服务器端点用于单向通信。对于AEAD密码,还存在不同的选项,因为AEAD利用单次操作实现加密和认证……;对于TLS<=1.2,仅认证密码套件也是可能的,等等。
处理非批量加密消息
主机系统:接收{握手,警报,change_cipher_spec}组中类型的消息。通过会话信道将消息转发到会话处理程序,并通过控制信道转移控制。
会话处理系统:
f.创建对非application_data类型的消息的响应,并发送到第二网络设备(通过使用会话信道的主机系统)。
g.通过控制信道将控制返回给主机系统
握手-恢复案例
应用/主机系统:如上所述启动与第二网络设备的重建会话。
主机系统:通过控制信道移交控制。主机系统可以预初始化握手消息,并通过控制信道将其转发到会话处理系统。如上所述,这里也可以使用其他选项。
会话处理系统:完成握手协议,现在使用恢复密钥材料而不是长期秘密。在完成时,控制被传递回主机系统。
图3示意性地示出了用于第一网络设备和第二网络设备之间的密码保护通信的方法300的实施例的示例。密码保护通信至少包括握手协议、批量数据密码保护协议和恢复协议。该方法包括
-在第一网络设备中布置(31)多个单独的执行环境,该多个单独的执行环境包括主机系统和会话处理系统,其中
-在握手协议期间,由会话处理系统取决于长期秘密获得(320)密码响应,该密码响应作为握手协议的一部分被发送到第二网络设备,以在第一网络设备和第二网络设备之间建立安全会话,会话处理系统从握手协议获得第一批量密码保护密钥和恢复密钥,
-将第一密码保护密钥转发(330)到主机系统,
-在批量数据密码保护协议期间,由主机系统利用从会话处理系统接收的批量密码保护密钥,在安全会话中对发送到第二网络设备和/或从第二网络设备接收的批量数据进行密码保护(340)
-在恢复协议期间,由会话处理系统从恢复密钥获得(350)密码响应,该密码响应作为恢复协议的一部分被发送到第二网络设备,以重建第一网络设备和第二网络设备之间的安全会话,会话处理系统从恢复协议获得第二批量密码保护密钥,
-将第二密码保护密钥转发(360)到主机系统,以供在批量密码保护中使用。
在一实施例中,第一网络设备包括安全系统,该安全系统被配置为存储长期秘密,该方法包括由会话处理系统从安全系统获得密码响应。
如将对本领域技术人员而言清楚的是,执行所述方法的许多不同方式是可能的。例如,步骤的次序可以按照所示的次序来执行,但是步骤的次序可以变化或者一些步骤可以并行执行。此外,在步骤之间中可以插入其他方法步骤。插入的步骤可以表示诸如本文描述的方法的改善,或者可以与该方法无关。例如,一些步骤可以至少部分地并行执行。此外,在下一个步骤开始之前,给定的步骤可能还没有完全完成。
该方法的实施例可以使用软件来执行,该软件包括用于使得处理器系统执行方法300的指令。软件可能仅包括由系统的特定子实体采取的那些步骤。软件可以存储在合适的存储介质中,合适的存储介质诸如是硬盘、软盘、存储器、光盘等。该软件可以作为信号沿着有线或无线或使用数据网络(例如因特网)发送。可以使软件可用于下载和/或在服务器上远程使用。该方法的实施例可以使用比特流来执行,该比特流被布置为配置可编程逻辑(例如现场可编程门阵列(FPGA)),以执行该方法。
将领会,当前公开的主题还扩展到适于将当前公开的主题付诸实践的计算机程序,特别是载体上或载体中的计算机程序。该程序可以是以源代码、目标代码、代码中间源和目标代码的形式,诸如部分编译的形式,或者是以适合用于实现该方法的实施例的任何其他形式。涉及计算机程序产品的实施例包括对应于所阐述方法中至少一种方法的每个处理步骤的计算机可执行指令。这些指令可以细分为子例程和/或存储在可以静态或动态链接的一个或多个文件中。涉及计算机程序产品的另一个实施例包括与所阐述的系统和/或产品中至少一个的每个设备、单元和/或部分相对应的计算机可执行指令。
图4a示出了具有可写部分1010的计算机可读介质1000,以及也具有可写部分的计算机可读介质1001。计算机可读介质1000以光学可读介质的形式示出。计算机可读介质1001以电子存储器的形式示出,在这种情况下是存储卡。计算机可读介质1000和1001可以存储数据1020,其中该数据可以指示指令,该指令当由处理器系统执行时,使得处理器系统执行根据实施例的通信方法的实施例。计算机程序1020可以作为物理标记或通过计算机可读介质1000的磁化在计算机可读介质1000上体现。然而,也可设想到任何其他合适的实施例。此外,将领会,尽管计算机可读介质1000在这里被示出为光盘,但是计算机可读介质1000可以是任何合适的计算机可读介质,诸如硬盘、固态存储器、闪速存储器等,并且可以是不可记录的或可记录的。计算机程序1020包括用于使得处理器系统执行所述通信方法的指令。
图4b示出了根据第一网络设备的实施例的处理器系统1140的示意性表示。处理器系统包括一个或多个集成电路1110。图4b中示意性地示出了一个或多个集成电路1110的架构。电路1110包括处理单元1120,例如CPU,用于运行计算机程序组件来执行根据实施例的方法和/或实现其模块或单元。电路1110包括用于存储程序代码、数据等的存储器1122。存储器1122的一部分可以是只读的。电路1110可以包括通信元件1126,例如天线、连接器或两者,等等。电路1110可以包括专用集成电路1124,用于执行该方法中定义的部分或全部处理。处理器1120、存储器1122、专用IC 1124和通信元件1126可以经由互连1130(比如总线)彼此连接。处理器系统1110可以被布置用于分别使用天线和/或连接器进行接触和/或无接触通信。
例如,在一实施例中,处理器系统1140(例如,第一网络设备)可以包括处理器电路和存储器电路,该处理器被布置为执行存储在存储器电路中的软件。例如,处理器电路可以是Intel Core i7处理器、ARM Cortex-R8等。存储器电路可以是ROM电路或者非易失性存储器,例如闪速存储器。存储器电路可以是易失性存储器,例如SRAM存储器。在后一种情况下,该设备可以包括被布置用于提供软件的非易失性软件接口,例如硬盘驱动器、网络接口等。
应当注意,上面提及的实施例说明而不是限制当前公开的主题,并且本领域技术人员将能够设计许多替代实施例。
在权利要求中,置于括号之间的任何附图标记都不应被解释为限制权利要求。动词“包括”及其变形的使用不排除权利要求中所陈述元件或步骤之外的元件或步骤的存在。元件前面的冠词“一”或“一个”不排除多个这样的元件的存在。诸如“至少一个”之类的表达在元件列表之前时表示从列表中选择所有元件或元件的任何子集。例如,表达“A、B和C中的至少一个”应当理解为仅包括A、仅包括B、仅包括C、A和B两者、A和C两者、B和C两者、或者A、B和C全部。当前公开的主题可以通过包括若干不同元件的硬件以及通过适当编程的计算机来实现。在列举了几个部分的设备权利要求中,这些部分中的几个可以由同一个硬件项目来体现。在相互不同的从属权利要求中引用某些措施的仅有事实并不指示这些措施的组合不能被有利地使用。
在权利要求中,括号中的参考标记指代示例性实施例的附图中的参考标记或实施例的公式,因此增加了权利要求的可理解性。这些参考标记不应被解释为限制权利要求。

Claims (19)

1.第一网络设备(200),被配置用于与第二网络设备进行密码保护通信,所述密码保护通信至少包括握手协议、批量数据密码保护协议和恢复协议,第一网络设备被配置为在第一网络设备中布置多个单独的执行环境,所述多个单独的执行环境包括主机系统(210)和会话处理系统(220),其中
-在握手协议期间,会话处理系统被配置为取决于长期秘密获得密码响应,所述密码响应作为握手协议的一部分被发送到第二网络设备,以在第一网络设备和第二网络设备之间建立安全会话,会话处理系统从握手协议获得第一批量密码保护密钥和恢复密钥,第一密码保护密钥被转发到主机系统,
-在批量数据密码保护协议期间,主机系统被配置为利用从会话处理系统接收的批量密码保护密钥,在安全会话中密码保护发送到第二网络设备或从第二网络设备接收的批量数据,
-在恢复协议期间,会话处理系统被配置为从恢复密钥获得密码响应,所述密码响应作为恢复协议的一部分被发送到第二网络设备,以重建第一网络设备和第二网络设备之间的安全会话,会话处理系统从恢复协议获得第二批量密码保护密钥,第二密码保护密钥被转发到主机系统以供在批量密码保护中使用。
2.根据权利要求1所述的第一网络设备,其中,第一网络设备包括安全系统(230),所述安全系统被配置为存储长期秘密,所述会话处理系统被配置为从所述安全系统获得密码响应。
3.根据前述权利要求中任一项所述的第一网络设备,其中,批量数据密码保护协议包括批量加密、解密和/或认证。
4.根据前述权利要求中任一项所述的第一网络设备,其中
-批量密码保护专门在主机系统执行环境中执行。
5.根据前述权利要求中任一项所述的第一网络设备,其中,执行环境不能访问第一网络设备中的另一执行环境中的数据和/或软件,也不能访问安全系统中的数据和/或软件。
6.根据前述权利要求中任一项所述的第一网络设备,其中
-主机系统执行环境和会话处理系统执行环境都不能访问长期秘密,并且
-主机系统执行环境不能访问恢复密钥。
7.根据前述权利要求中任一项所述的第一网络设备,其中,主机系统运行密码应用,以使用批量密码保护密钥来密码保护数据,所述密码应用被配置为保护发送到第二网络设备和/或从第二网络设备接收的数据。
8.根据前述权利要求中任一项所述的第一网络设备,其中,在握手协议期间,会话处理系统被配置为从握手协议获得与第二网络设备共享的主秘密,第一批量密码保护密钥和恢复密钥是从主秘密密钥导出的,主机系统执行环境不能访问所述主秘密。
9.根据前述权利要求中任一项所述的第一网络设备,其中,批量密码保护密钥和恢复密钥是短期密钥。
10.根据前述权利要求中任一项所述的第一网络设备,其被配置用于根据RFC8446的TLS,其中
-主机系统被配置为处理类型application_data协议的记录,但不处理例如握手、警报和change_cipher_spec类型的其他类型的操作,并且会话处理系统被配置为执行其他类型的操作。
11.根据前述权利要求中任一项所述的第一网络设备,其中,主机系统和会话处理系统配置有第一通信信道,其中,在握手协议期间和恢复协议期间,第一网络设备和第二网络设备之间的通信到达主机系统并且通过第一通信信道被转发到会话处理系统。
12.根据前述权利要求中任一项所述的第一网络设备,其中主机系统和会话处理系统配置有控制机制,以指示对安全密码保护通信的控制,所述控制机制指示在批量密码保护期间对主机系统的控制,所述控制机制针对握手协议并且针对恢复协议将控制从主机系统改变到会话处理系统。
13.根据前述权利要求中任一项所述的第一网络设备,其中,所述控制机制包括第二通信信道,以在主机系统和会话处理系统之间移交安全密码保护通信的状态。
14.根据前述权利要求中任一项所述的第一网络设备,其中,通信包括通信类型,主机系统被配置为取决于通信类型将所述通信转发到会话处理程序。
15.根据权利要求14所述的第一网络设备,其中,所述通信类型被加密,主机系统被配置为在取决于所述通信类型将所述通信转发到会话处理程序之前至少解密所述通信类型。
16.根据前述权利要求中任一项所述的第一网络设备,其中,所述主机系统被配置为向会话处理系统提供部分初始化状态,以由会话处理系统在握手协议和/或恢复协议期间完成。
17.根据前述权利要求中任一项所述的第一网络设备,其中
-第一网络设备是消费者设备或IoT客户端,和/或
-第一网络设备是服务器设备或IoT后端设备。
18.一种用于第一网络设备和第二网络设备之间的密码保护通信的方法(300),所述密码保护通信至少包括握手协议、批量数据密码保护协议和恢复协议,所述方法包括
-在第一网络设备中布置(31)多个单独的执行环境,所述多个单独的执行环境包括主机系统和会话处理系统,其中
-在握手协议期间,由会话处理系统取决于长期秘密获得(320)密码响应,所述密码响应作为握手协议的一部分被发送到第二网络设备,以在第一网络设备和第二网络设备之间建立安全会话,会话处理系统从握手协议获得第一批量密码保护密钥和恢复密钥,
-将第一密码保护密钥转发(330)到主机系统,
-在批量数据密码保护协议期间,由主机系统利用从会话处理系统接收的批量密码保护密钥,在安全会话中对发送到第二网络设备和/或从第二网络设备接收的批量数据进行密码保护(340),
-在恢复协议期间,由会话处理系统从恢复密钥获得(350)密码响应,所述密码响应作为恢复协议的一部分被发送到第二网络设备,以重建第一网络设备和第二网络设备之间的安全会话,会话处理系统从恢复协议获得第二批量密码保护密钥,
-将第二密码保护密钥转发(360)到主机系统,以供在批量密码保护中使用。
19.一种暂时性或非暂时性计算机可读介质(1000),包括表示指令的数据(1020),当由处理器系统执行时,所述指令使得处理器系统执行根据权利要求18的方法。
CN202310395211.9A 2022-04-14 2023-04-12 被配置用于支持多执行环境的密码保护通信的网络设备 Pending CN116915433A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022203797.9 2022-04-14
DE102022203797.9A DE102022203797A1 (de) 2022-04-14 2022-04-14 Netzvorrichtung, ausgelegt für eine kryptografisch geschützte Kommunikation mit Unterstützung mehrerer Ausführungsumgebungen

Publications (1)

Publication Number Publication Date
CN116915433A true CN116915433A (zh) 2023-10-20

Family

ID=88191580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310395211.9A Pending CN116915433A (zh) 2022-04-14 2023-04-12 被配置用于支持多执行环境的密码保护通信的网络设备

Country Status (4)

Country Link
US (1) US20240195791A1 (zh)
KR (1) KR20230147534A (zh)
CN (1) CN116915433A (zh)
DE (1) DE102022203797A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117353921A (zh) * 2023-12-06 2024-01-05 飞腾信息技术有限公司 密钥管理方法、装置、计算设备及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117353921A (zh) * 2023-12-06 2024-01-05 飞腾信息技术有限公司 密钥管理方法、装置、计算设备及计算机可读存储介质
CN117353921B (zh) * 2023-12-06 2024-02-13 飞腾信息技术有限公司 密钥管理方法、装置、计算设备及计算机可读存储介质

Also Published As

Publication number Publication date
KR20230147534A (ko) 2023-10-23
DE102022203797A1 (de) 2023-10-19
US20240195791A1 (en) 2024-06-13

Similar Documents

Publication Publication Date Title
US9571279B2 (en) Systems and methods for secured backup of hardware security modules for cloud-based web services
US11805097B2 (en) Decrypting transport layer security traffic without Man-in-the-Middle proxy
US10122713B2 (en) Method and device for the secure authentication and execution of programs
US20150358313A1 (en) Systems and methods for secured communication hardware security module and network-enabled devices
US11251942B2 (en) Secure communication channel between encryption/decryption component and trusted execution environment
JP7009393B2 (ja) ハードウェアーベースのセキュアーな分離された領域を使用して電子デバイス上での著作権侵害および不正行為を防止すること
US11947681B2 (en) Cryptographic secret generation and provisioning
CN110214440A (zh) 寻址可信执行环境
CN110622482B (zh) Tls检查中的无高速缓存会话票证支持
KR20180073015A (ko) 기기간 보안 통신 방법
US20100161956A1 (en) Method and Apparatus for Protected Code Execution on Clients
CN116915433A (zh) 被配置用于支持多执行环境的密码保护通信的网络设备
EP3720042B1 (en) Method and device for determining trust state of tpm, and storage medium
CN112703500A (zh) 在低功率模式期间保护存储在IoT装置的存储器中的数据
CN112580056A (zh) 一种终端设备、数据加密方法、解密方法、及电子设备
CN114491544A (zh) 一种虚拟可信平台模块的实现方法及相关装置
Streit et al. Providing tamper-secure SoC updates through reconfigurable hardware
US11805109B1 (en) Data transfer encryption offloading using session pairs
US11863669B2 (en) Session resumption with derived key
US11469890B2 (en) Derived keys for connectionless network protocols
EP4287553A1 (en) Data processing methods, apparatuses, and devices
CN113225336A (zh) 信息加密传输方法、加解密装置、可读介质以及电子设备
Hamidy et al. TC4SE: A High-Performance Trusted Channel Mechanism for Secure Enclave-Based Trusted Execution Environments
WO2023072390A1 (en) Method and host system for secure enclave migration
Mayes Secure Shared Processing on a Cluster of Trust-Anchors

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication