CN107005413A - 安全连接及相关服务的高效启动 - Google Patents

安全连接及相关服务的高效启动 Download PDF

Info

Publication number
CN107005413A
CN107005413A CN201580063441.9A CN201580063441A CN107005413A CN 107005413 A CN107005413 A CN 107005413A CN 201580063441 A CN201580063441 A CN 201580063441A CN 107005413 A CN107005413 A CN 107005413A
Authority
CN
China
Prior art keywords
message
key
machine
server machine
token
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
CN201580063441.9A
Other languages
English (en)
Other versions
CN107005413B (zh
Inventor
詹姆斯·米奇·佐林格
韦斯利·妙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netflix Inc
Original Assignee
Netflix Inc
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 Netflix Inc filed Critical Netflix Inc
Publication of CN107005413A publication Critical patent/CN107005413A/zh
Application granted granted Critical
Publication of CN107005413B publication Critical patent/CN107005413B/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
    • 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
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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)
    • 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/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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-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/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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明的一个实施例包括用于高效启动安全连接及相关服务的方法。客户端机器经由应用程序接收对向服务器机器发送安全消息的请求。客户端机器向服务器机器发送包括第一消息的多个消息,第一消息包括以下各项中的至少两项:用户认证数据、实体认证数据、密钥交换数据以及经加密的消息数据。客户端机器从服务器机器接收包括第一主令牌的第二消息,第一主令牌包括第一组会话密钥,用于加密和认证与服务器机器交换的消息。

Description

安全连接及相关服务的高效启动
对相关申请的交叉引用
本申请要求于2014年10月24日提交的序列号为No.62/068,504、题为“MESSAGESECURITY LAYER FOR COMMUNICATIONS OVER A NETWORK(用于网络上的通信的消息安全层)”的美国临时专利申请的权益,以及于2015年10月22日提交的序列号为No.14/920,641、题为“EFFICIENT START-UP FOR SECURED CONNECTIONS AND RELATED SERVICES(安全连接及相关服务的高效启动)”的美国专利申请的权益。这些相关申请的主题通过引用被合并于此。
背景技术
发明领域
本发明的实施例总体涉及计算机安全,并且更具体地涉及安全连接及相关服务的高效启动。
相关技术描述
计算机网络中的机器通常采用各种技术来在这些机器彼此进行通信时交换安全消息,以试图防止第三方阅读或篡改所交换的消息,并潜在地进行非法或不良活动,例如身份盗用、商业间谍、窃取或危害服务。用于保护计算机通信的常规技术通常包括这样的机制,该机制确保源自计算机网络内的适当机器的给定的接收到的消息以及与给定的接收到的消息相关联的内容在被该计算机网络内的适当机器发送之后没有被篡改或排斥。
用于交换安全消息的示例性方法包括安全传输层(TLS)及前身安全套接层(SSL)协议。TSL和SSL是加密协议,旨在通过计算机网络为包括网页浏览、电子邮件、互联网传真、即时消息递送以及IP语音电话(VoIP)在内的各种目的提供通信安全性。一般来说,TLS和SSL可用于保护提供各种在线服务的服务器机器和访问这类在线服务的客户端机器之间的所有通信。TLS和SSL协议在两个或更多个不同机器上运行的两个或更多个通信计算机应用之间进行消息交换期间提供隐私和数据完整性。
一种这样的技术涉及在将消息从计算机网络内的一个机器发送至另一个机器之前对这些消息进行加密。在典型的实施方式中,发起机器将安全“证书”发送到该计算机网络内的其他计算机。安全证书包括说明消息需要被加密的方式的信息,以便于发送该证书的机器将能够解密该消息。
用于在客户端和服务器之间建立安全通信的典型方法开始于客户端向服务器发出针对安全会话的请求。服务器通过向客户端发送包含该服务器的公钥的证书进行响应。然后,客户端通过向与认证机构相关联的一个或多个认证服务器发出认证请求来验证该证书的真实性。一个或多个认证服务器向客户端发送指示该证书是有效的还是已经被吊销或以其他方式受到损害的认证响应。如果客户端根据认证响应确定证书有效,则客户端生成密钥,使用该证书对密钥进行加密,并将经加密的密钥发送到服务器。客户端和服务器然后可以安全地交换一个或多个数据消息(也被称为有效载荷数据),其中数据消息用密钥加密。
以上方法的一个缺点是在可以安全地交换任何实际数据消息之前,通常要在客户端、服务器和认证服务器之间发送大量消息。结果,在客户端和服务器真正能够安全地交换数据消息之前,可能已经消磨了大量时间。例如,在可以安全地交换任何数据消息之前,可能要交换十一对消息来建立安全通信。以上方法的另一缺点是与用于在客户端和服务器之间发送实际数据的时间和带宽相比,用于在客户端和服务器之间建立安全通信的时间和带宽可能相对较高。因而,客户端和服务器之间的通信信道的整体效率可能受到负面影响。
如上所述,本领域需要的是用于在计算机网络中的客户端和服务器或其他集合的网络连接实体之间发起安全通信的更为高效的方式。
发明内容
本发明的一个实施例提出了一种用于高效启动安全连接及相关服务的计算机实现的方法。该方法包括经由应用程序接收对向服务器机器发送安全消息的请求。该方法还包括向服务器机器发送包括第一消息的多个消息,第一消息包含以下各项中的至少两项:用户认证数据、实体认证数据、密钥交换数据、以及经加密的消息数据。该方法还包括从服务器机器接收包括第一主令牌的第二消息,第一主令牌包括用于加密和认证与服务器机器交换的消息的第一组会话密钥。
本发明的其他实施例包括、但不限于:一种包括用于执行所公开的技术的一个或多个方面的指令的计算机可读介质,以及用于执行所公开的技术的一个或多个方面的客户端机器、服务器机器或其他计算设备。
所公开的方法的至少一个优点在于客户端机器在单个消息中将针对安全会话、认证数据、甚至有效载荷数据的请求发送至服务器。服务器通过在单个消息中发送包括主令牌、用户ID令牌、密钥交换数据以及有效载荷数据的消息来进行响应。因此,通过一对消息建立了安全通信会话,并交换了数据,从而相对于现有方法实现了改善的延迟和效率。
附图说明
通过参考实施例(其中一些在附图中被示出的)可以得到对上面简要概括的本发明的更加具体的描述,从而可以详细理解上面记载的本发明的特征的方式。然而,要注意的是附图仅示出了本发明的典型实施例,并且由于本发明可以允许其他等效的实施例,因此这些附图不应被视为限制其范围。
图1是示出了被配置为实现本发明的一个或多个方面的计算机系统的框图;
图2是示出了被配置为实现本发明的一个或多个方面的联网计算系统;
图3根据本发明的一个实施例说明了用于在客户端机器和服务器机器之间建立安全通信的方法步骤的流程图;
图4A-4B根据本发明的一个实施例说明了用于更新客户端机器和服务器机器之间的安全通信的方法步骤的流程图;以及
图5根据本发明的一个或多个实施例说明了用于在客户端机器和服务器机器之间交换安全消息的一系列方法步骤。
具体实施方式
在下面的描述中,提及了许多具体细节以提供对本发明的更为透彻的理解。然而,对本领域技术人员显而易见的是,可以在没有这些具体细节中的一个或多个细节的情况下实践本发明。
这里描述了用于对在客户端机器和服务器机器之间交换的消息进行认证和加密的技术。这些技术在本文中被称为“消息安全层”(MSL)。在一个实施例中,可以在客户端机器和服务器机器之间交换的一对消息中实现多种类型的认证(例如,用户认证和实体认证)、加密密钥交换和有效载荷数据。例如,发送机器可以在单个消息中包括实体认证数据、用户认证数据、有效载荷数据、以及密钥请求。现在,下文将更加详细地描述这些技术。
系统概述
图1是示出被配置为实现本发明的一个或多个方面的机器100的框图。机器100可以是个人计算机、视频游戏机、个人数字助理、移动电话、移动设备或适于实施本发明的一个或多个实施例的任何其他设备。
如所示,机器100包括、但不限于经由可包括存储器桥105的总线路径进行通信的中央处理单元(CPU)102和系统存储器104。CPU 102包括一个或多个处理核心,并且在操作时,CPU 102是机器100的主处理器,控制和协调其他系统组件的操作。系统存储器104存储供CPU 102使用的软件应用和数据。CPU 102运行软件应用程序并且可选地运行操作系统。存储器桥105(其可以是例如北桥芯片)经由总线或其他通信路径(例如,HyperTransport(超传输)链路)被连接到I/O(输入/输出)桥107。I/O桥107(其可以是例如南桥芯片)从一个或多个用户输入设备108(例如,键盘、鼠标、操纵杆、数字转换器平板电脑、触摸板、触摸屏、静物照相机或摄像机、运动传感器、和/或麦克风)接收用户输入,并经由存储器桥105将输入转发到CPU 102。
显示处理器112经由总线或其他通信路径(例如,PCI Express、加速图形端口、或超传输链路)被耦合至存储器桥105。在一个实施例中,显示处理器112是图形子系统,包括至少一个图形处理单元(GPU)和图形存储器。图形存储器包括用于存储输出图像的每个像素的像素数据的显示存储器(例如,帧缓冲器)。图形存储器可以与GPU集成在同一设备中、作为单独的设备与GPU连接、和/或被实现在系统存储器104内。
显示处理器112周期性地将像素传送至显示器设备110(例如,屏幕或基于传统CRT、等离子、OLED、SET或LCD的监视器或电视)。此外,显示处理器112可以将像素输出到适于在摄影胶片上再现计算机生成的图像的胶片记录器。显示处理器112可以向显示器设备110提供模拟或数字信号。
系统盘114还被连接至I/O桥107,并且可以被配置为存储供CPU 102和显示处理器112使用的内容和应用及数据。系统盘114为应用及数据提供非易失性存储,并且可以包括固定硬盘驱动器或可移动硬盘驱动器、闪存设备、以及CD-ROM、DVD-ROM、蓝光、HD-DVD、或其他磁存储设备、光存储设备或固态存储设备。
交换机116在I/O桥107和诸如网络适配器118和各种附加卡120及121之类的其他组件之间提供连接。网络适配器118允许机器100经由电子通信网络与其他系统进行通信,并且可以包括局域网和广域网(例如,互联网)上的有线或无线通信。
其他组件(包括USB或其他端口连接、胶片记录设备等)(未示出)也可以被连接到I/O桥107。例如,音频处理器可以用于根据由CPU 102、系统存储器104或系统盘114提供的指令和/或数据来生成模拟或数字音频输出。图1中将各种组件互连的通信路径可以使用任何合适的协议来实现,例如PCI(外围组件互连)、PCI Express(PCI-E)、AGP(加速图形端口)、HyperTransport、或(一个或多个)任何其他总线或点到点通信协议,并且不同设备之间的连接可以使用不同的协议,如本领域已知的那些协议。
在一个实施例中,显示处理器112包括针对图形和视频处理而优化的电路,包括例如视频输出电路,并且显示处理器112构成图形处理单元(GPU)。在另一实施例中,显示处理器112包括针对通用处理而优化的电路。在又一实施例中,显示处理器112可以与一个或多个其他系统元件(例如,存储器桥105、CPU 102和I/O桥107)集成以形成片上系统(SoC)。在又一另外的实施例中,省略了显示处理器112,而由CPU 102运行的软件来执行显示处理器112的功能。
像素数据可以直接从CPU 102被提供至显示处理器112。在本发明的一些实施例中,表示场景的指令和/或数据经由网络适配器118或系统盘114被提供至渲染农场(renderfarm)或一组服务器计算机,其中每个服务器计算机类似于机器100。渲染农场使用所提供的指令和/或数据来生成场景的一个或多个渲染图像。这些渲染图像可以以数字格式存储在计算机可读介质上,并且可选地被返回至机器100以用于显示。类似地,由显示处理器112处理的立体图像对可被输出到其他系统用于显示、被存储在系统盘114中、或以数字格式存储在计算机可读介质上。
可替代地,CPU 102向显示处理器112提供定义所期望的输出图像的数据和/或指令,显示处理器112根据该数据和/或指令来生成一个或多个输出图像的像素数据,所述生成包括表征和/或调整立体图像对之间的偏移。定义所期望的输出图像的数据和/或指令可以被存储在显示处理器112内的系统存储器104或图形存储器中。在实施例中,显示处理器112包括用于根据指令和数据(其定义场景的几何学、光照阴影、纹理、运动和/或摄像机参数)生成输出图像的像素数据的3D渲染能力。显示处理器112还可以包括一个或多个可编程执行单元,它们能够执行着色器程序、色调映射程序等等。
CPU 102、渲染农场、和/或显示处理器112可以采用本领域已知的任何表面或体绘制技术来根据所提供的数据和指令创建一个或多个渲染图像,这包括本领域已知的任何渲染或图像处理技术。
将要理解的是,本文所示的系统是说明性的,并且变化和修改都是可能的。可以根据需要修改连接拓扑,包括桥的数量和布置。例如,在一些实施例中,系统存储器104不通过桥而直接被连接到CPU 102,并且其它设备经由存储器桥105和CPU 102与系统存储器104通信。在其他替代的拓扑中,显示处理器112连接到I/O桥107或直接被连接到CPU 102而不被连接至存储器桥105。在另外的其他实施例中,I/O桥107和存储器桥105可以集成到单个芯片中。本文所示的具体组件是可选的。例如,可以支持任何数量的附加卡或外围设备。在一些实施例中,去除了交换机116,并且网络适配器118和附加卡120、121直接连接到I/O桥107。
网络上的客户端/服务器通信
图2示出了被配置为实现本发明的一个或多个方面的计算机网络200。如图所示,计算机网络200包括、但不限于经由通信网络206互相连接的客户端机器202、服务器机器204、以及用户服务系统250。通信网络206可以是在位于远程的机器间实现通信的任意合适的环境,包括、但不限于LAN(局域网)和WAN(广域网)。
客户端机器202被配置为与服务器机器204交换数据。在一些实施例中,客户端机器202和服务器机器204还可以与一个或多个用户服务系统250s(例如,用户服务系统250)进行通信。客户端机器202被配置为将消息发送到服务器机器204。服务器机器204同样被配置为向客户端机器202发送消息。在客户端机器202和服务器机器204之间交换的消息包括下述各项中的一项或多项:消息数据、认证信息、授权信息、令牌、密钥交换数据、经认证的数据和经加密的数据。在一些实施例中,为了用户认证的目的,客户端机器202和服务器机器204可以与用户服务系统250进行通信,如本文进一步描述的。
客户端机器202包括AES模块210、MAC模块212、密钥交换模块214、密钥导出模块216、基本认证模块218、用户认证模块220、以及应用程序226。服务器机器204包括AES模块230、MAC模块232、密钥交换模块234、密钥导出模块236、基本认证模块238、主令牌生成器240、用户ID令牌生成器242、服务令牌生成器244、以及应用程序246。现在将进一步详细描述这些各种模块和令牌发生器的功能。
高级加密标准(AES)模块210和230对在客户端机器202和服务器机器204之间发送的数据执行对称密钥加密。客户端机器202中的AES模块210对从客户端机器202发送到服务器机器204的数据进行加密,以及对由客户端机器202从服务器机器204接收到的数据进行解密。同样地,服务器机器204中的AES模块230对从服务器机器204发送到客户端机器202的数据进行加密,以及对由服务器机器204从客户端机器202接收到的数据进行解密。
AES模块210和230执行两种运算。第一运算根据下面的公式(1)将明文加密为密文:
密文=加密(明文,aes_key,模式,initialization_vector) (1)
其中,明文是加密前的未经加密的文本,aes_key(AES密钥)和initialization_vector(初始化向量)是AES单元210或230根据高级加密标准对文本进行加密所采用的参数,以及密文是产生的经加密的文本。在一些实施例中,算法的某些加密模式不需要初始化向量。模式(mode)是用于加密和解密运算的配置参数,其中模式包括、但不限于电子代码簿(ECB)模式、密码块链接(CBC)模式和计数器模式。
第二运算根据下面的公式(2)将密文解密为明文:
明文=解密(密文,aes_key,模式,initialization_vector) (2)
其中,密文是解密前的经加密的文本,aes_key和initialization_vector是AES模块210和230根据高级加密标准对文本进行解密所采用的参数,以及明文是产生的经解密的文本。在一些实施例中,算法的某些密码模式不需要初始化向量。模式是用于加密和解密运算的配置参数,其中模式包括、但不限于ECB模式、CBC模式和计数器模式。
在各种实施例中,AES模块210和230可以被实现在软件、硬件、或硬件或软件的任何组合中。具体地,出于安全目的,AES模块210和230可以被实现在硬件安全模块(HSM)中或被实现在可信执行环境(TEE)内。在一些实施例中,除了AES之外,可以使用对称密钥加密算法。在这种情况下,AES模块210和230可以由执行替代的对称密钥加密算法(包括、但不限于Blowfish、Twofish和TripleDES)的模块来代替。在各种实施例中,AES模块210和230可以是无状态的或有状态的,这至少取决于模式。
消息认证码(MAC)模块212和232执行与在客户端机器202和服务器机器204之间发送的数据相关联的认证和完整性保护。客户端机器202中的MAC模块212生成与从客户端机器202发送到服务器机器204的数据对应的MAC,并且根据客户端机器202从服务器机器204接收到的相应数据来验证接收到的MAC。类似地,服务器机器204中的MAC模块232生成与从服务器机器204发送到客户端机器202的数据对应的MAC,并且根据服务器机器204从客户端机器202接收到的相应数据来验证接收到的MAC。
在各种实施例中,MAC模块212和232可以采用任何在技术上可行的消息认证码技术,包括、但不限于密钥散列MAC(HMAC)、可并行化MAC(PMAC)或通用散列MAC(UMAC)。仅作为示例,本文所述的MAC模块212和232采用HMAC。
MAC模块212和232执行两个运算。第一运算根据下面的公式(3)生成与特定数据对应的MAC:
mac=生成(数据,mac_key,[hash_algorithm]) (3)
其中数据是针对其生成MAC的输入数据,mac_key是MAC模块212和232根据选择的MAC标准生成MAC所采用的参数,以及mac是生成的MAC。通常,生成的MAC与相应的数据一起被发送。hash_algorithm(散列算法)是由一些MAC算法所需的、指定特定散列算法的参数。例如,如果MAC模块采用HMAC,则hash_algorithm的值可以包括、但不限于SHA-1、SHA-256、或SHA-3。如果MAC模块采用PMAC或UMAC,则可以省略hash_algorithm。
第二运算根据下面的公式(4)来验证一组给定数据是否生成相应的MAC:
{T|F}=验证(数据,mac,[hash algorithm]) (4)
其中,数据是针对完整性被认证和验证的数据,mac是对应的MAC,以及{T|F}是布尔值,其中如果MAC模块212或232对应数据成功地验证了MAC,则{T|F}为真,否则{T|F}为假。如上所述,hash_algorithm是一些MAC算法所需的、指定特定散列算法的参数。
在各种实施例中,MAC模块212和232可以被实现在软件、硬件、或硬件或软件的任何组合中。具体地址,为了安全起见,MAC模块212和232可以被实现在HSM或TEE中。MAC模块212和232可以是无状态的。
密钥交换模块214和234用于在客户端机器202和服务器机器204之间交换密钥。在各种实施例中,密钥交换模块214和234可以采用任何在技术上可行的密钥交换技术,包括、但不限于Diffie-Hellman或加密密钥包装方法。仅作为示例,本文所述的密钥交换模块214和234采用了Diffie-Hellman密钥交换。
在Diffie-Hellman实施例中,客户端机器202中的密钥交换模块214生成公共值“A”以发送至服务器机器204,并且根据由客户端机器202保存的私有值“a”和从服务器机器204接收的公共值“B”来计算共享密值。同样地,服务器机器204中的密钥交换模块234生成公共值“B”以发送至客户端机器202,并且根据由服务器机器204保存的私有值“b”和和从客户端机器202接收的公共值“A”来计算共享密值。
密钥交换模块214和234的Diffie-Hellman实施例执行两个运算。第一运算根据下面的公式(5)和(6)来从私有值a和b计算出公共值A和B:
客户端公钥:A=生成(g,p)=ga mod p (5)
服务器公钥:B=生成(g,p)=gb mod p (6)
其中A是客户端机器202的公共值,a是客户端机器202的私有值,B是服务器机器204的公共值,b是服务器机器204的私有值,g(生成器值)和p(主值)是用于生成密钥的附加参数。
在计算出公钥之后,密钥交换模块214将客户端机器202的公共值“A”发送至服务器机器204。密钥交换模块234将服务器机器204的公共值“B”发送至客户端机器202。在一个实施例中,密钥交换模块214可以额外地向服务器机器204发送“g”和“p”值。在另一实施例中,密钥交换模块214和234可以预先共享或以其它方式商定“g”和“p”值。
Diffie-Hellman实施例的第二运算根据下面的公式(7)和(8)来计算共享密值(ss):
客户端共享密钥:ss=计算(B)=gab mod p=Ba mod p (7)
服务器共享密钥:ss=计算(A)=gab mod p=Ab mod p (8)
客户端机器202和服务器机器204针对共享密钥生成相同的值。客户端机器202基于“g”、“p”、客户端机器202私有值“a”和服务器机器204的公共值“B”生成共享密钥值。类似地,服务器机器204基于“g”、“p”、服务器机器204私有值“b”和客户端机器202公共值“A”生成相同的共享密钥值。
通常,客户端机器202上的密钥交换模块214是有状态的,并且服务器机器204上的密钥交换模块234是无状态的。然而,在一些实施例中,密钥交换模块234可以是有状态的。具体地,至少直到由服务器机器204返回相应的B值之前,密钥交换模块214将“a”作为状态存储。密钥交换模块234计算“b”值,但不需要将“b”作为状态保存。相反,密钥交换模块234通常在服务器机器204计算出共享密值之后丢弃“b”,并将B密钥发送至客户端机器202。
密钥导出模块216和236根据由密钥交换模块214和234计算出的共享密值来计算会话密钥。每组会话密钥包括两个密钥,即上面所讨论的HMAC密钥和AES密钥。会话密钥由参与安全通信的各种实体用于加密和认证消息的目的。由实体使用MSL协议创建的每个消息可以包括:由生成的HMAC使用HMAC密钥提供的认证/完整性保护,以及由AES密钥提供的数据加密。HMAC密钥为交换的消息提供认证和完整性保护,而AES密钥通过对消息中的数据进行加密来提供隐私。密钥导出模块216和236根据下面的公式(9)来计算会话密钥:
{k_sess_hmac|k_sess_aes}=key_derive(key_data) (9)
其中,在Diffie-Hellman实施例中,key_data是由密钥交换模块214和234计算出的共享密钥,以及{k_sess_hmac|k_sess_aes}是会话密钥,它是HMAC会话密钥和AES会话密钥的级联。key_derive函数可以是任何在技术上可行的密钥导出或生成技术。在一个非限制性示例中,key_derive函数可以基于SHA-384,SHA-384生成384位密钥数据。在该示例中,AES会话密钥可以是SHA-384生成的密钥数据的最左边的128位,而HMAC会话密钥可以是256位密钥,其包括SHA-384密钥数据的最右边的256位。
在各种实施例中,会话密钥可以包括代替HMAC密钥和AES密钥的或除HMAC密钥和AES密钥之外的其他密钥。
在Diffie-Hellman实施例中,密钥交换模块214和234可以交换公共值,并且可以计算对于相应的客户端机器202和服务器机器204是专用的“共享密钥”值。
在两种情况下,基本认证模块218和238向客户端机器202提供对服务器机器204的认证。第一种情况是在建立会话密钥和交换主令牌之前,在客户端机器202和服务器机器204之间的初始消息交换期间。第二种情况是当服务器机器204从客户端机器202接收到不良消息时,如由下述情形所指示的,例如不能解密从客户端机器202接收到的数据、或者不能验证从客户端机器202接收到的认证码。换句话说,当检测到消息故障时,基本认证模块218和238对初始消息交换提供认证并且作为故障恢复认证。
在各种实施例中,基本认证模块218和238可以采用任何在技术上可行的认证技术或算法,包括、但不限于:Rivest-Shamir-Adleman(RSA)公钥/私钥、椭圆曲线密码术、数字签名算法(DSA)、或Diffie-Hellman。仅作为示例,本文所述的基本认证模块218和238采用RSA公钥/私钥。
当服务器机器204检测到故障或者当与客户端机器202交换初始消息时,服务器机器204上的基本认证模块238根据以下公式(10)生成要发送至客户端机器202的签名:
sig=sign(数据,RSA_privatekey,hash_algorithm) (10)
其中数据是用于发送至客户端机器202的数据,RSA_privatekey是由服务器机器204保存的私有RSA密钥,hash_algorithm如本文所述的标识特定的散列技术,以及sig是与数据一起发送至客户端机器202的签名。
当客户端机器202从服务器机器204接收消息时,客户端机器202上的基本认证模块218根据以下公式(11)来验证消息:
{T|F}=认证(sig,数据,RSA_publickey,hash_algorithm) (11)
其中sig是接收到的由服务器生成的签名,数据是相应的接收到的数据,RSA_publickey是已被预先配置的或此前从服务器机器204接收的公共RSA密钥,hash_algorithm标识特定的散列技术,{T|F}是布尔值,如果基本认证模块218相对于数据成功地验证了签名,则该布尔值为真,否则为假。
用户认证模块220可选地从客户端机器202提供用户认证。当客户端机器202的用户输入例如用户名和密码时,用户认证模块220或用户服务系统250确定该用户是否已经输入有效的登录凭证。用户认证模块220可以通过在本地查询所存储的密码数据、或者可以查询用户服务系统250来做出该确定。用户认证模块220可以将用户名和密码发送至服务器机器204。可选地,用户认证模块220可以在查询本地密码数据之前或者将用户名和密码发送至用户服务系统250或服务器机器204之前对密码进行加密或散列。
服务器机器204上的主令牌生成器240生成主令牌以使得客户端机器202和服务器机器204能够安全地交换消息。主令牌生成器240根据下面的公式(12)生成预主令牌:
pre_MT=发出(ID,k_sess,renew_time,exp_time,seq_num,MT_ser_num) (12)
其中ID是唯一标识符,k_sess是由密钥导出模块236生成的会话密钥集(此前被描述为HMAC密钥和AES密钥),renew_time指示当使用可更新标志集接收到来自客户端的消息时,服务器可以选择更新主令牌的时间,exp_time是当前的主令牌到期的时间,seq_num是当主令牌被更新时增加的防盗序列号,MT_ser_num是用于令牌绑定目的的主令牌序列号,以及pre_MT是生成的预主令牌。ID是客户端ID和发出者ID中的一者或两者,其中客户端ID标识客户端机器202,并且发出者ID标识发出主令牌的服务器机器204。在一个实施例中,ID是客户端ID和发出者ID的级联(concatenation)。
然后,主令牌生成器240根据下面的公式(13)生成最终的主令牌:
MT=加密(pre_MT,MT_key) (13)
其中pre_MT是预主令牌,MT_key是主令牌加密密钥,例如只有服务器机器204和共享该MT_key的其他服务器才知道AES密钥,以便于创建受信网络,以及MT是经加密的主令牌。
用户ID令牌生成器242验证用户认证并发出用户ID令牌。用户ID令牌生成器242可以使用下面的公式(14)来查询用户服务系统250以验证用户认证:
{T|F}=user_auth(user_auth_data) (14)
其中user_auth_data是用户服务系统250所支持的任何在技术上可行的用户认证数据(例如,用户名和密码),{T|F}是用户服务系统250返回的布尔值,如果用户认证数据是有效的,则该布尔值为真,否则为假。
如果用户被认证,则用户ID令牌生成器242根据下面的公式(15)生成预用户ID令牌:
pre_UIDT=发出(MT_ser_num,UIDT_renew_time,UIDT_exp_time,UIDT_ser_num,user_data) (15)
其中,MT_ser_num是主令牌序列号,UIDT_renew_time指示要由服务器机器204发送用户ID可更新消息的时间,exp_time是当前用户ID令牌会话到期的时间,UIDT_ser_num是用于绑定目的的用户ID令牌序列号,user_data是要被加密的用户数据,以及pre_UIDT是生成的预用户ID令牌。由于用户认证通常涉及查询外部用户服务器系统250,所以UIDT_renew_time和UIDT_exp_time通常比相应的主令牌renew_time和exp_time长。MT_ser_num用于生成用户ID令牌,以确保用户ID令牌被绑定至主令牌。
用户ID令牌生成器242然后根据下面的公式(16)生成最终的用户ID令牌:
UIDT=加密(pre_UIDT,UIDT_key) (16)
其中pre_UIDT是预用户ID令牌,UIDT_key是用户令牌加密密钥,例如只有服务器机器204和共享该UIDT_key的其他服务器才知道AES密钥以便创建受信网络,以及UIDT是经加密的用户ID令牌。
服务令牌生成器244生成并加密由各种服务使用的服务令牌,以保存客户端存储的令牌中的状态信息,使得服务器不需要保存这类状态。在各种实施例中,服务令牌可以被绑定至主令牌和用户ID令牌、仅被绑定至主令牌、或不被绑定至其他令牌。服务令牌生成器244根据下面的公式(17)生成预服务令牌:
pre_ST=(名称,数据,[MT_ser_num],[UIDT_ser_num]) (17)
其中名称是服务令牌的名称,数据是任何来自相应服务的任意数据。换句话说,名称和数据形成了键值对,本质上作为HTTP cookie操作。可选参数包括MT_ser_num(如果服务令牌被绑定至主令牌)和UIDT_ser_num(如果服务令牌被绑定至用户ID令牌)。pre_ST是预服务令牌。
然后,服务令牌生成器244根据下面的公式(18)生成最终的服务令牌:
ST=加密(pre_ST,ST_key) (18)
其中pre_ST是预服务令牌,ST_key是诸如AES密钥的服务令牌加密密钥,以及ST是经加密的服务令牌。在一些实施例中,服务令牌可以不被加密,在这种情况下,服务令牌由下面的公式(19)给出:
ST=pre_ST (19)
驻留在客户端机器202上的应用程序226和驻留在服务器机器204上的应用程序246经由本文结合图2所述的各种模块和发生器与彼此安全地通信。在一个示例中,并且不具有限制意义,应用程序226和246可以被配置为在客户端机器202和服务器机器204之间安全地流送媒体内容。
在至少一个实施例中,驻留在客户端机器202上的应用程序226可以发送针对与驻留在服务器机器204上的应用程序246建立安全通信信道的请求。应用程序226可以将这样的请求发送到驻留在客户端机器202上的一个或多个模块和发生器,如本文所述。响应于该请求,驻留在客户端机器202上的模块和生成器可以与驻留在服务器机器204上的模块和生成器交换一个或多个消息,从而在驻留在客户端机器202上的应用程序226和驻留在服务器机器204上的应用程序246之间建立安全通信信道。
虽然以具体的顺序描述了模块和令牌生成器,但是由这些模块和令牌生成器执行的操作可以以任何在技术上可行的顺序来执行。例如,由用户认证模块220执行的功能可以在基本认证模块218和238执行操作之前或之后被执行。具体地,如果需要加密的用户认证方案使用了不支持加密的初始化方案,则可能需要在发起用户认证之前进行密钥交换,以确保安全的数据传输。这样的方式会导致额外的往返信息交换。
在另一示例中,主令牌生成器240、用户ID令牌生成器242和服务令牌生成器244可以被实现为单独的令牌生成器、被实现为生成所有三个令牌类型的单个令牌生成器、或者被实现为任何在技术上可行的组合。
安全连接及相关服务的高效启动
为了建立安全通信信道,客户端机器202将包括认证数据和密钥请求的消息发送至服务器机器204。在一个实施例中,该消息可以包括有效载荷数据。服务器机器204通过发送用户ID令牌连同包括主令牌的密钥响应数据来进行响应。在一个实施例中,该消息同样可以包括有效载荷数据。作为结果,安全通信信道被建立,并且可以通过在客户端机器202和服务器机器204之间交换一对消息来交换有效载荷数据。现在描述该技术。
图3根据本发明的一个实施例示出了用于在客户端机器和服务器机器之间建立安全通信的方法步骤的流程图。尽管结合图1和图2的系统描述了这些方法步骤,但是本领域普通技术人员将理解的是,被配置为以任何顺序来执行这些方法步骤的任何系统都在本发明的范围内。
如图所示,方法300开始于步骤302,其中客户端机器202创建实体认证数据。实体认证数据包括用于标识和认证与消息相关联的实体的数据。实体认证数据可以是未经加密的,或者实体认证数据可以通过任何在技术上可行的方法(例如,通过预共享密钥)被加密。在步骤304处,客户端机器202创建用户认证数据。用户认证数据可以是任何在技术上可行的格式,包括、但不限于用户名和密码、用户名和散列的密码、或与http cookie相关联的消息。在步骤306处,客户端机器202创建指向期望安全通信信道的服务器机器204的密钥请求。在步骤308处,客户端机器202向包括实体认证数据、用户认证数据和密钥请求的服务器机器204发送可更新的MSL消息。在一些实施例中,MSL消息可以包括有效载荷数据。
在步骤310处,服务器机器204认证实体认证数据和用户认证数据。在步骤312处,服务器机器204解密MSL消息以恢复密钥请求和可选的有效载荷数据。在步骤314处,服务器机器204生成新的用户ID令牌。服务器机器还生成包括新的主令牌的密钥响应数据。在一些实施例中,密钥响应数据还包括会话密钥。在步骤316处,服务器机器204生成包括实体认证数据和包含新的主令牌的密钥响应数据的MSL消息。在一些实施例中,MSL消息可以包括会话密钥和有效载荷数据中的一者或两者。在步骤318处,服务器机器204向客户端机器202发送MSL消息。然后,方法300结束。
一旦在客户端机器202和服务器机器204之间建立了安全通信,主令牌就可以变成“可更新的”或者可以随着时间的过去或在交换指定数量的消息之后而到期。然后,可以通过请求新的主令牌和用户ID令牌来更新安全通信信道凭证。在一个实施例中,凭证可更新性可以是基于显式的“可更新”标志,以便相对于现有方法提高线程和同步性能。当对应于可更新窗口达到了一定时间,发送设备可以将当前的主令牌和密钥请求数据包括在被标识为可更新的消息中。作为响应,服务器机器204可以确定是否以及何时更新凭证。通常,服务器机器204可以在接收到被标识为可更新的消息时更新凭证。在某些情况下,例如,当在服务器机器204上存在显著的计算负荷时,服务器机器204可以将凭证更新延迟到稍后的时间。在受信服务网络中,响应包括包含新的主令牌的密钥响应数据。通过结合当前的主令牌(包含会话密钥)并且使用会话密钥本身,来执行对响应(或任何给定消息)的认证。在对等网络中,响应包括包含新的主令牌的密钥响应数据。现在将描述该技术。
图4A-4B根据本发明的一个实施例陈述了用于更新客户端机器和服务器机器之间的安全通信的方法步骤的流程图。尽管结合图1和图2的系统描述了这些方法步骤,但是本领域普通技术人员将理解的是,被配置为以任何顺序执行这些方法步骤的任何系统都在本发明的范围内。
如图所示,方法400开始于步骤402,其中客户端机器202确定当前的主令牌是可更新的还是过期的。基于时间的推移或在交换指定数量的消息之后,当前的主令牌可以是可更新的或过期的。在步骤404处,客户端机器202检索当前的主令牌和当前的用户ID令牌。在步骤406处,客户端机器202创建指向对其已建立安全通信信道的服务器机器104的密钥请求。在步骤408处,客户端机器202向服务器机器204发送包括当前的主令牌、当前的用户ID令牌和密钥请求的可更新MSL消息。在一些实施例中,MSL消息可以包括有效载荷数据。
在步骤410处,服务器机器204认证实体认证数据和用户认证数据。在步骤412处,服务器机器204解密MSL消息以恢复密钥请求和可选的有效载荷数据。在步骤414处,服务器机器204确定该服务器机器204是否正通过受信服务网络与客户端机器202通信。如果服务器机器204正通过受信服务网络与客户端机器202通信,则该方法进行到步骤416,其中服务器机器204生成新的用户ID令牌和包括新的主令牌的密钥响应数据。在步骤418处,服务器机器204生成包括新的用户ID令牌和包含新的主令牌的密钥响应数据的MSL消息。在一些实施例中,MSL消息可以包括会话密钥和有效载荷数据中的一者或两者。在步骤420处,服务器机器204将MSL消息发送至客户端机器202。然后,方法400结束。
返回至步骤414,如果服务器机器204没有正通过受信服务网络与客户端机器202通信,则服务器机器204正通过对等网络与客户端机器202进行通信。在这种情况下,该方法进行至步骤422,其中服务器机器204生成新的用户ID令牌和包括新的主令牌的密钥响应数据。在步骤424处,服务器机器204生成包括实体认证数据和包含新的主令牌的密钥响应数据的MSL消息。在一些实施例中,MSL消息可以包括会话密钥和有效载荷数据中的一者或两者。在步骤426处,服务器机器204将MSL消息发送至客户端机器202。然后,方法400结束。
将要理解的是,本文所述的技术是说明性的,并且变化和修改是可能的。例如,尽管关于使用某些指定组件来发送MSL消息描述了这些技术,但是可以在单个MSL消息中发送认证数据、密钥数据、令牌和其他信息的任何在技术上可行的组合。现在描述用于在客户端机器202和服务器机器204之间交换安全消息的具体实施例。
图5根据本发明的一个实施例陈述了用于在客户端机器和服务器机器之间交换安全消息的方法步骤的流程图。尽管结合图1-2的系统描述了这些方法步骤,但是本领域普通技术人员将理解的是,被配置为以任何顺序来执行这些方法步骤的任何系统都在本发明的范围内。
如所示,方法500开始于步骤502,其中客户端机器202创建密钥交换数据、实体认证数据和有效载荷数据。在一些实施例中,客户端机器202还创建用户认证数据。在步骤504处,客户端机器202基于在客户端机器202和服务器机器204之间预先共享或预先配置的密钥,将密钥交换数据、实体认证数据、有效载荷数据以及(如果适用的话)用户认证数据打包成MSL消息。将数据打包成MSL消息涉及:(a)使用预先配置的客户端加密密钥对MSL消息进行加密;以及(b)使用预先配置的认证密钥对经加密的MSL消息进行认证。认证可以通过任何在技术上可行的方法来实现,包括、但不限于HMAC、RSA签名和ECC签名。在步骤506处,客户端机器202将经加密并经认证的MSL消息发送至服务器机器204。
在步骤508处,服务器机器204认证实体认证数据。在一些实施例中,服务器机器204还认证用户验证数据。在步骤510处,服务器机器204使用预先共享的加密密钥来解密MSL消息。在步骤512处,服务器机器204完成密钥交换握手,以产生用于返回至客户端的密钥交换数据,并生成会话密钥。在步骤514处,服务器机器204生成主令牌,其中主令牌包括会话密钥。在各种实施例中,主令牌还可以包括、但不限于与客户端机器202ID和主令牌发出者ID中的一者或两者相关联的标识符(ID)、主令牌更新时间、主令牌到期时间、序列号和主令牌序列号。在步骤516处,服务器机器204生成用户ID令牌,并使用主令牌序列号将该用户ID令牌绑定至主令牌。在各种实施例中,用户ID令牌可以包括主令牌序列号、用户ID到期时间、用户ID更新时间、用户ID序列号以及用户数据。在步骤518处,服务器机器204将经解密的有效载荷数据传送至应用程序进行处理。在步骤520处,服务器机器204将包括密钥交换数据的消息发送至客户端机器,该密钥交换数据又包括主令牌。该消息还包括用户ID令牌。然后,方法500结束。
在一些实施例中,服务器机器204和客户端机器202可以不具有交换的预先共享密钥。在这类实施例中,客户端机器202可以创建密钥交换数据,但是可以不在该初始步骤中创建用户认证数据或有效载荷数据。客户端机器202可以将密钥交换数据打包成MSL消息,仅用于密钥交换。客户端机器202可以向服务器机器204发送MSL消息。
服务器机器204可以通过产生用于返回至客户端的密钥交换数据来完成密钥交换握手,并且可以生成会话密钥。服务器机器204可以生成主令牌,其中主令牌包括会话密钥。服务器机器204可以将主令牌返回至客户端机器202。
然后,客户端机器202可以创建用户认证数据和有效载荷数据。客户端机器202可以将有效载荷数据连同主令牌一起进行打包,并且可以创建MSL消息。创建MSL消息可以涉及:(a)使用在密钥交换期间创建的加密密钥来加密MSL消息;以及(b)使用在密钥交换期间创建的MAC密钥对经加密的MSL消息进行认证。客户端机器202可以将经加密并经认证的MSL消息发送至服务器机器204。
服务器机器204可以解密主令牌以检索认证和解密来自客户端的MSL消息所需的会话密钥。服务器机器204可以使用由服务器机器204检索和解密的MAC密钥来验证MSL消息。服务器机器204可以使用由服务器机器204检索和解密的加密密钥来解密MSL消息。服务器机器204可以生成用户ID令牌,并使用主令牌序列号来将该用户ID令牌绑定至主令牌。服务器机器204可以将经解密的有效载荷数据递送至应用程序进行处理。
总之,在客户端机器和服务器机器之间建立了安全通信信道。客户端机器在单个消息中向服务器发送认证数据、对密钥会话的请求、以及可选的有效载荷数据。服务器通过在单个消息中发送主令牌、用户ID令牌、会话密钥以及可选的有效载荷数据来进行响应。为了更新安全通信信道,客户端机器在单个消息中向服务器发送当前的主令牌和用户ID令牌、对新的主令牌的请求、以及可选的有效载荷数据。服务器通过在单个消息中发送新的主令牌、其他认证数据、以及可选的有效载荷数据来进行响应。
所公开方法的至少一个优点是建立安全通信会话并且经由一对消息来交换数据,相对于常规方法实现了改善的延迟和效率。所公开方法的另一优点在于更新凭证,并且在不需要手动干预的情况下自动地发出新的主令牌和会话密钥。因此,相对于常规方法,安全通信更可靠也更高效。
为了说明的目的已经提供了对各种实施例的描述,但并不旨在穷举各种实施例或限于所公开的实施例。在不脱离所述实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说将是显而易见的。
本文所述主题的方面在以下编号的条款中被列出。
1.一种包括非暂态计算机可读存储介质的程序产品,其包括指令,当由处理器执行时,该指令使得处理器执行以下步骤:生成实体认证数据,该实体认证数据标识并且认证客户端机器;生成用户认证数据,该用户认证数据标识与客户端机器相关联的用户;生成对第一多个会话密钥的第一密钥请求,该第一多个会话密钥用于加密和认证与客户端机器交换的消息;以及向服务器机器发送第一消息,该第一消息包括实体认证数据、用户认证数据和第一密钥请求。
2.根据条款1所述的程序产品,还包括从服务器机器接收包括第一主令牌的第二消息,该第一主令牌包括第一多个会话密钥。
3.根据条款1或2所述的程序产品,其中第二消息还包括实体认证数据。
4.根据条款1-3中任一项所述的程序产品,其中第二消息还包括第一用户标识令牌。
5.根据条款1-4中任一项所述的程序产品,还包括确定第一主令牌是可更新的;生成对第二多个会话密钥的第二密钥请求;以及向服务器机器发送第三消息,该第三消息包括第一主令牌、第一用户标识令牌和第二密钥请求。
6.根据条款1-5中任一项所述的程序产品,还包括将第三消息标识为可更新的。
7.根据条款1-6中任一项所述的程序产品,还包括从服务器机器接收包括第二主令牌的第四消息,该第二主令牌包括第二多个会话密钥。
8.根据条款1-7中任一项所述的程序产品,其中确定第一主令牌是可更新的包括:确定在接收到第一主令牌之后,在客户端机器和服务器机器之间已经交换了阈值数量的消息。
9.根据条款1-8中任一项所述的程序产品,其中确定第一主令牌是可更新的包括:确定在接收到第一主令牌之后,已经经过了阈值数量的时间。
10.根据条款1-9中任一项所述的程序产品,其中客户端机器和服务器机器经由受信服务网络进行通信。
11.根据条款1-10中任一项所述的程序产品,其中客户端机器和服务器机器经由对等网络进行通信。
12.根据条款1-11中任一项所述的程序产品,其中第一消息还包括有效载荷数据。
13.一种服务器机器,包括处理器;以及存储器,其耦合到处理器,并且包括基本认证模块、密钥导出模块和密钥交换模块;其中,当由处理器执行时,基本认证模块被配置为从客户端机器接收第一消息,该第一消息包括实体认证数据、用户认证数据和第一密钥请求,并且生成包括用于发送至客户端机器的私钥的签名;其中,当由处理器执行时,密钥导出模块被配置为响应于第一密钥请求,生成第一组会话密钥;并且其中,当由处理器执行时,密钥交换模块被配置为向客户端机器发送第二消息,该第二消息包括私钥和第一组会话密钥。
14.根据条款13所述的服务器机器,其中存储器还包括主令牌生成器,其中,当由处理器执行时,主令牌生成器被配置为生成第一主令牌,并且第二消息还包括第一主令牌
15.根据条款13或14所述的服务器机器,其中存储器还包括用户标识令牌生成器,其中,当由处理器执行时,用户标识令牌生成器被配置为生成第一用户标识令牌,并且第二消息还包括第一用户标识令牌。
16.一种计算机实现的方法,包括:经由应用程序接收对于向服务器机器发送安全消息的请求;向服务器机器发送包括第一消息的多个消息,第一消息包括以下各项中的至少两项:用户认证数据、实体认证数据、密钥交换数据和经加密的消息数据;以及从服务器机器接收包括第一主令牌的第二消息,第一主令牌包括用于加密和认证与服务器机器交换的消息的第一组会话密钥。
17.根据条款16所述的方法,还包括确定当前时间落在更新窗口内,该更新窗口定义了这样的时间:如果被包括在多个消息中的消息被标识为是可更新的,则在该时间之后更新第一主令牌。
18.根据条款16或17所述的方法,还包括将被包括在多个消息中的第二消息标识为是可更新的;以及将第二消息发送至服务器机器。
19.根据条款16-18中任一项所述的方法,还包括从服务器机器接收包括第二主令牌的一组更新的凭证,第二主令牌包括用于加密和认证与服务器机器交换的消息的第二组会话密钥,其中第二主令牌代替第一主令牌并且第二组会话密钥代替第一组会话密钥。
20.根据条款16-19中任一项所述的方法,其中多个消息包括一个或多个附加消息,该一个或多个附加消息与第一主令牌相关联并在接收到一组更新的凭证之前被发送到服务器机器。
本实施例的方面可以被体现为系统、方法或计算机程序产品。因此,本公开的方面可以采用以下形式:完全的硬件实施例、完全的软件实施例(包括固件、常驻软件、微代码等等)或组合软件和硬件方面的实施例,它们在本文中一般都可以被称为“电路”、“模块”或“系统”。此外,本公开的方面可以采用体现在一个或多个具有体现在其上的计算机可读程序代码的计算机可读介质中的计算机程序产品的形式。
可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如、但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备,或前述各项的任何合适的组合。计算机可读存储介质的更具体的示例(非详尽列表)将包括以下各项:具有一个或多个电线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器、光纤、便携式光盘只读存储器(CD-ROM)、光学存储设备、磁存储设备或前述各项的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是可包含或存储供指令执行系统、设备或装置使用的或与指令执行系统、设备或装置有关的程序的任何有形介质。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的方面。将要理解的是,流程图和/或框图的每个块、以及流程图和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令能够实现流程图和/或框图中的一个或多个块所指定的功能。这样的处理器可以是、但不限于通用处理器、特殊用途处理器、专用处理器或现场可编程处理器或门阵列。
附图中的流程图和框图示出了根据本公开的各种实施例的系统、方法和计算机程序产品的可能的实现架构、功能和操作。就这一点而言,流程图或框图中的每个块可以表示模块、区段或部分代码,其包括用于实现(一个或多个)指定逻辑功能的一个或多个可执行指令。还应该注意的是,在一些替代的实施方式中,块中记录的功能可以不按照图中所示的顺序发生。例如,顺序示出的两个块实际上可以基本同时被执行,或者有时可以以相反的顺序被执行,这取决于所涉及的功能。还将注意到的是,框图和/或流程图的每个块、以及框图和/或流程图中的块的组合可以由执行指定功能或动作的基于硬件的专用系统或专用硬件和计算机指令的组合来实现。
尽管前述内容涉及本公开的实施例,但是在不背离本发明的基本范围的情况下可以想到本公开的其他和进一步的实施例,并且其范围由下面的权利要求来确定。

Claims (20)

1.一种包括指令的非暂态计算机可读存储介质,当被处理器运行时,该指令使得所述处理器执行以下步骤:
生成实体认证数据,所述实体认证数据标识并且认证客户端机器;
生成用户认证数据,所述用户认证数据标识与所述客户端机器相关联的用户;
生成对第一多个会话密钥的第一密钥请求,所述第一多个会话密钥用于加密和认证与所述客户端机器交换的消息;以及
向服务器机器发送第一消息,所述第一消息包括所述实体认证数据、所述用户认证数据和所述第一个密钥请求。
2.根据权利要求1所述的非暂态计算机可读存储介质,还包括从所述服务器机器接收包括第一主令牌的第二消息,所述第一主令牌包括所述第一多个会话密钥。
3.根据权利要求2所述的非暂态计算机可读存储介质,其中所述第二消息还包括所述实体认证数据。
4.根据权利要求2所述的非暂态计算机可读存储介质,其中所述第二消息还包括第一用户标识令牌。
5.根据权利要求2所述的非暂态计算机可读存储介质,还包括:
确定所述第一主令牌是可更新的;
生成对第二多个会话密钥的第二密钥请求;以及
向所述服务器机器发送第三消息,所述第三消息包括所述第一主令牌、所述第一用户标识令牌和所述第二密钥请求。
6.根据权利要求5所述的非暂态计算机可读存储介质,还包括将所述第三消息标识为可更新的。
7.根据权利要求5所述的非暂态计算机可读存储介质,还包括从所述服务器机器接收包括第二主令牌的第四消息,所述第二主令牌包括所述第二多个会话密钥。
8.根据权利要求5所述的非暂态计算机可读存储介质,其中确定所述第一主令牌是可更新的包括:确定在接收到所述第一主令牌之后,在所述客户端机器和所述服务器机器之间已经交换了阈值数量的消息。
9.根据权利要求5所述的非暂态计算机可读存储介质,其中确定所述第一主令牌是可更新的包括:确定在接收到所述第一主令牌之后,已经经过了阈值数量的时间。
10.根据权利要求2所述的非暂态计算机可读存储介质,其中所述客户端机器和所述服务器机器经由受信服务网络进行通信。
11.根据权利要求2所述的非暂态计算机可读存储介质,其中所述客户端机器和所述服务器机器经由对等网络进行通信。
12.根据权利要求1所述的非暂态计算机可读存储介质,其中所述第一消息还包括有效载荷数据。
13.一种服务器机器,包括:
处理器;以及
存储器,其被耦合至所述处理器,并且包括:
基本认证模块;
密钥导出模块;以及
密钥交换模块;
其中,当由所述处理器执行时,所述基本认证模块被配置为:
从客户端机器接收第一消息,所述第一消息包括实体认证数据、用户认证数据和第一密钥请求,以及
生成包括用于传输至所述客户端机器的私钥的签名;
其中,当由所述处理器执行时,所述密钥导出模块被配置为:
响应于所述第一密钥请求,生成第一组会话密钥;以及
其中,当由所述处理器执行时,所述密钥交换模块被配置为:
向所述客户端机器发送第二消息,所述第二信息包括所述私钥和所述第一组会话密钥。
14.根据权利要求13所述的服务器机器,其中:
所述存储器还包括主令牌生成器,并且当由所述处理器执行时,所述主令牌生成器被配置为生成第一主令牌,并且
所述第二消息还包括所述第一主令牌。
15.根据权利要求13所述的服务器机器,其中:
所述存储器还包括用户标识令牌生成器,并且当由所述处理器执行时,所述用户标识令牌生成器被配置为生成第一用户标识令牌,并且
所述第二消息还包括所述第一用户标识令牌。
16.一种计算机实现的方法,包括:
通过应用程序接收对于向服务器机器发送安全消息的请求;
向所述服务器机器发送包括第一消息的多个消息,所述第一消息包括以下各项中的至少两项:用户认证数据、实体认证数据、密钥交换数据和经加密的消息数据;以及
从所述服务器机器接收包括第一主令牌的第二消息,所述第一主令牌包括用于加密和认证与所述服务器机器交换的消息的第一组会话密钥。
17.根据权利要求16所述的方法,还包括确定当前时间落在更新窗口内,所述更新窗口定义了下述时间:如果被包括在所述多个消息中的消息被标识为是可更新的,则在该时间之后更新所述第一主令牌。
18.根据权利要求17所述的方法,还包括:
将被包括在所述多个消息中的第二消息标识为可更新的;以及
将所述第二消息发送至所述服务器机器。
19.根据权利要求18所述的方法,还包括从所述服务器机器接收一组更新的凭证,该组更新的凭证包括第二主令牌,所述第二主令牌包括用于加密和认证与所述服务器机器交换的消息的第二组会话密钥,其中所述第二主令牌代替所述第一主令牌并且所述第二组会话密钥代替所述第一组会话密钥。
20.根据权利要求19所述的方法,其中所述多个消息包括一个或多个附加消息,该一个或多个附加消息与所述第一主令牌相关联并在接收到该组更新的凭证之前被发送至所述服务器机器。
CN201580063441.9A 2014-10-24 2015-10-23 安全连接及相关服务的高效启动 Active CN107005413B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462068504P 2014-10-24 2014-10-24
US62/068,504 2014-10-24
US14/920,641 2015-10-22
US14/920,641 US10050955B2 (en) 2014-10-24 2015-10-22 Efficient start-up for secured connections and related services
PCT/US2015/057213 WO2016065318A1 (en) 2014-10-24 2015-10-23 Efficient start-up for secured connections and related services

Publications (2)

Publication Number Publication Date
CN107005413A true CN107005413A (zh) 2017-08-01
CN107005413B CN107005413B (zh) 2021-03-12

Family

ID=54427886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580063441.9A Active CN107005413B (zh) 2014-10-24 2015-10-23 安全连接及相关服务的高效启动

Country Status (7)

Country Link
US (1) US10050955B2 (zh)
EP (1) EP3210335B1 (zh)
KR (1) KR102015201B1 (zh)
CN (1) CN107005413B (zh)
AU (2) AU2015335689B2 (zh)
DK (1) DK3210335T3 (zh)
WO (1) WO2016065318A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167802A (zh) * 2018-11-08 2019-01-08 金蝶软件(中国)有限公司 防止会话劫持的方法、服务器以及终端
CN112970236A (zh) * 2018-11-15 2021-06-15 维萨国际服务协会 协作风险感知认证
CN113572767A (zh) * 2018-05-03 2021-10-29 霍尼韦尔国际公司 用于加密交通工具数据服务交换的系统和方法
CN114616797A (zh) * 2020-08-23 2022-06-10 谷歌有限责任公司 处理对控制存储在多个服务器处的信息的请求

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10291651B1 (en) 2015-06-26 2019-05-14 Juniper Networks, Inc. Unified secure socket layer decryption
US10193698B1 (en) 2015-06-26 2019-01-29 Juniper Networks, Inc. Avoiding interdicted certificate cache poisoning for secure sockets layer forward proxy
US9893883B1 (en) * 2015-06-26 2018-02-13 Juniper Networks, Inc. Decryption of secure sockets layer sessions having enabled perfect forward secrecy using a diffie-hellman key exchange
US10504179B1 (en) 2015-12-08 2019-12-10 Fmr Llc Social aggregated fractional equity transaction partitioned acquisition apparatuses, methods and systems
US10461940B2 (en) * 2017-03-10 2019-10-29 Fmr Llc Secure firmware transaction signing platform apparatuses, methods and systems
US10644885B2 (en) * 2015-07-14 2020-05-05 Fmr Llc Firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems
US10778439B2 (en) * 2015-07-14 2020-09-15 Fmr Llc Seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems
US10992469B2 (en) * 2015-07-14 2021-04-27 Fmr Llc Seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems
US10129228B1 (en) * 2016-03-30 2018-11-13 Amazon Technologies, Inc. Authenticated communication between devices
WO2018002856A1 (en) * 2016-06-28 2018-01-04 Verimatrix Gmbh Systems and methods for authenticating communications using a single message exchange and symmetric key
EP3299988B1 (en) * 2016-09-22 2021-03-10 MARICI Holdings The Netherlands B.V. Secure communication method and system
US10615970B1 (en) * 2017-02-10 2020-04-07 Wells Fargo Bank, N.A. Secure key exchange electronic transactions
US10615969B1 (en) 2017-02-10 2020-04-07 Wells Fargo Bank, N.A. Database encryption key management
US10868673B2 (en) 2017-09-25 2020-12-15 Sap Se Network access control based on distributed ledger
CN108092996B (zh) * 2018-01-29 2020-02-28 平安科技(深圳)有限公司 一种鉴权通道选取方法及终端设备
SG11202008452PA (en) * 2018-03-02 2020-09-29 Nitto Denko Corp System and method for securing data communication between computers
WO2019223851A1 (en) * 2018-05-21 2019-11-28 ComAp a.s. Method and system for creating a secure communication channel
KR102115828B1 (ko) * 2018-06-08 2020-05-27 금오공과대학교 산학협력단 블록체인을 기반으로 한 시험지 유출 방지 방법
US11169935B2 (en) * 2018-06-20 2021-11-09 Intel Corporation Technologies for low-latency cryptography for processor-accelerator communication
US11336430B2 (en) * 2018-09-07 2022-05-17 Sap Se Blockchain-incorporating distributed authentication system
US11206131B1 (en) * 2019-05-17 2021-12-21 Wells Fargo Bank, N.A. Post quantum unique key per token system
CN113542150B (zh) * 2021-07-14 2023-06-02 杭州海康威视数字技术股份有限公司 一种数据传输方法、装置及中心端网桥

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510236B1 (en) * 1998-12-11 2003-01-21 International Business Machines Corporation Authentication framework for managing authentication requests from multiple authentication devices
CN101064695A (zh) * 2007-05-16 2007-10-31 杭州看吧科技有限公司 一种P2P(Peer to Peer)安全连接的方法
CN101278538A (zh) * 2005-10-05 2008-10-01 普里瓦斯菲尔公司 用于用户认证的方法和设备
CN101674304A (zh) * 2009-10-15 2010-03-17 浙江师范大学 一种网络身份认证系统及方法
CN102098157A (zh) * 2009-12-10 2011-06-15 塔塔咨询服务有限公司 一种基于无证书公共密钥基础结构用于加强客户/服务器通讯协议安全性的系统和方法
US20130268767A1 (en) * 2012-04-09 2013-10-10 Mcafee, Inc. Wireless token authentication
CN103491084A (zh) * 2013-09-17 2014-01-01 天脉聚源(北京)传媒科技有限公司 一种客户端的认证处理方法及装置
US20140019753A1 (en) * 2012-07-10 2014-01-16 John Houston Lowry Cloud key management
US8868923B1 (en) * 2010-07-28 2014-10-21 Sandia Corporation Multi-factor authentication

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290288B2 (en) * 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
US7523490B2 (en) 2002-05-15 2009-04-21 Microsoft Corporation Session key security protocol
US20040054898A1 (en) 2002-08-28 2004-03-18 International Business Machines Corporation Authenticating and communicating verifiable authorization between disparate network domains
US7706540B2 (en) * 2002-12-16 2010-04-27 Entriq, Inc. Content distribution using set of session keys
KR100523357B1 (ko) 2003-07-09 2005-10-25 한국전자통신연구원 이더넷 기반 수동형 광네트워크의 보안서비스 제공을 위한키관리 장치 및 방법
WO2005064882A2 (en) * 2003-12-29 2005-07-14 Telefonaktiebolaget Lm Ericsson (Publ) Apparatuses and method for single sign-on access to a service network through an access network
WO2007000179A1 (en) 2005-06-29 2007-01-04 Telecom Italia S.P.A. Short authentication procedure in wireless data communications networks
WO2007038896A2 (en) * 2005-10-05 2007-04-12 Privasphere Ag Method and devices for user authentication
US20070130463A1 (en) * 2005-12-06 2007-06-07 Eric Chun Wah Law Single one-time password token with single PIN for access to multiple providers
US20080034216A1 (en) 2006-08-03 2008-02-07 Eric Chun Wah Law Mutual authentication and secure channel establishment between two parties using consecutive one-time passwords
FR2916592B1 (fr) 2007-05-25 2017-04-14 Groupe Des Ecoles De Telecommunications(Get)-Ecole Nat Superieure Des Telecommunications(Enst) Procede de securisation d'echange d'information,dispositif, et produit programme d'ordinateur correspondant
US8607317B2 (en) * 2009-10-28 2013-12-10 Blackberry Limited Automatic user authentication and identification for mobile instant messaging application
US8627422B2 (en) 2010-11-06 2014-01-07 Qualcomm Incorporated Authentication in secure user plane location (SUPL) systems
US8713589B2 (en) * 2010-12-23 2014-04-29 Microsoft Corporation Registration and network access control
US9094212B2 (en) * 2011-10-04 2015-07-28 Microsoft Technology Licensing, Llc Multi-server authentication token data exchange
US8924712B2 (en) * 2011-11-14 2014-12-30 Ca, Inc. Using QR codes for authenticating users to ATMs and other secure machines for cardless transactions
WO2013122875A1 (en) * 2012-02-13 2013-08-22 Eugene Shablygin Secure digital storage
US9537899B2 (en) 2012-02-29 2017-01-03 Microsoft Technology Licensing, Llc Dynamic selection of security protocol
WO2014198745A1 (en) * 2013-06-12 2014-12-18 Telecom Italia S.P.A. Mobile device authentication in heterogeneous communication networks scenario
US11349675B2 (en) * 2013-10-18 2022-05-31 Alcatel-Lucent Usa Inc. Tamper-resistant and scalable mutual authentication for machine-to-machine devices
CA2942765C (en) * 2014-03-16 2022-05-17 Ric B. Richardson Persistent authentication system incorporating one time pass codes
US11120436B2 (en) * 2015-07-17 2021-09-14 Mastercard International Incorporated Authentication system and method for server-based payments

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510236B1 (en) * 1998-12-11 2003-01-21 International Business Machines Corporation Authentication framework for managing authentication requests from multiple authentication devices
CN101278538A (zh) * 2005-10-05 2008-10-01 普里瓦斯菲尔公司 用于用户认证的方法和设备
CN101064695A (zh) * 2007-05-16 2007-10-31 杭州看吧科技有限公司 一种P2P(Peer to Peer)安全连接的方法
CN101674304A (zh) * 2009-10-15 2010-03-17 浙江师范大学 一种网络身份认证系统及方法
CN102098157A (zh) * 2009-12-10 2011-06-15 塔塔咨询服务有限公司 一种基于无证书公共密钥基础结构用于加强客户/服务器通讯协议安全性的系统和方法
US8868923B1 (en) * 2010-07-28 2014-10-21 Sandia Corporation Multi-factor authentication
US20130268767A1 (en) * 2012-04-09 2013-10-10 Mcafee, Inc. Wireless token authentication
US20140019753A1 (en) * 2012-07-10 2014-01-16 John Houston Lowry Cloud key management
CN103491084A (zh) * 2013-09-17 2014-01-01 天脉聚源(北京)传媒科技有限公司 一种客户端的认证处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PU WANG, JUN ZHENG等: "Joint data aggregation and encryption using Slepian-Wolfcoding for clustered wireless sensor networks", 《WIRELESS COMMUNICATIONS AND MOBILE COMPUTING》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572767A (zh) * 2018-05-03 2021-10-29 霍尼韦尔国际公司 用于加密交通工具数据服务交换的系统和方法
CN113572767B (zh) * 2018-05-03 2023-07-04 霍尼韦尔国际公司 用于加密交通工具数据服务交换的系统和方法
CN109167802A (zh) * 2018-11-08 2019-01-08 金蝶软件(中国)有限公司 防止会话劫持的方法、服务器以及终端
CN109167802B (zh) * 2018-11-08 2021-07-13 金蝶软件(中国)有限公司 防止会话劫持的方法、服务器以及终端
CN112970236A (zh) * 2018-11-15 2021-06-15 维萨国际服务协会 协作风险感知认证
US11895113B2 (en) 2018-11-15 2024-02-06 Visa International Service Association Collaborative risk aware authentication
CN114616797A (zh) * 2020-08-23 2022-06-10 谷歌有限责任公司 处理对控制存储在多个服务器处的信息的请求

Also Published As

Publication number Publication date
US10050955B2 (en) 2018-08-14
US20160119318A1 (en) 2016-04-28
EP3210335A1 (en) 2017-08-30
WO2016065318A1 (en) 2016-04-28
AU2015335689B2 (en) 2018-04-05
AU2018204851A1 (en) 2018-07-19
AU2015335689A1 (en) 2017-05-11
KR102015201B1 (ko) 2019-10-21
CN107005413B (zh) 2021-03-12
EP3210335B1 (en) 2020-06-24
KR20170076742A (ko) 2017-07-04
DK3210335T3 (da) 2020-08-24

Similar Documents

Publication Publication Date Title
CN107005413A (zh) 安全连接及相关服务的高效启动
US11533297B2 (en) Secure communication channel with token renewal mechanism
US10785019B2 (en) Data transmission method and apparatus
US20220158832A1 (en) Systems and Methods for Deployment, Management and Use of Dynamic Cipher Key Systems
CN108599925B (zh) 一种基于量子通信网络的改进型aka身份认证系统和方法
US9887838B2 (en) Method and device for secure communications over a network using a hardware security engine
JP7454564B2 (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
US11399019B2 (en) Failure recovery mechanism to re-establish secured communications
US10824744B2 (en) Secure client-server communication
WO2017147503A1 (en) Techniques for confidential delivery of random data over a network
CN106941404B (zh) 密钥保护方法及装置
CN110138772A (zh) 一种通信方法、装置、系统、设备和存储介质
US10291600B2 (en) Synchronizing secure session keys
JP2007043353A (ja) 送受信システムおよび方法、送信装置および方法、受信装置および方法、並びにプログラム
CN109921902A (zh) 一种密钥管理方法、安全芯片、业务服务器及信息系统
CN110635901A (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
JP2005175992A (ja) 証明書配布システムおよび証明書配布方法
WO2017107642A1 (zh) 一种安全输入法的文本处理方法、装置和系统
CN107483387A (zh) 一种安全控制方法及装置
TWI804179B (zh) 量子安全金鑰交換方案
JP5791112B2 (ja) 通信方法及び通信システム

Legal Events

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