CN105993146A - 不访问私钥而使用公钥密码的安全会话能力 - Google Patents

不访问私钥而使用公钥密码的安全会话能力 Download PDF

Info

Publication number
CN105993146A
CN105993146A CN201480026113.7A CN201480026113A CN105993146A CN 105993146 A CN105993146 A CN 105993146A CN 201480026113 A CN201480026113 A CN 201480026113A CN 105993146 A CN105993146 A CN 105993146A
Authority
CN
China
Prior art keywords
server
secured session
key
client device
encryption
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
CN201480026113.7A
Other languages
English (en)
Other versions
CN105993146B (zh
Inventor
S·A·H·帕尔
M·P·F·托尔恩
P·西科拉
R·R·贝加尼
D·O·克内奇特
M·B·普林斯
J·格拉厄姆-卡明
L·H·哈罗维
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.)
Cloud Shine Co
Cloudflare Inc
Original Assignee
Cloud Shine Co
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 Cloud Shine Co filed Critical Cloud Shine Co
Publication of CN105993146A publication Critical patent/CN105993146A/zh
Application granted granted Critical
Publication of CN105993146B publication Critical patent/CN105993146B/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/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/0435Network 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
    • 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/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • 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/0442Network 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
    • 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/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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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
    • 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/0825Key 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
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/061Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key

Abstract

服务器建立与客户端设备的安全会话,其中当建立安全会话时在握手中使用的私钥被存储在不同的服务器中。在握手过程期间,服务器接收已经使用与域绑定的公钥加密的预主密钥,客户端设备针对所述域正在尝试建立与其的安全会话。服务器将加密后的预主密钥发送给另一服务器以用于解密。服务器接收解密后的预主密钥,并且继续握手过程,包括从解密后的预主密钥生成主密钥,以及生成要在安全会话中被用于加密和解密客户端设备和服务器之间的通信的一个或多个会话密钥。

Description

不访问私钥而使用公钥密码的安全会话能力
技术领域
本发明的实施例涉及安全网络通信的领域,并且更具体地,涉及在服务器不具有对在安全会话握手期间所使用的私钥的访问的情况下使用公钥密码建立安全会话(例如,安全套接层(SSL),传输层安全(TLS))。
背景技术
安全套接层(SSL)和作为SSL的后续者的传输层安全(TLS)提供安全的网络连接。SSL和/或TLS通常在web(网络)浏览(例如,使用HTTPS)、邮件、以及其他因特网应用期间被使用。SSL和TLS在若干请求评论(RequestFor Comment(RFC))中描述,包括RFC 2246(描述TLS 1.0)、RFC 4346(描述TLS 1.1)、RFC 5246(描述TLS 1.2)、和RFC 6101(描述TLS 3.0)。
在称为握手的过程中,SSL或TLS客户端和服务器协商参数集合以建立安全会话。例如,客户端发送问候(hello)消息(称为客户端问候消息),该消息包括以下内容:SSL或TLS协议的请求版本的指示、用于标识会话连接的请求会话标识符、客户端所支持的密码组(密码选项)的列表、客户端所支持的压缩方法的列表、被用于密码用途的随机数据(有时称为客户端问候.随机),并且还可以指示客户端是否支持扩展和支持什么类型的扩展(由协议定义)。
作为响应,服务器将问候消息(称为服务器问候消息)发送给客户端,该消息包括:服务器所支持的SSL或TLS协议的版本、将用于标识会话的会话标识符、所选择的密码组(从包括在客户端问候消息中的密码组列表中选择)、所选择的压缩方法(从包括在客户端问候消息中的压缩方法列表中选择)、不同于包括在客户端问候消息中的随机数据的被用于密码目的的随机数据(有时称为服务器问候.随机),并且可以包括服务器支持的扩展的列表。
在问候消息之后,服务器在称为证书消息的消息中发送其(多个)证书的列表(有时也称为服务器证书消息)。服务器然后发送指示握手的问候消息阶段完成的消息(称为服务器问候完成消息)。对于一些实现,依赖于所使用的密钥交换方法(例如,使用Diffie-Hellman密码组的实现),服务器还发送消息(称为服务器密钥交换消息)给客户端,该消息传达密码信息以允许客户端计算预主密钥(premaster secret)。该消息使用服务器的私钥来签署(sign)。然后,客户端发送消息给服务器(称为客户端密钥交换消息),包括通常由客户端生成的随机值,其称为预主密钥或Diffie-Hellman参数,其允许客户端和服务器就相同的预主密钥而意见一致。预主密钥被客户端和服务器二者用来生成共享的密钥(称为主密钥),其被用于生成用来在安全会话期间加密和解密信息的会话密钥。如果预主密钥包括在客户端密钥交换消息中,其使用由服务器发送的证书中的公钥来加密。经由特例,如果Rivest-Shamir-Adelman(RSA)算法被用于密钥协定和认证,则客户端针对预主密钥生成48字节值,并且使用来自服务器的证书的公钥进行加密,并且将加密后的预主密钥发送给服务器。经由另一特例,如果使用Diffie-Hellman实现,则客户端密钥交换消息包括客户端的Diffie-Hellman公共值。经由另一特例,如果使用FORTEZZA硬件加密系统,则客户端使用FORTEZZA密钥交换算法(KEA)导出令牌加密密钥(TEK),其自身使用来自服务器的证书的公钥以及客户端的私有参数,生成用于预主密钥的随机的48字节值并使用TEK对其进行加密,并且将加密后的预主密钥发送给服务器。
如果服务器在客户端密钥交换消息中接收到加密的预主密钥,则其利用它们的私钥对其进行解密。在其中客户端密钥交换消息包括生成预主密钥的密码参数的实现中,服务器使用这些密码参数生成预主密钥(其同样需要使用私钥)。
客户端和服务器各自使用客户端问候和服务器问候消息中包括的随机数据(例如,客户端问候.随机和服务器问候.随机)执行一系列步骤以从预主密钥生成主密钥。主密钥是用于生成会话密钥的共享的密钥,其是在安全会话期间用于加密和解密信息的对称的密钥。
客户端然后发送消息给服务器,从而通知它未来的消息将被加密(称为改变密码说明(Change Cipher Spec)消息)。客户端然后向服务器发送加密消息以用于验证(称为完成消息)。服务器向客户端发送未来的消息将被加密的消息(改变密码说明消息)以及向客户端发送加密的消息以用于验证(完成消息)。从此时起,握手完成,并且安全会话建立,而使得客户端和服务器之间的未来的消息被加密。
附图说明
通过参考以下用来说明本发明的实施例的描述和附图,本发明将被最佳地理解:
图1图示了根据一个实施例的用于在安全会话服务器不具有对在安全会话握手期间所使用的私钥的访问的情况下在客户端设备和安全会话服务器之间使用公钥密码建立安全会话的示例性消息;
图2是图示了根据一个实施例的用于在安全会话服务器不具有对用于所请求的域的密钥的访问的情况下在客户端设备和安全会话服务器之间建立利用公钥密码实现的安全会话的示例性操作的流程图;
图3是图示了根据一个实施例的由密钥服务器响应于接收到来自安全会话服务器的加密的预主密钥而执行的示例性操作的流程图;
图4图示了根据另一实施例的用于在安全会话服务器不具有对在安全会话握手期间所使用的私钥的访问的情况下在客户端设备和安全会话服务器之间使用公钥密码建立安全会话的示例性消息;
图5是图示了根据另一实施例的用于在安全会话服务器不具有对在安全会话握手期间所使用的私钥的访问的情况下在客户端设备和安全会话服务器之间建立利用公钥密码实现的安全会话的示例性操作的流程图;
图6是图示了根据一个实施例的由密钥服务器响应于接收到来自安全会话服务器的签署密码参数的请求而执行的示例性操作的流程图;
图7图示了用于在安全会话服务器不具有对在安全会话握手期间所使用的私钥的访问的情况下在客户端设备和安全会话服务器之间建立安全会话的另一实施例;
图8是图示了根据另一实施例的在安全会话服务器不具有对在安全会话握手期间所使用的私钥的访问的情况下在客户端设备和安全会话服务器之间建立利用公钥密码实现的安全会话的示例性操作的流程图;
图9是图示了根据一个实施例的由密钥服务器所执行的示例性操作的流程图;以及
图10是图示了可以根据本发明的实施例而使用的示例性计算设备的框图。
具体实施方式
在以下的描述中,将阐述众多的具体细节。然而,要理解的是,本发明的实施例可以在不具有这些具体细节的情况下实施。在其他实例中,未示出公知的电路、结构和技术以免使对本说明书的理解晦涩难懂。在所包括的描述的情况下,本领域普通技术人员将能够实现适当的功能而无需过度试验。
在本说明书中对“一个实施例”、“实施例”、“示例性实施例”等的引用指示所描述的实施例可以包括特定的特征、结构、或特性,然而每个实施例可以不必包括所述特征、结构、或特性。此外,这样的短语不必涉及相同的实施例。进一步,当结合实施例来描述特定的特征、结构、或特性时,认为不管是否明确地描述,结合其他实施例来实现这样的特征、结构、或特性在本领域技术人员的知识内。
在以下的描述和权利要求中,可以使用术语“耦合”和“连接”连同它们的派生词。应当理解到,这些术语不意图作为彼此的同义词。“耦合”被用来指示两个或多个元件,它们可以或者可以不处于彼此直接物理或电接触中、彼此协作或交互。“连接”被用来指示彼此耦合的两个或多个器件之间的通信的建立。
描述了一种用于在安全会话服务器不具有对在安全会话握手期间所使用的私钥的访问的情况下使用公钥密码建立安全会话(例如,SSL或TLS)的方法和装置。安全会话服务器是计算设备,其向和从客户端设备发送和接收因特网业务,并且在安全会话中是服务器。经由在整个说明书中使用的特例,安全会话服务器可以接收和发送针对域https://example.com的业务。该业务可以在安全会话服务器处被接收,作为客户端设备的客户端网络应用(例如,web浏览器)尝试访问https://example.com的结果。在一个实施例中,安全会话服务器可以充当针对可以属于一个或多个域所有者的多个域的服务器。
当在客户端设备和安全会话服务器之间建立安全会话时,安全会话服务器不具有对在握手过程期间所使用的私钥的本地(local)访问。例如,对于一些密码组,私钥被用于解密预主密钥,其已经被客户端设备利用对应的公钥进行加密。作为另一示例,对于其他密码组(例如,使用针对密钥交换的Diffie-Hellman的密码组),私钥被用于签署包含用于生成预主密钥的密码参数的消息。在本发明的实施例中,所需的私钥从对于安全会话服务器远程的设备被存储(或者可访问),所述设备在此称为“密钥服务器”。当在握手过程期间的某个点上需要私钥的情况下,安全会话服务器请求密钥服务器访问和使用该私钥。
例如,如果预主密钥已经由客户端生成并且利用公钥进行加密,则安全会话服务器可以请求密钥服务器使用对应的私钥来解密该预主密钥。解密后的预主密钥被客户端设备和安全会话服务器二者用来创建共享的密钥(称为主密钥),其在生成在安全会话期间用于加密和解密数据的会话密钥时使用。在接收到加密的预主密钥后(安全会话服务器不能解密其),安全会话服务器将该加密的预主密钥发送到密钥服务器,其具有对可以解密加密的预主密钥的私钥的访问。密钥服务器解密并发送预主密钥到安全会话服务器。在接收到来自密钥服务器的解密后的预主密钥后,安全会话服务器生成主密钥,并使用该主密钥来生成在安全会话期间用来加密和解码数据的会话密钥。密钥服务器可以通过安全会话或以其他加密形式向安全会话服务器发送解密后的预主密钥。安全会话服务器和客户端完成安全会话握手并建立安全会话。
作为另一示例,如果选择的密码组是需要在生成要利用私钥来签署的预主密钥时使用的密码参数的Diffie-Hellman密码组,则安全会话服务器请求密钥服务器利用私钥来签署密码参数。
图1图示了根据一个实施例的用于在安全会话服务器120不具有对在安全会话握手期间所使用的私钥的访问的情况下在客户端设备110和安全会话服务器120之间使用公钥密码建立安全会话的示例性消息。客户端设备110是计算设备(例如,桌上计算机、膝上计算机、智能电话、移动电话、平板、游戏系统、机顶盒、服务器等),其包括能够访问网络资源并能够在安全会话中充当客户端的客户端网络应用115(例如,web浏览器或其他应用)。应理解的是,在此术语“客户端设备”的使用不需要该设备是最终用户客户端设备。更确切地,在此使用术语“客户端设备”来指代在安全会话(例如,SSL和/或TLS)的客户-服务器关系中操作为客户端的计算设备。
安全会话服务器120是计算设备,其包括用于建立和维持与客户端设备(以及潜在地,密钥服务器130)的安全会话的安全会话模块140。安全会话服务器120还包括一个或多个证书145。例如,(多个)证书145包括与example.com绑定的证书。与example.com绑定的证书包括公钥。安全会话服务器120不存储与用于example.com的公钥对应的私钥。密钥服务器130是计算设备,其包括(多个)私钥150。例如,(多个)私钥150包括与存储在安全会话服务器120中的用于example.com的证书中包括的公钥对应的私钥。安全会话服务器120的安全会话模块150被配置为当在握手过程期间需要私钥(例如,私钥150)时,向密钥服务器130发送请求以访问和使用该私钥。
在操作1.1处,客户端设备110发送客户端问候消息给安全会话服务器120。该客户端问候消息开始安全会话握手。客户端设备110可以向安全会话服务器120发送该客户端问候消息作为客户端网络应用115尝试访问以HTTPS开始的网站(例如,https://example.com)的结果。在一个实施例中,客户端问候消息被发送给安全会话服务器120,作为针对域的域名系统(DNS)请求的结果,其中客户端设备110尝试连接以解析安全会话服务器120的IP地址。客户端问候消息可以包括以下内容:请求的SSL或TLS协议版本的指示、用于标识会话连接的请求的会话标识符、客户端设备110所支持的密码组的列表、客户端设备110所支持的压缩方法的列表、用于密码目的的随机数据(客户端问候.随机),并且还可以指示客户端是否支持由协议定义的扩展和客户端支持由协议定义的什么类型的扩展。在此描述的实施例中可以使用许多密码组(例如,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_RC4_128_MD5,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_DES_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA;TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA;TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA;TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA;等)。
响应于客户端问候消息,在操作1.2处,安全会话服务器120向客户端设备110发送服务器问候消息。服务器问候消息可以包括安全会话服务器120所支持的SSL或TLS协议的版本、将用于标识会话的会话标识符、所选择的密码组(从客户端问候消息中包括的密码组的列表中选择)、不同于客户端问候消息中所包括的随机数据的用于密码目的的随机数据(有时称为服务器问候.随机),并且还可以包括服务器所支持的扩展的列表。
在操作1.3处,安全会话服务器120还向客户端设备110发送证书消息(服务器证书)。证书消息包括用于请求域的数字证书。例如,如果请求域是example.com,则证书消息包括绑定到example.com的数字证书。除其他之外,数字证书还包括公钥。在操作1.4处,安全会话服务器120向客户端设备110发送服务器问候完成消息,其指示握手的问候消息阶段完成。
在操作1.5处,客户端110发送客户端密钥交换消息给安全会话服务器120。客户端密钥交换消息包括称为预主密钥的随机值,该预主密钥已经使用在操作1.3的证书消息中包括的公钥进行加密。经由特例,如果RSA算法被用于密钥协定和认证,则客户端设备110生成用于预主密钥的48字节值,并且使用来自服务器的证书的公钥对其进行加密,并向安全会话服务器120发送加密后的预主密钥。如将在以下所描述的,解密后的预主密钥被用于生成客户端设备110和安全会话服务器120之间的共享密钥(称为主密钥),其然后在生成用于加密和解密在安全会话期间发送的数据的加密和解密密钥时被使用。应理解的是,如果加密的预主密钥无法被解密,则握手将失败,并且安全会话将不建立。
安全会话服务器120不具有用于解密预主密钥的私钥。然而,私钥存储在密钥服务器130中(作为(多个)私钥150之一)。虽然图1图示了密钥服务器130存储私钥,但是在其他的实施例中,密钥服务器130可以访问私钥,但那些私钥存储在不同的设备上。在操作1.6处,安全会话服务器120发送加密的预主密钥给密钥服务器130。密钥服务器130使用针对请求的域的私钥对加密后的预主密钥进行解密。在操作1.7处,密钥服务器130然后向安全会话服务器120发送解密后的预主密钥。在一个实施例中,操作1.6和1.7的消息通过安全连接155发送(例如,使用SSL或TLS加密,或其他机制)和/或加密的预主密钥和解密的预主密钥以其他方式被加密。
在一个实施例中,密钥服务器130存储用于多个域和/或区的私钥或者具有对其的访问,该多个域和/或区可以由不同的实体所拥有或控制。例如,密钥服务器130可以存储用于example.com和example2.com的私钥或者具有对其的访问。在这样的实施例中,与发送加密的预主密钥给密钥服务器130结合,安全会话服务器120指示客户端设备110在其中正在请求连接的域或区。例如,如果客户端设备110正在请求与example.com的安全会话,则安全会话服务器120向密钥服务器130指示example.com是请求的域。客户端设备110可以使用客户端问候消息中的服务器名称指示(SNT)扩展来指定目的地域。SNI在2003年6月的RFC 3546中描述。如果未由客户端设备110指定目的地(例如,客户端设备110不支持SNI),则安全会话服务器120将从客户端设备110发送的客户端-问候消息的目的地IP地址与对应的主机名进行匹配(例如,安全会话服务器120可以包括IP地址和主机名之间的映射)。安全会话服务器120可以采用许多不同的方式将域或区名的指示发送给密钥服务器130,包括以报头(header)、定制二进制结构、或序列化格式(例如,protobuf、JavaScript对象表示法(JSON)等)。在接收到客户端在其中尝试连接的域或区名的指示后,密钥服务器130访问对应的私钥并解密加密后的预主密钥。
安全会话服务器120使用解密后的预主密钥来计算主密钥。客户端设备110和安全会话服务器120使用相同的算法和数据来计算相同的主密钥。例如,使用取得预主密钥、客户端问候.随机值、和服务器问候.随机值作为输入的伪随机函数来计算主密钥。
主密钥被客户端设备110和安全会话服务器120用来生成会话密钥,该会话密钥用于在安全会话期间加密和解密信息。经由特例,主密钥用于生成客户端写消息认证码(MAC)密钥、服务器写MAC密钥、客户端写加密密钥、和服务器写加密密钥。客户端写初始化向量(IV)和服务器写IV也可以依赖于所使用的密码来生成。
在操作1.8处,客户端设备110向安全会话服务器120发送改变密码说明消息。来自客户端设备110的改变密码说明消息指示未来的由客户端设备110发送的消息将被加密。在操作1.9处,客户端设备110向安全会话服务器120发送完成消息。使用生成的会话密钥对完成消息进行加密。例如,完成消息包括先前在握手中发送和接收的所有消息的加密后的散列。
在操作1.10处,安全会话服务器120发送改变密码说明消息给客户端设备110,其指示未来的由安全会话服务器120发送的消息将被加密。在操作1.11处,安全会话服务器120发送完成消息给客户端设备110。完成消息包括先前在握手中发送和接收的所有消息的加密后的散列。
在操作1.11的完成消息之后,握手完成,并且安全会话160被视为建立。在操作1.12处,客户端设备110和安全会话服务器120间的安全会话的未来消息将通过安全会话160加密,其承载连接的应用数据。
如上所述,安全会话服务器120和密钥服务器130之间的连接可以是安全连接以用于安全地发送解密后的预主密钥以及可选地安全发送加密后的预主密钥。如上所述,安全会话(例如,SSL或TLS)可以在安全会话服务器120和密钥服务器130之间建立。作为建立安全会话的一部分,密钥服务器130可以从安全会话服务器120请求客户端证书,并且安全会话服务器120可以发送包括其证书的客户端证书消息给密钥服务器130。客户端证书消息中的数据被密钥服务器130用来对安全会话服务器120的身份进行认证。
在一些实施例中,密钥服务器130可以使用IP地址分块以接受来自仅某些IP地址的连接(例如来自安全会话服务器120)。例如,密钥服务器130可以具有被允许连接到密钥服务器130的(多个)IP地址和/或(多个)IP地址范围的白名单,或者具有不被允许连接到密钥服务器130的(多个)IP地址和/或(多个)IP地址范围的黑名单。IP地址分块还可以在安全会话服务器120和密钥服务器130之间的一个或多个中间网络设备处被使用。
虽然已经描述了由安全会话服务器120发起的安全会话服务器120和密钥服务器130之间的安全会话,但是在其他实施例中,安全会话可以由密钥服务器130发起。
所描述的安全技术的结合可以用于为解密的预主密钥提供安全。例如,请求客户端证书和IP地址分块的结合可以用于为安全会话服务器120和密钥服务器130之间的连接提供安全。
在一个实施例中,安全会话服务器120和密钥服务器130之间的安全连接155可以是虚拟私人网络(VPN)连接,其在防火墙环境中可以是合期望的。
图2是图示了根据一个实施例的用于在安全会话服务器不具有对用于所请求的域的密钥的访问的情况下在客户端设备和安全会话服务器之间建立利用公钥密码实现的安全会话的示例性操作的流程图。私钥远离安全会话服务器而存储(例如,在密钥服务器上)。
在操作210处,安全会话服务器接收来自客户端设备的消息,其发起建立与客户端设备的安全会话的过程。例如,安全会话服务器可以接收来自客户端设备的客户端问候消息(例如,SSL或TLS客户端问候消息)。依赖于客户端设备的协议和能力,该消息可以指示客户端设备想要在其中建立安全会话的目的地主机名(例如,客户端问候消息可以包括服务器名称指示(SNI)扩展并且指定目的地主机名)。
响应于在操作210中接收到消息,安全会话服务器可以执行许多操作,包括在操作215处发送数字证书给客户端设备。数字证书包括用于请求域的公钥。应理解,对应于公钥的私钥未存储在安全会话服务器上(例如,其远程地存储在密钥服务器上)。数字证书可以在SSL或TLS证书消息中发送。在发送数字证书之前,安全会话服务器可以执行许多其他操作,包括发送服务器问候消息给客户端设备。如果操作210中的消息指示目的地域,则安全会话服务器发送绑定到该目的地域的数字证书。如果操作210中的消息未指示目的地主机名,则安全会话服务器发送与操作210中的消息的目的地IP地址相关联并绑定到请求域的数字证书。流程从操作215移到操作220。
在操作220处,安全会话服务器从客户端设备接收已经使用操作215中发送的数字证书中的公钥进行加密的预主密钥。加密的预主密钥可以由客户端设备在SSL或TLS客户端密钥交换消息中发送。流程从操作220移到操作225。
安全会话服务器不具有与加密预主密钥的公钥对应的私钥。作为结果,安全会话服务器不能解密加密后的预主密钥以获得预主密钥。在操作225处,安全会话服务器发送加密后的预主密钥给密钥服务器,其具有可以解密加密后的预主密钥的私钥。在一个实施例中,密钥服务器与安全会话服务器远程地定位。此外,在一些实施例中,安全会话服务器和密钥服务器可以由不同的实体所拥有和/或操作。例如,当密钥服务器在请求域的所有者的物理控制之下时,安全会话服务器可能不在由请求域的所有者的物理控制之下。在一个实施例中,加密的预主密钥通过安全连接(例如,使用SSL或TLS加密的)发送给密钥服务器和/或以其他方式加密。流程从操作225移到操作230。
响应于接收到加密的预主密钥,密钥服务器解密该加密的预主密钥并获得预主密钥。图3是图示了根据一个实施例的由密钥服务器响应于接收到来自安全会话服务器的加密的预主密钥而执行的示例性操作的流程图。在操作310处,密钥服务器接收来自安全会话服务器的加密的预主密钥。例如,密钥服务器接收由安全会话服务器在图2中操作225中发送的加密的预主密钥。
流程然后移到操作315,其中密钥服务器访问与用来加密预主密钥的公钥对应的私钥。密钥服务器可以从安全会话服务器接收客户端设备在其中尝试建立针对的安全会话的域或区名的指示。该指示可以采用许多不同的方式发送,包括以报头、定制二进制结构、或序列化格式(例如,protobuf,JavaScript对象表示法(JSON)等)。密钥服务器使用该指示来访问对应于加密预主密钥的公钥的私钥。
流程然后移到操作320,其中密钥服务器使用访问的私钥解密加密后的预主密钥。流程然后移到操作325,其中密钥服务器发送解密的预主密钥给安全会话服务器。
如上所述,密钥服务器可以通过安全会话向安全会话发送解密的预主密钥。作为建立密钥服务器和安全会话服务器之间的安全会话的一部分,密钥服务器可以从安全会话服务器请求客户端证书,以便认证安全会话服务器的身份。在一些实施例中,密钥服务器可以使用基于IP地址的分块来验证密钥服务器正在与合法的安全会话服务器通信(例如,通过验证安全会话服务器正在与具有由密钥服务器所预期的值的IP地址通信)。在一些实施例中,密钥服务器和安全会话服务器之间的连接是VPN连接。在一些实施例中,这些安全技术的任何组合都可以用于使解密的预主密钥的发送安全。
回到参考图2,在操作230处,安全会话服务器接收来自密钥服务器的解密的预主密钥。在一个实施例中,解密的预主密钥通过安全连接(例如,使用SSL或TLS加密的)发送给密钥服务器和/或以其他方式加密,使得安全会话服务器能够解密消息。流程从操作230移到操作235。
在获得来自密钥服务器的解密的预主密钥后,安全会话服务器可以继续与客户端设备的安全会话握手,并建立安全会话。例如,在操作235处,安全会话服务器使用解密的预主密钥来生成主密钥。客户端设备也生成相同的主密钥。
流程然后移到操作240,其中安全会话服务器生成要在加密和解密信息时在安全会话中使用的会话密钥集合。经由特例,主密钥被用于生成客户端写消息认证码(MAC)密钥、服务器写MAC密钥、客户端写加密密钥、和服务器写加密密钥。客户端写初始化向量(IV)和服务器写IV也可以依赖于所使用的密钥而生成。
流程从操作240移到操作245,其中安全会话服务器完成与客户端设备的握手,并建立与客户端设备的安全会话。例如,客户端设备和安全会话服务器均可以发送改变密码说明消息和完成消息,如本文之前所描述的。当安全会话在操作中时,客户端设备和安全会话服务器可以安全地交换数据。
图4图示了根据一个实施例的用于在安全会话服务器420不具有对在安全会话握手期间所使用的私钥的访问的情况下在客户端设备410和安全会话服务器420之间使用公钥密码建立安全会话的示例性消息。图4中所描述的实施例描述了用于建立安全会话的消息,其中所选择的密码组需要使用服务器密钥交换消息(例如,使用Diffie-Hellman密码组)。客户端设备410(包括客户端网络应用415)与图1的客户端设备110类似。包括安全会话模块440和(多个)证书445的安全会话服务器420类似于安全会话服务器120(包括安全会话模块140和(多个)证书145),但是执行不同的操作,如将在以下描述的。密钥服务器430类似于图1的密钥服务器130,但是执行不同的操作,如将在以下描述的。
在操作4.1处,客户端设备410发送客户端问候消息给安全会话服务器420。该客户端问候消息类似于图1的操作1.1中的客户端问候消息。响应于客户端问候消息,在操作4.2处安全会话服务器420发送服务器问候消息给客户端设备410。该服务器问候消息类似于图1的操作1.2中的服务器问候消息。在操作4.3处,安全会话服务器420还发送证书消息给客户端设备410(服务器证书)。该证书消息类似于图1的操作1.3中描述的证书消息。
虽然图4中未图示,但是安全会话服务器420已经选择具有密钥交换的密码组,在其中,在操作4.3中发送的认证消息不包括足够数据以允许客户端设备410生成预主密钥。例如,所选择的密码组可以使用Diffie-Hellman作为密钥交换机制(例如,DHE_RSA、DHE_DSS)。因此,安全会话服务器420将发送消息给客户端设备410,该消息传达密码信息以允许客户端设备410和安全会话服务器420均生成相同的预主密钥。经由特例,在密钥交换机制是Diffie-Hellman的情况下,密码信息包括密码参数集合,其包括以下内容:用于Diffie-Hellman操作的素数模(prime modulus)(p)、用于Diffie-Hellman操作的生成器(g)、以及服务器的Diffie-Hellman公共值(g^X mod p,其中X是服务器的Diffie-Hellman私有值)。传达密码信息的消息可以称为服务器密钥交换消息。服务器密钥交换消息可能需要利用私钥450来签署,该私钥对应于在操作4.3中发送的证书消息中发送的服务器的公钥(例如,如果密钥交换机制是DHE_RSA或DHE_DSS的话)。如关于在图1中讨论的实施例类似描述的,安全会话服务器420不具有对该密钥450的本地访问。作为结果,安全会话服务器420不能利用私钥450来签署服务器密钥交换消息。
因为安全会话服务器420不具有对私钥450的本地访问,所以在操作4.4处,安全会话服务器420发送请求给密钥服务器430,以利用私钥450来签署服务器密钥交换消息的密码参数。
在一个实施例中,安全会话服务器420生成这些密码参数(并选择Diffie-Hellman操作中使用的服务器的私有值),并将这些密码参数和任何其他所需信息(例如,客户端问候.随机和服务器问候.随机值)发送给密钥服务器430,以使用私钥450来签署。在该实施例中,如果密钥交换机制是DHE_RSA,则私钥450通常是RSA密钥,或者如果密钥交换机制是DHE_DSS,则私钥450是数字签名算法(DSA)。
在操作4.5处,密钥服务器430将签署的服务器密钥交换参数的结果发送给安全会话服务器420。在一个实施例中,操作4.4和4.5的消息通过安全连接455(例如,使用SSL或TLS或其他机制加密)发送和/或以其他方式加密。
在操作4.6处,安全会话服务器420将服务器密钥交换消息发送给客户端设备410,其包括签署的密码参数。在操作4.7处,安全会话服务器420还将服务器问候完成消息发送给客户端设备410,该消息指示握手的问候消息阶段完成。
客户端设备410使用对应的公钥(例如,操作4.3中发送的证书消息中接收的公钥)对服务器密钥交换消息中的信息进行认证。假设信息被认证,则客户端设备410使用该信息生成预主密钥。在操作4.8处,客户端发送客户端密钥交换消息。
不像图1的客户端密钥交换消息,操作4.8中发送的该客户端密钥交换消息不包括预主密钥。更确切地,该客户端密钥交换消息包括对于服务器(安全会话服务器420)生成相同的预主密钥所必需的信息(例如,其包括客户端的Diffie-Hellman公共值)。例如,在其中安全会话服务器420生成Diffie-Hellman密码参数的实施例中,安全会话服务器420使用(在客户端密钥交换消息中接收的)客户端的Diffie-Hellman公共值和其Diffie-Hellman私有值来生成预主密钥。
安全会话服务器420使用预主密钥计算主密钥。客户端设备410和安全会话服务器420使用相同的算法和数据计算相同的主密钥。例如,主密钥使用取得预主密钥、客户端问候.随机值和服务器问候.随机值作为输入的伪随机函数来计算。主密钥被客户端设备410和安全会话服务器420用来生成在安全会话期间用于加密和解密信息的会话密钥。经由特例,主密钥用于生成客户端写消息认证码(MAC)密钥、服务器写MAC密钥、客户端写加密密钥、和服务器写加密密钥。客户端写初始化向量(IV)和服务器写IV也可以依赖于所使用的密码而生成。
在操作4.9处,客户端设备410将改变密码说明消息发送给安全会话服务器420。来自客户端设备410的改变密码说明消息指示由客户端设备410发送的未来的消息将被加密。在操作4.10处,客户端设备410向安全会话服务器420发送完成消息。使用生成的会话密钥对完成消息进行加密。例如,完成消息包括先前在握手中发送和接收的所有消息的加密的散列。
在操作4.11处,安全会话服务器420向客户端设备410发送改变密码说明消息,其指示由安全会话服务器420发送的未来消息将被加密。在操作4.12处,安全会话服务器420发送完成消息给客户端设备410。完成消息可以包括先前在握手中发送和接收的所有消息的加密的散列。
在操作4.12的完成消息之后,握手完成,并且安全会话460被视为建立。在操作4.13处,客户端设备110和安全会话服务器120间的会话期间的未来消息通过安全会话160进行加密,其承载连接的应用数据。
图5是图示了根据一个实施例的用于在安全会话服务器不具有对在安全会话握手期间所使用的私钥的访问的情况下在客户端设备和安全会话服务器之间建立利用公钥密码实现的安全会话的示例性操作的流程图。
在操作510处,安全会话服务器接收来自客户端设备的消息,其发起建立与客户端设备的安全会话的过程。例如,安全会话服务器从客户端设备接收客户端问候消息(例如,SSL或TLS客户端问候消息)。依赖于客户端设备的协议和能力,该消息可以指示客户端设备想要在其中建立安全会话的目的地主机名(例如,客户端问候消息可以包括服务器名称指示(SNI)扩展并且指定目的地主机名)。
响应于在操作510中接收到消息,安全会话服务器可以执行许多操作,包括在操作515处向客户端设备发送数字证书。数字证书包括用于请求域的公钥。应理解,与该公钥对应的私钥未存储在安全会话服务器中(例如,其远程地存储在密钥服务器上)。数字证书可以在SSL或TLS证书消息中发送。在发送数字证书之前,安全会话服务器可以执行许多其他操作,包括向客户端设备发送服务器问候消息。如果操作510中的消息指示目的地域,则安全会话服务器发送绑定到该目的地域的数字证书。如果操作510中的消息未指示目的地主机名,则安全会话服务器发送与操作510中的消息的目的地IP地址相关联的绑定到请求域的数字证书。流程从操作515移到操作520。
在图5的实施例中,安全会话服务器选择了具有密钥交换的密码组,在其中由安全会话服务器发送的证书消息不包括足够的数据以允许客户端设备生成预主密钥。例如,选择的密码组可以使用Diffie-Hellman作为密钥交换机制(例如,DHE_RSA或DHE_DSS)。
在操作520处,安全会话服务器生成被用于为选择的密钥交换消息生成预主密钥的密码参数集合。经由特例,在密钥交换机制是Diffie-Hellman的情况下,密码参数可以包括以下内容:用于Diffie-Hellman操作的素数模(p)、用于Diffie-Hellman操作的生成器(g)、以及安全会话服务器的Diffie-Hellman公共值(g^X mod p,其中X是服务器所选择的Diffie-Hellman私有值)。流程从操作520移到操作525。
该密码参数集合将被包括在消息中,以发送到客户端设备。依赖于选择的密码组,这些密码参数可能需要被签署(例如,利用与用于请求域的公钥对应的私钥)。安全会话服务器不具有对私钥的本地访问(例如,其被存储在与安全会话服务器远程地定位的密钥服务器上)。在操作525处,安全会话服务器向密钥服务器发送请求,以利用与用于请求域的公钥对应的私钥来签署该密码参数集合。除密码参数之外,该请求还可以包括一个或多个同样被签署的随机值(例如,客户端问候.随机和服务器问候.随机值)。被签署的该密码参数集合将被包括在到客户端设备的消息中,在其中客户端进行认证。流程从操作525移到操作530。
图6是图示了根据一个实施例的由密钥服务器响应于接收到来自安全会话服务器的签署密码参数的请求而执行的示例性操作的流程图。在操作610处,密码服务器接收来自安全会话服务器的签署密码参数的请求。例如,密钥服务器接收由安全会话服务器在图5的操作525中发送的请求。
流程然后移到操作615,其中密钥服务器访问与用于请求域的公钥对应的私钥。密钥服务器可以接收来自安全会话服务器的客户端设备在其中尝试建立用于其的安全会话的域或区名的指示。该指示可以采用许多不同的方式发送,包括以报头、定制二进制结构、或序列化格式(例如,protobuf、JavaScript对象表示法(JSON)等)。密钥服务器使用该指示来访问与用于请求域的公钥对应的私钥。然后流程移到操作620。
在操作620处,密钥服务器使用访问的私钥来签署密码参数。流程然后移到操作625,其中密钥服务器发送所签署的密码参数给安全会话服务器。
密钥服务器可以通过安全会话发送签署后的密码参数。作为建立密钥服务器和安全会话服务器之间的安全会话的一部分,密钥服务器可以从安全会话服务器请求客户端证书,以便认证安全会话服务器的身份。在一些实施例中,密钥服务器可以使用基于IP地址的分块来验证密钥服务器正在与合法的安全会话服务器通信(例如,通过验证安全会话服务器正在与具有由密钥服务器所预期的值的IP地址通信)。在一些实施例中,密钥服务器和安全会话服务器之间的连接是虚拟私人网络(VPN)连接。在一些实施例中,这些安全技术的任何组合都可以用于使签署的密码参数的发送安全。
回到参考图5,在操作530处,安全会话服务器从密钥服务器接收具有签署的密码参数集合的消息。流程然后移到操作535,其中安全会话服务器将签署的密码参数集合发送给客户端设备。该签署的密码参数集合可以在服务器密钥交换消息中被发送给客户端。流程从操作535移到操作540。
客户端设备将使用先前从服务器接收到的公钥对消息中的信息进行认证(例如,认证签名)。假设其被认证,则客户端设备将部分地使用该信息来生成预主密钥。然而,在该实施例中,客户端设备不将预主密钥传送给安全会话服务器。更确切地,其传送对于安全会话服务器生成相同预主密钥所必需的信息。例如,客户端设备向安全会话服务器发送其Diffie-Hellman公共值(部分地根据从安全会话服务器接收到的密码参数集合来生成)。因此,在操作540处,安全会话服务器接收由客户端设备部分地基于密码参数所生成的公共值(例如,客户端设备的Diffie-Hellman公共值)。流程从操作540移到操作545。
在操作545处,安全会话服务器使用接收到的公共值和密码参数中的至少一些来生成预主密钥(其应该与由客户端设备所生成的预主密钥相同)。经由特例,安全会话服务器通过计算y^X mod p生成预主密钥,其中y是客户端设备的公共值,X是安全会话服务器的私有值,并且p是素数模值。
流程从操作545移到操作550,其中安全会话服务器使用预主密钥生成主密钥。客户端设备还生成相同的主密钥。流程然后移到操作555,其中安全会话服务器生成要在安全会话中当加密和解密信息时使用的会话密钥集合。经由特例,主密钥被用于生成客户端写消息认证码(MAC)密钥、服务器写MAC密钥、客户端写加密密钥、和服务器写加密密钥。客户端写初始化向量(IV)和服务器写IV也可以依赖于所使用的密码而生成。
流程从操作555移到操作560,其中安全会话服务器完成与客户端设备的握手,并且建立与客户端设备的安全会话。例如,客户端设备和安全会话服务器均可以发送改变密码说明消息和完成消息,如本文之前所描述的。当安全会话在操作中时,客户端设备和安全会话服务器可以安全地交互数据。
图7图示了用于在安全会话服务器不具有对在安全会话握手期间所使用的私钥的访问的情况下在客户端设备和安全会话服务器之间建立安全会话的另一实施例。与图4中描述的实施例类似,图7中描述的实施例描述了消息,其中选择的密码组需要使用服务器密钥交换消息(例如,使用Diffie-Hellman密码组)。然而,不像图4中描述的实施例,在图7的实施例中,密钥服务器生成密钥交换期间所使用的密码参数。客户端设备710(包括客户端网络应用715)与图1的客户端设备110类似。包括安全会话模块740和(多个)证书745的安全会话服务器720类似于安全会话服务器120(包括安全会话模块140和(多个)证书145),但是执行不同的操作,如将在以下描述的。密钥服务器730类似于图1的密钥服务器130,但是执行不同的操作,如将在以下描述的。。
在操作7.1处,客户端设备710发送客户端问候消息给安全会话服务器720。该客户端问候消息类似于图1的操作1.1中描述的客户端问候消息。响应于客户端问候消息,在操作7.2处,安全会话服务器720发送服务器问候消息给客户端设备710。该服务器问候消息类似于图1的操作1.2中描述的服务器问候消息。在操作7.3处,安全会话服务器720还发送证书消息给客户端设备710(服务器证书)。该证书消息类似于图1的操作1.3中描述的证书消息。
虽然图7中未图示,但是安全会话服务器420已经选择具有密钥交换的密码组,在其中,在操作7.3中发送的证书消息不包括足够数据以允许客户端设备710生成预主密钥。例如,所选择的密码组可以使用Diffie-Hellman作为密钥交换机制(例如,DHE_RSA,DHE_DSS)。因此,安全会话服务器720将发送消息给客户端设备710,该消息传达密码信息以允许客户端设备710和安全会话服务器720均生成相同的预主密钥。经由特例,在密钥交换机制是Diffie-Hellman的情况下,密码信息包括密码参数集合,其包括以下内容:用于Diffie-Hellman操作的素数模(p)、用于Diffie-Hellman操作的生成器(g)、以及服务器的Diffie-Hellman公共值(g^X mod p,其中X是服务器的Diffie-Hellman私有值)。传达密码信息的消息可以称为服务器密钥交换消息。服务器密钥交换消息可能需要利用私钥750来签署,该私钥对应于在操作7.3中发送的证书消息中发送的服务器的公钥(例如,如果密钥交换机制是DHE_RSA或DHE_DSS的话)。如关于在图1中讨论的实施例类似描述的,安全会话服务器720不具有对该密钥750的本地访问。作为结果,安全会话服务器720不能利用私钥750来签署服务器密钥交换消息。
在操作7.4处,安全会话服务器720向密钥服务器730发送请求,以生成和签署要在服务器密钥交换消息中使用的密码参数。密钥服务器730生成密码参数(安全会话服务器420可以发送任何其他的所需信息,诸如可以在签署时使用的客户端问候.随机和服务器问候.随机值),并且使用私钥750来签署结果。在该实施例中,如果密钥交换机制是DHE_RSA,则私钥750通常是RSA密钥,或者如果密钥交换机制是DHE_DSS,则私钥750是DSA密钥。
在操作7.5处,密钥服务器730将签署后的服务器密钥交换参数发送回到安全会话服务器720。在操作7.6处,安全会话服务器720使用发送给客户端设备710的服务器密钥交换消息中的签署后的参数。在操作7.7处,安全会话服务器720还将服务器问候完成消息发送给客户端设备710,其指示握手的问候消息阶段完成。
客户端设备710使用对应的公钥(例如,在操作7.3中发送的证书消息中接收到的公钥)对服务器密钥交换消息中的信息进行认证。假设信息被认证,则客户端设备710使用该信息生成预主密钥。在操作7.8处,客户端发送客户端密钥交换消息。
客户端密钥交换消息包括对于密钥服务器430生成相同的预主密钥所必需的信息(例如,其包括客户端的Diffie-Hellman公共值)。在操作7.9处,安全会话服务器720向密钥服务器730发送请求,以使用客户端的公共值生成预主密钥。在操作7.10处,安全会话服务器720使用客户端的公共值生成预主密钥,并且向安全会话服务器720发送该预主密钥。
安全会话服务器720使用预主密钥计算主密钥。客户端设备710和安全会话服务器720使用相同的算法和数据计算相同的主密钥。例如,主密钥使用取得预主密钥、客户端问候.随机值和服务器问候.随机值作为输入的伪随机函数来计算。主密钥被客户端设备710和安全会话服务器720用来生成在安全会话期间用于加密和解密信息的会话密钥。经由特例,主密钥用于生成客户端写消息认证码(MAC)密钥、服务器写MAC密钥、客户端写加密密钥、和服务器写加密密钥。客户端写初始化向量(IV)和服务器写IV也可以依赖于所使用的密码而生成。
在操作7.11处,客户端设备710将改变密码说明消息发送给安全会话服务器720。来自客户端设备710的改变密码说明消息指示由客户端设备710发送的未来的消息将被加密。在操作7.12处,客户端设备710向安全会话服务器720发送完成消息。使用生成的会话密钥对完成消息进行加密。例如,完成消息包括先前在握手中发送和接收的所有消息的加密的散列。
在操作7.13处,安全会话服务器720向客户端设备710发送改变密码说明消息,其指示由安全会话服务器720发送的未来的消息将被加密。在操作7.14处,安全会话服务器720发送完成消息给客户端设备710。完成消息可以包括先前握手中发送和接收的所有消息的加密的散列。
在操作7.14的完成消息之后,握手完成,并且安全会话760被视为建立。在操作7.15处,客户端设备110和安全会话服务器120间的会话期间的未来信息通过安全会话760进行加密,其承载连接的应用数据。
在一个实施例中,在操作7.4、7.5、7.9和7.10中发送的消息通过安全连接755(例如,使用SSL或TLS或者其他机制加密)发送和/或以其他方式加密。
图8是图示了根据另一实施例的在安全会话服务器不具有对在安全会话握手期间所使用的私钥的访问的情况下在客户端设备和安全会话服务器之间建立利用公钥密码实现的安全会话的示例性操作的流程图。在操作810处,安全会话服务器接收来自客户端设备的消息,其发起与客户端设备建立安全会话的过程。例如,安全会话服务器从客户端设备接收客户端问候消息(例如,SSL或TLS客户端问候消息)。依赖于客户端设备的协议和能力,该消息可以指示客户端设备想要在其中建立安全会话的目的地主机名(例如,客户端问候消息可以包括服务器名称指示(SNI)扩展并指定目的地主机名)。
响应于在操作810中接收到消息,安全会话服务器可以执行许多操作,包括在操作815处,向客户端设备发送数字证书。数字证书包括用于请求域的公钥。应理解的是,与该公钥对应的私钥未存储在安全会话服务器上(例如,其远程地存储在密钥服务器上)。数字证书可以在SSL或TLS证书消息中发送。在发送数字证书之前,安全会话服务器可以执行许多其他操作,包括向客户端设备发送服务器问候消息。如果操作810中的消息指示目的地域,则安全会话服务器发送绑定到该目的地域的数字证书。如果操作810中的消息未指示目的地主机名,则安全会话服务器发送与操作810中的消息的目的地IP地址相关联的绑定到请求域的数字证书。流程从操作815移到操作820。
在图8的实施例中,安全会话服务器选择具有密钥交换的密码组,在其中由安全会话服务器发送的证书消息不包括足够的数据以允许客户端设备生成预主密钥。例如,所选择的密码组可以使用Diffie-Hellman作为密钥交换机制(例如,DHE_RSA或DHE_DSS)。
对照于参照图5所描述的实施例,安全会话服务器不生成用于生成预主密钥的密码参数集合。取而代之,密钥服务器生成这些密码参数。在操作820处,安全会话服务器发送生成和签署用于生成预主密钥的密码参数集合的请求给密钥服务器。该请求还可以包括一个或多个同样被签署的随机值(例如,客户端问候.随机和服务器问候.随机值)。流程从操作820移到操作825。
图9是图示了根据一个实施例的由密钥服务器所执行的示例性操作的流程图。在操作910处,密钥服务器接收来自安全会话服务器的请求,以生成和签署要在生成预主密钥期间使用的密码参数。例如,密钥服务器接收由安全会话服务器在图8的操作820中发送的请求。流程然后移到操作915,其中密钥服务器生成用于产生预主密钥的密码参数。经由其中密钥交换机制是Diffie-Hellman的特例,密码参数可以包括以下内容:用于Diffie-Hellman操作的素数模(p)、用于Diffie-Hellman操作的生成器(g)、以及密钥服务器的Diffie-Hellman公共值(g^X mod p,其中X是密钥服务器所选择的Diffie-Hellman私有值)。流程从操作915移到操作920。
在操作920处,密钥服务器访问对应于用于请求域的公钥的私钥。密钥服务器可以接收来自安全会话服务器的客户端设备在其中尝试建立用于其的安全会话的域或区名的指示。该指示可以采用许多不同的方式发送,包括以报头(header)、定制二进制结构、或序列化格式(例如,protobuf、JavaScript对象表示法(JSON)等)。密钥服务器使用该指示访问与用于请求域的公钥对应的私钥。流程然后移到操作925。
在操作925处,密钥服务器使用所访问的私钥签署密码参数。流程然后移到操作930,其中密钥服务器发送被签署的密码参数给安全会话服务器。
返回参照图8,在操作825处,安全会话服务器接收来自密钥服务器的具有签署的密码参数集合的消息。流程然后移到操作830,其中安全会话服务器向客户端设备发送被签署的密码参数集合。签署的密码参数集合可以在服务器密钥交换消息中被发送给客户端。流程从操作830移到操作835。
客户端设备将使用先前从服务器接收到的公钥来认证该消息中的信息(例如,认证签名)。假设其被认证,则客户端设备将部分地使用该信息生成预主密钥。然而,在该实施例中,客户端设备不将预主密钥传送给安全会话服务器。更确切地,其传送对于安全会话服务器生成相同预主密钥所必需的信息。例如,客户端设备向安全会话服务器发送其Diffie-Hellman公共值(部分地根据从安全会话服务器接收到的密码参数集合而生成的)。因此,在操作835处,安全会话服务器接收由客户端设备部分地基于密码参数所生成的公共值(例如,客户端设备的Diffie-Hellman公共值)。流程从操作835移到操作840。
在操作840处,安全会话服务器向密钥服务器发送生成预主密钥的请求。该请求包括从客户端设备接收到的公共值。
返回参照图9,在操作935处密钥服务器接收生成预主密钥的请求。流程然后移到操作940,并且密钥服务器使用接收到的公共值和至少一些生成的密码参数来生成预主密钥。例如,密钥服务器通过计算y^X mod p生成预主密钥,其中y是客户端设备的公共值,X是密钥服务器的私有值,并且p是素数模值。流程然后移到操作945,其中密钥服务器向安全会话服务器发送预主密钥。
返回参照图8,在操作845处,安全会话服务器接收来自密钥服务器的预主密钥。流程然后移到操作850,并且安全会话服务器使用预主密钥生成主密钥。客户端设备也生成相同的主密钥。流程然后移到操作855,其中安全会话服务器生成要在加密和解密信息时在安全会话中使用的会话密钥集合。经由特例,主密钥被用于生成客户端写消息认证码(MAC)密钥、服务器写MAC密钥、客户端写加密密钥、和服务器写加密密钥。客户端写初始化向量(IV)和服务器写IV也可以依赖于所使用的密码而生成。
流程从操作855移到操作860,其中安全会话服务器完成与客户端设备的握手,并且与客户端设备建立了安全会话。例如,客户端设备和安全会话服务器均可以发送改变密码说明消息和完成消息,如本文之前描述的。当安全会话在操作中时,客户端设备和安全会话服务器可以安全地交换数据。
密钥服务器可以通过安全会话来发送签署的密码参数和/或预主密钥。作为在密钥服务器和安全会话服务器之间建立安全会话的一部分,密钥服务器可以从安全会话服务器请求客户端证书,以便对安全会话服务器的身份进行认证。在一些实施例中,密钥服务器可以使用基于IP地址的分块来验证密钥服务器正在与合法的安全会话服务器通信(例如,通过验证安全会话服务器正在与具有由密钥服务器所预期的值的IP地址通信)。在一些实施例中,密钥服务器和安全会话服务器之间的连接是VPN连接。在一些实施例中,这些安全技术的任何组合均可以用于使签署的密码参数的发送安全。
在另一实施例中,安全会话服务器可以请求密钥服务器生成和签署对于生成预主密钥所必需的密码参数,并且还可以请求和接收密钥服务器的所选择的用于生成预主密钥的私有值。在这样的实施例中,安全会话服务器可以使用客户端设备的Diffie-Hellman公共值和密钥服务器所选择的Diffie-Hellman私有值来生成预主密钥。
不像其中安全会话服务器在握手期间具有对私钥的访问的传统安全会话实现,在本发明的实施例中,私钥对于安全会话服务器不可本地地访问。这提供安全会话握手期间的增加的安全性。例如,虽然安全会话服务器可以代表网站递送web内容,但是安全会话服务器可以不在网站所有者的物理范围处,和/或不被网站所有者控制。这可以使网站所有者不信任安全会话服务器和/或安全会话服务器的操作者的安全性。然而,因为本发明的实施例中私钥远程地存储(不在安全会话服务器上),而是存储在密钥服务器上,所以网站所有者不失去对私钥的控制,而仍然虑及其不控制的安全会话服务器以提供安全的会话能力。
当在此描述的实施例可以用于使web业务安全时,在此描述的实施例还可以用于使依赖于基于密钥的用于安全性的密码的任何网络业务安全。
在一个实施例中,安全会话服务器和密钥服务器由不同的实体所拥有。例如,安全会话服务器可以是基于云的代理服务中的代理服务器,其为一个或多个域所有者提供一个或多个服务。例如,基于云的代理服务可以提供服务,包括针对基于因特网的威胁进行保护(例如,主动阻止僵尸网络、清除病毒、木马、蠕虫等)、为客户提供执行服务(例如,在内容递送网络(CDN)中充当节点、以及动态缓存更靠近访问者的客户的文件、页面加速、内容优化服务等)、图像加载优化(例如,延期的图像加载和/或自动调整尺寸)、和/或其他服务。密钥服务器由域所有者所拥有或操作,该域所有者是基于云的代理服务的客户。经由特例,example.com的域所有者可以是基于云的代理服务的客户。密钥服务器可以由域所有者操作或在其控制之下,而安全会话服务器通过客户端设备和安全会话服务器之间的安全会话针对example.com接收和发送网络业务,其中使用本发明在此描述的实施例(其中私钥与安全会话服务器远程地存储)来建立安全会话。作为特例,密钥服务器可以是网站所有者的源服务器。
经由特例,在建立客户端设备和安全会话服务器之间的安全会话之后,安全会话服务器可以接收针对资源的加密请求(该资源可以托管在安全会话服务器、密钥服务器上,或在不同服务器上)。安全会话服务器对加密请求进行解密,以确定客户端设备正在请求的资源。安全会话服务器然后检索请求的资源。资源可以由安全会话服务器本地地检索(例如,如果资源本地可获得)或可以从托管该资源的源服务器请求。在一个实施例中,安全会话服务器可以是CDN中的节点。在一个实施例中,安全会话服务器和密钥服务器以不同的安全等级操作。例如,密钥服务器可以操作在高安全区中,并且安全会话服务器可以操作在较低安全区中。
如图10中所图示的,作为数据处理系统的形式的计算设备1000包括(多个)总线1050,其耦合有处理系统1020、电源1025、存储器1030和非易失性存储器1040(例如,硬盘驱动、闪存、相变存储器(PCM)等)。如本领域中公知的,(多个)总线1050还可以通过各种桥、控制器、和/或适配器彼此连接。处理系统1020可以检索来自存储器1030和/或非易失性存储器1040的(多个)指令,并且执行指令以完成本文描述的操作。总线1050将上述组件互连在一起,并且还将这些组件互连到显示控制器&显示设备1070、输入/输出设备1080(例如(NIC)网络接口卡)、光标控制器(例如,鼠标、触摸屏、触摸板等)、键盘和(多个)无线收发器1090(例如,蓝牙、WiFi、红外等)。计算设备1000的一个或多个组件可以是可选的(例如,显示控制器和显示设备1070、I/O设备1080、(多个)无线收发器1090等)。在一个实施例中,客户端设备110、410和/或710、安全会话服务器120、420和/或720、和/或密钥服务器130、430和/或730可以采取计算设备1000的形式。
图中所示的技术可以使用存储和执行在一个或多个电子设备(例如,客户端设备、代理服务器、密钥服务器)上的代码和数据来实现。这样的电子设备使用计算机可读介质来存储和传送(在内部和/或通过网络与其他电子设备)代码和数据,所述计算机可读介质诸如非暂时性计算机可读存储介质(例如,磁盘;光盘;随机存取存储器;只读存储器;闪存设备;相变存储器)以及暂时性计算机可读通信介质(例如,电、光、声或其他形式的传播信号,诸如载波、红外信号、数字信号)。此外,这样的电子设备通常包括耦合至一个或多个其他组件的一个或多个处理器的集合,所述一个或多个其他组件诸如一个或多个存储设备(非暂时性计算机可读存储介质)、用户输入/输出设备(例如,键盘、触摸屏、和/或显示器)、以及网络连接。处理器集合和其他组件的耦合通常通过一个或多个总线和桥(也称为总线控制器)。因此,给定电子设备的存储设备通常存储用于在该电子设备的一个或多个处理器的集合上执行的代码和/或数据。当然,本发明的实施例的一个或多个部分可以使用软件、固件、和/或硬件的不同组合来实现。
虽然图中的流程图示出由本发明的某些实施例所执行的操作的特定顺序,但是应当理解,这样的顺序是示例性的(例如,可选实施例可以以不同的顺序执行操作、组合某些操作、或重复某些操作等)。
虽然本发明就若干实施例进行了描述,但是本领域技术人将认识到,本发明不限于所描述的实施例,可以在所附权利要求的精神和范围内利用修改和替换来实施。因此,本描述要被视为说明性而不是限制。

Claims (25)

1.一种第一服务器中的用于与客户端设备建立安全会话的方法,其中被用于所述安全会话的私钥存储在第二服务器中,所述方法包括:
接收来自所述客户端设备的发起建立所述客户端设备和所述第一服务器之间的安全会话的过程的消息;
将包括公钥的数字证书发送给所述客户端设备;
从所述客户端设备接收已经使用所述公钥加密的预主密钥,其中所述第一服务器不包括可对加密后的预主密钥进行解密的私钥;
将所述加密后的预主密钥发送给所述第二服务器以用于解密;
从所述第二服务器接收已经被解密的预主密钥;
使用解密后的预主密钥来生成主密钥;以及
使用所生成的主密钥来生成要在所述安全会话中被用于加密和解密所述客户端设备和所述第一服务器之间的通信的一个或多个会话密钥的集合。
2.根据权利要求1所述的方法,其中,所述第一服务器和所述第二服务器由不同的实体所拥有。
3.根据权利要求1所述的方法,其中,所述第一服务器接收来自所述客户端设备的发起建立所述客户端设备和所述第一服务器之间的安全会话的过程的消息,作为解析到所述第一服务器的针对所述客户端设备针对其正在尝试建立安全会话的域的域名系统(DNS)请求的结果。
4.根据权利要求1所述的方法,其中,解密后的预主密钥通过所述第一服务器和所述第二服务器之间的安全会话而被接收。
5.根据权利要求4所述的方法,还包括:
作为建立所述第一服务器和所述第二服务器之间的安全会话的一部分,所述第一服务器向所述第二服务器发送所述第一服务器的数字证书。
6.根据权利要求1所述的方法,其中所述第二服务器是源服务器,并且其中所述方法还包括:
通过所述安全会话从所述客户端设备接收针对所述第二服务器的域的资源的加密的请求;
解密所述加密的请求;
从所述第二服务器检索所请求的资源;
生成包括所检索的资源的响应;
加密所生成的响应;以及
通过所述安全会话向所述客户端设备发送加密后的响应。
7.根据权利要求6所述的方法,其中,从所述第二服务器检索所请求的资源包括通过所述第一服务器和所述第二服务器之间的安全会话发送针对所请求的资源的加密的请求。
8.一种第一服务器中的用于与客户端设备建立安全会话的方法,其中被用于所述安全会话的私钥存储在第二服务器中,所述方法包括:
从所述客户端设备接收客户端问候消息;
响应于所接收的客户端问候消息,向所述客户端设备发送服务器问候消息;
将包括一个或多个数字证书的服务器证书消息发送给所述客户端设备;
向所述客户端设备发送服务器问候完成消息;
从所述客户端设备接收包括加密后的预主密钥的客户端密钥交换消息;
向所述第二服务器发送所述加密后的预主密钥以用于解密;
从所述第二服务器接收包括解密后的预主密钥的消息;
从所述客户端设备接收第一改变密码说明消息;
从所述客户端设备接收第一完成消息;
向所述客户端设备发送第二改变密码说明消息;以及
向所述客户端设备发送第二完成消息。
9.根据权利要求8所述的方法,其中,所述第一服务器和所述第二服务器由不同的实体所拥有或操作。
10.根据权利要求8所述的方法,其中,所述解密后的预主密钥通过所述第一服务器和所述第二服务器之间的安全会话而被接收。
11.根据权利要求10所述的方法,还包括:
作为建立所述第一服务器和所述第二服务器之间的安全会话的一部分,所述第一服务器向所述第二服务器发送包括所述第一服务器的数字证书的客户端证书消息。
12.根据权利要求8所述的方法,其中所述第二服务器是源服务器,并且其中所述方法还包括:
通过所述安全会话从所述客户端设备接收针对所述第二服务器的域的资源的加密的请求;
解密所述加密的请求;
从所述第二服务器检索所请求的资源;
生成包括所检索的资源的响应;
加密所生成的响应;以及
通过所述安全会话向所述客户端设备发送加密后的响应。
13.根据权利要求12所述的方法,其中,从所述第二服务器检索所请求的资源包括通过所述第一服务器和所述第二服务器之间的安全会话发送针对所请求的资源的加密的请求。
14.一种第一服务器中的方法,包括:
从第二服务器接收加密后的预主密钥,其中,所述加密后的预主密钥使用与安全会话证书相关联的公钥而被加密,其中从所述第二服务器接收所述加密后的预主密钥作为客户端设备与所述第二服务器之间的安全会话建立的一部分;
访问与所述公钥对应的私钥,其中所述私钥不存储在所述第二服务器上;
使用所述私钥来解密所述加密后的预主密钥;以及
向所述第二服务器发送解密后的预主密钥,以用于所述客户端设备和所述第二服务器之间的建立中。
15.根据权利要求14所述的方法,还包括:
在将所述解密后的预主密钥发送给所述第二服务器之前,参与建立所述第一服务器和所述第二服务器之间的安全会话的安全会话建立过程,其中,向所述第二服务器发送所述解密后的预主密钥是通过安全会话。
16.根据权利要求15所述的方法,其中,作为参与所述安全会话的建立的一部分,所述第一服务器执行以下操作:
从所述第二服务器请求证书;
从所述第二服务器接收证书;以及
使用所接收的证书来认证所述第二服务器。
17.根据权利要求14所述的方法,还包括从所述第二服务器接收所述客户端设备在其中正在尝试经由所述安全会话进行连接的域的指示,并且,其中所访问的私钥对应于与所指示的域相关联的公钥。
18.根据权利要求14所述的方法,其中在将所述解密后的预主密钥发送给所述第二服务器之前,验证所述第二服务器正在与有具有所述第一服务器所预期的值的IP地址的第一服务器进行通信。
19.一种装置,包括:
服务器,其包括一个或多个处理器的集合以及存储指令的一个或多个非暂时性计算机可读存储介质的集合,所述指令当由处理器集合执行时,使处理器集合执行以下操作:
接收来自客户端设备的发起建立所述客户端设备和所述服务器之间的安全会话的过程的消息;
将包括公钥的数字证书发送给所述客户端设备;
从所述客户端设备接收已经使用所述公钥加密的预主密钥,其中所述服务器不包括可对加密后的预主密钥进行解密的私钥;
将所述加密后的预主密钥发送给不同的服务器以用于解密;
接收解密后的预主密钥;
使用所接收的解密后的预主密钥来生成主密钥;
使用所生成的主密钥来生成要在所述安全会话中被用于加密和解密所述客户端设备和所述服务器之间的通信的一个或多个会话密钥的集合。
20.根据权利要求19所述的装置,其中,所述服务器和所述不同的服务器由不同的实体所拥有。
21.根据权利要求19所述的装置,其中,所述服务器接收来自所述客户端设备的发起建立所述客户端设备和所述服务器之间的安全会话的过程的消息,作为解析到第一服务器的针对所述客户端设备在其中正在尝试建立安全会话的域的域名系统(DNS)请求的结果。
22.根据权利要求19所述的装置,其中,解密后的预主密钥通过所述服务器和所述不同的服务器之间的安全会话而被接收。
23.根据权利要求22所述的装置,其中非暂时性计算机可读存储介质的集合还存储指令,所述指令当由处理器集合执行时,使处理器集合执行以下操作:
作为所述服务器和所述不同的服务器之间的安全会话的建立的一部分,所述服务器将自身的数字证书发送到所述不同的服务器,以用于所述不同的服务器认证所述服务器的身份。
24.根据权利要求19所述的装置,其中,所述不同的服务器是源服务器,并且其中非暂时性计算机可读存储介质的集合还存储指令,所述指令当由处理器集合执行时,使处理器集合执行以下操作:
通过所述安全会话从所述客户端设备接收针对源服务器的域的资源的加密的请求;
解密所述加密的请求;
从所述源服务器检索所请求的资源;
生成包括所检索的资源的响应;
加密所生成的响应;以及
通过所述安全会话向所述客户端设备发送加密后的响应。
25.根据权利要求24所述的装置,其中,从所述源服务器检索所请求的资源的操作包括通过所述服务器和所述源服务器之间的安全会话发送针对所请求的资源的加密的请求。
CN201480026113.7A 2013-03-07 2014-03-06 用于与客户端设备建立安全会话的方法和装置 Active CN105993146B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/788784 2013-03-07
US13/788,784 US8782774B1 (en) 2013-03-07 2013-03-07 Secure session capability using public-key cryptography without access to the private key
PCT/US2014/021434 WO2014138494A1 (en) 2013-03-07 2014-03-06 Secure session capability using public-key cryptography without access to the private key

Publications (2)

Publication Number Publication Date
CN105993146A true CN105993146A (zh) 2016-10-05
CN105993146B CN105993146B (zh) 2019-12-03

Family

ID=51135859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480026113.7A Active CN105993146B (zh) 2013-03-07 2014-03-06 用于与客户端设备建立安全会话的方法和装置

Country Status (4)

Country Link
US (7) US8782774B1 (zh)
EP (1) EP2997693B1 (zh)
CN (1) CN105993146B (zh)
WO (1) WO2014138494A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109120621A (zh) * 2018-08-21 2019-01-01 杭州中天微系统有限公司 数据处理器
CN109656839A (zh) * 2017-10-12 2019-04-19 意法半导体股份有限公司 用于访问经加密的数据的电子设备和对应的方法
CN110036597A (zh) * 2016-12-09 2019-07-19 微软技术许可有限责任公司 用于由不可信代码使用的安全分布私有密钥
CN110140325A (zh) * 2017-01-06 2019-08-16 微软技术许可有限责任公司 在成员更改时经由密钥对对话进行部分加密
CN110169009A (zh) * 2017-01-06 2019-08-23 微软技术许可有限责任公司 隔离的集合中的密码操作
CN110380868A (zh) * 2019-08-22 2019-10-25 广东浪潮大数据研究有限公司 一种通信方法、装置及通信系统和存储介质
CN111355702A (zh) * 2018-12-20 2020-06-30 西门子医疗有限公司 安全传输数据集的方法和系统、医学设施和程序产品
WO2021094863A1 (en) * 2019-11-11 2021-05-20 International Business Machines Corporation Forward secrecy in transport layer security using ephemeral keys
WO2022111102A1 (zh) * 2020-11-24 2022-06-02 北京金山云网络技术有限公司 建立安全连接的方法、系统、装置、电子设备和机器可读存储介质

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015469B2 (en) 2011-07-28 2015-04-21 Cloudflare, Inc. Supporting secure sessions in a cloud-based proxy service
US9531685B2 (en) 2011-12-16 2016-12-27 Akamai Technologies, Inc. Providing forward secrecy in a terminating SSL/TLS connection proxy using Ephemeral Diffie-Hellman key exchange
US9647835B2 (en) 2011-12-16 2017-05-09 Akamai Technologies, Inc. Terminating SSL connections without locally-accessible private keys
US9531691B2 (en) 2011-12-16 2016-12-27 Akamai Technologies, Inc. Providing forward secrecy in a terminating TLS connection proxy
US8782774B1 (en) * 2013-03-07 2014-07-15 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
EP2973005A1 (en) * 2013-03-13 2016-01-20 Perkinelmer Informatics, Inc. Systems and methods for gesture-based sharing of data between separate electronic devices
US10880741B2 (en) * 2013-07-23 2020-12-29 Capital One Services, Llc Automated bluetooth pairing
WO2015026336A1 (en) * 2013-08-21 2015-02-26 Intel Corporation Processing data privately in the cloud
US9100175B2 (en) 2013-11-19 2015-08-04 M2M And Iot Technologies, Llc Embedded universal integrated circuit card supporting two-factor authentication
US9350550B2 (en) * 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
GB2586549B (en) * 2013-09-13 2021-05-26 Vodafone Ip Licensing Ltd Communicating with a machine to machine device
US10498530B2 (en) 2013-09-27 2019-12-03 Network-1 Technologies, Inc. Secure PKI communications for “machine-to-machine” modules, including key derivation by modules and authenticating public keys
US9215064B2 (en) * 2013-10-21 2015-12-15 Adobe Systems Incorporated Distributing keys for decrypting client data
US10700856B2 (en) 2013-11-19 2020-06-30 Network-1 Technologies, Inc. Key derivation for a module using an embedded universal integrated circuit card
US8966267B1 (en) 2014-04-08 2015-02-24 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US8996873B1 (en) 2014-04-08 2015-03-31 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US9258117B1 (en) * 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
JP6850530B2 (ja) * 2014-10-20 2021-03-31 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited セキュアセッションの確立と暗号化データ交換のためのコンピュータ利用システム及びコンピュータ利用方法
WO2016073552A1 (en) * 2014-11-04 2016-05-12 Akamai Technologies, Inc. Providing forward secrecy in a terminating ssl/tls connection proxy using ephemeral diffie-hellman key exchange
US9621547B2 (en) * 2014-12-22 2017-04-11 Mcafee, Inc. Trust establishment between a trusted execution environment and peripheral devices
US9853977B1 (en) 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US10893707B2 (en) 2015-02-17 2021-01-19 Mark H. Krietzman Portable temperature controlled aromatherapy vaporizers
US20160255047A1 (en) * 2015-02-26 2016-09-01 Citrix Systems, Inc. Methods and systems for determining domain names and organization names associated with participants involved in secured sessions
US9660969B2 (en) 2015-03-31 2017-05-23 Here Global B.V. Method and apparatus for providing key management for data encryption for cloud-based big data environments
WO2016168409A1 (en) * 2015-04-14 2016-10-20 Capital One Services, LLC. Automated bluetooth pairing
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
WO2016209950A1 (en) * 2015-06-22 2016-12-29 Cyphre, Llc Creating and utilizing black keys for the transport layer security (tls) handshake protocol and method therefor
US9819672B1 (en) * 2015-06-26 2017-11-14 EMC IP Holding Company LLC Sharing access tokens with trusted users
US10791110B2 (en) 2015-07-09 2020-09-29 Cloudflare, Inc. Certificate authority framework
CN106341375B (zh) * 2015-07-14 2021-01-01 腾讯科技(深圳)有限公司 实现资源加密访问的方法及系统
CN106533689B (zh) * 2015-09-15 2019-07-30 阿里巴巴集团控股有限公司 一种在ssl/tls通信中加载数字证书的方法和装置
US10305871B2 (en) 2015-12-09 2019-05-28 Cloudflare, Inc. Dynamically serving digital certificates based on secure session properties
WO2017106258A1 (en) * 2015-12-14 2017-06-22 Afero, Inc. System and method for establishing a secondary communication channel to control an internet of things (iot) device
CN107437993A (zh) * 2016-05-26 2017-12-05 中兴通讯股份有限公司 一种基于无证书两方认证密钥协商方法和装置
CN106161449A (zh) * 2016-07-19 2016-11-23 青松智慧(北京)科技有限公司 无密钥认证传输方法及系统
CN106230782A (zh) * 2016-07-20 2016-12-14 腾讯科技(深圳)有限公司 一种基于内容分发网络的信息处理方法及装置
US9887975B1 (en) 2016-08-03 2018-02-06 KryptCo, Inc. Systems and methods for delegated cryptography
CN106411893B (zh) * 2016-09-30 2019-08-13 成都知道创宇信息技术有限公司 一种https服务的部署方法
CN106790090A (zh) * 2016-12-23 2017-05-31 北京奇虎科技有限公司 基于ssl的通信方法、装置及系统
US10469453B2 (en) * 2017-02-10 2019-11-05 Juniper Networks, Inc. Granular offloading of a proxied secure session
US20200234267A1 (en) * 2017-10-09 2020-07-23 Hewlett-Packard Development Company, L.P. Encrypted Transaction Receipts
US10574451B2 (en) 2017-10-19 2020-02-25 Bank Of America Corporation Method and apparatus for perfect forward secrecy using deterministic hierarchy
US11683163B2 (en) 2018-06-20 2023-06-20 Iot And M2M Technologies, Llc ECDHE key exchange for server authentication and a key server
WO2020006162A1 (en) 2018-06-28 2020-01-02 Iot And M2M Technologies, Llc Ecdhe key exchange for mutual authentication using a key server
US10659228B2 (en) * 2018-06-28 2020-05-19 Nxp B.V. Method for establishing a secure communication session in a communications system
US10721061B2 (en) * 2018-06-28 2020-07-21 Nxp B.V. Method for establishing a secure communication session in a communications system
US10721219B2 (en) * 2018-06-28 2020-07-21 Nxp B.V. Method for establishing a secure communication session in a communications system
CN110912852B (zh) * 2018-09-14 2022-04-08 阿里巴巴集团控股有限公司 获取密钥的方法、装置和系统,存储介质和计算机终端
US11228448B2 (en) 2018-11-20 2022-01-18 Iot And M2M Technologies, Llc Mutually authenticated ECDHE key exchange for a device and a network using multiple PKI key pairs
CN113366461A (zh) 2019-02-28 2021-09-07 惠普发展公司,有限责任合伙企业 使用非对称密码访问固件设置
US11343084B2 (en) * 2019-03-01 2022-05-24 John A. Nix Public key exchange with authenticated ECDHE and security against quantum computers
US10903990B1 (en) 2020-03-11 2021-01-26 Cloudflare, Inc. Establishing a cryptographic tunnel between a first tunnel endpoint and a second tunnel endpoint where a private key used during the tunnel establishment is remotely located from the second tunnel endpoint
US20210367767A1 (en) * 2020-05-21 2021-11-25 Marvell Asia Pte. Ltd. Methods and systems for secure network communication
US11153080B1 (en) * 2020-07-29 2021-10-19 John A. Nix Network securing device data using two post-quantum cryptography key encapsulation mechanisms
CN114124423B (zh) * 2020-08-31 2023-04-07 Oppo广东移动通信有限公司 一种认证方法、客户端、服务端及存储介质
US20230361994A1 (en) * 2020-09-25 2023-11-09 John A. Nix System and Methods for Secure Communication Using Post-Quantum Cryptography
CN112422530B (zh) * 2020-11-04 2023-05-30 无锡沐创集成电路设计有限公司 Tls握手过程中服务器端的密钥安全保护方法及密码设备
CN112787819B (zh) * 2020-12-23 2022-03-15 郑州信大捷安信息技术股份有限公司 一种工业控制安全通信系统及通信方法
US20230224146A1 (en) * 2022-01-07 2023-07-13 Oracle International Corporation Quorum-based authorization
US11916890B1 (en) 2022-08-08 2024-02-27 International Business Machines Corporation Distribution of a cryptographic service provided private session key to network communication device for secured communications
US11765142B1 (en) 2022-08-08 2023-09-19 International Business Machines Corporation Distribution of private session key to network communication device for secured communications
US11924179B2 (en) 2022-08-08 2024-03-05 International Business Machines Corporation API based distribution of private session key to network communication device for secured communications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040161110A1 (en) * 2003-02-19 2004-08-19 Kabushiki Kaisha Toshiba Server apparatus, key management apparatus, and encrypted communication method
US20060005017A1 (en) * 2004-06-22 2006-01-05 Black Alistair D Method and apparatus for recognition and real time encryption of sensitive terms in documents
CN1885771A (zh) * 2005-06-23 2006-12-27 国际商业机器公司 用于建立安全通信会话的方法与装置
CN102082796A (zh) * 2011-01-20 2011-06-01 北京融易通信息技术有限公司 一种基于http的信道加密方法、信道简化加密方法及系统
US20130031356A1 (en) * 2011-07-28 2013-01-31 Matthew Browning Prince Supporting secure sessions in a cloud-based proxy service

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657390A (en) 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US6128279A (en) 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US7249377B1 (en) 1999-03-31 2007-07-24 International Business Machines Corporation Method for client delegation of security to a proxy
US6823454B1 (en) 1999-11-08 2004-11-23 International Business Machines Corporation Using device certificates to authenticate servers before automatic address assignment
US6643701B1 (en) * 1999-11-17 2003-11-04 Sun Microsystems, Inc. Method and apparatus for providing secure communication with a relay in a network
US6442687B1 (en) 1999-12-02 2002-08-27 Ponoi Corp. System and method for secure and anonymous communications
KR100319256B1 (ko) 1999-12-30 2002-01-05 서평원 통신 프로토콜 운용 방법
US7454457B1 (en) 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
US20040015725A1 (en) 2000-08-07 2004-01-22 Dan Boneh Client-side inspection and processing of secure content
US7137143B2 (en) 2000-08-07 2006-11-14 Ingrian Systems Inc. Method and system for caching secure web content
US6976176B1 (en) 2000-09-08 2005-12-13 Cisco Technology, Inc. Method, device, and network for providing secure communication environments
US6754621B1 (en) 2000-10-06 2004-06-22 Andrew Cunningham Asynchronous hypertext messaging system and method
US6785542B1 (en) 2001-02-28 2004-08-31 Palm Source, Inc. Resource proxy for mobile wireless electronic devices
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US20030028495A1 (en) * 2001-08-06 2003-02-06 Pallante Joseph T. Trusted third party services system and method
US7584505B2 (en) * 2001-10-16 2009-09-01 Microsoft Corporation Inspected secure communication protocol
US7529933B2 (en) 2002-05-30 2009-05-05 Microsoft Corporation TLS tunneling
EP1379045B1 (en) 2002-07-01 2007-10-10 Telefonaktiebolaget LM Ericsson (publ) Arrangement and method for protecting end user data
US7266607B2 (en) 2002-08-27 2007-09-04 International Business Machines Corporation Quasi-high availability hosted applications
AU2003284204A1 (en) 2002-10-15 2004-05-04 Ingrian Networks, Inc. Client-side ssl connection completion through secure proxy server
US7283629B2 (en) * 2002-12-05 2007-10-16 Microsoft Corporation Deriving keys used to securely process electronic messages
JP3953950B2 (ja) 2002-12-20 2007-08-08 富士通株式会社 ローカルアドレスを用いたサーバシステム
US20060005237A1 (en) 2003-01-30 2006-01-05 Hiroshi Kobata Securing computer network communication using a proxy server
JP2004312197A (ja) * 2003-04-03 2004-11-04 Matsushita Electric Ind Co Ltd 通信装置、証明書発行装置及び通信システム
US7921292B1 (en) * 2003-04-04 2011-04-05 Voltage Security, Inc. Secure messaging systems
US7320073B2 (en) * 2003-04-07 2008-01-15 Aol Llc Secure method for roaming keys and certificates
US7644275B2 (en) 2003-04-15 2010-01-05 Microsoft Corporation Pass-thru for client authentication
US8615795B2 (en) 2003-06-25 2013-12-24 Ntrepid Corporation Secure network privacy system
US7444508B2 (en) 2003-06-30 2008-10-28 Nokia Corporation Method of implementing secure access
US7788480B2 (en) * 2003-11-05 2010-08-31 Cisco Technology, Inc. Protected dynamic provisioning of credentials
EP1533970B1 (en) 2003-11-24 2006-08-16 Akamai Technologies, Inc. Method and system for secure content delivery
US20050262357A1 (en) 2004-03-11 2005-11-24 Aep Networks Network access using reverse proxy
US20050273849A1 (en) 2004-03-11 2005-12-08 Aep Networks Network access using secure tunnel
US7574600B2 (en) * 2004-03-24 2009-08-11 Intel Corporation System and method for combining user and platform authentication in negotiated channel security protocols
EP1738239A1 (en) * 2004-04-12 2007-01-03 Intercomputer Corporation Secure messaging system
JP4339184B2 (ja) * 2004-06-07 2009-10-07 パナソニック株式会社 サーバ装置、通信機器、通信システム、通信方法、プログラム及び記録媒体
US7454623B2 (en) 2004-06-16 2008-11-18 Blame Canada Holdings Inc Distributed hierarchical identity management system authentication mechanisms
US9245266B2 (en) 2004-06-16 2016-01-26 Callahan Cellular L.L.C. Auditable privacy policies in a distributed hierarchical identity management system
US7543146B1 (en) 2004-06-18 2009-06-02 Blue Coat Systems, Inc. Using digital certificates to request client consent prior to decrypting SSL communications
US8103761B2 (en) 2004-06-25 2012-01-24 Go Daddy Holding Company, LLC Methods of issuing a credit for a certificate for a domain name
US7702902B2 (en) 2004-06-25 2010-04-20 The Go Daddy Group, Inc. Method for a web site with a proxy domain name registration to receive a secure socket layer certificate
US7437364B1 (en) 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8006091B2 (en) 2005-01-10 2011-08-23 Cisco Technology, Inc. Method and apparatus to provide failover capability of cached secure sessions
JP4381317B2 (ja) 2005-01-31 2009-12-09 株式会社東芝 コンテンツ再生装置、コンテンツ再生方法及びプログラム
CN101164078A (zh) 2005-04-19 2008-04-16 松下电器产业株式会社 自动接收电子礼物的终端设备和安全设备、用于一起提供电子礼物和所请求的电子信息的信息提供方法、以及信息服务器
DE102005026982A1 (de) 2005-06-10 2006-12-14 Siemens Ag Verfahren zur Vereinbarung eines Sicherheitsschlüssels zwischen mindestens einem ersten und einem zweiten Kommunikationsteilnehmer zur Sicherung einer Kommunikationsverbindung
JP4879524B2 (ja) * 2005-06-30 2012-02-22 ブラザー工業株式会社 通信装置、通信システム及びプログラム
US10178522B2 (en) 2005-08-02 2019-01-08 Qualcomm Incorporated VoIP emergency call support
US20070074282A1 (en) 2005-08-19 2007-03-29 Black Jeffrey T Distributed SSL processing
CA2521770A1 (en) 2005-09-30 2007-03-30 Oz Communications Securing user logins with wv bindings and transports
DE502005002248D1 (de) * 2005-10-20 2008-01-24 Ubs Ag Vorrichtungen und Verfahren zum Durchführen von kryptographischen Operationen in einem Server-Client-Rechnernetzwerksystem
US7788181B2 (en) 2005-12-27 2010-08-31 Microsoft Corporation Software licensing using certificate issued by authorized authority
US8457109B2 (en) 2006-01-31 2013-06-04 United States Cellular Corporation Access based internet protocol multimedia service authorization
US7766243B2 (en) 2006-07-19 2010-08-03 Research In Motion Limited Method, system and smart card reader for management of access to a smart card
US9055107B2 (en) 2006-12-01 2015-06-09 Microsoft Technology Licensing, Llc Authentication delegation based on re-verification of cryptographic evidence
US8549157B2 (en) 2007-04-23 2013-10-01 Mcafee, Inc. Transparent secure socket layer
US20080306875A1 (en) * 2007-06-11 2008-12-11 Ebay Inc. Method and system for secure network connection
EP2165499B1 (en) * 2007-06-22 2013-01-30 Gemalto SA A method of preventing web browser extensions from hijacking user information
JP4128610B1 (ja) 2007-10-05 2008-07-30 グローバルサイン株式会社 サーバ証明書発行システム
CN101828358B (zh) 2007-06-27 2012-07-04 环球标志株式会社 服务器认证书发行系统
JP5132222B2 (ja) 2007-08-13 2013-01-30 株式会社東芝 クライアント装置、サーバ装置及びプログラム
US8190897B2 (en) 2007-12-13 2012-05-29 Motorola Solutions, Inc. Method and system for secure exchange of data in a network
US8284944B2 (en) 2008-03-13 2012-10-09 International Business Machines Corporation Unified and persistent system and method for automatic configuration of encryption
US20090307759A1 (en) 2008-06-06 2009-12-10 Microsoft Corporation Temporary Domain Membership for Content Sharing
US8924714B2 (en) * 2008-06-27 2014-12-30 Microsoft Corporation Authentication with an untrusted root
US8776238B2 (en) 2008-07-16 2014-07-08 International Business Machines Corporation Verifying certificate use
US20120209942A1 (en) 2008-10-28 2012-08-16 Cotendo, Inc. System combining a cdn reverse proxy and an edge forward proxy with secure connections
US8589671B2 (en) 2009-02-27 2013-11-19 Red Hat, Inc. Security implementation within a browser
US9292612B2 (en) 2009-04-22 2016-03-22 Verisign, Inc. Internet profile service
CN101562814A (zh) 2009-05-15 2009-10-21 中兴通讯股份有限公司 一种第三代网络的接入方法及系统
US8190879B2 (en) 2009-12-17 2012-05-29 Cisco Technology, Inc. Graceful conversion of a security to a non-security transparent proxy
EP2348450B1 (en) * 2009-12-18 2013-11-06 CompuGroup Medical AG Database system, computer system, and computer-readable storage medium for decrypting a data record
US8700892B2 (en) 2010-03-19 2014-04-15 F5 Networks, Inc. Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion
US9049247B2 (en) 2010-04-01 2015-06-02 Cloudfare, Inc. Internet-based proxy service for responding to server offline errors
US8543805B2 (en) 2010-04-21 2013-09-24 Citrix Systems, Inc. Systems and methods for split proxying of SSL via WAN appliances
US20120174196A1 (en) * 2010-12-30 2012-07-05 Suresh Bhogavilli Active validation for ddos and ssl ddos attacks
US8984295B2 (en) * 2011-03-31 2015-03-17 Echostar Technologies L.L.C. Secure access to electronic devices
DE102011051498A1 (de) * 2011-06-06 2012-12-06 Kobil Systems Gmbh Gesicherter Zugriff auf Daten in einem Gerät
US9197600B2 (en) 2011-09-29 2015-11-24 Israel L'Heureux Smart router
EP3584994A1 (en) 2011-09-30 2019-12-25 eBay, Inc. Differential client-side encryption of information originating from a client
WO2013054196A2 (en) * 2011-10-14 2013-04-18 Open Text S.A. System and method for secure content sharing and synchronization
US8850206B2 (en) * 2011-11-15 2014-09-30 Apple Inc. Client-server system with security for untrusted server
CN102404121B (zh) * 2011-11-30 2014-03-12 华为技术有限公司 一种密文处理方法、装置及系统
EP4040717B1 (en) * 2011-12-15 2024-01-31 INTEL Corporation Method and device for secure communications over a network using a hardware security engine
US9647835B2 (en) * 2011-12-16 2017-05-09 Akamai Technologies, Inc. Terminating SSL connections without locally-accessible private keys
US9531685B2 (en) 2011-12-16 2016-12-27 Akamai Technologies, Inc. Providing forward secrecy in a terminating SSL/TLS connection proxy using Ephemeral Diffie-Hellman key exchange
US8738902B2 (en) 2012-01-27 2014-05-27 Microsoft Corporation Implicit SSL certificate management without server name indication (SNI)
US20130219166A1 (en) * 2012-02-20 2013-08-22 Motorola Mobility, Inc. Hardware based identity manager
US8843738B2 (en) 2012-05-14 2014-09-23 Sierra Wireless, Inc. TLS abbreviated session identifier protocol
US10771448B2 (en) * 2012-08-10 2020-09-08 Cryptography Research, Inc. Secure feature and key management in integrated circuits
US10102510B2 (en) * 2012-11-28 2018-10-16 Hoverkey Ltd. Method and system of conducting a cryptocurrency payment via a mobile device using a contactless token to store and protect a user's secret key
US8782774B1 (en) * 2013-03-07 2014-07-15 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US9184911B2 (en) 2014-04-08 2015-11-10 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US8996873B1 (en) 2014-04-08 2015-03-31 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US8966267B1 (en) 2014-04-08 2015-02-24 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US11228448B2 (en) 2018-11-20 2022-01-18 Iot And M2M Technologies, Llc Mutually authenticated ECDHE key exchange for a device and a network using multiple PKI key pairs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040161110A1 (en) * 2003-02-19 2004-08-19 Kabushiki Kaisha Toshiba Server apparatus, key management apparatus, and encrypted communication method
US20060005017A1 (en) * 2004-06-22 2006-01-05 Black Alistair D Method and apparatus for recognition and real time encryption of sensitive terms in documents
CN1885771A (zh) * 2005-06-23 2006-12-27 国际商业机器公司 用于建立安全通信会话的方法与装置
CN102082796A (zh) * 2011-01-20 2011-06-01 北京融易通信息技术有限公司 一种基于http的信道加密方法、信道简化加密方法及系统
US20130031356A1 (en) * 2011-07-28 2013-01-31 Matthew Browning Prince Supporting secure sessions in a cloud-based proxy service

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110036597A (zh) * 2016-12-09 2019-07-19 微软技术许可有限责任公司 用于由不可信代码使用的安全分布私有密钥
CN110140325A (zh) * 2017-01-06 2019-08-16 微软技术许可有限责任公司 在成员更改时经由密钥对对话进行部分加密
CN110169009A (zh) * 2017-01-06 2019-08-23 微软技术许可有限责任公司 隔离的集合中的密码操作
CN109656839A (zh) * 2017-10-12 2019-04-19 意法半导体股份有限公司 用于访问经加密的数据的电子设备和对应的方法
CN109656839B (zh) * 2017-10-12 2023-10-20 意法半导体股份有限公司 用于访问经加密的数据的电子设备和对应的方法
CN109120621B (zh) * 2018-08-21 2020-11-06 杭州中天微系统有限公司 数据处理器
CN109120621A (zh) * 2018-08-21 2019-01-01 杭州中天微系统有限公司 数据处理器
CN111355702B (zh) * 2018-12-20 2022-06-17 西门子医疗有限公司 安全传输数据集的方法和系统、医学设施和程序产品
US11323251B2 (en) 2018-12-20 2022-05-03 Siemens Healthcare Gmbh Method and system for the secure transfer of a dataset
CN111355702A (zh) * 2018-12-20 2020-06-30 西门子医疗有限公司 安全传输数据集的方法和系统、医学设施和程序产品
CN110380868A (zh) * 2019-08-22 2019-10-25 广东浪潮大数据研究有限公司 一种通信方法、装置及通信系统和存储介质
WO2021094863A1 (en) * 2019-11-11 2021-05-20 International Business Machines Corporation Forward secrecy in transport layer security using ephemeral keys
US11206135B2 (en) 2019-11-11 2021-12-21 International Business Machines Corporation Forward secrecy in Transport Layer Security (TLS) using ephemeral keys
CN114651421A (zh) * 2019-11-11 2022-06-21 国际商业机器公司 使用临时密钥的传输层安全中的正向安全
GB2603096A (en) * 2019-11-11 2022-07-27 Ibm Forward secrecy in transport layer security using ephemral keys
GB2603096B (en) * 2019-11-11 2022-11-02 Ibm Forward secrecy in transport layer security using ephemeral keys
CN114651421B (zh) * 2019-11-11 2022-12-27 国际商业机器公司 使用临时密钥的传输层安全中的正向安全
WO2022111102A1 (zh) * 2020-11-24 2022-06-02 北京金山云网络技术有限公司 建立安全连接的方法、系统、装置、电子设备和机器可读存储介质

Also Published As

Publication number Publication date
US10791099B2 (en) 2020-09-29
US20210014204A1 (en) 2021-01-14
US11546309B2 (en) 2023-01-03
US10129224B2 (en) 2018-11-13
US20190097983A1 (en) 2019-03-28
US20190044924A1 (en) 2019-02-07
US10785198B2 (en) 2020-09-22
EP2997693B1 (en) 2022-09-28
US20140310526A1 (en) 2014-10-16
US20230224290A1 (en) 2023-07-13
WO2014138494A1 (en) 2014-09-12
US9553856B2 (en) 2017-01-24
EP2997693A4 (en) 2017-02-15
US20170134346A1 (en) 2017-05-11
US8782774B1 (en) 2014-07-15
EP2997693A1 (en) 2016-03-23
CN105993146B (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
CN105993146A (zh) 不访问私钥而使用公钥密码的安全会话能力
US20240106660A1 (en) Mutually Authenticated ECDHE Key Exchange for a Device and a Network Using Multiple PKI Key Pairs
CN103763315B (zh) 一种应用于移动设备云存储的可信数据存取控制方法
JP7086327B2 (ja) アプリケーション間でユーザ情報を安全に転送すること
CN104160653B (zh) 用于提供多因素数字安全证书的方法、装置、介质和设备
US20170149571A1 (en) Method, Apparatus and System for Handshaking Between Client and Server
US10503918B2 (en) Process to access a data storage device of a cloud computer system
US11736304B2 (en) Secure authentication of remote equipment
US20170201382A1 (en) Secure Endpoint Devices
US20120254622A1 (en) Secure Access to Electronic Devices
CN105027107A (zh) 安全虚拟机迁移
US10050944B2 (en) Process to access a data storage device of a cloud computer system with the help of a modified Domain Name System (DNS)
US20170126623A1 (en) Protected Subnet Interconnect
CN101605137A (zh) 安全分布式文件系统
KR20130077171A (ko) 서버와 디바이스간 인증방법
KR20120051344A (ko) 휴대형 통합 보안 저장장치와 이를 이용하는 서비스 처리 장치 및 방법
KR101952329B1 (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
CN112860791A (zh) 一种跨网数据同步控制系统、方法及存储介质
CN105634720B (zh) 一种加密安全配置文件的方法、终端设备和系统
JP5495194B2 (ja) アカウント発行システム、アカウントサーバ、サービスサーバおよびアカウント発行方法
CN104821878A (zh) 用于确保数据交换的安全性的便携式安全设备、方法和计算机程序产品
CN104168565A (zh) 一种非可信无线网络环境下智能终端安全通讯的控制方法
EP3282639B1 (en) Method for operating server and client, server, and client apparatus
US11032708B2 (en) Securing public WLAN hotspot network access
JP6056970B2 (ja) 情報処理装置、端末機、情報処理システム及び情報処理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant