CN110089087A - 敏感数据的跨网络安全数据摄取 - Google Patents

敏感数据的跨网络安全数据摄取 Download PDF

Info

Publication number
CN110089087A
CN110089087A CN201780077914.XA CN201780077914A CN110089087A CN 110089087 A CN110089087 A CN 110089087A CN 201780077914 A CN201780077914 A CN 201780077914A CN 110089087 A CN110089087 A CN 110089087A
Authority
CN
China
Prior art keywords
data
request
group
data object
sensitive data
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
CN201780077914.XA
Other languages
English (en)
Inventor
M·E·戴维斯
G·R·杰威尔
B·蒙茨
A·彼德森
I·斯派克
A·J·特里布尔
R·韦斯
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies 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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN110089087A publication Critical patent/CN110089087A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Abstract

计算资源服务提供方可操作负责将网络流量定向到一个或多个后端服务的安全代理机群。所述网络流量可通过受密码保护的通信会话在安全代理设备处接收。所述安全代理设备可检测包括在所述网络流量中的敏感数据并且对所述敏感数据进行加密以在传输到所述后端服务期间保护所述敏感数据。

Description

敏感数据的跨网络安全数据摄取
相关申请的交叉引用
本申请要求2016年12月16日提交的标题为“SECURE DATA INGESTION FORSENSITIVE DATA ACROSS NETWORKS”的美国专利申请号15/382,571的权益,所述申请的内容以引用的方式全文并入本文。
背景技术
不同的网络提供不同级别的安全性,并且比起其他网络,用户可能更信任不同的网络。此外,在计算资源服务提供方的大型分布式计算系统(例如,多个分布式数据中心)中,计算资源服务提供方的各种客户、用户、服务和资源通过各种网络和中间设备彼此频繁地通信。随着服务和计算资源添加到这些大型分布式计算系统并且随着这些系统的复杂性和使用的增加,保持系统安全变得更具挑战性。在这种分布式计算系统中,可能难以识别系统的任何漏洞。某些计算设备和/或计算资源可被定位于不同的网络中。此外,还可能难以对系统问题进行隔离和故障诊断,并且即使在识别到问题时,可靠地保护系统也可能具有挑战性。此外,各种标准和规定可能会要求数据在通过网络(诸如互联网)传输时是安全的。
附图说明
各种技术将参考附图来描述,在附图中:
图1示出根据一个实施方案的其中安全代理机群可保护敏感数据的环境;
图2示出根据一个实施方案的其中安全代理机群和代理机群可代理敏感数据和被接收用于与网站交互的数据的环境;
图3示出根据一个实施方案的其中安全代理机群可保护被引导朝向后端服务的敏感数据的环境;
图4示出根据一个实施方案的其中安全代理机群可保护敏感数据的环境;
图5示出根据一个实施方案的其中安全代理机群可保护被引导朝向客户端设备的敏感数据的环境;
图6是示出根据一个实施方案的包含受保护敏感数据的数据流的图;
图7示出根据一个实施方案的其中安全代理机群可保护敏感数据的环境;
图8示出根据一个实施方案的其中内容分发网络的安全代理机群可保护敏感数据的环境;
图9示出根据一个实施方案的其中内容分发网络的安全代理机群可保护敏感数据的环境;
图10是示出根据一个实施方案的保护被引导朝向后端服务的敏感数据的安全代理机群的示例的框图;
图11是示出根据一个实施方案的保护被引导朝向客户端设备的敏感数据的安全代理机群的示例的框图;
图12是示出根据一个实施方案的使用数据加密来保护敏感数据的安全代理机群的示例的框图;
图13是示出根据一个实施方案的安全代理机群用于保护敏感数据的密码材料的示例的框图;以及
图14示出在其中可实现各种实施方案的环境。
具体实施方式
在下面的各种示例中,讨论了用于防止对数据的未授权访问的技术。进入由计算资源服务提供方操作的各种网络和/或沿着所述网络行进的数据被加密,并且受保护以免受沿着到后端服务或其他休息点的网络路径的各种中间设备对敏感数据的未授权访问。另外,可对退出由计算资源服务提供方操作的各种网络的加密敏感数据进行解密,使得客户端设备可访问敏感数据。此敏感数据可包括信用卡号、电子邮件地址、物理地址、护照号码、电话号码、联系人、密码、银行信息、客户识别信息、通信或客户可能认为私密和/或敏感的任何其他信息。计算资源服务提供方可向为客户提供服务的其他实体提供各种服务和/或支持(例如,通过提供对计算资源的访问)。
这些服务可能会将各种服务端点暴露(例如,经由公共通信网络使接口可用)给客户,并且服务端点可能会连接到诸如互联网的公共网络。例如,客户可与作为网站暴露给客户的零售服务进行交互。客户交互可包括超文本传输协议(HTTP)请求(例如,GET和POST请求),所述请求朝向零售服务或支持所述请求的其他后端服务传输。此外,可通过各种代理设备和/或代理机群将请求引导朝向后端服务。如上所述,使用各种加密技术来保护敏感数据,诸如传输层安全性(TLS)、安全套接字层(SSL)和/或安全超文本传输协议(HTTPS)等,如以下所述。然而,所述方法涉及由代理设备和/或代理机群解密的数据,例如使得可将数据路由到适当的后端服务和/或对敏感数据进行解密或者对加密的数据流进行其他修改。因此,为了确保不暴露敏感数据,可修改代理设备和/或代理机群的操作以提高安全性和效率,如下面更详细描述的。
数据保护模块可由代理设备和/或代理机群执行,以提供对敏感数据的保护,如本公开中所描述的。数据保护模块可在隔离环境中执行或以其他方式受保护以免受来自数据保护模块外部的访问。可至少部分地基于后端服务来生成配置信息,并且将其提供给由代理设备和/或代理机群执行的数据保护模块。配置信息可包括下面更详细描述的各种信息,诸如密码材料、敏感数据的各种定义、策略信息或适用于保护敏感数据的其他信息。每个数据保护模块可服务单个后端服务或多个后端服务。另外,数据保护模块可施行下面更详细描述的各种密码算法,诸如公钥密码标准(PKCS)。
数据保护模块可对进入或退出计算资源服务提供方环境的数据执行不同的操作。例如,在对引导朝向客户端设备的敏感数据进行解密之前,可首先呈现或以其他方式格式化从后端服务引导朝向客户端设备的敏感数据以供客户端设备显示。在各种实施方案中,敏感数据可包括在数据保护模块对敏感数据进行解密之前要验证的签名或其他信息。如上所述,可使用诸如TLS的安全链接在计算资源服务提供方环境外部保护敏感数据。用于保护敏感数据的其他机制被视为在本公开的范围内,例如,在将敏感数据传输到与客户相关联的客户端设备之前,可使用与客户相关联的公钥来对敏感数据进行加密。
在各种示例中,代理设备和/或代理机群可以是各种内容分发网络(CDN)的一部分或集成在各种内容分发网络(CDN)中。这些CDN可实现与客户的低延迟通信,并针对客户请求提供高效处理。如上所述,数据保护模块可由包括在CDN中的代理设备和/或代理机群实现。另外,计算资源服务提供方或其他实体可操作密钥管理系统,下面将更详细地描述,以提供对密码材料和/或密码功能的有效访问。例如,当接收敏感数据以加密或解密时,数据保护模块可请求密钥管理服务执行操作。密钥管理服务可以是代理设备和/或代理机群的过程,或者可在数据保护模块可访问的单独计算设备上执行。
在以上和以下描述中,描述了各种技术。出于解释的目的,将阐述具体的配置和细节,以便提供对实现所述技术的可能方式的透彻理解。然而,也将显而易见,以下所描述的技术可在没有具体细节的情况下实践于不同配置中。此外,可省略或简化众所周知的特征从而不使所描述的技术晦涩。
图1示出根据一个实施方案的环境100,其中安全代理机群106可利用计算资源服务提供方环境保护敏感数据以免暴露给中间设备。计算资源服务提供方104可向客户102提供对各种后端服务108的访问。后端服务108可由计算资源服务提供方104或其他实体操作。例如,计算资源服务提供方104可向组织提供对由计算资源服务提供方104提供的计算资源的访问,以实现暴露给客户102的各种服务,诸如流媒体服务、网站或其他应用程序。计算资源服务提供方104可操作各种网络、计算设备、服务、应用程序或其他计算资源,并且向客户102和其他实体提供对执行各种操作的访问。
如图1所示,客户102可向由计算资源服务提供方104托管的一个或多个后端服务108发送敏感数据并从其接收敏感数据。此外,敏感数据可能沿着到一个或多个后端服务108的网络路径暴露给一个或多个中间设备110。在各种实施方案中,中间设备110可能未被授权访问敏感数据。另外,中间设备110可包括由计算资源服务提供方104或其他实体操作的任何计算资源。例如,特定中间设备可包括计算资源服务提供方104的网络拥塞服务,其具有对通过网络行进的分组的访问。
与敏感数据相关联的客户102或其他实体可能想要对受限于可信实体(计算设备和人两者)的敏感数据的读取和/或写入访问。如上所述,计算资源服务提供方104可通过法规、法律特权、竞争力、合同(例如,与供应商的定价或其他条款)或保护敏感数据的任何其他需要来定义并确定各种要求以维护敏感信息的安全性和隐私。敏感数据包括地址、护照号码、税务标识符、法律信息、财务信息、客户列表和/或具体客户识别信息、合并和收购、员工健康记录和人事档案以及客户支付工具。此外,敏感数据可包括可被分类为敏感的或者以其他方式被分类为要保护的数据的任何数据。为了保护敏感数据,计算资源服务提供方104可操作安全代理机群106。安全代理机群106可在敏感数据进入计算资源服务提供方环境(例如,数据中心、网络和由计算资源服务提供方104操作的其他计算资源)时对其进行加密,并且将所加密的敏感数据引导到计算资源服务提供方环境内部的单个信任点(例如,一个或多个后端服务108的受保护资源)。
敏感数据被加密,使得可通过控制对用于对敏感数据进行加密的加密材料的访问来控制对敏感数据的访问。例如,可由在下面更详细地描述的密钥管理服务提供对敏感数据的访问,密钥管理服务分配用于对敏感数据进行加密的加密密钥。可使用如本公开中所描述的各种加密标准(诸如PKCS)来执行加密。此外,可使用其他安全保护措施来保护敏感数据。例如,可使用安全策略或其他机制来确保敏感数据在请求失败之前存储在存储器中的时间不超过20秒并且必须重试。可使用包括网络设备和服务器计算机系统的计算资源服务提供方104的物理计算资源来实现安全代理机群106。
安全代理机群106可包括由物理计算资源执行的应用程序或其他可执行代码。如下面更详细描述的,安全代理机群106可管理并维护密码材料以对敏感数据进行加密。此外,安全代理机群106代理或以其他方式转发一个或多个后端服务108与客户102之间的请求。例如,特定服务可能会暴露公共网络(诸如互联网)上的端点。端点可能会通过将服务请求引导到暴露在公共网络上的端点来允许客户102与特定后端服务通信。安全代理机群106可至少部分地基于服务请求中包括的信息来获得引导到端点的服务请求并将请求转发到特定后端服务。出于本公开的目的,请求、服务调用或其他数据可被引导朝向与请求、服务调用或其他数据被引导朝向的实体相关联的目的地地址(例如,IP地址、电子邮件地址、SMS号等)。
此外,安全代理机群106可针对暴露给客户102的每个后端服务和/或端点操作单个代理。例如,特定后端服务针对各种类型的敏感数据暴露不同的端点,诸如针对客户识别信息暴露第一端点以及针对客户支付信息暴露第二端点。安全代理机群106可例如通过物理隔离(例如,由不同物理计算硬件分离的处理)或逻辑隔离(例如,使用沙箱化的过程隔离)来隔离引导到每个端点的请求的处理。
如上所述,后端服务108可由计算资源服务提供方104提供,或者可由利用计算资源服务提供方104的计算资源的一个或多个其他实体提供。后端服务108可包括多种服务,诸如零售服务、计算实例服务、按需存储服务、块级存储服务、网络服务、通知服务、文档管理服务、消息传送服务或者使用计算资源服务提供方104的计算资源实现的任何其他服务。例如,后端服务108可通过内部web服务访问图7和图14中所示的数据存储库。
中间设备110可包括计算资源服务提供方104的任何数量的计算资源和/或服务。此外,中间设备可由除计算资源服务提供方104之外的其他实体操作。例如,特定中间设备可包括利用计算资源服务提供方104的各种网络来发送数据并从客户102接收数据的数据存储服务。中间设备110还可施行各种安全策略和/或安全级别。
图2示出根据一个实施方案的环境200,其中安全代理机群206和代理机群可向后端服务208发送受保护的敏感数据并从其接收受保护的敏感数据。计算资源服务提供方204可向客户提供对后端服务208的访问。客户可通过网页202或通过网络将数据传达到后端服务的其他应用程序(诸如独立应用程序或移动应用程序)来访问后端服务208。后端服务208可由计算资源服务提供方204或其他实体操作。例如,计算资源服务提供方204可向组织提供对由计算资源服务提供方204提供的计算资源的访问,以实现暴露给客户的各种服务,诸如流媒体服务、网站或其他应用程序。计算资源服务提供方204可操作各种网络、计算设备、服务、应用程序或其他计算资源,并且向客户和其他实体提供对执行各种操作的访问。
如图2所示,客户可向由计算资源服务提供方204托管的一个或多个后端服务208发送敏感数据和非敏感数据并从其接收敏感数据和非敏感数据。此外,敏感数据和非敏感数据可能沿着到后端服务208的网络路径暴露给一个或多个中间设备210。在各种实施方案中,中间设备210可能未被授权访问敏感数据。另外,中间设备210可包括由计算资源服务提供方204或其他实体操作的任何计算资源。例如,特定中间设备可包括计算资源服务提供方204的网络拥塞服务,其具有对通过网络行进的分组的访问。
返回图2,客户的计算设备可将一个或多个HTTP请求传输到计算资源服务提供方204的在线代理机群216或安全代理机群206。在线代理机群216和安全代理机群206可以是包括可执行指令的计算资源的集合(例如,逻辑或物理分组),所述可执行指令作为由计算资源的一个或多个处理器执行的结果,致使计算资源接收HTTP请求并且将这些HTTP请求引导到计算资源服务提供方204的一个或多个后端服务206。在线代理机群216和安全代理机群206可负责将请求引导到计算资源服务提供方204的适当后端服务208以供处理。
在线代理机群216和安全代理机群206可流式传输和/或传输由于客户与网页202的交互而获得的客户请求。在线代理机群216和安全代理机群206可在相同计算资源内或在计算资源内执行的相同过程内执行。这样,可适当地处理包括敏感数据或非敏感数据的请求。例如,包括敏感数据的请求可被传输到与包括其他数据的请求相同的代理设备(例如,执行在线代理机群216和安全代理机群206两者的计算设备)。可至少部分地基于请求被引导到的端点在代理设备处辨别流量。例如,网页202可被配置为使得包括敏感数据的HTTP请求被引导到由安全代理机群206监视的端点。另外,网页202可将包括非敏感数据的HTTP请求引导到由在线代理群216监视的端点。
图3示出根据一个实施方案的环境300,其中安全代理机群306在将敏感数据转发到后端服务308之前接收并保护敏感数据。计算资源服务提供方304可向客户302提供对后端服务308的访问。客户302可通过网页、服务调用、用户接口或应用程序(诸如通过网络将数据传达到后端服务308的独立应用程序或移动应用程序)访问后端服务308。后端服务308可由计算资源服务提供方304或其他实体操作。例如,计算资源服务提供方304可向组织提供对由计算资源服务提供方304提供的计算资源的访问,以实现暴露给客户302的各种服务,诸如流媒体服务、网站或其他应用程序。计算资源服务提供方304可操作各种网络、计算设备、服务、应用程序或其他计算资源,并且向客户和其他实体提供对执行各种操作的访问。
如图3所示,客户302可向由计算资源服务提供方304托管的一个或多个后端服务308发送敏感数据。敏感数据可被引导到由后端服务308操作的可信实体或位置。此外,可由安全代理机群306的数据保护模块312对敏感数据进行加密,以防止敏感数据沿着到一个或多个后端服务308的网络路径暴露给一个或多个中间设备310。在各种实施方案中,中间设备310可能未被授权访问敏感数据。另外,中间设备310可包括由计算资源服务提供方304或其他实体操作的任何计算资源。例如,特定中间设备可包括计算资源服务提供方304的流服务,其具有对计算资源服务提供方环境的计算资源的访问。
中间设备310可包括计算资源服务提供方304的任何数量的计算资源和/或服务。另外,中间设备310可由除计算资源服务提供方304之外的其他实体操作。例如,特定中间设备可包括利用计算资源服务提供方304的各种网络来发送数据并从客户302接收数据的数据存储服务。中间设备310还可施行各种安全策略和/或安全级别。
如下面更详细描述的,数据保护模块312可检测从引导朝向后端服务的请求或数据流获得的敏感数据。另外,安全代理机群306和/或数据保护模块312可以是用于TLS或其他安全连接的终止器。换句话说,安全代理机群306和/或数据保护模块312可负责建立并维护客户302与后端服务308之间的安全链路的一端。在一些示例中,安全代理机群306通过使用TLS连接来建立加密的网络连接。在其他示例中,通过使用密钥交换算法协商对称密钥来建立加密的网络连接。
数据保护模块312可以是由执行安全代理机群306的同一计算机系统执行的过程或应用程序。在其他实施方案中,安全提供方机群306可由专用硬件执行,所述专用硬件还将数据保护模块312作为安全代理机群306的组件来执行。如下面更详细描述的,数据保护模块312可使用由后端服务308、计算资源服务提供方304或其他实体生成的配置信息来实现。配置信息可向数据保护模块312指示敏感的数据、如何检测敏感数据、如何处理和/或保护敏感数据、如何对敏感数据进行加密、用于对敏感数据进行加密的加密算法、加密密钥、用于传输加密数据的端点、或适用于保护敏感数据的任何其他信息。
如图3所示,敏感数据可被加密并通过一个或多个中间设备310传输到后端服务308。后端服务308可获得或者可能已经包含对敏感数据进行解密所需的密码材料。在下面描述的其他实施方案中,后端服务308可请求用于密钥管理服务的密码材料或对密码材料的解密。另外,安全代理机群306可以明文传输对后端服务308不敏感的数据。例如,客户可向特定后端服务发送包括客户电话号码的HTTP POST请求,安全代理机群306可对包括在HTTP POST请求中的电话号码进行加密,使得电话号码在没有加密密钥的情况下是不可解密的,但是将HTTP POST请求的剩余部分保留为明文,以便可将请求路由到适当的后端服务并且可至少部分地处理所述请求而不需要解密整个请求。
图4示出了根据一个实施方案的环境400,其中安全代理机群406在将敏感数据转发到后端服务408之前使用密码密钥服务420接收并保护敏感数据。计算资源服务提供方404可向客户402提供对后端服务408的访问。客户402可通过网页、服务调用、用户接口、命令行接口或应用程序(诸如通过一个或多个网络410将数据传达到后端服务408的独立应用程序或移动应用程序)访问后端服务408。后端服务408可由计算资源服务提供方404或其他实体操作。例如,计算资源服务提供方404可向组织提供对由计算资源服务提供方404提供的计算资源的访问,以实现暴露给客户402的各种服务,诸如在线零售服务、网站或其他应用程序。计算资源服务提供方404可操作各种网络、计算设备、服务、应用程序或其他计算资源,并且向客户和其他实体提供对执行各种操作的访问。
如图4所示,客户402可发送和接收通过使用由计算资源服务提供方404或其他实体托管的密码密钥服务420而受到保护的敏感数据。敏感数据可被引导到由后端服务408操作的可信实体或位置。此外,可由安全代理机群406的加密模块414对敏感数据进行加密,以防止敏感数据沿着到一个或多个后端服务408的一个或多个网络410的网络路径暴露。在各种实施方案中,加密模块414可向密码密钥服务420传输API调用以对敏感数据进行加密。在一个示例中,加密模块414可从密码密钥服务420请求用于对敏感数据进行加密的密钥材料。
另外,密钥材料可由密码密钥服务420进行加密。换句话说,可通过简单地从密码密钥服务420获得密码密钥并对其进行加密来减少传输到密码密钥服务420的数据。在另一示例中,加密模块414可将加密请求中的敏感数据传输到密码密钥服务420,作为响应,密码密钥服务420返回所加密的敏感数据,并且在一些实施方案中,加密密钥(所加密的或以明文形式)将所加密的敏感数据返回给加密模块414。
尽管图4中描绘的密码密钥服务420被示出为单独的实体,但是密码密钥服务420的全部或部分功能可包括在安全代理机群406和/或后端服务408中。例如,密码密钥服务420的一部分可由安全代理机群406执行为内核级过程或微服务。在这些情况下,加密模块414可向由安全代理机群406执行的密码密钥服务420的内核级处理传输请求以获得密码材料。另外,密码密钥服务420可周期性地或非周期性地传输和/或更新由安全代理机群406执行的密码密钥服务420的内核级处理所维护的密码密钥材料。
返回图4,尽管在计算资源服务提供方环境内示出了一个或多个网络410,但是一个或多个网络410可包括由各种实体实现的各种不同网络。例如,一个或多个网络410可包括作为可公共寻址网络(诸如互联网)的一部分的网络主干或其他网络结构。如下面更详细描述的,网络410可包括公共网络、专用网络、内容分发网络和可由不同实体和/或服务实现的其他网络,并且可施行不同的安全策略并且可由不同的实体和/或服务访问。另外,各种计算设备可在包括敏感数据的请求和/或数据对象在客户402与后端服务408之间路由时接收所述包括敏感数据的请求和/或数据对象。例如,请求处理设备可从安全代理机群406接收请求(包括引导到特定后端服务的所加密的敏感数据),并将所述请求路由到后端服务的适当实例。
检测模块412可使得安全代理机群406能够检测敏感数据。检测模块412和加密模块414都可以是单个过程或多个过程、应用程序或可执行代码,所述可执行代码当由安全代理机群406的一个或多个处理器执行时,致使安全代理机群406执行本公开中描述的操作。另外,检测模块412和加密模块414都可具有被推送或以其他方式提供的配置信息。配置信息可包括由后端服务408或管理员或与后端服务408相关联的其他实体生成的模板信息。可在供应或实例化执行检测模块412和加密模块414的过程时将配置信息提供给检测模块412和加密模块414。此外,配置信息可包括适用于识别敏感数据的信息,并且每个后端服务、网站、应用程序和/或客户可提供他们自己的配置信息。配置信息可指示与敏感数据相关联的数据类型、字段、格式或标志,所述指示内容可由检测模块412用来检测敏感数据。
尽管未在图4中示出,但是TLS终止器可将通过密码安全通信信道(例如,HTTPS连接)传输的所加密的数据转换为明文,并将所解密的数据转发或以其他方式提供给检测模块412。在各种实施方案中,检测模块412解析所接收的数据(例如,明文),并且如果检测模块412确定所接收的数据包括敏感数据,那么检测模块412可转发或以其他方式将要加密的数据提供给加密模块414。例如,检测模块412可从TLS终止器接收HTTP请求并解析HTTP请求以确定HTTP请求包括客户识别信息字段并且将客户识别信息字段中的数据的副本提供给加密模块。
数据加密模块414可返回所加密的敏感数据。所加密的敏感数据可作为数据对象或下面更详细描述的其他格式返回。在各种实施方案中,数据检测模块412可接收所加密的敏感数据,然后用所加密的敏感数据替换敏感数据。安全代理机群406的另一服务或过程可在转发或以其他方式将数据(包括所加密的敏感数据)提供给后端服务之前格式化或以其他方式处理从TLS终端接收的数据。例如,由于使用所加密的敏感数据替换明文敏感数据,安全代理机群可修改包括在请求中的长度信息。
后端服务408还可加密并保护引导朝向客户端设备的敏感数据。在这类实施方案中,后端服务408可生成对密码密钥管理服务420的库调用或API调用。对要传输到客户端设备的敏感数据进行加密的请求可与上述相同。密码密钥管理服务420(可以是计算资源服务提供方404的服务)管理密码密钥(例如,私钥)到主机计算机系统的透明分配。后端服务408可简单地向密码服务传输API调用或其他调用以对敏感数据进行加密,并且密码密钥管理服务420可执行一个或多个加密工作流并返回所加密的敏感数据。
在一个示例中,后端服务408可将客户护照号码传输到可以是远程或本地服务(例如,运行后端服务408的主机计算机系统的后台程序)的密码管理服务420,然后管理服务420将所加密的护照号码返回给后端服务408。由密码密钥管理服务420返回的所加密的数据可包括其他信息,诸如时间戳或签名。然后,后端服务408可生成要传输到诸如由客户402操作的客户端设备的端点的响应、请求和/或内容,所述响应、请求和/或内容包括所加密的敏感数据408。
所加密的敏感数据可通过一个或多个网络410朝向安全代理服务408或其他服务或计算机系统路由以供处理。例如,后端服务408可向客户402传输网页,呈现机群可从后端服务408接收包括所加密的敏感数据的数据,并且将数据转换为超文本标记语言(HTML)或其他格式。另外,安全代理机群406可在解密并插入敏感数据之前或同时执行数据的附加处理。如上所述,安全代理机群406可至少部分地基于由安全代理机群406传输和/或拦截的数据中包括的标志或其他标记的存在来确定引导到客户的网页包括敏感数据。安全代理机群406可执行各种处理操作,诸如解包和修改请求/响应。
密码密钥管理服务420可维护与密码密钥相关联的元数据,并且可至少部分地基于安全策略和/或元数据来确定对密码密钥的访问权限。另外,特定密码材料可与特定数据类型相关联。密码密钥管理服务420还可维护本地或集中式加密密钥存储库。密钥存储库可包括非对称密钥或对称密钥。此外,可使用密码密钥管理服务420来提供数字包络加密。另外,用于安全带外传输私钥(用于非对称情况)或对称密钥(用于数字包络加密情况)的各种方法可由密码密钥管理服务420维护,并且同时受制于定期和非定期审计两者。
图5示出根据一个实施方案的环境500,其中安全代理机群506在将敏感数据转发给客户502之前从一个或多个后端服务508接收敏感数据。计算资源服务提供方504可提供安全代理机群506以使得后端服务508能够与客户502通信。后端服务508可通过网页、网站、服务调用、用户接口、命令行接口或应用程序(诸如通过一个或多个中间设备510将数据从后端服务508传达到客户502的独立应用程序或移动应用程序)与客户502通信。后端服务508可由计算资源服务提供方504或其他实体操作。例如,计算资源服务提供方504可向组织提供对由计算资源服务提供方504提供的计算资源的访问,以实现暴露给客户502的各种服务,诸如在线零售服务、网站或其他应用程序。计算资源服务提供方504可操作各种网络、计算设备、服务、应用程序或其他计算资源,并且向客户和其他实体提供对执行各种操作的访问。
如图5中所示,后端服务508可将包括敏感数据的数据引导到客户502。如上所述,敏感数据可由后端服务508加密。此外,所加密的敏感数据可由安全代理机群拦截,并且处理或以其他方式解密使得敏感数据对客户502是可访问的。安全代理机群506可包括呈现模块512和解密模块514。呈现模块512和解密模块514可以是由安全代理机群506的一个或多个处理器执行的应用程序或过程。此外,本公开中描述的各种模块和计算资源可包括物理或虚拟计算资源或它们的组合。例如,安全代理机群506可由物理主机计算机系统支持的虚拟计算机系统实例执行。
返回图5,呈现模块512可呈现包括引导到客户502的客户端设备的敏感数据的数据。例如,要呈现的数据可包括包含敏感信息的网页。呈现模块可呈现包括所加密的敏感信息的网页,并且可将所呈现的网页提供给解密模块514以用于对所加密的内容进行解密。在其他实施方案中,呈现模块512可检测所呈现的网页中的所加密的敏感数据,并且将所加密的敏感数据提供给解密模块514。解密模块可返回可由呈现模块512插入到所呈现的网页中的敏感数据的明文。在一些实施方案中,可在到达安全代理机群之前呈现网页的全部或一部分。例如,一个或多个中间设备510可包括呈现机群,其从后端服务508接收网页数据并生成可转发给安全代理机群的所呈现的网页内容。另外,中间设备510可将内容注入到被传输到安全代理机群506的数据中。
尽管在图5中将客户502示为来自后端服务508的敏感数据的端点,但是例如在服务到服务调用中,敏感数据可由安全代理机群508分配到另一服务。此外,客户502可包括各种不同的计算设备或系统。例如,客户502可包括在由客户502操作的数据中心中包括的安全存储位置。如上所述,安全代理机群506、呈现模块512和解密模块514可接收可定义各种组件的操作的配置信息。例如,配置信息可指示用于使得呈现模块能够检测所加密的数据的机制。在另一示例中,配置信息可指示供解密模块用于对所加密的敏感数据进行解密的密码算法或密钥。
后端服务508还可维护下面结合图7更详细地描述的授权数据存储。这些授权数据存储可在后端服务508内,或者可在相对于后端服务508的远程位置,并且可包括单个数据存储库或分布式数据存储库。后端服务508可维护密码密钥和/或凭证信息以访问授权数据存储。可使用各种计算设备(例如,裸机管理程序、虚拟机或虚拟化容器)来执行后端服务508。
中间设备510可包括任何数量的不可信中间计算机系统或服务,这些系统或服务对于数据的灵敏度级别是不可信的或者未被授权对敏感信息的访问。此外,中间设备510可负责将来自后端服务508的请求引导到安全代理机群506。例如,由后端服务508传输的数据可由中间设备认证并授权,然后转发到安全代理机群506。安全代理机群506可确定是否要在目的地处消费所加密的敏感数据。例如,客户端设备被授权接收敏感数据,然后安全代理机群可确定目的地能够消费敏感数据。如果数据将由目的地(例如,服务或客户设备)消费,那么敏感数据被解密。例如,敏感数据可使用私钥进行解密,所述私钥可由安全代理机群506本地存储在安全存储位置中,或者例如通过如上所述的密码密钥管理服务远程存储。在各种实施方案中,安全代理机群506将所解密的敏感数据在存储器中保持一段较短的时间间隔,诸如5-20秒。
后端服务506可生成对安全代理机群506的服务调用,包括对代理网站页面(包括小页面、桌面小程序和/或小型服务程序)的服务调用。每个后端服务可被认为是安全代理机群的租户,并且可具有租户标识符。每个租户可在安全代理机群506中具有保留且隔离的容器,所述容器可与其他租户以及由安全代理机群506(例如,操作系统)执行的任何其他过程隔离。如下面更详细描述的,操作系统中包括的具有过程隔离和强制访问控制的运行时间施行这类过程隔离。结果,安全代理机群506或组件的操作的任何机会因此可请求终止所述过程并且用新的配置信息重新供应所述过程。
每个租户容器(例如,与租户相关联的每个隔离过程)可由包括用于解密的私钥或数字包络对称密钥的配置信息、呈现格式、用于暴露的端点的地址信息(例如,公共可寻址的地址),或适用于分配安全敏感数据的其他信息来定义。当向远程设备和系统提供敏感数据时,安全代理机群506可建立受密码保护的通信信道。在一些实施方案中,安全代理机群506可重新建立或重新使用响应于客户502向后端服务508提交请求而生成的TL连接。一旦敏感数据已经由解密模块514解密并且将其传输给客户,那么可使用其他机制来保护敏感数据。例如,可用客户的公钥对要传输给客户的数据(包括解密的敏感数据)进行加密。
图6是示出根据一个实施方案的数据流602的图600。如上所述,可在安全代理机群处接收数据流602。如上所述,数据流602可从客户客户端设备或后端服务获得。可使用各种压缩算法来压缩数据流602。此外,数据流可包括加密的有效载荷606。加密的敏感数据606和数据流602可根据各种不同的格式化规则由源格式化。格式化规则可由计算资源服务提供方建立,并且可实现数据流602和数据流602中包括的信息的有效处理。
例如,后端服务生成引导到客户的HTTP响应,并且格式化HTTP响应以生成压缩数据流并将所述压缩数据流传输给客户。如上所述,响应可包括加密的敏感数据,其可根据特定格式加密,以使得安全代理机群能够处理所述请求并对所加密的敏感数据进行解密。加密的有效载荷606可具有任意长度,并且在数据流602中传输加密的有效载荷606之前可能并不知道或不能以其他方式确定。
标志或标记604可包括在数据流中以指示所加密的有效载荷606的存在。例如,在一个实施方案中,在所加密的有效载荷606之前的标志或标记604指示标志或标记604之后的数据是包括所加密的有效载荷606的敏感数据。所加密的有效载荷606之后的标志或标记604可指示所加密的有效载荷606的结束。在另选实施方案中,所加密的有效载荷606之前的标志或标记604包括所加密的有效载荷606的数据长度;以这种方式,可在不依赖于所加密的有效载荷606之后的另一个标志或标记606的情况下确定所加密的有效载荷606的结束。
根据特定格式或至少部分地基于后端服务的操作包括在所加密的有效载荷606中的其他信息包括服务类型、网站类型、时间戳、签名、密钥材料、路由信息、访问策略、认证信息、授权信息或适用于包括在所加密的有效载荷606中的任何其他信息。所加密的有效载荷的格式可由一个或多个后端服务、计算资源服务提供方、网站运营商、客户、公共标准设置委员会或任何其他实体来设置。
有效载荷606和/或数据流602可包括未经授权计算资源无法解密的元数据。在某些实施方案中,有效载荷606可能由于元数据而不可解密,但可指示各种信息,包括与用于对有效载荷606进行加密的密钥材料相关联的信息、负责对有效载荷进行加密的实体、审计信息、认证信息、或者其他这类信息。
图7示出根据一个实施方案的环境700,其中安全代理机群706从一个或多个暴露的端点702接收敏感数据,并且在将敏感数据传输到一个或多个后端服务708的一个或多个授权数据存储库718之前对敏感数据进行加密。如上所述,计算资源服务提供方可提供安全代理机群706以使得后端服务708能够通过暴露的端点702与客户通信。暴露的端点702可包括网络的公共可寻址资源,其通过网页、网站、服务调用、用户接口、命令行接口或应用程序(例如独立应用程序或移动应用程序)实现通信。例如,暴露的端点702可包括地址“secure.example.com”。
后端服务708和授权数据存储库718可由计算资源服务提供方704或其他实体操作。例如,计算资源服务提供方704可向组织提供对由计算资源服务提供方704提供的计算资源的访问,以实现暴露给客户的各种服务,诸如安全存储服务。计算资源服务提供方704还可操作各种网络、计算设备、服务、应用程序或其他计算资源,并且向客户和其他实体提供对执行各种操作的访问。授权数据存储库718可包括各种存储资源,并且可由诸如按需存储服务或块级存储服务的一个或多个服务来实现。此外,授权数据存储库718可提供安全存储位置以保存敏感数据。
如图7中所示,安全代理机群706可实现操作系统710。此外,操作系统710可提供多个隔离的执行环境712。操作系统710可以是支持隔离和/或安全执行的操作系统,诸如安全执行Linux(RTM)。例如,操作系统710包括内核级应用程序,其控制过程并防止未授权过程的通信和操作。这些操作系统可阻止对在隔离执行环境712中执行的过程的访问。安全代理机群可执行TLS终止器,由此获得并解密传输到暴露的端点702的HTTPS请求。
此外,安全代理机群706或由操作系统710执行的其他过程可使用代理714向隔离执行环境712传输请求。操作系统710可提供代理714,使得过程可以受保护的方式与隔离的执行环境712通信。例如,代理714可包括UNIX(RTM)域套接字,其将来自由诸如TLS终止器的操作系统710执行的过程的数据传输到隔离执行环境712中。在各种实施方案中,检测模块、加密模块、呈现模块、解密模块或本公开中描述的其他过程在操作系统710的隔离执行环境712内执行。
返回图7,后端服务708可验证对后端服务708的请求和/或调用被相互认证并被授权。调用后端服务708的每个计算机系统可通过名称、地址、类型和/或所请求的有效载荷格式来识别。当接收敏感数据时,安全代理机群706从高速缓存或永久存储器获得用于后端服务708的加密密钥,并且根据有效载荷格式构建有效载荷。此格式信息可包括在用于在隔离执行环境中供应过程的配置信息中。此外,配置和/或格式信息可包括指示目的地系统的标头格式的信息和关于如何处理要传输到后端服务708的敏感数据的其他信息。通过暴露的端点702获得的请求可直接地或通过API寻址后端服务708。如果适当地认证并授权,那么在网站或其他服务的情况下后端服务708可将数据返回给请求系统,或者如果如此识别并授权,那么返回到客户端计算服务。
图8示出根据一个实施方案的环境800,其中与内容分发网络816集成的安全代理806从客户802接收敏感数据,并且在将敏感数据传输到一个或多个后端服务808之前对敏感数据进行加密。内容分发网络816可提供安全代理806,以使得由如上所述的计算资源服务提供方实现的后端服务808能够与客户802通信。后端服务808可由计算资源服务提供方或其他实体操作。例如,计算资源服务提供方可向组织提供对由计算资源服务提供方提供的计算资源的访问,以实现暴露给客户的各种服务,诸如安全流媒体服务。计算资源服务提供方还可操作各种网络、计算设备、服务、应用程序或其他计算资源,并且向客户和其他实体提供对执行各种操作的访问。
如图8中所示,一个或多个网络810可包括由各种实体实现的各种不同网络。例如,一个或多个网络810可包括作为可公共寻址网络(诸如互联网)的一部分的网络主干或其他网络结构。如下面更详细描述的,网络810可包括公共网络、专用网络、内容分发网络和可由不同实体和/或服务实现的其他网络,并且可施行不同的安全策略并且可由不同的实体和/或服务访问。
内容分发网络816可用于从地理邻近性和/或网络接近度性(例如,网络跳数)方面更靠近客户802的网络位置缓存高速内容并将其提供给客户802。客户802可从后端服务808请求内容,所述后端服务可在可维护所有可用内容的数据中心内执行。另一方面,内容设备网络816可存储或缓存更靠近客户802的可用内容的一部分以缩短延迟。延迟可以往返时间(RTT)测量,因此频繁增加的请求可降低网络成本并提供更好的客户802体验,从而提供更接近客户的内容。
内容分发网络816可使用连接终止器804来建立并终止会话。可建立从客户802到网络边缘设备(例如,存在点(POP)设备)的连接。在各种实施方案中,在网络边缘设备与客户802之间传输的内容和/或请求可通过受密码保护的通信信道(诸如TLS或SSL)传输。网络边缘设备与客户802可相互认证。此外,受密码保护的连接通信信道(诸如TLS连接)可以是长期会话。
内容分发网络816可由不同于客户802和计算资源服务提供方的实体来操作。连接终止器804可从客户802获得请求并如上所述对所述请求进行解密。这可能会暴露可包含敏感数据的请求的明文表示。连接终止器804和安全代理806可在支持如上所述的隔离执行环境的操作系统中执行。此外,安全代理806可包括如上所述的数据保护模块。在各种实施方案中,连接终端804对来自客户的请求进行解密并将所述请求提供给安全代理806。
如上所述,数据保护模块可在将请求传输到后端服务808之前检测敏感数据并对敏感数据进行加密。此外,计算资源服务提供方或其服务(诸如密码密钥服务)可将密钥材料提供给安全代理806。如上所述,可使用密钥材料来对敏感数据进行加密和解密。另外,密钥材料可独立于从连接终止器804获得请求的安全代理806发送。为了使安全代理806能够检测敏感数据,所述请求可以是结构化格式,诸如HTTP POST、多部分POST、JSON、XML或包括可被检测到并指示所有者的令牌或字段的其他格式。然后,数据保护模块可至少部分地基于指示数据所有者的信息来加密或解密。例如,使用数据的公钥对数据进行加密或使用所有者的私钥对用于对数据进行加密的对称密钥进行加密,以及将所加密的对称密钥发送给所有者。
内容分发网络816可包括执行运行时间具有过程隔离和强制访问控制的操作系统的一个或多个服务器机架,以施行敏感数据的安全性和保护。在其他实施方案中,内容分发网络816可由在内容分发网络环境中执行的虚拟主机执行,其中每个裸机服务器仅专用于单个实体。另外,通过在硬件层(例如,专用机架和/或专用主机)处的充分隔离,可在容器实例中执行安全代理806。
图9示出根据一个实施方案的环境900,其中与内容分发网络916连接的安全代理906从客户902接收敏感数据,并且在将敏感数据传输到一个或多个后端服务908之前对敏感数据进行加密。内容分发网络916与安全代理906建立连接,以使得由如上所述的计算资源服务提供方实现的后端服务908与客户902通信。后端服务908可由计算资源服务提供方或其他实体操作。例如,计算资源服务提供方可向组织提供对由计算资源服务提供方提供的计算资源的访问,以实现暴露给客户的各种服务,诸如安全流媒体服务。计算资源服务提供方还可操作各种网络、计算设备、服务、应用程序或其他计算资源,并且向客户和其他实体提供对执行各种操作的访问。
如图9中所示,一个或多个网络910可包括由各种实体实现的各种不同网络。例如,一个或多个网络910可包括作为可公共寻址网络(诸如互联网)的一部分的网络主干或其他网络结构。如下面更详细描述的,网络910可包括公共网络、专用网络、内容分发网络和可由不同实体和/或服务实现的其他网络,并且可施行不同的安全策略并且可由不同的实体和/或服务访问。
内容分发网络916可用于从地理邻近性和/或网络接近度性(例如,网络跳数)方面更靠近客户902的网络位置缓存高速内容并将其提供给客户902。客户902可从后端服务908请求内容,所述后端服务可在可维护所有可用内容的数据中心内执行。另一方面,内容设备网络916可存储或缓存更靠近客户902的可用内容的一部分以缩短延迟。延迟可以往返时间(RTT)测量,因此频繁增加的请求可降低网络成本并提供更好的客户902体验,从而提供更接近客户的内容。
内容分发网络916可使用连接终止器904来建立并终止会话。可建立从客户902到网络边缘设备(例如,存在点(POP)设备)的连接。在各种实施方案中,在网络边缘设备与客户902之间传输的内容和/或请求可通过受密码保护的通信信道(诸如TLS或SSL)传输。网络边缘设备与客户902可相互认证。此外,受密码保护的连接通信信道(诸如TLS连接)可以是长期会话。如图9所示,连接终止器904还可与安全代理906建立连接。安全代理906可由计算资源服务提供方执行,并且可连接到与内容分发网络916不同的网络。
内容分发网络916可由不同于客户902和计算资源服务提供方的实体来操作。连接终止器904可从客户902获得请求并如上所述对所述请求进行解密。这可能会暴露可包含敏感数据的请求的明文表示。然后,连接终止器904可对请求进行加密,并通过受密码保护的通信信道将所述请求传输到安全代理906。例如,连接终止器904可与安全代理906建立长期TLS连接。这样一来,当在连接终止器904与安全代理906之间传输数据时不再需要重新协商密钥材料。在这类实施方案中,为简单起见,安全代理可执行图9中未示出的其自己的TLS终止器。此外,安全代理906可包括如上所述的数据保护模块。在各种实施方案中,连接终端904对来自客户的请求进行解密并将所述请求提供给安全代理906。
如上所述,数据保护模块可在将请求传输到后端服务908之前检测敏感数据并对敏感数据进行加密。此外,计算资源服务提供方或其服务(诸如密码密钥服务)可将密钥材料提供给安全代理906。如上所述,可使用密钥材料来对敏感数据进行加密和解密。另外,密钥材料可独立于从连接终止器904获得请求的安全代理906发送。为了使安全代理906能够检测敏感数据,所述请求可以是结构化格式,诸如HTTP POST、多部分POST、JSON、XML或包括可被检测到并指示所有者的令牌或字段的其他格式。然后,数据保护模块可至少部分地基于指示数据所有者的信息来加密或被解密。例如,使用数据的公钥对数据进行加密或使用所有者的私钥对用于对数据进行加密的对称密钥进行加密,以及将加密的对称密钥发送给所有者。
在图9所示的环境中,用于保护敏感数据的过程可与上述过程相同,其中在内容分发网络916与安全代理906之间添加了额外的网络跳点。在一些实施方案中,内容分发网络包括如上结合图8所述的安全代理906。在这些实施方案中,对于给定请求,内容分发网络或其过程可确定是否在内容分发网络916内执行的安全代理处处理请求,或者将用于处理的请求转发到由计算资源服务提供方执行的安全代理906。
例如,如果内容分发网络916对敏感数据进行加密,那么内容分发网络916可添加标志,所述标志通知下游数据保护模块敏感数据受到保护并且数据可被忽略。内容分发网络916可在暴露是不可接受的情况下确定对敏感数据进行加密。在另一示例中,内容分发网络916可基于与敏感数据相关联的数据类型来确定对敏感数据进行加密。因此,对于指示为较不敏感的数据类型的数据,内容分发网络916可将包括敏感数据的请求转发到安全代理906以供保护。通过使用上述机制中的任一种,可由内容分发网络916来执行对敏感数据的加密。
此外,内容分发网络916还可用于向客户902提供数据。当向客户提供所加密的敏感数据时,内容分发网络916可解析请求,对敏感数据进行解密,用如上所述的所解密的敏感数据替换所加密的敏感数据。然而,在内容分发网络916的情况下,数据可包括在非结构化格式或数据流中。数据中包括的标志或其他标记可用于指示敏感数据、是否对敏感数据进行解密、是否忽略敏感数据、是否在内容分发网络916处或在计算资源服务提供方环境内部对敏感数据进行解密或如何处理敏感数据的任何其他指示。
图10是示出根据一个实施方案的用于保护引导到后端服务的敏感数据的过程1000的示例的框图。过程1000可由任何合适的系统(诸如上文结合图3所述的安全代理机群)执行。过程1000(或所描述的任何其他过程、或这些过程的变体和/或组合)中的一些或全部可在包括可执行指令和/或其他数据的一个或多个计算机系统的控制下执行,并且可实现为在一个或多个处理器上共同执行的可执行指令。可执行指令和/或其他数据可存储在非暂时性计算机可读存储介质上(例如,永久存储在磁的、光学的或闪存介质上的计算机程序)。
过程1000包括接收对受密码保护的传输的请求1002。受密码保护的传输可包括对数据进行加密以通过诸如TLS或SSL的不安全网络传输数据的各种方法。另外,所述请求可由客户端设备执行的应用程序响应于客户与应用程序的交互而生成。例如,客户可使用网络浏览器导航到特定网页。所述请求可在安全代理机群或其组件(诸如如上所述的连接终止器)处被接收。然后,安全代理机群或连接终止器可建立受密码保护的传输1004。可至少部分地基于如上所述的算法协议来建立受密码保护的传输。
一旦建立了受密码保护的传输,安全代理机群就可通过受密码保护的传输接收数据1006。数据可包括请求、服务调用、格式化和非格式化的数据(例如,数据流)或可由客户提交给后端服务的任何其他信息。然后,连接终止器可对数据进行解密1008。例如,如果数据包括HTTPS请求,那么连接终止器可对所加密的数据进行解密并生成HTTP请求。然后,安全代理机群或其组件(诸如路由组件)可至少部分地基于所解密的数据来确定端点和路由信息1010。端点和路由信息可指示特定后端服务和网络路径以引导数据。此外,此信息可用于确定用于处理数据的安全代理机群的特定数据保护模块。如上所述,安全代理机群和/或数据保护模块可被配置用于单个租户(例如,后端服务的单个后端服务或暴露的端点),并且因此可仅处理引导到单个租户的请求。
返回图10,执行过程1000的系统然后可将数据提供给数据保护模块1012。所解密的数据可通过安全信道流传输或以其他方式提供给数据保护模块。例如,安全代理机群可通过UNIX(RTM)域套接字将所解密的数据提供给数据保护模块。数据保护模块可接收数据并选择数据的配置选项1014。可至少部分地基于上述配置信息来选择配置选项。例如,数据保护模块可选择数据的格式(诸如请求格式)以及用于对敏感数据进行加密的加密密钥。
然后,数据保护模块可至少部分地基于配置操作来对数据进行加密1016。数据保护模块可仅对由配置选项指示的敏感数据进行加密。如上所述,数据保护模块可使用密码密钥服务来执行加密工作流的各种操作。然后,安全代理机群可通过一个或多个中间设备将所加密的数据传输到端点1018。中间设备可包括如上所述的各种网络和计算机系统。此外,可将所加密的数据插入到针对后端服务的请求中,并将其传输到与后端服务相关联的端点。
需注意,在1002-1018中执行的操作中的一个或多个可以各种顺序和组合执行,包括并行执行。例如,在一些实施方案中,可省略操作1002-1008,并且安全代理可仅从客户端设备接收明文数据。此外,在一些实现方式中,安全代理机群可维护多个数据保护模块和/或多个代理;在这种情况下,过程1000的多个实例可在安全代理机群处并行执行。
图11是示出根据一个实施方案的用于保护从后端服务引导到客户端设备的敏感数据的过程1100的示例的框图。过程1100可由任何合适的系统(诸如上文结合图5所述的安全代理机群)执行。过程1100(或所描述的任何其他过程、或这些过程的变体和/或组合)中的一些或全部可在包括可执行指令和/或其他数据的一个或多个计算机系统的控制下执行,并且可实现为在一个或多个处理器上共同执行的可执行指令。可执行指令和/或其他数据可存储在非暂时性计算机可读存储介质上(例如,永久存储在磁的、光学的或闪存介质上的计算机程序)。
过程1100包括:接收对数据的请求1102。可从由客户操作的客户端设备、计算资源服务提供方的另一服务或第三方接收请求。例如,客户可请求访问第一服务,所述第一服务又可向后端服务请求将敏感数据包括在第一服务对客户的响应中。然后,后端服务可确定数据是敏感数据1104。后端服务可至少部分地基于与数据相关联的类别或类型来确定数据是敏感的。结果,后端服务可对敏感数据进行加密1106。如上所述,可使用任何数量的加密算法和标准来保护敏感数据。例如,后端服务可使用数字包络加密来保护用于对敏感数据进行加密的加密密钥。
然后,后端服务可将包括所加密的数据的数据流传输到端点1108。数据流可由安全代理机群引导、重新引导和/或拦截。另外,如上所述的一个或多个中间设备可获得并修改数据流。例如,呈现机群可获得数据流并且至少部分地基于数据流中包括的数据来生成HTML。然后,安全代理机群可接收数据流1110。安全代理机群可与内容分发网络集成,或者可使用计算资源服务提供方的计算资源来执行。
然后,安全代理机群可检测所加密的数据1112。如上所述,可至少部分地基于包括在数据流中的标志或标记来检测所加密的数据。然后,安全代理机群或其组件(诸如呈现模块)可呈现数据流1114。呈现数据流可包括用于处理并组织供客户端设备消费的数据的任何数量的操作。例如,呈现数据可包括从数据中移除任何可执行代码。然后,安全代理机群或其组件(诸如解密模块)可对数据进行解密116。可使用加密密钥对数据进行解密,所述加密密钥可存储在安全代理机群的存储器中或者从如上所述的密码密钥服务获得。
然后,安全代理机群可将所解密的数据插入到所呈现的数据流中1118。所呈现的数据流可包括被组织以供特定客户端设备消费并且引导到特定客户端设备的数据。例如,所呈现的数据流可包括来自客户的网页内容请求。插入所解密的数据可包括用所呈现的数据流中的所解密的数据覆写所加密的数据。然后,安全代理机群可将所呈现的数据流传输到端点1120。例如,安全代理机群可使用与客户相关联的IP地址通过互联网将所呈现的数据机群传输给客户。
需注意,在1102-1120中执行的操作中的一个或多个可以各种顺序和组合执行,包括并行执行。例如,在一些实施方案中,可省略操作1102-1108,并且安全代理可仅接收所加密的数据。此外,在一些实现方式中,安全代理机群可维护多个数据保护模块和/或多个代理;在这种情况下,过程1000的多个实例可在安全代理机群处并行执行。
图12是示出根据一个实施方案的用于通过数据保护模块保护敏感数据的过程1200的示例的框图。过程1200可由任何合适的系统(诸如由上文结合图3所述的数据保护模块)执行。过程1200(或所描述的任何其他过程、或这些过程的变体和/或组合)中的一些或全部可在包括可执行指令和/或其他数据的一个或多个计算机系统的控制下执行,并且可实现为在一个或多个处理器上共同执行的可执行指令。可执行指令和/或其他数据可存储在非暂时性计算机可读存储介质上(例如,永久存储在磁的、光学的或闪存介质上的计算机程序)。
过程1200包括获得配置信息1202。配置信息可如上所述从后端服务获得,并且可包含适用于保护敏感数据并且与后端服务通信的信息。例如,配置信息可包括后端服务的公钥和与后端服务相关联的请求格式。然后,数据保护模块可从连接终止器接收包括明文数据的请求1204。如上所述,所述请求可从安全代理机群或边缘网络设备转发或以其他方式提供。所述请求可包括具有HTTP请求或服务请求的任意数量的请求。
然后,数据保护模块可确定所述请求是否包括敏感数据1206。数据保护模块可至少部分地基于配置信息来检测敏感数据,并且可由如上所述的标志或数据类型指示。如果请求不包括敏感数据,那么数据保护模块或安全代理机群可将请求传输到端点1208。然而,如果数据保护模块检测到敏感数据,那么数据保护模块可将敏感数据提供给加密模块1210。加密模块可以是由安全代理机群执行的单独过程,如上所述。加密模块还可与密码密钥服务交互以对敏感数据进行加密。
然后,数据保护模块可从加密模块接收加密的敏感数据1212。然后,数据保护模块可格式化对后端服务的请求1214。可至少部分地基于配置信息来格式化所述请求。一旦请求被格式化,数据保护模块就可使用所加密的敏感数据替换明文敏感数据1216。这可在修改的请求中请求。然后,数据保护模块可将请求传输到与后端服务相关联的端点1218。
需注意,在1202-1218中执行的操作中的一个或多个可以各种顺序和组合执行,包括并行执行。例如,在一些实施方案中,可省略操作1202-1206,并且数据保护模块可仅对提供给数据保护模块的所有数据进行加密。此外,在一些实现方式中,安全代理机群可维护数据保护模块和/或多个代理;在这种情况下,过程1200的多个实例可在安全代理机群处并行执行。
图13是示出根据一个实施方案的用于对安全代理机群执行密钥管理的过程1300的示例的框图。过程1000可由人任何合适的系统(诸如上文结合图4所述的密码密钥管理服务)执行。过程1300(或所描述的任何其他过程、或这些过程的变体和/或组合)中的一些或全部可在包括可执行指令和/或其他数据的一个或多个计算机系统的控制下执行,并且可实现为在一个或多个处理器上共同执行的可执行指令。可执行指令和/或其他数据可存储在非暂时性计算机可读存储介质上(例如,永久存储在磁的、光学的或闪存介质上的计算机程序)。
过程1300包括接收密钥材料1302。如上所述,密码密钥管理服务可执行安全代理机群上的内核级应用程序,所述内核级应用程序可周期性地或非周期性地接收密钥材料。然后,密码密钥管理服务可接收对敏感数据进行加密的请求1304。所述请求可从如上所述的数据保护模块或加密模块获得。然后,密码密钥管理服务可使用对称密钥对敏感数据进行加密1306。对称密钥可由执行过程1300的系统生成,或者可从密钥材料获得。
此外,密码密钥管理服务可生成验证信息1308。验证信息可包括如上所述的时间戳或签名。然后,密码密钥管理服务可确定端点密钥信息1310。端点密钥信息可包括元数据或指示与端点相关联的特定密码密钥(诸如公钥)的其他信息。然后,密码密钥管理服务可用端点密钥对对称密钥进行加密1312。例如,密码密钥管理服务可用仅可由端点访问的密钥来对对称密钥进行加密。
然后,密码密钥管理服务可返回所加密的数据1314。所加密的数据可返回到数据保护模块或安全代理机群的其他组件。另外,所加密的数据可包括所加密的敏感数据、所加密的对称密钥和验证信息。需注意,在1302-1314中执行的操作中的一个或多个可以各种顺序和组合执行,包括并行执行。例如,在一些实施方案中,可省略操作1308,并且密码密钥管理服务可仅对敏感数据进行加密而不生成验证信息。
图14示出根据各种实施方案的用于实现各方面的示例性环境1400的各方面。如将会知道的,尽管出于解释目的使用基于web的环境,但是可视情况使用不同环境来实现各种实施方案。环境包括电子客户端设备1402,其可包括可操作来通过适当的网络1404发送和/或接收请求、消息或信息,并且在一些实施方案中将信息传送回设备的用户的任何适当的设备。这类客户端设备的示例包括个人计算机、手机、手持式消息传送设备、膝上型电脑、平板电脑、机顶盒、个人数据助理、嵌入式计算机系统、电子书阅读器等。网络可包括任何适当的网络,包括内联网、互联网、蜂窝网、局域网、卫星网络,或任何其他这类网络和/或上述网络的组合。用于这种系统的组件可至少部分地取决于所选择的网络和/或环境的类型。用于经由这种网络通信的许多协议和组件是众所周知的,并且本文将不详细讨论。通过网络进行的通信可通过有线或无线连接以及它们的组合来实现。在这个示例中,网络包括因特网和/或其他公共可寻址通信网络,因为环境包括用于接收请求并且响应于所述请求而提供内容的web服务器1406,但是对于其他网络来说,可使用服务类似目的的替代设备,如对本领域普通技术人员是显而易见的。
例示性环境包括至少一个应用服务器1408和一个数据存储库1410。应当理解,可存在可链接起来或以其他方式来配置的若干应用服务器、层或其他元件、过程或组件,它们可交互以执行诸如从适当的数据存储库获得数据的任务。如本文所使用的服务器可用各种方式来实现,诸如硬件设备或虚拟计算机系统。在一些上下文中,服务器可指在计算机系统上执行的编程模块。如本文所使用的,除非另行说明或从上下文清楚地看出,否则术语“数据存储库”是指能够存储、访问和检索数据的任何设备或设备组合,其可包括任何标准、分布式、虚拟或集群式环境中的任何组合和任何数目的数据服务器、数据库、数据存储设备和数据存储介质。应用服务器可包括任何适当的硬件、软件和固件,所述硬件、软件和固件用于视执行客户端设备的一个或多个应用程序的各方面的需要而与数据存储库集成,从而处置应用程序的一些或所有的数据访问和业务逻辑。应用服务器可与数据存储库协作提供访问控制服务,并且能够生成可用于向用户提供的内容,包括但不限于文本、图形、音频、视频和/或其他内容,所述内容可由web服务器以超文本标记语言(“HTML”)、可扩展标记语言(“XML”)、JavaScript、级联样式表(“CSS”)、JavaScript对象符号(JSON)和/或另一种适当的客户端侧结构化语言的形式向用户提供。传递到客户端设备的内容可由客户端设备处理,以便以一种或多种形式提供内容,所述形式包括但不限于用户可通过听觉、视觉和/或通过其他感觉来感知的形式。所有请求和响应的处置以及客户端设备1402与应用服务器1408之间的内容递送可由web服务器使用PHP:超文本预处理器(“PHP”)、Python、Ruby、Perl、Java、HTML、XML、JSON和/或在此示例中的其他适当的服务器端结构化语言来处置。此外,除非从上下文清楚地看出,否则如由单个设备执行的本文所描述的操作可由可形成分布式和/或虚拟系统的多个设备共同执行。
数据存储库1410可包括用于存储与本公开的特定方面相关的数据的若干单独数据表、数据库、数据文档、动态数据存储方案和/或其他数据存储机构和介质。例如,所例示数据存储库可包括用于存储可用于提供用于生产侧的内容的生产数据1412和用户信息1416的机构。数据存储库还被示出为包括用于存储可用于报告、分析或其他这类目的的日志数据1414的机构。应理解,可能存在可能需要存储在数据存储库中的许多其他方面,诸如页面图像信息和访问权限信息,所述方面可视情况存储在上文列出的机构中的任何机构中或存储在数据存储库1410中的另外的机构中。数据存储库1410可通过与其相关联的逻辑来操作,以便从应用服务器1408接收指令,并且响应于所述指令获得数据、更新数据或以其他方式处理数据。应用服务器1408可响应于所接收指令而提供静态数据、动态数据或静态数据和动态数据的组合。动态数据(如web日志(博客)、购物应用程序、新闻服务和其他这类应用程序中使用的数据)可由如本文所描述的服务器侧结构化语言生成,或可由在应用服务器上操作或在其控制下的内容管理系统(“CMS”)提供。在一个实施例中,用户可通过由用户操作的设备提交对某种类型的项目的搜索请求。在这种情况下,数据存储库可访问用户信息来验证用户的身份,并且可访问目录详细信息以获得有关所述类型的项目的信息。接着可将信息以诸如网页上的结果列表的形式返回给用户,用户能够经由用户设备1402上的浏览器来查看所述网页。可在专用浏览器页面或窗口中查看感兴趣的特定项目的信息。然而,应注意,本公开的实施方案未必局限于网页的上下文,而可更一般地应用于处理一般请求,其中所述请求未必是对上下文的请求。
每个服务器通常将包括提供针对所述服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),所述指令在由服务器的处理器执行时(即,作为由处理器执行的结果),允许服务器执行其预期功能。
在一个实施方案中,环境是分布式和/或虚拟计算环境,所述环境利用经由通信链路、使用一个或多个计算机网络或直接连接来互连的若干计算机系统和部件。但是,本领域普通技术人员应当理解,这种系统能够在具有比图14所示更少或更多部件的系统中同样顺利地操作。因此,图14中的系统1400的描绘本质上应视为例示性的,并且不限制本公开的范围。
还可在广泛多种操作环境中实现各种实施方案,所述操作环境在一些情况下可包括一个或多个用户计算机、计算设备或者可用于操作多个应用程序中的任一个的处理设备。用户或客户端设备可包括若干计算机中的任一种,所述若干计算机如运行标准操作系统的台式机、膝上型电脑或平板电脑以及运行移动软件并且能够支持若干联网协议和消息传送协议的蜂窝设备、无线设备和手持设备。这种系统也可包括多个工作站,所述工作站运行多种可商购获得的操作系统和用于诸如开发和数据库管理目的的其他已知应用程序中的任一种。这些设备也可包括其他电子设备,诸如假终端、瘦客户端、游戏系统和能够经由网络进行通信的其他设备。这些设备还可包括虚拟设备,如虚拟机、管理程序和能够通过网络通信的其他虚拟设备。
本公开的各种实施方案利用本领域技术人员可能熟悉的至少一种网络来支持使用多种可商购得的协议中的任一种进行通信,所述协议如传输控制协议/因特网协议(“TCP/IP”)、用户数据报协议(“UDP”)、在开放系统互连(“OSI”)模型的各个层中操作的协议、文件传输协议(“FTP”)、通用即插即用(“UpnP”)、网络文件系统(“NFS”)、公共因特网文件系统(“CIFS”)以及AppleTalk。网络可以是例如局域网、广域网、虚拟私有网、互联网、内联网、外联网、公共交换电话网、红外网、无线网、卫星网络以及上述网络的任何组合。在一些实施方案中,可使用面向连接的协议来在网络端点之间通信。面向连接的协议(有时称为基于连接的协议)能够以有序流传输数据。面向连接的协议可以是可靠的或不可靠的。例如,TCP协议是可靠的面向连接的协议。异步传输模式(“ATM”)和帧中继是不可靠的面向连接的协议。面向连接的协议与面向分组的协议(诸如UDP)不同,面向分组的协议在不保证排序的情况下传输分组。
在利用web服务器的实施方案中,web服务器可运行多种服务器或中间层级应用程序中的任一种,包括超文本传输协议(“HTTP”)服务器、FTP服务器、通用网关接口(“CGI”)服务器、数据服务器、Java服务器、Apache服务器和业务应用服务器。一个或多个服务器还可能能够响应于来自用户设备的请求而执行程序或脚本,诸如通过执行一个或多个可实现为一个或多个以任何编程语言(诸如C、C#或C++)或任何脚本语言(诸如Ruby、PHP、Perl、Python或TCL)及其组合编写的脚本或程序的web应用程序。服务器还可包括数据库服务器,包括但不限于可从商购获得的服务器、以及开源服务器(诸如MySQL、Postgres、SQLite、MongoDB),以及能够存储、检索和访问结构化或非结构化数据的任何其他服务器。数据库服务器可包括基于表的服务器、基于文档的服务器、非结构化服务器、关系服务器、非关系服务器或这些和/或其他数据库服务器的组合。
环境可包括如上文所论述的多种数据存储库以及其他存储器和存储介质。这些可驻留在多个位置中,诸如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或远离网络上的计算机中的任一个或全部。在一组特定实施方案中,信息可驻留在本领域的技术人员熟悉的存储区域网(“SAN”)中。类似地,用于执行属于计算机、服务器或其他网络设备的功能的任何必要文件在适当的情况下本地存储或远程存储。在系统包括计算机化设备的情况下,每个这种设备可包括可通过总线电联接的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”或“处理器”)、至少一个输入设备(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出设备(例如,显示设备、打印机或扬声器)。这种系统还可包括一个或多个存储设备,如硬盘驱动器、光存储设备和诸如随机访问存储器(“RAM”)或只读存储器(“ROM”)的固态存储设备、以及可移除介质设备、存储卡、闪存卡等。
此类设备还可包括计算机可读存储介质读取器、通信设备(例如,调制解调器、网卡(无线或有线)、红外线通信设备等)和如上所述的工作存储器。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,所述计算机可读存储介质表示远程、本地、固定和/或可移动存储设备以及用于临时和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种设备通常也将包括多个软件应用程序、模块、服务器或位于至少一个工作存储器设备内的其他元件,包括操作系统和应用程序,诸如客户端应用程序或web浏览器。此外,也可使用定制硬件,和/或特定元件可以硬件、软件(包括便携式软件,诸如小程序)或两者来实施。此外,可采用与其他计算设备诸如网络输入/输出设备的连接。
用于包含代码或部分代码的存储介质和计算机可读介质可包括本领域已知或已使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质,包括RAM、ROM、电可擦除可编程只读存储器(“EEPROM”)、闪存或其他存储器技术、光盘只读存储器(“CD-ROM”)、数字通用光盘(DVD)或其他光学存储设备、磁盒、磁带、磁盘存储设备或其他磁性存储设备,或可用于存储所需信息且可由系统设备访问的任何其他介质。基于本文所提供的公开和教导内容,本领域普通技术人员将了解实现各种实施方案的其他方式和/或方法。
因此,应当以例示性意义而不是限制性意义来理解本说明书和附图。然而,将显而易见的是,在不脱离如权利要求中所阐述的本发明的更宽广精神和范围的情况下,可对其做出各种修改和改变。
如上所述,可使用许多密码技术。许多变型利用对称和/或不对称密码原语。对称密钥算法可包括用于执行关于数据的密码操作的各种方案,包括分组密码、流密码以及数字签名方案。示例性对称密钥算法包括高级加密标准(AES)、数据加密标准(DES)、三重DES(3DES)、Serpent、Twofish、blowfish、CAST5、RC4以及国际数据加密算法(IDEA)。对称密钥算法还可包括用来生成单向函数的输出的那些算法,并且包括利用基于散列的消息认证码(HMAC)、通用消息认证码(MAC)、PBKDF2以及Bcrypt的算法。对称密钥算法还可包括用于对数据执行密码操作的各种方案。示例性算法包括利用Diffie–Hellman密钥交换协议、数字签名标准(DSS)、数字签名算法、ElGamal算法、椭圆曲线算法、密码认证的密钥协商技术、pallier密码系统、RSA加密算法(PKCS#1)、Cramer-Shoup密码系统、YAK认证的密钥协商协议、NTRUEncrypt密码系统、McEliece密码系统的算法以及其他算法。椭圆曲线算法包括椭圆曲线Diffie–Hellman(ECDH)密钥协商方案、椭圆曲线集成加密方案(ECIES)、椭圆曲线数字签名算法(ECDSA)、ECMQV密钥协商方案以及ECQV隐式证书方案。其他算法和算法的组合也被视为是在本公开的范围内并且上述内容不意图是详尽列表。其他示例性密码算法包括分组密码和利用初始化向量的各种模式,诸如密码块链接(CBC)模式、传播密码块链接(PCBC)模式、密码反馈模式(CFB)、输出反馈(OFB)模式、计数器(CTR)模式和其他模式,诸如经过身份认证的加密模式,诸如扩展密文块链接(XCBC)模式,完整性感知CBC(IACBC)模式、完整性感知并行化(IAPM)模式、偏移码本(OCB)模式、EAX和EAX Prime模式、Carter-Wegman+CTR(CWC)模式、具有CBC-MAC(CCM)模式的计数器、Galois/Counter(GCM)模式。一般来说,本公开的实施方案可以使用各种协议来建立加密的通信会话,所述各种协议如SSL或TLS协议和所述协议的扩展,诸如在以引用方式并入本文的请求注解(RFC)2246、RFC 2595、RFC2712、RFC 2817、RFC 2818、RFC 3207、RFC 3268、RFC 3546、RFC 3749、RFC 3943、RFC 4132、RFC 4162、RFC 4217、RFC 4279、RFC 4347、RFC 4366、RFC 4492、RFC 4680、RFC 4681、RFC4785、RFC 5054、RFC 5077、RFC 5081、RFC 5238、RFC 5246、RFC 5288、RFC 5289、RFC 5746、RFC 5764、RFC 5878、RFC 5932、RFC 6083、RFC 6066、RFC 6091、RFC 6176、RFC 6209、RFC6347、RFC 6367、RFC 6460、RFC 6655、RFC 7027和RFC 7366中所定义。以下实现开放系统互连(OSI)模型的应用层的其他协议也可以使用且/或适于利用本文所描述的技术。应注意,本文所描述的技术可适于其他协议,如实时消息传送协议(RTMP)、点对点隧道协议(PPTP),第2层隧道协议、各种虚拟私有网络(VPN)协议、因特网协议安全(例如,如在RFC 1825至1829、RFC 2401、RFC 2412、RFC 4301、RFC 4309和RFC 4303中所定义),以及其他协议,如用于包括握手的安全通信的协议。
本公开的实施方案可根据以下条款来描述:
1.一种计算机实现的方法,其包括:
与客户建立受密码保护的通信会话;
从所述客户并且通过所述受密码保护的通信会话接收通信中的要被引导到后端服务端点的数据对象;
至少部分地基于能够检测敏感数据的配置信息来确定所述数据对象的一部分包括敏感数据;
对所述部分数据对象进行加密以产生所加密的部分;
更新所述数据对象以包括所述所加密的部分,从而产生所修改的数据对象;
生成对包括所述所修改的数据对象的所述后端服务端点的请求,所述请求包括指示所述敏感数据已经受保护的信息;以及
将所述请求传输到所述后端服务端点。
2.如条款1所述的计算机实现的方法,其中所述计算机实现的方法还包括:
通过所述受密码保护的通信会话接收第二数据对象;
确定所述第二数据对象不包括敏感数据;以及
将第二请求传输到包括所述第二数据对象的所述后端服务端点。
3.如条款1或2所述的计算机实现的方法,其中所述计算机实现的方法在包括限制过程与其他资源之间的交互的内核模块的安全环境内执行。
4.如条款1至3中任一项所述的计算机实现的方法,其中所述计算机实现的方法还包括:接收指示要被确定为敏感的数据的配置信息、用于对被确定为敏感的数据进行加密的加密信息以及与所述后端服务相关联的加密密钥。
5.一种系统,其包括:
实现一个或多个服务的至少一个计算设备,其中所述一个或多个服务:
通过受密码保护的通信会话接收被引导朝向目的地的一组数据对象;
至少部分地基于配置信息来确定所述一组数据对象的子组数据对象包括敏感数据,所述配置信息使得能够至少部分地基于与所述敏感数据相关联的类型来检测敏感数据并且指示端点传输所述敏感数据;
混淆所述子组数据对象以生成一组所加密的数据对象,所述所加密的数据对象可由与所述端点相关联的后端服务解密,所述密码密钥由所述后端服务指定;
修改所述一组数据对象以包括所述一组所加密的数据对象,从而生成一组所修改的数据对象;以及
将所述一组所修改的数据对象传输到端点。
6.如条款5所述的系统,其中生成所述一组所加密的数据对象还包括根据对称加密算法用所述密码密钥对所述子组数据对象进行加密。
7.如条款5或6所述的系统,其中所述受密码保护的通信会话还包括安全超文本传输协议(HTTPS)连接。
8.如条款5至7中任一项所述的系统,其中所述目的地还包括客户经由公共可寻址通信网络可访问的服务端点。
9.如条款5至8中任一项所述的系统,其中所述配置信息针对所述端点是其成员的一组端点进一步定义:用于对敏感数据进行加密的加密算法、满足与所述敏感数据相关联的安全策略和一个或多个加密密钥。
10.如条款5至9中任一项所述的系统,其中所述至少一个计算设备至少部分地基于所述配置信息,在与由所述至少一个计算设备执行的至少一个其他过程隔离的环境中实现所述一个或多个服务。
11.如条款5至10中任一项所述的系统,其中所述配置信息指示作为敏感数据的数据类型。
12.如条款5至11中任一项所述的系统,其中生成所述一组所加密的数据对象还包括使用从所述配置信息获得的密码材料来对所述子组数据对象进行加密。
13.如条款5至12中任一项所述的系统,其中通过使用在所述配置信息中识别的密码密钥对所述子组数据对象进行加密来混淆所述子组数据对象。
14.一种非暂时性计算机可读存储介质,其具有存储在其上的可执行指令,所述指令作为由计算机系统的一个或多个处理器执行的结果,致使所述计算机系统至少:
接收包括一组所加密的数据对象的请求,所述所加密的数据对象被引导朝向由另一计算机系统实现的服务端点,所述请求在由所述另一计算机系统产生的数据流中被接收;
解密所述一组所加密的数据对象以生成一组数据对象;
确定所述一组数据对象中的一个或多个数据对象包括不会沿着所述计算机系统与所述服务端点之间的一个或多个路径暴露给一个或多个中间设备的数据;
加密所述一个或多个数据对象以生成一个或多个所加密的数据对象;
通过至少用所述一个或多个所加密的数据对象替换所述一组数据对象中的所述一个或多个数据对象来修改所述请求;以及
将所述请求转发给所述服务端点。
15.如条款14所述的非暂时性计算机可读存储介质,其中所述指令还包括作为由所述一个或多个处理器执行的结果,致使所述计算机系统与客户端设备和所述服务端点建立受密码保护的通信会话指令,所述客户端设备负责传输所述请求。
16.如条款14或15所述的非暂时性计算机可读存储介质,其中所述服务端点与多个服务中的一个服务相关联,并且所述计算机系统处理对所述服务的请求。
17.如条款14至16中任一项所述的非暂时性计算机可读存储介质,其中所述请求是HTTP POST请求。
18.如条款14至17中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括作为由所述一个或多个处理器执行的结果,致使所述计算机系统至少部分地基于包括在所述请求中的一个或多个标头来确定所述请求被引导朝向所述服务端点的指令。
19.如条款14至18中任一项所述的非暂时性计算机可读存储介质,其中致使所述计算机系统确定所述一组数据对象中的所述一个或多个数据对象包括不被暴露的数据的指令还包括致使所述计算机系统确定所述一个或多个数据对象包括与所述请求相关联的用户的支付信息的指令。
20.如条款14至19中任一项所述的非暂时性计算机可读存储介质,其中致使所述计算机系统确定所述一组数据对象中的所述一个或多个数据对象包括不被暴露的数据的指令还包括致使所述计算机系统确定所述一个或多个数据对象包括支付信息的指令。
21.如条款14至20中任一项所述的非暂时性计算机可读存储介质,其中致使所述计算机系统确定所述一组数据对象中的所述一个或多个数据对象包括不被暴露的数据的指令还包括致使所述计算机系统至少部分地基于与所述一个或多个数据对象相关联的一个或多个字段来确定所述一个或多个数据对象包括不会被暴露的数据的指令。
22.如条款14所述的非暂时性计算机可读存储介质,其中所述计算机系统是网络边缘设备。
23.一种计算机实现的方法,其包括:
接收来自由后端设备传输的数据流的数据,所述数据流被引导朝向客户端设备;
检测从所述数据流获得的所述数据中的所加密的数据对象;
对所述所加密的数据对象进行解密以获得所解密的数据对象;
将所述所解密的数据对象插入所述数据流中以产生所修改的数据流;以及
将所述所修改的数据流传输到所述客户端设备。
24.如条款23所述的计算机实现的方法,其中所述所修改的数据流还包括网页,并且其中所述方法包括在将所述所解密的数据对象插入所述数据流中之前呈现所述数据流。
25.如条款23或24的计算机实现的方法,其中对所述所加密的数据对象进行解密还包括向密码密钥管理服务传输请求以对从所述所加密的数据对象获得的所加密的密码密钥进行解密。
26.如条款23至25中任一项所述的计算机实现的方法,其中检测所述所加密的数据对象还包括从指示所述所加密的数据对象的所述数据流获得标志。
27.一种系统,其包括:
实现一个或多个服务的至少一个计算设备,其中所述一个或多个服务:
从后端服务接收一组数据对象以用于嵌入内容,所述一组数据对象被引导朝向端点;
在所述一组数据对象中检测所述一组数据对象中具有特性的子组数据对象;
修改所述子组数据对象以生成一组所修改的数据对象;
将所述所修改的数据对象包括在所述内容中以产生更新的内容;以及
将所述所更新的内容转发到所述端点。
28.如条款27所述的系统,其中修改所述子组数据对象包括对所述子组数据对象进行加密。
29.如条款27或28所述的系统,其中对所述子组数据对象进行解密还包括将应用程序接口(API)命令传输到密钥管理服务以对所述子组数据对象进行解密。
30.如条款27至29中任一项所述的系统,其中对所述子组数据对象进行解密还包括从由所述至少一个计算系统的过程执行的解密模块获得所解密的数据。
31.如条款27至30中任一项所述的系统,其中所述过程在通过由所述至少一个计算设备执行的操作系统所维护的隔离式计算环境中执行。
32.如条款27至31中任一项所述的系统,其中由于包括所述一组数据对象的数据流中的标志,所述系统检测到所述子组数据对象,所述标志指示所述子组数据对象的开始位置和结束位置。
33.如条款27至32中任一项所述的系统,其中所述一个或多个服务进一步将所述一组数据对象的第二子组转发到所述端点,而不修改所述第二子组数据对象中的单个数据对象。
34.如条款27至33中任一项所述的系统,其中修改所述子组数据对象还包括:作为要呈现为网页的元素的结果,修改所述子组数据对象显示的值。
35.一种非暂时性计算机可读存储介质,其具有存储在其上的可执行指令,所述指令作为由计算机系统的一个或多个处理器执行的结果,致使所述计算机系统至少:
接收与目的地相关的数据流;
检测所述数据流中的所混淆的数据;
对所述所混淆的数据进行去混淆处理以获得明文数据;
用所述明文数据替换所述数据流中的所述数据的至少一部分;以及
将所述数据流提供到所述目的地。
36.如条款35所述的非暂时性计算机可读存储介质,其中所述指令还包括作为由所述一个或多个处理器执行的结果,致使所述计算机系统延迟对所述数据流的处理直到生成所述明文数据为止的指令。
37.如条款35或36所述的非暂时性计算机可读存储介质,其中所述所混淆的数据通过加密混淆,并且其中所述指令还包括作为由所述一个或多个处理器执行的结果,致使所述计算机系统获得包括密钥材料的配置信息以对所述所解密的所混淆的数据进行加密的指令。
38.如条款35至37中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括作为由所述一个或多个处理器执行的结果,致使所述计算机系统验证与后端服务相关联的签名以确定所述目的地被授权接收所述数据流的指令。
39.如条款35至38中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括作为由所述一个或多个处理器执行的结果,致使所述计算机系统由于未能验证签名而将所述明文数据从所述数据流移除的指令。
40.如条款35至38中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括作为由所述一个或多个处理器执行的结果,致使所述计算机系统与所述目的地建立受密码保护的通信会话的指令;并且
其中通过所述受密码保护的通信将所述数据流提供给所述目的地。
41.如条款35至40中任一项所述的非暂时性计算机可读存储介质,所述数据流包括网页内容。
42.如条款35至41所述的非暂时性计算机可读存储介质,其中所述所混淆的数据包括被分类为敏感数据的数据。
43.如条款35至42中任一项所述的非暂时性计算机可读存储介质,其中所述计算机系统是网页边缘设备。
44.一种计算机实现的方法,其包括:
在所述网络边缘设备处接收第一请求,所述第一请求被引导到多个后端服务中的后端服务;
至少部分地基于能够检测敏感数据的所述后端服务的配置信息,检测包括在所述请求中的明文形式的敏感数据项;
将所述敏感数据项提供给数据加密模块以获得所加密的敏感数据项;
至少部分地基于所述第一请求来生成第二请求,所述第二请求被生成以包括所述所加密的敏感数据项但是缺少所述明文形式的敏感数据项;以及
将所述第二请求传输到所述后端服务而无需将所述第一请求传输到所述后端服务。
45.如条款44所述的计算机实现的方法,其中:计算机实现的方法还包括获得致使在所述网络边缘设备内执行隔离环境的配置信息;并且
其中所述加密模块在所述隔离环境内执行。
46.如条款44或45所述的计算机实现的方法,其中生成对所述后端服务的所述第二请求还包括指示所述请求中的所述敏感数据的长度,以使所述后端服务能够将所述敏感数据与其他数据区分开。
47.如条款44至46中任一项所述的计算机实现的方法,其中生成所述第二请求还包括修改所述第二请求的格式,使得所述敏感数据在没有长度信息的情况下可与其他信息区分开。
48.一种系统,其包括:
实现一个或多个服务的至少一个计算设备,其中所述一个或多个服务:
在边缘设备处获得与由后端服务生成的数据流相关联的请求;
至少部分地基于配置信息来确定所述请求包括敏感数据;
混淆所述敏感数据以生成所混淆的敏感数据;
生成第二请求,以用所述所混淆的敏感数据替换包括在所述请求中的所述敏感数据;以及
将所述第二请求传输到所述后端服务。
49.如条款48所述的系统,其中混淆所述敏感数据还包括使用与所述后端服务相关联的公钥对所述敏感数据进行加密。
50.如条款48或49所述的系统,其中确定所述请求包括敏感数据还包括至少部分地基于包括在所述请求中的数据对象的数据类型来确定所述请求包括敏感数据。
51.如条款48至50中任一项所述的系统,其中确定所述请求包括敏感数据是至少部分地基于与包括在所述请求中的数据的一部分相关联的标志,所述标志在所述配置信息中指示。
52.如条款48至51中任一项所述的系统,其中混淆所述敏感数据还包括使用涉及将应用程序接口(API)请求传输到由计算资源服务提供方实现的密码密钥管理服务的过程来对所述敏感数据进行加密。
53.如条款52所述的系统,其中所述敏感数据是使用第一密钥进行加密的,并且所述密钥管理服务使用第二密钥对所述第一密钥进行加密以生成所加密的第一密钥;并且
其中生成所述第二请求还包括将所述所加密的第一密钥包括在所述第二请求中。
54.如条款48至53中任一项所述的系统,其中生成所述第二请求还包括将与所述后端服务相关联的认证信息包括在所述第二请求中。
55.如条款48至54中任一项所述的系统,其中所述边缘设备是内容分发网络的计算设备。
56.一种非暂时性计算机可读存储介质,其具有存储在其上的可执行指令,所述指令作为由计算机系统的一个或多个处理器执行的结果,致使所述计算机系统至少:
在所述网络边缘设备处接收包括在数据流中的请求;
至少部分地基于包括在指示所述请求包括敏感数据的请求中的信息来确定混淆所述请求的一部分;
混淆所述敏感数据以生成所混淆的敏感数据对象;
处理所述请求,以用所述所混淆的敏感数据对象替换所述敏感数据,从而生成所修改的请求;以及
将所述所修改后的请求传输到目的地。
57.如条款56所述的非暂时性计算机可读存储介质,其中致使所述计算机系统接收所述请求的指令还包括致使所述计算机系统与客户端设备和所述网络边缘设备建立受密码保护的通信会话并且通过所述受密码保护的通信会话接收所述请求的指令。
58.如条款56或57所述的非暂时性计算机可读存储介质,其中所述网络边缘设备包含用于多个后端服务的不同配置信息。
59.如条款56至58中任一项所述的非暂时性计算机可读存储介质,其中用于所述多个后端服务的所述不同配置信息致使所述网络边缘设备至少部分地基于所述不同配置信息来执行多个隔离过程。
60.如条款56至59中任一项所述的非暂时性计算机可读存储介质,其中使用加密模块来混淆敏感数据,所述加密模块由与所述网络边缘设备不同并连接到所述网络边缘设备的计算设备执行。
61.如条款60所述的非暂时性计算机可读存储介质,其中计所述算设备是使用受密码保护的通信信道连接到所述网络边缘设备的。
62.如条款56-61中任一项所述的非暂时性计算机可读存储介质,其中混淆所述敏感数据还包括将服务调用传输到密码密钥管理系统的加密模块。
63.如条款56至62中任一项所述的非暂时性计算机可读存储介质,其中所述加密模块还包括由所述网络边缘设备执行的模块。其他变化在本公开的精神内。
因此,虽然所公开的技术可容许各种修改和替代构造,但是在附图中已示出并且在上文中已经详细描述了所示出的其特定实施方案。然而,应理解,并不意图将本发明局限于所公开的一种或多种具体形式,但相反,意图涵盖落在本发明的精神和范围内的所有修改、替代构造和等效物,如所附权利要求中所限定。
在描述所公开实施方案的上下文中(尤其是在以下权利要求的上下文中),术语“一个(a和an)”和“所述(the)”以及类似指称对象的使用应解释为涵盖单数和复数两者,除非本文另外指明或明显地与上下文矛盾。术语“包括(comprising)”、“具有(having)”、“包括(including)”和“包含(containing)”意图解释为开放式的术语(即,意味着“包括但不限于”)除非另外指明。当无修饰并且指代物理连接时,术语“连接的”应解释为部分地或全部地容纳在内、附接到或连结在一起,即使存在介入物。除非本文另外指明,否则本文中对值范围的列举仅意图用作个别地表示落入所述范围的每个单独值的速记方法,并且如同本文中单独所述地那样将各单独值并入本说明书中。除非另外指明或与上下文矛盾,否则术语“集”(例如,“项目集”)或“子集”的使用解释为包括一个或多个成员的非空集合。此外,除非另外指明或与上下文矛盾,否则术语对应集的“子集”不一定指对应集的真子集,而是子集和对应集可以相等。
连接性语言,如“A、B、和C中的至少一个”或“A、B和C中的至少一个”形式的短语,除非另外特别指示或以其他方式明显地与上下文矛盾,否则如一般情况下所使用,根据上下文理解来表示:项目、项等可以是A或B或C、或A和B和C的集合的任何非空子集。例如,在具有三个成员的集合的例示性示例中,连接性短语“A、B和C中的至少一个”和“A、B和C中的至少一者”指的是以下集合中的任何一种:{A},{B},{C},{A,B},{A,C},{B,C},{A,B,C}。因此,此类连接性语言一般并非意图暗示某些实施方案需要A中的至少一个、B中的至少一个以及C中的至少一个都存在。
可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变化和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)、由硬件或其组合来实现。代码可以例如包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质可以是非暂时性的。在一些实施方案中,代码存储在一个或多个非暂时性计算机可读存储介质的集合上,所述非暂时性计算机可读存储介质上存储有可执行指令,所述可执行指令在由计算机系统的一个或多个处理器执行时(即,作为由所述一个或多个处理器执行的结果),致使计算机系统执行本文所描述的操作。非暂时性计算机可读存储介质的集合可包括多个非暂时性计算机可读存储介质,并且多个非暂时性计算机可读存储介质中的单独非暂时性存储介质中的一个或多个可没有代码的全部,而多个非暂时性计算机可读存储介质共同地存储代码的全部。此外,在一些示例中,可执行指令被执行以使得不同指令由不同处理器执行。作为一个例示性示例,非暂时性计算机可读存储介质可存储指令。主CPU可执行指令中的一些并且图形处理器单元可执行指令中的其他指令。一般来说,计算机系统的不同组件可具有分离处理器,并且不同处理器可以执行指令的不同子集。
因此,在一些示例中,计算机系统被配置来实现一个或多个服务,所述一个或多个服务单独地或共同地执行本文所描述的过程的操作。这类计算机系统可例如配置有实现操作的执行的适用硬件和/或软件。此外,实现本公开的各种实施方案的计算机系统在一些示例中可为单个设备,并且在其他示例中可为包括多个设备的分布式计算机系统,所述多个设备不同地操作,使得分布式计算机系统执行本文所描述的操作并且使得单个设备可不执行全部的操作。
本文所提供的任何以及全部示例或示例性语言(例如,“诸如”)的使用仅意图更好地例示本发明的实施方案,并且除非另外要求,否则不会对本发明的范围施加限制。本说明书中的语言不应解释为将任何非要求的元素指示为实践本发明所必需的。
本文中描述本公开的优选实施方案,包括发明人已知用于执行本发明的最佳模式。在阅读上述描述后,这些实施方案的变化对本领域的技术人员将变得显而易见。发明人希望技术人员视情况采用此类变化,并且发明人意图以不同于如本文具体描述的方式来实践本公开的实施方案。因此,经适用的法律许可,本公开的范围包括在此所附的权利要求中叙述的主题的所有修改和等效物。此外,本公开的范围涵盖其所有可能变化中的上述元素的任意组合,除非本文另外指示或以其他形式明显地与上下文矛盾。
本文所引用的所有参考文献(包括出版物、专利申请和专利)特此以引用方式并入,其程度与每个参考文献都单独地并具体地被指示为以引用方式并入并且以其全部内容在本文中进行陈述的情况相同。

Claims (15)

1.一种系统,其包括:
实现一个或多个服务的至少一个计算设备,其中所述一个或多个服务:
通过受密码保护的通信会话接收朝向目的地定向的一组数据对象;
至少部分地基于配置信息来确定所述一组所述数据对象的子组数据对象包括敏感数据,其中所述配置信息使得能够至少部分地基于与所述敏感数据相关联的类型来检测敏感数据并且指示传输所述敏感数据的端点;
混淆所述子组数据对象以生成一组加密的数据对象,所述加密的数据对象能够由与所述端点相关联的后端服务解密;
修改所述一组数据对象以包括所述一组加密的数据对象,从而生成一组修改的数据对象;以及
将所述一组修改的数据对象传输到端点。
2.如权利要求1所述的系统,其中生成所述一组加密的数据对象还包括根据对称加密算法用密码密钥对所述子组数据对象进行加密,其中所述受密码保护的通信会话还包括安全超文本传输协议(HTTPS)连接,并且其中所述目的地还包括客户设备经由公共可寻址通信网络能访问的服务端点。
3.如权利要求1所述的系统,其中所述配置信息针对所述端点是其成员的一组端点进一步限定:用于对敏感数据进行加密的加密算法和一个或多个加密密钥,所述加密算法满足与所述敏感数据相关联的安全策略。
4.如权利要求3所述的系统,其中所述至少一个计算设备至少部分地基于所述配置信息,在与由所述至少一个计算设备执行的至少一个其他进程隔离的环境中实现所述一个或多个服务,其中所述配置信息指示作为敏感数据的数据类型,并且其中生成所述一组加密的数据对象还包括使用从所述配置信息获得的密码材料来对所述子组数据对象进行加密。
5.如权利要求1所述的系统,其中所述子组数据对象是通过使用在所述配置信息中识别的密码密钥对所述子组数据对象进行加密来混淆的。
6.如权利要求1所述的系统,其中所述一组修改的数据对象与指示所述敏感数据已经受保护的信息一起被传输到所述端点。
7.一种计算机实现的方法,其包括:
接收包括一组加密的数据对象的请求,所述加密的数据对象朝向由另一计算机系统实现的服务端点定向,所述请求在由所述另一计算机系统生成的数据流中被接收;
对所述一组加密的数据对象进行解密以生成一组数据对象;
确定所述一组所述数据对象中的一个或多个数据对象包括不要沿着所述另一计算机系统与所述服务端点之间的一个或多个路径暴露给一个或多个中间设备的数据;
对所述一个或多个数据对象进行加密以生成一个或多个加密的数据对象;
通过至少用所述一个或多个加密的数据对象替换所述一组数据对象中的所述一个或多个数据对象来修改所述请求;以及
将所述请求转发到所述服务端点。
8.如权利要求7所述的计算机实现的方法,其还包括:
与客户端设备和所述服务端点建立受密码保护的通信会话,所述客户端设备负责传输所述请求。
9.如权利要求7所述的计算机实现的方法,其中所述服务端点与多个服务中的一个服务相关联,并且所述另一计算机系统处理对所述服务的请求。
10.如权利要求7所述的计算机实现的方法,其中所述请求是HTTP POST请求,并且所述方法还包括:
至少部分地基于包括在所述请求中的一个或多个标头来确定所述请求朝向所述服务端点定向。
11.如权利要求7所述的计算机实现的方法,其中确定所述一组所述数据对象中的所述一个或多个数据对象包括不要暴露的数据包括确定所述一个或多个数据对象包括支付信息或与所述请求相关联的用户的支付信息中的一者或多者。
12.如权利要求7所述的计算机实现的方法,其中确定所述一组所述数据对象中的所述一个或多个数据对象包括不要暴露的数据包括确定所述一个或多个数据对象包括与所述一个或多个数据对象相关联的一个或多个字段。
13.如权利要求7所述的计算机实现的方法,其中所述另一计算机系统是网络边缘设备。
14.如权利要求7所述的计算机实现的方法,其还包括:
通过受密码保护的通信会话接收第二组数据对象;
确定所述第二组数据对象不包括敏感数据;以及
将包括所述第二组数据对象的第二请求传输到所述服务端点。
15.如权利要求7所述的计算机实现的方法,其中所述计算机实现的方法在包括限制进程与其他资源之间的交互的内核模块的安全环境内执行。
CN201780077914.XA 2016-12-16 2017-12-13 敏感数据的跨网络安全数据摄取 Pending CN110089087A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/382,571 2016-12-16
US15/382,571 US20180176187A1 (en) 2016-12-16 2016-12-16 Secure data ingestion for sensitive data across networks
PCT/US2017/066165 WO2018112071A1 (en) 2016-12-16 2017-12-13 Secure data ingestion for sensitive data across networks

Publications (1)

Publication Number Publication Date
CN110089087A true CN110089087A (zh) 2019-08-02

Family

ID=60935989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780077914.XA Pending CN110089087A (zh) 2016-12-16 2017-12-13 敏感数据的跨网络安全数据摄取

Country Status (5)

Country Link
US (1) US20180176187A1 (zh)
EP (1) EP3556074A1 (zh)
JP (1) JP6844876B2 (zh)
CN (1) CN110089087A (zh)
WO (1) WO2018112071A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131183A (zh) * 2019-12-05 2020-05-08 任子行网络技术股份有限公司 网络安全监控方法、计算机设备及计算机可读存储介质
CN111930078A (zh) * 2020-06-21 2020-11-13 中国舰船研究设计中心 一种面向核控系统的网络测试装置
CN112528272A (zh) * 2020-12-04 2021-03-19 浪潮云信息技术股份公司 一种基于公共开放数据的安全隐私集成防护系统及其方法
CN113438124A (zh) * 2021-06-07 2021-09-24 清华大学 基于意图驱动的网络测量方法和装置
CN114499954A (zh) * 2021-12-21 2022-05-13 海光信息技术股份有限公司 一种用于敏感数据的管理装置和方法
CN114499954B (zh) * 2021-12-21 2024-05-10 海光信息技术股份有限公司 一种用于敏感数据的管理装置和方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107666383B (zh) * 2016-07-29 2021-06-18 阿里巴巴集团控股有限公司 基于https协议的报文处理方法以及装置
US10873567B2 (en) * 2017-06-26 2020-12-22 Open Text Corporation Systems and methods for providing communications between on-premises servers and remote devices
US10819688B2 (en) * 2018-03-24 2020-10-27 Tala Secure, Inc. System and method for generating and managing a key package
FR3081653A1 (fr) * 2018-06-25 2019-11-29 Orange Procede de modification de messages par un equipement sur un chemin de communication etabli entre deux noeuds
EP3664396A1 (en) * 2018-12-03 2020-06-10 Nagravision SA Securely transmitting data in a data stream
CN109547567B (zh) * 2018-12-25 2021-10-22 北京市天元网络技术股份有限公司 代理连接方法和装置
US20200228369A1 (en) * 2019-01-16 2020-07-16 Johnson Controls Technology Company Systems and methods for display of building management user interface using microservices
CN110266707B (zh) * 2019-06-26 2021-05-28 上海富数科技有限公司 基于加密与角色分离机制实现数据隐私计算的系统及其方法
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11386230B2 (en) * 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11190353B2 (en) * 2020-03-26 2021-11-30 Atlassian Pty Ltd. Computer implemented methods and systems for managing a cryptographic service
KR102442182B1 (ko) * 2020-11-11 2022-09-08 한국과학기술원 다중 암호화된 트래픽을 처리하는 방법 및 미들박스 시스템
CN112631804A (zh) * 2020-12-25 2021-04-09 杭州涂鸦信息技术有限公司 基于隔离环境的服务调用请求处理方法及计算机设备
CN115118449B (zh) * 2022-05-13 2023-06-27 国网浙江省电力有限公司信息通信分公司 一种面向能源互联网安全高效交互的边缘代理服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079117A1 (en) * 2005-10-04 2007-04-05 Bhogal Kulvir S Method for passing selectively encrypted attributes of specific versions of objects in a distributed system
CN101452536A (zh) * 2007-12-06 2009-06-10 中国国际海运集装箱(集团)股份有限公司 应用于智能集装箱数据通讯的加密方法
CN102138299A (zh) * 2008-06-30 2011-07-27 阿佐斯Ai有限责任公司 合并自主安全保护的数据认知的系统和方法
CN103916456A (zh) * 2013-01-09 2014-07-09 国际商业机器公司 用于云存储服务的透明加密/解密网关
US20140373165A1 (en) * 2011-04-11 2014-12-18 Google Inc. Privacy-Protective Data Transfer

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234759A (ja) * 2004-02-18 2005-09-02 Kuniyoshi Tatsu 情報資源共有管理システム及びアプリケーションサーバ
US7496750B2 (en) * 2004-12-07 2009-02-24 Cisco Technology, Inc. Performing security functions on a message payload in a network element
KR100628566B1 (ko) * 2005-04-25 2006-09-26 삼성전자주식회사 무선랜에서 보안 정보 형성 방법
US8782403B1 (en) * 2007-03-28 2014-07-15 Symantec Corporation Method and apparatus for securing confidential data for a user in a computer
US8627409B2 (en) * 2007-05-15 2014-01-07 Oracle International Corporation Framework for automated dissemination of security metadata for distributed trust establishment
US8667279B2 (en) * 2008-07-01 2014-03-04 Sling Media, Inc. Systems and methods for securely place shifting media content
US9656092B2 (en) * 2009-05-12 2017-05-23 Chronicmobile, Inc. Methods and systems for managing, controlling and monitoring medical devices via one or more software applications functioning in a secure environment
CN107196938B (zh) * 2011-09-30 2020-07-24 贝宝公司 源自客户端的信息的差异客户端侧加密
US9705674B2 (en) * 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management
JP6364287B2 (ja) * 2014-09-04 2018-07-25 株式会社富士通ソーシアルサイエンスラボラトリ データ秘匿・復元装置、方法およびプログラム、データ秘匿・復元システム、ならびに帳票作成装置
US9967370B2 (en) * 2014-09-05 2018-05-08 Sap Se OData enabled mobile software applications
US20160261418A1 (en) * 2015-03-06 2016-09-08 Avaya Inc. Power over ethernet (poe) powered network adapter incorporating open vswitch (ovs) and fabric attach (fa) capabilities
WO2016141993A1 (en) * 2015-03-12 2016-09-15 Telefonaktiebolaget Lm Ericsson (Publ) Caching secure data
US10477392B2 (en) * 2015-06-29 2019-11-12 Here Global B.V. Supporting a versioning of parameters
US9992175B2 (en) * 2016-01-08 2018-06-05 Moneygram International, Inc. Systems and method for providing a data security service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079117A1 (en) * 2005-10-04 2007-04-05 Bhogal Kulvir S Method for passing selectively encrypted attributes of specific versions of objects in a distributed system
CN101452536A (zh) * 2007-12-06 2009-06-10 中国国际海运集装箱(集团)股份有限公司 应用于智能集装箱数据通讯的加密方法
CN102138299A (zh) * 2008-06-30 2011-07-27 阿佐斯Ai有限责任公司 合并自主安全保护的数据认知的系统和方法
US20140373165A1 (en) * 2011-04-11 2014-12-18 Google Inc. Privacy-Protective Data Transfer
CN103916456A (zh) * 2013-01-09 2014-07-09 国际商业机器公司 用于云存储服务的透明加密/解密网关

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131183A (zh) * 2019-12-05 2020-05-08 任子行网络技术股份有限公司 网络安全监控方法、计算机设备及计算机可读存储介质
CN111131183B (zh) * 2019-12-05 2022-05-31 任子行网络技术股份有限公司 网络安全监控方法、计算机设备及计算机可读存储介质
CN111930078A (zh) * 2020-06-21 2020-11-13 中国舰船研究设计中心 一种面向核控系统的网络测试装置
CN111930078B (zh) * 2020-06-21 2024-04-19 中国舰船研究设计中心 一种面向核控系统的网络测试装置
CN112528272A (zh) * 2020-12-04 2021-03-19 浪潮云信息技术股份公司 一种基于公共开放数据的安全隐私集成防护系统及其方法
CN113438124A (zh) * 2021-06-07 2021-09-24 清华大学 基于意图驱动的网络测量方法和装置
CN114499954A (zh) * 2021-12-21 2022-05-13 海光信息技术股份有限公司 一种用于敏感数据的管理装置和方法
CN114499954B (zh) * 2021-12-21 2024-05-10 海光信息技术股份有限公司 一种用于敏感数据的管理装置和方法

Also Published As

Publication number Publication date
JP2020502668A (ja) 2020-01-23
JP6844876B2 (ja) 2021-03-17
WO2018112071A1 (en) 2018-06-21
EP3556074A1 (en) 2019-10-23
US20180176187A1 (en) 2018-06-21

Similar Documents

Publication Publication Date Title
CN110199508A (zh) 敏感数据跨内容分发网络的安全数据分配
CN110178348A (zh) 敏感数据的跨网络安全数据流出
CN110089087A (zh) 敏感数据的跨网络安全数据摄取
CN105580311B (zh) 使用请求供应的密钥保护数据安全性的方法和装置
US10375067B2 (en) Mutual authentication with symmetric secrets and signatures
JP7007985B2 (ja) 鍵を有するリソースロケーター
US10574686B2 (en) Security verification by message interception and modification
CN105103488B (zh) 借助相关联的数据的策略施行
EP3580906B1 (en) Network security with surrogate digital certificates
CN105007279B (zh) 认证方法和认证系统
CN108476133A (zh) 通过部分可信的第三方进行的密钥交换
CN107534667A (zh) 密钥导出技术
US9325742B1 (en) Adding an encryption policy in a streaming environment
CN106998331A (zh) 支持系统中的安全通信的实施
CN106797316B (zh) 路由器、数据设备、分发数据的方法和系统
CN102025748A (zh) 获取Kerberos认证方式的用户名的方法、装置和系统
Ramachandran et al. Secure and efficient data forwarding in untrusted cloud environment
US20230188364A1 (en) Partial payload encryption with integrity protection

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
CB03 Change of inventor or designer information

Inventor after: M.E. Davis

Inventor after: G.R. Jewell

Inventor after: MONZIE BENOIT

Inventor after: A. Peterson

Inventor after: I. Spike

Inventor after: Alex Jennifer Tribble

Inventor after: R. Weiss

Inventor before: M.E. Davis

Inventor before: G.R. Jewell

Inventor before: MONZIE BENOIT

Inventor before: A. Peterson

Inventor before: I. Spike

Inventor before: A.J. Tribble

Inventor before: R. Weiss

CB03 Change of inventor or designer information
RJ01 Rejection of invention patent application after publication

Application publication date: 20190802

RJ01 Rejection of invention patent application after publication