CN114175579A - 用于保护计算设备之间的通信的加密密钥的数据传输 - Google Patents

用于保护计算设备之间的通信的加密密钥的数据传输 Download PDF

Info

Publication number
CN114175579A
CN114175579A CN202080050794.6A CN202080050794A CN114175579A CN 114175579 A CN114175579 A CN 114175579A CN 202080050794 A CN202080050794 A CN 202080050794A CN 114175579 A CN114175579 A CN 114175579A
Authority
CN
China
Prior art keywords
service
client
server
application
encryption key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080050794.6A
Other languages
English (en)
Inventor
K·舒维勒
S·盖斯特
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN114175579A publication Critical patent/CN114175579A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • 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/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
    • 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/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

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

Abstract

本公开涉及被配置成高效地使客户端和服务器能够在该客户端和该服务器之间的初始连接之际建立安全通信的处理操作。在与服务器初始连接之际,客户端提供经加密令牌,该经加密令牌用作对认证/身份的证明,并在该经加密令牌中提供服务器可用以发起与客户端的安全通信的加密密钥。服务器能够信任该经加密令牌和该加密密钥,因为该经加密令牌是由与服务器具有信任关系的认证服务签名和加密的,并且因为认证服务与服务器预共享了解密和签名验证密钥。服务器利用经加密密钥来保护与客户端的通信,而不需要查找客户端身份或来自认证服务的任何进一步干预的附加处理。

Description

用于保护计算设备之间的通信的加密密钥的数据传输
背景技术
客户端和应用/服务之间的交互通常使用认证、密码学或其组合来保护。通常,客户端必须经过认证才能访问应用/服务的因域而异的数据。在当今世界,时间至关重要,在对用户进行认证以及在可能包括经加密数据的应用/服务的运行时期间执行操作时,处理效率和降低等待时间至关重要。当客户端与被配置成提供(例如,可以使用户连接到在线多人游戏的)视频游戏平台等的应用/服务交互时尤其如此。在此类环境中,大量数据被传送并且需要被即时处理以向用户提供尽可能最好的体验。
如果客户端正在与应用/服务通信,则应用/服务需要知道它正在与之交互的客户端。客户端通过提供客户端标识登录到应用/服务。传统上,一旦客户端被认证,则应用/服务不仅需要执行处理以发起与客户端的连接,还需要执行对客户端标识的查找操作以及将该客户端标识与密码学数据对应。此过程从处理效率角度来看很麻烦,会在应用/服务的执行中造成等待时间,并且通常需要身份提供者和/或软件平台将额外的计算资源和带宽用于管理客户端和应用/服务之间的交互,以及与证书颁发机构(CA)之间的交互。例如,通常颁发数字证书以使客户端能够在经认证后与应用/服务交互,这不仅需要受信CA管理,还需要大量的计算资源(诸如专用存储)。
在使用数字证书的实例中可能存在附加的安全漏洞。例如,数字证书有效期通常比在游戏应用/服务场景中优选使用的时间长。用户通常不会长时间保持登录状态。如果数字证书的有效期长于用户当前会话的时间,则这可能会使网络暴露出包括欺骗在内的漏洞。持续地重新颁发数字证书可能会很麻烦并需要更多专用存储和计算资源来持续管理。
发明内容
鉴于上述技术挑战,本公开涉及被配置成高效地使客户端和服务器能够在该客户端和该服务器之间的初始连接之际建立安全通信的处理操作。在与服务器初始连接之际,客户端向服务器提供经加密令牌,该经加密令牌用作对认证/身份的证明,并在该经加密令牌中提供服务器可用以发起与客户端的安全通信的加密密钥。服务器能够信任该经加密令牌和该加密密钥,因为该经加密令牌可以是由与服务器具有信任关系的认证服务加密和签名的,并且因为认证服务与服务器预共享了解密和签名验证密钥。服务器利用经加密密钥来保护与客户端的通信,而不需要查找客户端身份或来自认证服务的任何进一步干预的附加处理。
提供本发明内容以便以简化的形式介绍以下在具体实施方式中还描述的概念的选集。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。各示例的附加方面、特征、和/或优点将在以下描述中阐述,并且根据该描述而部分地显而易见,或者可通过实施本发明而获知。
附图说明
参考以下附图描述非限制性和非穷尽的示例。
图1例示了实现各计算设备之间通信的安全传输的各组件之间的交互的示例性过程流程,其可被用于实践本公开的各方面。
图2例示了与用于发起和管理(诸)客户端和(诸)服务器之间的安全通信会话的处理操作相关的示例性方法,其可被用于实践本公开的各方面。
图3例示了适用于实现本文描述的与发起和管理各计算设备之间的安全通信会话相关的处理操作的计算系统,其可被用于实践本公开的各方面。
具体实施方式
本公开涉及被配置成高效地使客户端和服务器能够在该客户端和该服务器之间的初始连接之际建立安全通信的处理操作。在与服务器初始连接之际,客户端向服务器提供经加密令牌,该经加密令牌用作对客户端认证/身份的证明,并在该经加密令牌中提供服务器可用以发起与客户端的安全通信的加密密钥。服务器能够信任该经加密令牌和该加密密钥,因为该经加密令牌可以是由与服务器具有信任关系的认证服务加密和签名的,并且因为认证服务与服务器预共享了解密和签名验证密钥。服务器然后利用经加密密钥来保护与客户端的通信,而不需要查找客户端身份或来自认证服务的任何进一步干预的附加处理。本公开涉及客户端、服务器、认证服务或其任何组合之间的交互,其中在不脱离本公开的精神的情况下,可从客户端、服务器、认证服务或包括其中一个或多个的系统中的任一者的角度来撰写权利要求范围。
本文描述的一些示例涉及客户端/服务器关系,其中客户端通过游戏控制台连接到分布式游戏平台,其提供应用/服务以使客户端能够连接到(诸)游戏服务器。例如,加密密钥数据可能涉及用于在希望通信以执行游戏应用/服务的客户端和服务器之间建立连接的经加密的游戏服务器密钥。然而,本公开不限于此。本文描述的处理适用于在任何类型的应用/服务场景中运行的任何类型的客户端/服务器关系。此外,本文描述的技术示例可以涉及针对单个应用/服务的客户端登录以及单次登录(SSO)示例,其中登录被用于访问多个不同的应用/服务。此外,本公开的各示例适用于对称密钥和非对称密钥密码学两者。
在一个示例中,客户端设备可传送用于登录应用或服务的用户认证信息。客户端设备的登录可被引导到认证服务。示例性认证服务被配置成实现管理客户端/服务器关系的安全性的一个或多个协议,其中认证服务是用于认证客户端对应用/服务的访问的中介。认证服务可基于对用户认证信息的评估来确定是否要认证客户端设备。响应于对用户认证信息的认证,认证服务被配置成动态地生成用于客户端/服务器之间通信的加密密钥,以及动态地生成(并签名)与客户端访问应用或服务相关联的经加密令牌。经加密令牌在有效载荷中包括动态生成的加密密钥。认证服务将加密密钥和经加密(和经签名)令牌传送到客户端设备。随后,客户端设备接收所述加密密钥和经加密令牌,并然后将经加密令牌转发到应用或服务(例如,应用/服务的服务器组件)以发起与应用或服务的连接。认证服务进一步被配置成与服务器预共享用于对从客户端设备接收的经加密令牌进行解密的解密密钥。在经加密令牌也由认证服务签名的示例中,签名验证密钥从认证服务与服务器预共享。应用或服务的服务器被配置成使用解密密钥(和签名验证密钥)来解密经加密(和经签名)令牌。服务器然后被配置成解析经解密令牌的内容并提取加密密钥。服务器可利用加密密钥来发起直接与客户端设备发生的安全通信,其中客户端设备已经拥有该加密密钥(其被认证服务预共享)。
如上引用的,本公开涉及包括对称密钥加密/解密以及非对称密钥加密/解密的密码学场景。在对称密钥示例中,认证服务与客户端设备预共享加密密钥,该加密密钥与经加密令牌的有效载荷中包括的加密密钥相同。在非对称密钥示例中,认证与客户端组件和服务器组件预共享一个或多个密钥对。
进一步的示例涉及与应用/服务的一个或多个服务器的交互。例如,服务器组件(例如,服务器设备)从认证服务接收用于对从客户端设备转发的经加密令牌进行解密的预共享解密密钥。在经加密令牌也由认证服务签名的示例中,签名验证密钥从认证服务与服务器组件预共享。随后,服务器组件从客户端设备接收经加密(和经签名)令牌,该令牌包括可用于保护与客户端设备的直接通信的加密密钥(或密钥对)。服务器组件然后被配置成使用预共享解密密钥(和预共享签名验证密钥)来解密经加密(和经签名)令牌,并从经解密令牌的有效载荷中提取加密密钥。服务器组件然后发起与客户端设备的连接并使用经提取的加密密钥向客户端设备传送安全通信。例如,服务器组件被配置成使用经提取的加密密钥来加密去往客户端设备的通信并将安全通信传送到客户端设备。客户端设备被预共享加密密钥(或密钥对)以便能够安全地与服务器组件进行通信。在一些示例中,服务器设备可被配置成启动因与经认证的客户端设备的交互而异的通信信道以用于安全通信的传输。
附加的示例涉及认证服务与客户端和/或服务器组件的交互。例如,认证服务可以与服务器组件预共享用于对后续接收的经加密和经签名令牌进行解密的解密和签名验证密钥。认证服务对用于登录到应用/服务的客户端凭据进行认证,并动态地生成加密密钥(或密钥、密钥对等)以及用于对应用/服务进行客户端认证的经加密和经签名令牌。在一个示例中,新的加密密钥和/或经加密令牌在客户端认证信息由认证服务接收和认证时被生成。例如,这种情况可能会在客户端已从应用/服务注销并需要重新认证时发生。如此,客户端身份的认证是动态生成加密密钥(诸如可用于保护客户端组件和服务器组件之间的通信的加密密钥)的触发器。此处理使认证服务能够通过创建与每个实体的受信关系来将其自身从用于创建在客户端组件和服务器组件之间直接发生的安全通信的过程中移除。例如,服务器可以信任从客户端设备接收到的加密令牌,因为它具有预共享的解密和签名验证密钥。
在非限制性示例中,加密密钥和/或加密令牌可持续客户端登录会话的期限。例如,客户端设备可以登录到分布式游戏服务并参与游戏的在线多人会话,其中客户端/服务器可通过安全消息传递进行通信,以实现在线多人游戏的执行,包括在线多人会话中参与的客户端设备的私有消息传递能力。客户端设备可主动从分布式游戏服务断开连接或在预定空闲时间段后自动注销。在一些替换示例中,相关联的加密密钥和/或经加密令牌也可被预先确定在指定的时间点到期,以避免对客户端帐户和服务器交互的非预期访问。在任何情况下,当客户端设备从服务器组件断开连接时,它可能需要重新认证。这是动态生成新加密密钥和/或经加密令牌的触发器,从而使得服务器能够在新会话中安全地与客户端通信。
本公开中描述的处理提供的示例性技术优点包括但不限于:出于保护客户端和服务器之间的通信的目的,基于客户端认证来动态生成和提供加密密钥和经加密令牌;预共享可用于在客户端和服务器之间建立安全通信的加密密钥;通过认证服务预共享解密和签名验证密钥以使得服务器能够对经加密和经签名令牌进行解密;生成和传播可被配置成包含定制声明的经定制的经加密(和经签名)令牌,该定制声明具有作为声明被包括在该令牌的有效载荷中的加密密钥以及其他类型的数据;在发起客户端和服务器之间的连接以用于执行应用/服务期间提高处理效率;当发起客户端和服务器之间的连接并在两者之间建立安全通信时计算设备的处理效率得到提高(例如,减少处理周期,节省资源/带宽);当在客户端和服务器之间实现安全通信时减少等待时间;能够在客户端和服务器之间直接发送安全通信,并通过应用/服务的图形用户界面选择性地强调该通信是安全的;跨多个应用/服务(例如,软件应用平台的应用/服务)实现所描述的技术安全性场景的互操作性;以及提高应用/服务对用户的可用性以及其他技术优势。
图1例示了实现各计算设备之间通信的安全传输的各组件之间的交互的示例性过程流程100,其可被用于实践本公开的各方面。作为示例,过程流程100中例示的各组件可以由图4的描述中描述的示例性计算系统(或多个计算系统)执行。过程流程100中描述的示例性组件可以是硬件和/或软件组件,其被编程为执行本文描述的处理操作。在一些示例中,过程流程100的各组件可以各自是与特定服务的执行相关联的一个或多个计算设备。示例性服务可由应用平台管理,该应用平台还向组件提供对与应用/服务相关联的其他组件的访问和与应用/服务相关联的其他组件的知识。在一个实例中,过程流程100中描述的处理操作可由通过分布式网络连接的一个或多个组件来实现。在过程流程100中执行的操作可对应于由执行计算机程序、应用编程接口(API)、神经网络或机器学习处理、语言理解处理、搜索和过滤处理的系统和/或服务执行的操作,以及通过应用/服务的用户界面生成用于呈现的内容等。在过程流程100的示例性说明中,存在旨在强调图1中所示的各组件之间的交互的非限制性示例的过程流程步骤(1-5)。过程流程步骤1-5是(诸)客户端组件102、(诸)认证组件104和(诸)服务器组件106之间的交互的非限制性示例。过程流程100包括:一个或多个客户端组件102;一个或多个认证组件104;以及一个或多个服务器组件106。过程流程100的示例性组件可经由网络连接被连接,其中数据(包括经保护的数据)通过本领域技术人员已知的网络连接被传送。此外,各组件之间的过程流程100可在不脱离本公开的精神的情况下被改变。此外,过程流程100描述了可用于执行方法200(图2)和随附描述的各组件。
一个或多个客户端组件102(以下称为“客户端组件”)可包括软件组件、硬件组件或其组合中的任何一者。例如,客户端组件102是使得用户能够访问一个或多个应用/服务的计算机程序和/或计算设备的集合,其经由一个或多个服务器组件106(以下称为“服务器组件”)变得可用。本领域技术人员已知用于实现本文描述的功能的客户端配置和客户端组件的操作。客户端组件102可包括用户可用于与服务器组件106通信的客户端设备。客户端设备可以是单个装置、系统或设备,或者可以以分布式方式被实现为多个装置、系统或设备。客户端设备的非限制性示例包括但不限于:智能电话、膝上型计算机、平板、PDA、台式计算机、服务器、智能计算设备,包括电视设备和可穿戴计算设备、电子阅读器设备、游戏机和会议系统,以及其他非限制性示例。如上文提及的,客户端设备可以是用户用于连接到分布式游戏平台(例如,
Figure BDA0003466629010000061
)的游戏控制台。例如,客户端设备可与服务器连接以发起用于游戏的在线多人会话,其中在客户端设备和服务之间的数据传输可被保护以实现在线多人会话。客户端设备可经由网络连接来连接到分布式游戏平台,其中分布式游戏平台可被配置成不仅将用户与游戏相关的应用/服务连接,而且与(例如,可经由网络连接访问的)任何其他类型的应用/服务连接。客户端组件102与服务器组件106和一个或多个认证组件104(以下称为“认证组件”)对接以用于安全传输数据,其能够在一个或多个应用/服务的操作期间发起客户端设备和服务器之间的连接以及后续的安全通信传输。
认证组件104可包括任何软件组件、硬件组件或其组合。例如,认证组件104是提供包括但不限于以下功能的计算机程序和/或计算设备的集合:就访问由服务器组件106提供的一个或多个应用/服务对客户端组件102进行认证;管理对安全性数据(例如,加密密钥、解密密钥和签名验证密钥)的共享,包括与客户端组件102和服务器组件106预共享安全性数据;管理对令牌的创建、加密和签名,这些令牌包括要通过网络连接被传送的数据;用于发起客户端和服务器之间的连接和安全通信的加密和解密密钥的动态生成和适用性;以及管理加密密钥和/或经加密令牌的有效状态以及其他示例。本领域技术人员已知用于实现本文描述的功能的认证服务配置和认证组件的操作。
服务器组件106可包括任何软件组件、硬件组件或其组合。例如,服务器组件106是为客户端提供经由服务器组件106访问一个或多个应用/服务的功能性的计算机程序和/或计算设备的集合。本领域技术人员已知用于实现本文描述的功能性的服务器配置和服务器组件的操作。如上文标识的,服务器组件106与客户端组件102和认证组件104对接以用于安全传输数据,其能够在一个或多个应用/服务的操作期间发起客户端设备和服务器之间的连接以及后续的安全通信传输。例如,服务器组件106被配置成与认证组件104对接以接收预共享的解密和签名验证密钥以用于对由认证组件104创建的经加密和经签名令牌进行解密。服务器组件106被进一步配置成从希望获得对由服务器组件106管理的应用/服务的访问的客户端组件102接收经加密令牌。服务器组件106可以对传送的令牌进行解密和解析以获得必要的数据,以使得客户端设备能够连接到服务器(例如,游戏服务器)以及访问可用于保护通信的加密密钥。此外,服务器组件106进一步负责为经认证的客户端发起到应用/服务的连接并管理与经认证的客户端的安全通信的传输。在一些示例中,客户端和服务器之间的安全通信的传输可在由服务器组件106创建的通信信道上实现以管理与一个或多个特定客户端设备的通信。例如,安全通信可经由专用于与客户端设备的双向通信的通信信道被发送到一个或多个客户端设备。在一些实例中,安全通信信道可进一步被用于使经认证的客户端设备能够(例如,经由服务器组件106)在它们之间进行通信。例如,多个客户端设备可以通过分布式游戏平台参与在线多人游戏,其中在线多人游戏的消息传递功能可通过安全通信通道被启用。
转向过程流程100的过程流程步骤(在图1中标记为1-5),流程在过程流程步骤1处发起,其中认证组件104被配置成与服务器组件106预共享用于对经加密和经签名令牌进行解密的解密和签名验证密钥。在过程流程100的后续处理期间,服务器组件106被配置成利用预共享的解密和签名验证密钥来解密经加密令牌以及验证经加密令牌上的签名以查明令牌自生成以来未被修改。在至少一个示例中,认证组件104被配置成在客户端认证处理之前动态地生成解密和/或签名验证密钥。如此,预共享解密和签名验证密钥可适用于对多个连接客户端的验证。在一些替换示例中,认证组件104可被配置成为单个客户端场景生成预共享密钥。作为替换示例,当客户端设备被认证并且可用于对客户端和服务器之间的通信进行保护的加密密钥被动态地生成时,认证组件104可被配置成动态地生成适用于管理特定客户端认证场景的解密和签名验证密钥并与服务器组件106预共享这些解密和签名验证密钥。
流程可行进到过程流程步骤2,其中客户端认证调用由客户端组件102发起。客户端认证调用可以是认证客户端设备以登录应用/服务(例如,分布式游戏平台或分布式游戏服务)的请求。例如,用户可经由他们的客户端设备(例如,游戏控制台)来访问应用/服务的图形用户界面。用户可通过图形用户界面输入他们的登录凭据(例如,客户端认证信息)以用于访问应用/服务(或提供对多个应用/服务的访问的软件应用平台)。当用户提交其用于认证的凭据时,客户端认证调用可被传播到执行认证服务的认证组件104,以代表客户端组件102和服务器组件106管理安全数据传输。
此时,认证组件104评估客户端认证信息并确定是否就访问应用/服务对用户进行验证。在发现客户端认证信息有效(即,用户被认证)的示例中,认证组件104被配置成动态地生成可用于对客户端和服务器之间的数据传输进行保护的加密密钥(或密钥对)。即,对客户端认证信息的认证是生成加密密钥的触发器。如上引用的,本公开涉及包括对称密钥加密/解密的密码学场景以及利用非对称密钥加密/解密的密码学场景。在对称密钥示例中,认证组件104可生成由客户端组件102和服务器组件106使用以对它们之间的通信进行保护的单个加密密钥。在非对称密钥示例中,认证组件104可生成一个或多个密钥以供传播到服务器组件106的特定实体(例如,密钥对)使用。用于生成加密密钥的处理操作是本领域技术人员已知的。
此外,认证组件104被进一步配置成动态地生成数据令牌以表示经认证的客户端。数据令牌是用于要通过网络连接在各组件、各应用/服务等之间传送的数据的容器。作为非限制性示例,由于其集成可扩展性,数据令牌可以是JavaScript对象记法(JSON)令牌。然而,应当理解,本公开被配置成与任何类型的数据令牌一起工作,其可以以本领域技术人员已知的任何格式生成而不脱离本公开的精神。在一个示例中,JSON令牌是JSON Web加密(JWE)令牌(例如,经加密令牌)。经加密令牌(例如JWE令牌)被用于加密经传送的数据并使其受到完整性保护。例如,中间人攻击无法在验证失败的情况下查看或修改JWE令牌的数据。这有助于客户端组件102和服务器组件106信任由认证组件104发布的JWE。
在一些示例中,通过在创建JWE令牌时对其数字化地签名来添加多一层的安全性。当服务器组件106接收到对应于客户端认证的经加密和经签名令牌时,服务器组件106可以验证数字签名。经加密令牌可以由认证组件104加密和签名以保护数据令牌的数据不被篡改以及使数据(诸如客户端或其他非预期方无法查看的敏感数据)对客户端而言是不透明的。用于生成、签名和加密诸如JWE令牌之类的令牌的处理(例如,JSON网络签名和JSON网络加密)是本领域技术人员已知的,在此不具体限定。在此情形中,经加密令牌被用于:1)验证客户端被认证以访问与服务器组件106相关联的应用/服务,包括对数据令牌有效的指示,以及2)提供用于包括数据(例如,客户端标识和加密密钥)的经传输数据的容器以使得服务器组件106能够安全地与客户端组件102对接。
在经加密(和经签名)令牌中填充的数据字段被引用为数据声明。数据声明可被包括在数据令牌的有效载荷中。在非限制性示例中,数据声明可以包括已登记声明、公共声明和私有声明。除了数据传输所必需的数据字段之外,开发者可定制经加密令牌中包括的数据字段,而不背离本公开的精神。在其他类型的数据字段中,已登记声明可包括数据,该数据可包括但不限于:令牌发布;令牌的主体;令牌的生存期,包括到期信息;以及创建时间,以及本领域技术人员已知的其他非限制性示例。公共声明定义了与定义名称、域、名称空间等相关的数据字段,以及本领域技术人员已知的其他非限制性示例。私有声明字段可由传送数据的各方定制地定义,例如,其中应用/服务的开发人员可合并因应用或服务而异的数据以进行传输以帮助操作。在一个示例中,私有声明可包括诸如客户标识信息(例如,用户ID、用户角色和其他相关信息)之类的数据,用于发起客户端组件102和服务器组件106之间的连接的数据,以及用于执行与分布式游戏平台相关的应用/服务的因游戏服务器而异的数据等等。在一个示例中,可用于对客户端和服务器之间的数据传输进行保护的加密密钥被包括在经加密令牌的有效载荷的私有声明中。然而,本公开的各示例不限于加密密钥可被包括在经加密数据令牌的任何类型的声明中。
过程流程100的流程可行进到处理步骤3,其中经生成的加密密钥以及经加密和经签名令牌从认证组件104被传送到客户端组件102。客户端组件102可被配置成当客户端组件104访问示例性应用/服务时将经加密和经签名令牌呈现给服务器组件106。在实际实现中,经加密(和经签名)令牌的拥有对于客户端而言可能不明显,因为数据令牌的拥有和向服务器组件106的转发可能是后端处理的结果。
过程流程100的流程可行进到处理步骤4,其中客户端组件102将经加密和经签名令牌转发到服务器组件106。这是对客户端组件102正在发起与经由服务器组件106提供的应用/服务的连接的指示。如前面的描述中所引用的,服务器组件106被配置成利用预共享的解密和签名验证密钥来对经加密和经签名令牌进行解密。服务器可信任从客户端设备接收到的经加密和经签名令牌,并且如果经加密令牌未被修改并且签名被验证,则利用经加密令牌建立与客户端的安全的直接通信。服务器组件106然后被配置成解析经解密令牌的内容并从经解密令牌的有效载荷(例如,声明)中提取加密密钥。
过程流程100的流程可行进到处理步骤5,其中服务器组件106利用加密密钥来发起直接与客户端组件102发生的安全通信。如在前面的描述中所标识的,客户端组件102在过程流程步骤3处已经拥有加密密钥(其由认证服务预共享)。本领域技术人员已知用于发起客户端/服务器之间的连接的处理操作(包括生成安全通信)。在一些示例中,服务器组件106可被配置成启动因与经认证的客户端设备的交互而异的通信信道以用于客户端和服务器之间的安全通信的传输。以此方式,客户端组件102可在通过与受信源交互而创建的安全环境中以极大增加黑客获得未授权访问的难度的安全方式直接与服务器组件106通信。
图2例示了与用于发起和管理(诸)客户端和(诸)服务器之间的安全通信会话的处理操作相关的示例性方法200,其可被用于实践本公开的各方面。方法200中描述的处理操作可以由过程流程100(图1)中描述的组件执行,其中过程流程100的详细描述支持和补充方法200中所引用的处理操作。示例性组件之间的接口和通信,诸如在过程流程100中描述的那些,是本领域技术人员已知的。例如,数据请求和响应可在应用/服务之间传送以使特定应用/服务能够处理从其他应用/服务检索到的数据。这包括应用加密/解密协议来保护和解密用于在各示例性组件之间进行对接的数据。在不脱离本公开的精神的情况下,这种通信的格式可以根据开发者实现的编程协议而变化。
作为示例,方法200可以跨如图4的描述中描述的示例性计算系统401(或多个计算系统)执行。方法200中描述的示例性组件可以是硬件和/或软件组件,其被编程为执行本文描述的处理操作。在方法200中执行的各操作可对应于由执行计算机程序、软件代理、智能机器人、应用编程接口(API)、神经网络和/或机器学习处理等的系统和/或服务执行的操作。在一些示例中,方法200中描述的处理操作可以由与能访问多个应用/服务、设备、知识资源等的网络服务相关联的一个或多个应用/服务来执行。在一个实例中,方法200中描述的处理操作可由通过分布式网络连接的一个或多个组件来实现。
方法200开始于处理操作202,其中认证服务与服务器预共享解密和签名验证密钥。预共享的解密和签名验证密钥用于对经加密和经签名令牌进行解密,当客户端向服务器组件托管的应用/服务进行认证时,服务器组件随后接收到该令牌。在至少一个示例中,认证服务被配置成在客户端认证处理之前动态地生成解密和/或签名验证密钥。如此,预共享解密和签名验证密钥可适用于对一个或多个连接客户端的验证。然而,如前述描述中所引用的,一些替换示例可将动态生成的解密和签名验证密钥与特定客户端认证场景相关。
方法200的流程可行进到处理操作204,其中客户端登录数据被接收以用于登录到应用/服务。如在前述描述中所标识的,包括过程流程100(图1)的描述,例如,当客户端登录到应用/服务和/或软件应用平台时,客户端认证信息可从客户端组件(例如,编程的客户端设备)传播到认证组件(例如,认证服务)。作为非限制性示例,用户可被执行到提供商提供的多个应用/服务的SSO登录。
流程可行进到处理操作206,其中用于登录的客户端凭据被认证。用于认证客户端凭据(例如,客户端认证信息)的处理先前已经在过程流程100(认证组件102)的描述中被引用并且是本领域技术人员已知的。例如,认证服务可就访问由一个或多个服务器托管的应用/服务对客户端进行认证。
在处理操作208,认证服务动态地生成用于数据传输的安全性数据,并将经生成的安全性数据的各部分发布到客户端组件和服务器组件。基于用户被认证的结果(例如,客户端认证信息被验证),认证服务被配置成:1)动态地生成可用于对客户端设备和一个或多个服务器设备之间的数据传输进行保护的一个或多个加密密钥;以及2)动态地生成用于针对与服务器组件相关联的应用/服务的客户端认证的经加密和经签名令牌(例如,经签名JWE令牌)。此类数据项以及用于对经加密和经签名令牌进行解密的解密和签名验证密钥包括经生成的安全性数据。在一些示例中,对令牌的签名是可选的附加的一层安全性,可能被需要或可能不被需要以实现本文描述的处理。在不需要签名的示例中,与服务器组件预共享密钥数据可能只需要传输用于对经加密令牌进行解密的解密密钥。在任何情形中,处理操作208包括将一个或多个加密密钥连同经加密和经签名令牌一起传送到客户端组件(例如,客户端设备)。即,一个或多个加密密钥与客户端组件预共享,其中客户端组件可利用一个或多个加密密钥通过对从服务器组件接收到的安全通信进行解密和对向服务器组件传送的通信进行加密来直接与服务器组件进行安全通信。
方法200的流程可行进到处理操作210,其中在客户端组件和服务器组件之间发起连接。连接的发起(处理操作208)包括在数据请求中将经加密和经签名令牌转发到服务器组件。由于经加密令牌经过签名和加密,并且客户端组件不拥有解密密钥,因此经加密令牌的内容(包括在声明中提供加密密钥这一事实)对客户端而言是不透明的。
在处理操作212,服务器组件被配置成利用预共享的解密和签名验证密钥来对经加密和经签名的令牌进行解密。处理操作212包括对经解密令牌进行解析并从有效载荷(例如,从有效载荷中的声明)提取可用于对客户端设备和一个或多个服务器设备之间的数据传输进行保护的加密密钥。
流程可行进到处理操作214,其中使用从经解密令牌中提取的加密密钥在客户端组件和服务器组件之间发起安全通信。在一个非限制性示例中,可启动特定于经认证客户端(或经认证客户端组)和一个或多个服务器之间的通信的通信数据信道。如上文引用的,一个非限制性示例是其中客户端设备是与分布式游戏服务的服务器设备进行通信的游戏控制台。在此类示例中,安全通信可对应于由分布式游戏服务提供的在线多人游戏(例如,会话),其中数据信道可专用于在在线多人游戏中的特定客户端设备的交互,或者可替换地提供参与在线多人游戏的多个经认证客户端设备的通信。
在处理操作216处,服务器组件利用用于保护通信的加密密钥将一个或多个安全通信直接传送到一个或多个客户端。客户端和服务器之间的通信可以是双向的,其中共享的加密密钥可被用于传送安全通信和解密接收到的安全通信。这种类型的处理可以持续,直到经认证客户端的会话不再活跃为止。
方法200的流程可行进到判定操作218,其中确定与应用/服务的客户端连接是否终止。如上文引用的,客户端组件可主动从分布式游戏服务断开连接或在预定空闲时间段后自动注销。在一些替换示例中,相关联的加密密钥和/或经加密令牌也可被预先确定在指定的时间点到期,以避免对客户端帐户和服务器交互的非预期访问。在任何情况下,当客户端组件与服务器组件断开连接时,它可能需要重新认证。这是动态生成新加密密钥和/或经加密令牌的触发器,从而使得服务器能够在新会话中安全地与客户端通信。在确定连接未终止的示例中,判定操作218的流程分支到否(NO),并且方法200的处理返回到处理操作216,其中附加的安全通信可在客户端和服务器之间被传送。在确定客户端和应用/服务之间的连接(例如,经由服务器组件)已终止的示例中,判定操作218的流程分支到是(YES),并且方法200的处理行进到处理操作220。
在处理操作220,与应用/服务的客户端会话结束并且客户端需要重新认证以重新获得对应用/服务的访问。处理操作220可进一步包括终止客户端和服务器之间的安全通信和/或终止用于安全通信的数据信道。如在前面的描述中所引用的,加密密钥和令牌可例如响应于对客户端认证信息的认证被动态地生成。在用户重新登录回应用/服务并且客户端被认证的情况下,认证服务被配置成动态地生成新的加密密钥和新的经加密(和经签名)令牌。这有助于最大限度地减少可能危及客户端设备和/或服务器的意外访问。
图3例示了适用于实现本文描述的与发起和管理各计算设备之间的安全通信会话相关的处理操作的计算系统301,其可被用于实践本公开的各方面。计算系统301可被实现为单个装置、系统或设备,或者可以以分布式方式被实现为多个装置、系统或设备。例如,计算系统301可包括一个或多个计算设备,其通过分布式网络执行对应用和/或服务的处理以便能够通过一个或多个服务执行本文描述的处理操作。计算系统301可包括执行对前端应用/服务、后端应用/服务或其组合的处理的设备的集合。计算系统301包括但不限于处理系统302、存储系统303、软件305、通信接口系统307和用户接口系统309。处理系统302可操作地与存储系统303、通信接口系统307和用户接口系统309耦合。计算机系统301的非限制性示例包括但不限于:智能电话、膝上型计算机、平板、PDA、台式计算机、服务器、智能计算设备,包括电视设备和可穿戴计算设备、电子阅读器设备、游戏机和会议系统,以及其他非限制性示例。
处理系统302从存储系统303加载并执行软件305。软件305包括一个或多个软件组件306,其被配置成发起和管理用于实现客户端和服务器之间的安全通信的通信信道,从而执行如本文描述的处理操作以实现该目的。在一些示例中,计算系统301可以是用于访问视频游戏的游戏控制台,其可以经由网络连接访问,也可以不经由网络连接访问。当由处理系统302执行时,软件305引导处理系统302至少如本文针对在前述实现中讨论的各种过程、操作场景和序列所描述的进行操作。计算系统301可任选地包括出于简化的目的而未被讨论的附加设备、特征或功能。计算系统301可进一步被用于执行示例性处理流100(图1)以及方法200(图2),其中处理操作可被具体执行以发起和管理用于实现客户端和服务器之间的安全通信的通信信道。
仍然参考图3,处理系统302可以包括从存储系统303中检索并执行软件305的处理器、微处理器以及其他电路系统。处理系统302可被实现在单个处理设备中,但也可以跨在执行程序指令时协作的多个处理设备或子系统分布。处理系统302的示例包括通用中央处理单元、微处理器、图形处理单元、专用处理器、声卡、扬声器和逻辑设备、游戏设备以及任何其他类型的处理设备、组合或其变体。
存储系统303可包括能由处理系统302读取并能够存储软件305的任何计算机可读存储介质。存储系统303可包括易失性和非易失性、可移动和不可移动介质,它们用供存储诸如计算机可读指令、数据结构、程序模块、缓存记忆或其他数据等信息的任何方法或技术来实现。存储介质的各示例包括随机存取存储器、只读存储器、磁盘、光盘、闪存、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储或其他磁存储设备、或其他合适的存储介质,传播信号除外。在任何情况下,计算机可读存储介质都不是传播的信号。
除了计算机可读存储介质以外,在一些实现中,存储系统303还可包括至少一些软件305可通过其进行内部和外部通信的计算机可读通信介质。存储系统303可以被实现为单个存储设备,但也可以跨相对于彼此共处或分散的多个存储设备或子系统来实现。存储系统403可以包括能够与处理系统302或可能的其他系统通信的附加元件,诸如控制器。
软件305可用程序指令来实现,并且在被处理系统302执行时与其他功能一起指导处理系统302如参考本文所解说的各种操作场景、序列和过程所描述地操作。例如,软件305可包括用于(诸)数据安全性组件306a的程序指令,(诸)数据安全性组件306a包括:(诸)客户端组件;(诸)服务器组件、(诸)认证组件;或其任何组合软件305可进一步包括(例如,软件应用平台的)(诸)应用/服务组件306b和包括与第三方应用/服务的交互的其他基于服务的组件,如前述描述中所描述的。例如,软件可包括使计算机系统301的特定组件能够执行本文描述的处理操作的编程指令,该处理操作包括但不限于:经加密令牌的动态生成;加密/解密密钥的动态生成;客户端、认证、服务器或其任何组合之间的数据的传输;经加密令牌的解密;在客户端和服务器之间建立安全通信信道;对客户端/服务器之间的安全通信的加密/解密;管理用户的认证状态,包括令牌和/或加密密钥的生存期;以及管理客户端和服务之间的交互,包括图形用户界面表示等。
具体而言,程序指令可包括协作或以其他方式交互以执行如本文中所描述的各种过程和操作场景的各种组件或模块。各种组件或模块可被具体化在经编译或经解读的指令中,或被具体化在指令的某其他变体或组合中。各种组件或模块可以以同步或异步方式、串行或并行地、在单线程环境或多线程环境中、或根据任何其他合适的执行范例、变体或其组合来被执行。软件305可包括附加过程、程序或组件,诸如操作系统软件、虚拟机软件、或其他应用软件。软件305还可包括可由处理系统302执行的固件或某一其他形式的机器可读处理指令。
一般而言,软件305可在被加载到处理系统302中并被执行时将合适的装置、系统或设备(其被计算系统301代表)整个从通用计算系统变换成被定制以用于处理数据和响应查询的专用计算系统。事实上,存储系统305上的编码软件303可变换存储系统303的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。此类因素的示例可包括但不仅限于,用于实现存储系统303的存储介质的技术以及计算机存储介质是被表征为主存储还是二级存储、以及其他因素。
例如,如果计算机可读存储介质被实现为基于半导体的存储器,则当在其中编码程序指令时,软件305可以变换半导体存储器的物理状态,诸如通过变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。一种类似的变换可以相对于磁或光学介质发生。在没有偏离本说明书的范围的情况下,物理介质的其他变换也是可能的,前面提供的示例只是为了便于本讨论。
通信接口系统307可包括允许通过通信网络(未示出)与其他计算系统(未示出)进行通信的通信连接和设备。通信接口系统307也可被用来覆盖本文描述的处理组件之间的对接。一同虑及系统间通信的连接和设备的示例包括网络接口卡或设备、天线、卫星、功率放大器、RF电路系统、收发机、以及其他通信电路系统。连接和设备可通过通信介质通信以与其他计算系统或系统网络交换通信,诸如金属、玻璃、空气或任何其他合适的通信介质。上述介质、连接和设备是公知的且无需在此处详细讨论。
用户接口系统309是任选的且可包括:键盘、鼠标、语音输入设备、用于接收来自用户的触摸姿势的触摸输入设备、用于检测用户的非接触姿势和其他运动的运动输入设备,以及其他类似的输入设备以及能够接收来自用户的用户输入的相关联的处理元件。输出设备(诸如显示器、扬声器、触觉设备)和其他类型的输出设备也可以被包括在用户接口系统309中。在一些情形中,输入设备和输出设备可以被组合在单个设备中,诸如能够显示图像并接收触摸姿势的显示器。前述用户输入和输出设备在本领域中是公知的且无需在此处详细讨论。
用户接口系统309还可包括可由处理系统302执行的相关联的用户接口软件,以支持上文讨论的各种用户输入和输出设备。例如,用户界面软件和用户界面设备可以单独地或与彼此以及其他硬件和软件元素结合,支持图形用户界面、自然用户界面或任何其他类型的用户界面,其支持本文所描述的示例性应用/服务的前端处理,包括为允许两个或更多个计算设备之间的直接通信(例如,客户端和服务器和/或经认证以在安全通信信道中通信的其他客户端设备)的安全通信信道建立图形用户界面。用户界面系统309包括图形用户界面,该图形用户界面呈现代表前述描述中描述的处理中的任何点的图形用户界面元素,包括过程流程100(图1)和方法200(图2)中描述的处理操作。用户界面系统1109的图形用户界面可进一步被配置成显示图形用户界面元素(例如,数据字段、菜单、链接、图形、图表、数据相关性表示和标识符等),这些元素是从前述描述中描述的处理中生成的表示。例如,图形用户界面可使客户端设备能够登录到游戏平台或应用/服务,并(例如,通过安全数据信道)安全地直接向服务器或向经认证并包括在安全通信会话中的其他客户端设备发送/接收消息。
计算系统301与其他计算系统(未示出)之间的通信可在通信网络或各网络上并根据各种通信协议、协议的组合或其变体发生。各示例包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义网络、数据中心总线、计算背板(computing backplane)、或任何其他类型的网络、网络的组合或其变体。上文提及的通信网络和协议是众所周知的且不需要在此详细讨论。然而,可被使用的一些通信协议包括但不限于,因特网协议(IP、IPv4、IPv6等)、传输控制协议(TCP)、和用户数据报协议(UDP),以及任何其他合适的通信协议、变体或其组合。
在交换数据、内容或任何其他类型信息的任何上述示例中,信息交换可根据各种协议中的任何一种进行,包括FTP(文件传输协议)、HTTP(超文本传输协议)、REST(代表性状态传输)、WebSocket、,DOM(文档对象模型)、HTML(超文本标记语言)、CSS(级联样式表)、HTML5、XML(可扩展标记语言)、JavaScript、JSON(JavaScript对象表示法)和AJAX(异步JavaScript和XML)、蓝牙、红外、RF、蜂窝网络、卫星网络、全球定位系统、以及任何其他合适的通信协议、变体或其组合。
各附图中所提供的功能框图、操作场景及序列和流程图表示用于执行本公开的新颖方面的示例性系统、环境和方法。尽管出于解释简明的目的,本文中所包括的方法可以以功能图、操作场景或序列、或流程图形式示出并且可被描述为一系列动作,但是可以理解和领会,各方法不受这些动作的次序的限制,因为根据本发明,某些动作可以按与本文中所示出和描述的不同的次序和/或与其他动作并发地发生。例如,本领域的技术人员将明白并领会,方法可替换地被表示为一系列相互相关联的状态或事件,诸如以状态图的形式。此外,并非方法中所解说的所有动作都是新颖实现所必需的。
本文中所包括的说明和附图描绘了用于教导本领域的技术人员如何做出和使用最佳选项的特定实现。出于教导创造性原则的目的,一些传统的方面已被简化或忽略。本领域的技术人员将领会来自这些实现的变体也落入的本发明的范围内。本领域的技术人员还将领会以上所描述的各特征可以以各种方式被组合以形成多个实现。作为结果,本发明不局限于以上所描述的特定实现,而是仅由权利要求和它们的等价物来限定。
本说明书通篇引述了“一个示例”或“一示例”,这意味着在至少一个实施例中包括特定描述的特征、结构或特性。因此,使用这些词组可指不止仅仅一个示例。而且,在一个或多个示例中,可以用任何合适的方式组合所描述的特征、结构或特性。
然而,相关领域内技术人员可以理解各示例可省去一个或多个特定细节而实现,或通过其它方法、资源、材料等实现。在其它实例中,公知的结构、资源或操作尚未被示出或详细说明以仅避免对各实施例的某些方面产生混淆。
虽然示出和描述了示例示例和应用,但是应该理解本实施例不限于上述精确配置和资源。可以对此处公开的方法和系统的排列、操作以及细节作出对本领域技术人员显而易见的各种修改、改变和变化,而不背离所要求保护的本示例的范围。

Claims (15)

1.一种方法,包括:
从客户端设备传送用于登录应用或服务的用户认证信息;
响应于对所述用户认证信息的认证,在所述客户端设备处接收与访问所述应用或服务相关联的加密密钥和经加密令牌,其中所述经加密令牌在有效载荷中包括所述加密密钥;
将所述经加密令牌转发给所述应用或服务以发起与所述应用或服务的连接;以及
在所述客户端设备处从与所述应用或服务相关联的服务器接收安全通信,其中所述安全通信使用所述加密密钥被保护。
2.如权利要求1所述的方法,其特征在于,进一步包括:经由所述客户端设备发起到所述应用或服务的连接,并且其中所述安全通信通过基于经发起的连接呈现的所述应用或服务的实例在所述客户端设备处被接收。
3.如权利要求1所述的方法,其特征在于,所述客户端设备是游戏控制台并且其中所述应用或服务是分布式游戏服务。
4.如权利要求3所述的方法,其特征在于,所述安全通信对应于由所述分布式游戏服务提供的在线多人游戏,并且其中所述安全通信进一步包括在所述在线多人游戏中交互的一个或多个附加的经认证的客户端设备。
5.如权利要求1所述的方法,其特征在于,所述加密密钥响应于对所述用户认证信息的认证被动态地生成,并且其中对所述经加密令牌和所述加密密钥的使用在所述客户端设备与所述应用或服务断开连接之前是可用的。
6.如权利要求1所述的方法,其特征在于,所述加密密钥作为声明被包括在所述经加密令牌的所述有效载荷中。
7.如权利要求1所述的方法,其特征在于,包括所述加密密钥的所述经加密令牌内的数据对所述客户端设备而言是不透明的,并且其中所述服务器通过使用预共享解密密钥对所述经加密令牌进行解密来访问所述加密密钥,其中所述预共享解密密钥在生成所述经加密令牌之前由认证服务与所述服务器预共享。
8.如权利要求1所述的方法,其特征在于,所述用户认证信息由认证服务认证,并且其中所述认证服务与所述客户端设备预共享所述加密密钥并且与所述应用或服务的所述服务器预共享用于对所述经加密令牌进行解密的解密密钥。
9.一种系统,包括:
至少一个处理器;以及
可操作地与所述至少一个处理器连接的存储器,所述存储器存储在由所述至少一个处理器执行时使所述至少一个处理器执行一方法的计算机可执行指令,所述方法包括:
从所述系统向应用或服务传送用户认证信息;
响应于对所述用户认证信息的认证,在所述系统处接收与访问所述应用或服务相关联的第一加密密钥和经加密令牌,其中所述经加密令牌在有效载荷中包括第二加密密钥;
将所述经加密令牌转发给所述应用或服务以发起与所述应用或服务的连接;以及
在所述系统处从与所述应用或服务相关联的服务器接收安全通信,其中所述安全通信使用所述第二加密密钥被保护。
10.如权利要求9所述的系统,其特征在于,由所述至少一个处理器执行的所述方法进一步包括:经由所述系统发起到所述应用或服务的连接,并且其中所述安全通信通过基于经发起的连接呈现的所述应用或服务的实例在所述系统处被接收。
11.如权利要求9所述的系统,其特征在于,所述系统是游戏控制台并且所述应用或服务是分布式游戏服务,并且其中所述安全通信对应于由所述分布式游戏服务提供的在线多人游戏。
12.如权利要求9所述的系统,其特征在于,所述加密密钥响应于对所述用户认证信息的认证被动态地生成,并且其中对所述经加密令牌和所述加密密钥的使用在所述客户端设备与所述应用或服务断开连接之前是可用的。
13.如权利要求9所述的系统,其特征在于,所述第二加密密钥作为声明被包括在所述经加密令牌的所述有效载荷中。
14.如权利要求9所述的系统,其特征在于,包括所述第二加密密钥的所述经加密令牌内的数据对所述系统而言是不透明的,并且其中所述服务器通过使用预共享解密密钥对所述经加密令牌进行解密来访问所述第二加密密钥,其中所述预共享解密密钥在生成所述经加密令牌之前由认证服务与所述服务器预共享。
15.一种方法,包括:
在服务器设备处从认证服务接收用于对与访问应用或服务相关联的经加密令牌进行解密的预共享解密密钥;
在所述服务器设备处接收所述经加密令牌,其中所述经加密令牌在有效载荷中包括可用于保护与客户端设备的通信的加密密钥;
使用所述预共享解密密钥对所述经加密令牌进行解密;
从所述经解密令牌的有效载荷中提取所述加密密钥;以及
使用经提取的加密密钥来向所述客户端设备传送安全通信。
CN202080050794.6A 2019-07-12 2020-05-21 用于保护计算设备之间的通信的加密密钥的数据传输 Pending CN114175579A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/510,823 2019-07-12
US16/510,823 US10960314B2 (en) 2019-07-12 2019-07-12 Data transport of encryption key used to secure communication between computing devices
PCT/US2020/033889 WO2021011079A1 (en) 2019-07-12 2020-05-21 Data transport of encryption key used to secure communication between computing devices

Publications (1)

Publication Number Publication Date
CN114175579A true CN114175579A (zh) 2022-03-11

Family

ID=71016707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080050794.6A Pending CN114175579A (zh) 2019-07-12 2020-05-21 用于保护计算设备之间的通信的加密密钥的数据传输

Country Status (4)

Country Link
US (2) US10960314B2 (zh)
EP (1) EP3997849A1 (zh)
CN (1) CN114175579A (zh)
WO (1) WO2021011079A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024060067A1 (en) * 2022-09-21 2024-03-28 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for internet protocol security authentication

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11329823B2 (en) 2019-09-26 2022-05-10 Bank Of America Corporation User authentication using tokens
US11303629B2 (en) 2019-09-26 2022-04-12 Bank Of America Corporation User authentication using tokens
US11140154B2 (en) * 2019-09-26 2021-10-05 Bank Of America Corporation User authentication using tokens
US11582036B1 (en) * 2019-10-18 2023-02-14 Splunk Inc. Scaled authentication of endpoint devices
WO2022168077A1 (en) * 2021-02-03 2022-08-11 Yaron Oliker System and method of secured communication
WO2023044335A1 (en) * 2021-09-17 2023-03-23 Icu Medical, Inc. Medical device communication certificate management
US11695561B2 (en) * 2021-11-19 2023-07-04 Fmr Llc Decentralized authorization of user access requests in a multi-tenant distributed service architecture
CN114124534A (zh) * 2021-11-24 2022-03-01 航天信息股份有限公司 一种数据交互系统及方法
CN114614993B (zh) * 2022-03-22 2024-02-06 平安证券股份有限公司 系统交互方法、装置、电子设备及存储介质
CN115834246B (zh) * 2023-01-29 2023-09-01 厦门简算科技有限公司 一种云端向本地终端数据传输安全防护方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2717539A1 (en) * 2012-10-02 2014-04-09 BlackBerry Limited Method and system for hypertext transfer protocol digest authentication

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995624A (en) * 1997-03-10 1999-11-30 The Pacid Group Bilateral authentication and information encryption token system and method
US7370194B2 (en) 2002-06-10 2008-05-06 Microsoft Corporation Security gateway for online console-based gaming
US8281136B2 (en) 2005-10-21 2012-10-02 Novell, Inc. Techniques for key distribution for use in encrypted communications
US9210154B2 (en) * 2014-02-28 2015-12-08 Edgecast Networks, Inc. Providing localized content delivery with remote token authentication
US10134227B1 (en) * 2016-02-19 2018-11-20 Electronic Arts Inc. Systems and methods for making game content from a single online game accessible to users via multiple platforms
US10576379B1 (en) * 2016-02-19 2020-03-03 Electronic Arts Inc. Systems and methods for adjusting online game content and access for multiple platforms
US11470085B2 (en) * 2020-06-16 2022-10-11 At&T Intellectual Property I, L.P. Service and security enhancement of communication services
US11477188B2 (en) * 2020-07-01 2022-10-18 Citrix Systems, Inc. Injection of tokens or client certificates for managed application communication
US11811739B2 (en) * 2021-01-06 2023-11-07 T-Mobile Usa, Inc. Web encryption for web messages and application programming interfaces

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2717539A1 (en) * 2012-10-02 2014-04-09 BlackBerry Limited Method and system for hypertext transfer protocol digest authentication

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024060067A1 (en) * 2022-09-21 2024-03-28 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for internet protocol security authentication

Also Published As

Publication number Publication date
WO2021011079A1 (en) 2021-01-21
US11673058B2 (en) 2023-06-13
US20210170280A1 (en) 2021-06-10
US10960314B2 (en) 2021-03-30
US20210008457A1 (en) 2021-01-14
EP3997849A1 (en) 2022-05-18

Similar Documents

Publication Publication Date Title
US11673058B2 (en) Data transport of encryption key used to secure communication between computing devices
US11711219B1 (en) PKI-based user authentication for web services using blockchain
US11095455B2 (en) Recursive token binding for cascaded service calls
JP7227919B2 (ja) モノのインターネット(iot)デバイスの管理
US10277409B2 (en) Authenticating mobile applications using policy files
US10382426B2 (en) Authentication context transfer for accessing computing resources via single sign-on with single use access tokens
US9525679B2 (en) Sending session tokens through passive clients
RU2417422C2 (ru) Услуга распределенной единой регистрации в сети
US8353016B1 (en) Secure portable store for security skins and authentication information
US9699168B2 (en) Method and system for authenticating a rich client to a web or cloud application
US8220035B1 (en) System and method for trusted embedded user interface for authentication
US20150365394A1 (en) Stateless and secure authentication
US9584615B2 (en) Redirecting access requests to an authorized server system for a cloud service
US20150341340A1 (en) A system and method of dynamic issuance of privacy preserving credentials
US11909889B2 (en) Secure digital signing
US8875244B1 (en) Method and apparatus for authenticating a user using dynamic client-side storage values
Goel Access Control and Authorization Techniques wrt Client Applications
US20230299958A1 (en) Methods and systems for authenticating a candidate user of a first and as second electronic service

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