首页> 中国专利> 网络环境中的不信任方之间的相互确定的数据共享

网络环境中的不信任方之间的相互确定的数据共享

摘要

一种用于在实体之间共享信息的装置包括处理器和在该处理器上执行的信任执行模块。该信任执行模块被配置成用于从与第一实体相关联的第一客户机设备接收第一机密信息,将该第一机密信息封装在信任执行环境中,从与第二实体相关联的第二客户机设备接收第二机密信息,将该第二机密信息封装在该信任执行环境中,以及在该信任执行环境中执行代码。该代码被配置成用于基于该第一机密信息和该第二机密信息计算机密结果。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-26

    授权

    授权

  • 2015-12-16

    实质审查的生效 IPC(主分类):G06F21/60 申请日:20140312

    实质审查的生效

  • 2015-11-18

    公开

    公开

说明书

技术领域

本公开总体上涉及数据共享领域,并且更具体地涉及网络环境中的不 信任方之间的相互确定的数据共享。

背景

数据共享领域已经变得越来越重要。相互不信任的实体经常有必要或 期望与彼此共享敏感信息。然而,由于存储信息泄露风险,它们经常不情 愿这样做。例如,国土安全部(DepartmnetofHomelandSecurity:DHS) 和航空公司之间可能需要共享敏感数据以便防止可疑恐怖分子登上飞机。 DHS维护恐怖分子嫌疑人监视名单数据库并且希望验证飞机起飞之前与该 数据库中的描述匹配的个人被逮捕。航空公司具有被安排登机的所有乘客 的乘客清单。乘客清单可包括可疑恐怖分子和未在恐怖分子监视名单上的 其他人。然而,由于DHS数据库中的敏感性,DHS可能不希望向航空公司 公开敏感数据。例如,如果监视名单泄露,可危害国家安全的某个方面的 恐怖分子会得到提醒。出于隐私性原因,航空公司可能不希望向DHS提供 特定航班上的所有乘客的信息。如果乘客清单泄露并且被误用,航空公司 可能违反有关乘客私人信息的隐私规定。重要的挑战是在不信任实体之间 共享敏感信息同时确保所共享的信息将仅用于这些实体的协定目的。

附图简要描述

为了提供本公开及其特征和优点的更完整的理解,结合附图参照以下 描述,其中相同的参考标号表示相同的部分,在附图中:

图1是根据本公开的实施例用于网络环境中的不信任实体之间的相互 确定的数据共享的通信系统的简化框图;

图2是图1的安全元件的实施例的简化框图;

图3是图1的第一客户机设备的实施例的简化框图;

图4A-4B是示出根据实施例可与通信系统的安全元件相关联的可能操 作的简化流程图;

图5是根据本公开的实施例用于网络环境中的不信任实体之间的相互 确定的数据共享的通信系统的简化框图;以及

图6A-6B是示出根据特定实施例可与第一客户机设备、安全元件、第 二客户机设备和第三客户机设备相关联的可能操作的简化交互图。

实施例的详细说明

图1是根据本公开的实施例用于网络环境中的不信任实体之间的相互 确定的数据共享的通信系统100的简化框图。通信系统100包括与第一网 络104通信的第一客户机设备102。第一网络104进一步与信任代理服务 108的安全元件106通信。安全元件106进一步与第二网络110通信。第二 网络110进一步与第二客户机设备112通信。在特定实施例中,通信系统 100可进一步包括与第二网络110通信的第三方计算设备114。

图1的元件可采用任何适当的连接(有线或无线)通过一个或多个接 口耦合到彼此,其提供用于网络通信的可行路径。此外,图1的这些元件 中的任何一个或多个可基于特定的配置需要而组合或从架构移除。通信系 统100可包括能够实现用于在网络中传输或接收分组的传输控制协议/网际 协议(TCP/IP)通信的配置。当适当时并且基于特定需要,通信系统100 还可结合用户数据报协议/IP(UDP/IP)或任何其他适当的协议操作。

在某些实施例中,通信系统100使得不信任实体能够通过使用确定其 各自的数据将在由信任代理提供的信任执行环境内共享的一个或多个相互 协定的过程和/或算法来共享其各自的数据。在一个或多个实施例中,第一 客户机设备102可与第一实体相关联并且第二客户机设备112可与第二实 体相关联。第一实体和第二实体可能期望使用由信任代理服务108提供的 安全元件106与彼此共享信息,如将进一步在此描述的。在特定实施例中, 第一实体和第二实体可能彼此不信任其各自的机密数据。此外,第一实体 和第二实体可能不信任实体及其计算基础设施(诸如信任代理服务108)以 及它们的数据,且不具有安全元件106的能力。

在各实施例中,第一网络104和第二网络110促成通信网络100内的 网络元件之间的通信,诸如第一客户机设备102、安全元件106、第二客户 机设备112和第三方计算设备114。根据各实施例,安全元件106被配置成 用于从第一客户机设备102和第二客户机设备112中的每一个接收敏感数 据,使用一个或多个相互协定的过程和/或算法在信任执行环境中处理数据, 以及将经处理数据的一部分提供给第一客户机设备102、第二客户机设备 112或第三方计算设备114中的一个或多个。在一个或多个实施例中,安全 元件106所提供的信任执行环境保护和/或阻止在来自敌对者(诸如能够经 由恶意软件和/或硬件装置发起攻击的那些敌对者)的存储和算法执行期间 公开从第一实体和第二实体接收的机密信息。在一个或多个实施例中,安 全元件106可以是硬件、软件和/或网络元件。在仍其他实施例中,信任执 行环境可由具有一个或多个安全元件106和一组统一动作的分布式安全元 件106的单个机器提供。

出于说明通信系统100的某些示例技术的目的,重要的是理解可遍历 网络环境的通信。以下基础信息可被视为可从其适当地解释本公开的基础。

相互不信任的实体经常有必要或期望与彼此共享敏感信息。然而,由 于存储信息泄露风险,它们经常不情愿这样做。例如,国土安全部(DHS) 和航空公司之间可能需要共享敏感数据以便防止可疑恐怖分子登上飞机。 DHS维护恐怖分子嫌疑人监视名单数据库并且希望验证飞机起飞之前与该 数据库中的描述匹配的个人被逮捕。航空公司可收集被安排登机的所有乘 客的乘客清单。乘客清单可包括可疑恐怖分子和未在恐怖分子监视名单上 的其他人。然而,由于DHS数据库中的敏感性,DHS可能不希望向航空公 司公开敏感数据。例如,如果监视名单泄露,可危害国家安全的恐怖分子 会得到提醒。类似地,出于隐私性原因,航空公司可能不希望向DHS提供 特定航班上的所有乘客的信息。

现有的解决方案不能高效地解决可能出现的许多问题。首先,现有的 解决方案可能不提供每一方的各自的数据将仅用于预期目的的确保。例如, 在以上描述的DHS航空公司示例中,现有的解决方案可能不能给出DHS 所提供的恐怖分子监视名单和航空公司提供的乘客清单将仅用于标识恐怖 分子的目的而不向彼此或向外界实体泄露敏感数据的保证。第二,现有的 解决方案可能不提供随着附加数据包括在特定处理算法(诸如用于“恐怖分 子标识”算法的面部识别或指纹)中而动态地扩展的能力。第三,现有的解 决方案可能不提供以成本有效且及时的方式产生结果(诸如标识可能的恐 怖分子)的能力。

用于网络环境中的不信任方之间的相互确定的数据共享的通信系统 100(如图1所示)可解决这些问题(以及其他问题)。在图1的通信系统 100中,安全元件106提供信任执行环境以便促成不信任实体之间的数据共 享。在各实施例中,信任执行环境确保敏感数据和信任代码或应用的安全 存储和处理,并且管理并执行信任应用,同时硬件和/或软件隔离保护数据 和代码/应用不受可能在信任执行环境之外的操作系统中运行的其他应用或 代码影响。

在各实施例中,第一方和第二方将向安全元件106提供其各自的敏感 数据并且安全元件106可在信任执行环境中执行相互协定的过程和/或算法 以便确定其各自的数据中的哪些部分将被提供给这些方中的一方或多方。 因此,第一方向安全元件106公开其机密数据但是不直接向第二方公开其 机密数据。类似地,第二方向安全元件106公开其机密数据但是不直接向 第一方公开其机密数据。

根据各实施例,安全元件106所提供的信任执行环境可具有以下性质 中的一个或多个性质:(1)安全元件106保护在其中运行的代码的完整性; (2)安全元件106保护向其提供的数据的机密性和完整性;以及(3)向安全元 件106提供数据的每一方能够远程地验证:他们相互协定的以便向另一方 提供其数据的一部分的代码是在信任执行环境中运行的代码。

在特定示例中,DHS是可维护涉及可疑活动(诸如可疑恐怖分子活动) 的人员的秘密监视名单的政府机构。DHS希望标识在监视名单上的某个人 何时旅行但是不希望将该名单公开给航空公司以便维护名单的秘密性。航 空公司维护在不同航班上旅行的乘客的数据库但是不希望向DHS提供其所 有客户细节以便保护其客户的隐私。根据特定实施例,DHS和航空公司两 者相互协定特定的软件程序或算法以便将从DHS提供的恐怖分子监视名单 与由航空公司提供的乘客清单进行比较以便确定在恐怖分子监视名单上标 识的一个或多个人员是否与乘客清单上的一个或多个人员匹配。在各实施 例中,在安全元件106内执行的软件或代码确保一方的数据不被泄露给另 一方。

根据特定实施例,DHS服务使用安全元件106的硬件和/或软件认证能 力以便验证安全元件106所提供的信任执行环境运行其经认证的代码。如 果DHS服务验证信任执行环境是运行其经认证的代码,则DHS服务可建 立与安全元件106的安全通道并且将其恐怖分子监视名单发送到安全元件 106。类似地,航空公司服务使用安全元件106的硬件和/或软件认证能力以 便验证安全元件106所提供的信任执行环境运行其经认证的代码。如果航 空公司服务验证信任执行环境运行其经认证的代码,航空公司服务可建立 与安全元件106的安全通道并且将其恐怖分子监视名单发送到安全元件 106。安全元件106可然后在信任执行环境中对恐怖分子监视名单与乘客清 单进行比较。如果存在匹配,取决于所协定的程序或算法,安全元件106 可向DHS、航空公司或第三方(诸如机场安检人员)中的一个或多个发送 通知。

转向图1的基础设施,示出了根据实施例的通信系统100。通常,通 信系统100可在任何类型或拓扑的网络中实现。第一网络104和第二网络 110各自表示用于接收和传输通过通信系统100传播的信息分组的一系列 互连通信路径点或节点。这些网络提供节点之间的通信接口,并且可被配 置成为任何局域网(LAN)、虚拟局域网(VLAN)、广域网(WAN)、 无线局域网(WLAN)、城域网(MAN)、内部网、外部网、虚拟私人网 (VPN)以及促成网络环境中的任何其他适当的架构或系统或其任何合适 的组合,包括有线和/或无线通信。

在通信系统100中,可根据任何合适的通信消息传送协议发送和接收 包括分组、帧、信号、数据等等的网络流量。合适的通信消息传送协议可 包括多层方案(诸如开放系统互连(OSI)模型)或其任何衍生物或变体(例 如,传输控制协议/互联网协议(TCP/IP)、用户数据报协议/IP(UDP/IP))。 此外,还可在通信系统100中提供蜂窝网络上的无线电信号通信。可提供 合适的接口和基础设施以便使能与蜂窝网络的通信。

分组是可在分组交换网络(诸如第一网络104和第二网络110)上在 源节点和目的节点之间路由的数据单元。分组包括源网络地址和目的地网 络地址。这些网络地址可以是TCP/IP消息传送协议中的互联网协议(IP) 地址。如在此所使用的,术语“数据”是指任何类型的二进制、数字、语音、 视频、文本或脚本数据,或任何类型的源或目标代码,或采用任何适当的 格式的可从电子设备和/或网络中的一个点通信到另一个点的任何合适的信 息。此外,消息、请求、响应和查询是网络流量的形式,并且因此可包括 分组、帧、信号、数据等等。

在示例实现方式中,第一客户机设备102、安全元件106、第二客户机 设备112和第三方计算设备114是网络元件,其旨在包括网络电器、服务 器、路由器、交换机、网关、网桥、负载均衡器、处理器、模块或任何其 他合适的可操作以便在网络环境中交换信息的设备、组件、元件或对象。 网络元件可包括任何合适的促成其操作的硬件、软件、组件、模块或对象 以及用于在网络环境中接收、传输和/或以其他方式通信数据或信息的适当 的接口。这可包括允许数据或信息的有效交换的适当的算法和通信协议。

对于与通信系统100相关联的内部结构,第一客户机设备102、安全 元件106、第二客户机设备112和第三方计算设备114各自可包括用于存储 有待在其中概述的操作中使用的信息的存储器元件。第一客户机设备102、 安全元件106、第二客户机设备112和第三方计算设备114各自可将信息维 护在任何合适的存储器元件(例如,随机存取存储器(RAM)、只读存储 器(ROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、 专用集成电路(ASIC)等等)、软件、硬件、固件或当合适时并且基于特 定需要维护在任何其他合适的组件、设备、元件或对象中。在此讨论的任 何存储器项目应当被解释为包含在广义术语“存储器元件”中。而且,可在 任何数据库、寄存器、队列、表、高速缓存、控制列表或其他存储结构中 提供在通信系统100中使用、跟踪、发送或接收的信息,可在任何合适的 时间帧引用所有这些。任何这种存储选项也可包括在如在此所使用的广义 术语“存储器元件”中。

在某些示例实现方式中,在此列出的功能可由在一个或多个有形介质 (例如,在ASIC中提供的嵌入式逻辑、数字信号处理器(DSP)指令、有 待由处理器或其他类似的机器执行的软件(可能包括对象代码和源代码) 等等)中编码的逻辑实现,这种有形介质可包括非瞬态计算机可读介质。 在某些这些示例中,存储器元件可存储用于在此描述的操作的数据。这包 括存储器元件能够存储被执行以便实现在此描述的活动的软件、逻辑、代 码或处理器指令。

在示例实现方式中,通信系统100的网络元件(诸如第一客户机设备 102、安全元件106、第二客户机设备112和第三方计算设备114)可包括 用于实现或培养在此列出的操作的软件模块。这些模块可以任何适当的方 式进行合适地组合,其可基于特定的配置和/或供应需要。在某些实施例中, 这种操作可由硬件执行、在这些元件外部实现、或包括在某个其他网络设 备中以便实现所预期的功能。此外,这些模块可被实现为软件、硬件、固 件或其任何合适的组合。这些元件还可包括可与其他网络元件协调以便实 现在此列出的操作的软件(或往复式软件)。

此外,第一客户机设备102、安全元件106、第二客户机设备112和第 三方计算设备114中的每一个可包括可执行软件或算法以便执行在此讨论 的操作的处理器。处理器可执行与数据相关联的任何类型的指令以便实现 在此详细描述的操作。在一个示例中,处理器可将元件或物件(例如,数 据)从一个状态或事物变换为另一种状态或事物。在另一个示例中,在此 列出的活动可用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算 机指令)实现,并且在此标识的元件可以是某种类型的可编程处理器、可 编程数字逻辑(例如,现场可编程门阵列(FPGA)、EPROM或EEPROM) 或可包括数字逻辑、软件、代码、电子指令或其任何合适的组合的ASIC。 在此描述的任何可能的处理元件、模块和机器应当被解释为包含在广义术 语“处理器”中。

现在参照图2,图2是图1的安全元件106的实施例的简化框图。安 全元件106包括处理器200、存储器元件202和信任执行模块204。信任执 行模块204进一步包括安全代码存储206、安全数据存储108、安全通信模 块210和密码模块212。处理器200被配置成用于执行软件指令以便执行在 此描述的安全元件106的各种操作。存储器元件202可被配置成用于存储 与安全元件106相关联的软件指令和数据。处理器200可以是任何类型的 处理器(诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络 处理器、或用于执行代码的其他设备)。尽管仅在图2中示出了一个处理 器200,应当理解的是在某些实施例中安全元件106可包括多于一个处理 器。

安全代码存储器206被配置成用于存储被配置成用于执行相互协定的 算法或程序以便处理从每个不信任方接收的敏感数据的代码。术语“代码” 可以指任何软件指令、逻辑、源或对象代码、处理器指令、脚本、应用、 算法、软件程序、或任何其他合适的代码。在各实施例中,安全元件106 从第一客户机设备102和第二客户机设备112中的一个或多个接收代码并 且将代码存储在安全代码存储206中。安全数据存储208被配置成用于存 储从第一客户机设备102和第二客户机设备112中的一个或多个接收的机 密数据或信息以便当由处理器200执行时使用存储在安全代码存储器106 中的相互协定的代码进行处理。

安全通信模块210被配置成用于助益安全元件106和其他网络元件(诸 如第一客户机设备102和第二客户机设备112)之间的安全通信。在一个或 多个实施例中,安全通信模块210被配置成用于助益与第一客户机设备102 和第二客户机设备112的远程证实,建立与第一客户机设备102和第二客 户机设备112的安全连接,从第一客户机设备102和第二客户机设备112 接收机密数据或信息,和/或向第一客户机设备102、第二客户机设备112 和第三方计算设备114中的一个或多个发送处理机密数据的结果,如在此 进一步描述的。

密码模块212被配置成用于对从第一客户机设备102和第二客户机设 备112接收的信息或数据执行密码操作。在特定实施例中,密码模块212 被配置成用于验证信任执行模块204正在通过计算安全代码的密码身份(诸 如密码散列)以及向第一客户机设备102和第二客户机设备112发送密码 身份以便验证来执行第一客户机设备102和第二客户机设备112相互协定 的安全代码。

现在参照图3,图3是图1的第一客户机设备102的实施例的简化框 图。第一客户机设备102包括处理器300、存储器元件302、安全数据存储 器304和安全通信模块306。处理器300被配置成用于执行软件指令以便执 行在此描述的第一客户机设备102的各种操作。存储器元件302可被配置 成用于存储与第一客户机设备102相关联的软件指令和数据。处理器300 可以是任何类型的处理器(诸如微处理器、嵌入式处理器、数字信号处理 器(DSP)、网络处理器、或用于执行代码的其他设备)。尽管仅在图3 中示出了一个处理器300,应当理解的是在某些实施例中第一客户机设备 102可包括多于一个处理器。

安全数据存储器304被配置成用于存储与第一客户机设备102相关联 的机密数据。例如,如果第一客户机设备102与DHS相关联,机密数据可 包括恐怖分子监视名单,并且如果第一客户机设备102与航空公司相关联, 机密数据可包括乘客清单。

安全通信模块306被配置成用于助益第一客户机设备102和安全元件 106之间的安全通信。在一个或多个实施例中,安全通信模块306被配置成 用于助益与安全元件106的远程证实,建立与安全元件106的安全连接, 以及向安全元件106发送机密数据或信息,和/或从安全元件106接收处理 机密数据或信息的结果,如在此进一步描述的。在某些实施例中,可以与 在图3中示出的第一客户机设备102相似或相同的方式配置第二客户机设 备112。

图4A-4B是示出根据实施例可与通信系统100的安全元件106相关联 的可能操作的简化流程图400。在一个或多个实施例中,机密信息的所有者 (诸如第一实体和第二实体)协定安全元件106的安全性质、实现算法以 便处理机密数据的代码身份以及用于公布计算结果的标准。这可包括计算 结果中的输入机密数据的隐私保护要求,诸如可将数据提供给哪些实体以 及可提供多少这种数据。在402中,安全元件106从第一客户机设备102 接收连接请求。在404中,安全元件106与第一客户机设备102建立连接。 在特定实施例中,安全元件106和第一客户机设备102之间的连接是安全 连接。在406中,安全元件106从第一客户机设备102接收远程证实质询。 在各实施例中,远程证实质询包括与第一客户机设备102相关联的第一客 户机设备标识符或证书。远程证实允许由授权方(诸如第一客户机设备102 和第二客户机设备112)检测安全元件106的信任执行环境。在一个或多个 实施例中,第一客户机设备102和第二客户机设备112可在将结果公布给 其之前使用证实和验证来认证信任执行环境的身份(包括硬件和代码两 者)。例如,第一客户机设备102可使用远程证实来标识是否已经对相互 协定的安全代码进行了未授权的改变,包括用于篡改安全代码以便绕过技 术保护措施或修改安全代码用于确定应当在相互不信任的实体之间共享哪 些机密数据的规则或程序。远程证实提供两方远程地认证安全元件106所 提供的信任执行环境是适当的协定环境并且它们可安全地向这个环境供应 其算法和秘密/机密信息以便执行协定的动作的能力。在特定实施例中,安 全元件106的硬件和/或软件响应于远程证实质询生成安全代码的证书或其 他密码身份并且将证书提供给第一客户机设备102以便指示当前正在执行 未改变的安全代码。

在408中,安全元件106检查第一客户机设备ID/证书以便确定远程证 实质询是否包含用于第一客户机设备102的适当的标识符。在410中,安 全元件106确定第一客户机设备ID/证书是否有效。如果第一客户机设备ID/ 证书无效,操作继续到412,其中第一客户机设备远程证实质询被拒绝并且 操作结束。如果第一客户机设备ID/证书有效,操作继续到414,其中安全 元件106计算存储在安全代码存储206中的代码的密码身份。在一个或多 个实施例中,安全代码可先前由第一客户机设备102和/或第二客户机设备 112提供给安全元件106。在特定实施例中,安全元件106计算安全代码的 密码散列。在仍其他实施例中,安全元件106可根据安全代码计算任何合 适的密码函数。在仍其他实施例中,安全元件106可为安全代码确定任何 合适的标识符。在416中,安全元件106向第一客户机设备102发送包括 密码身份的密码签名引用。第一客户机设备102可接收密码签名引用并且 验证密码签名引用中的签名以便确保安全代码由信任硬件和/或软件使用密 码身份签名。第一客户机设备102可进一步验证代码身份符合其策略。如 果第一客户机设备102验证安全代码,其向安全元件106发送包括密码身 份已经由第一客户机设备102验证的指示的连接请求。如果第一客户机设 备102不能验证安全代码,其可不向安全元件106发送连接请求。

在418中,安全元件106从第一客户机设备102接收连接请求。在420 中,安全元件106与第一客户机设备102建立安全通信通道。在422中, 安全元件106使用安全通道从第一客户机设备102接收连第一机密信息。 在特定实施例中,安全通道是第一客户机设备102和安全元件106的信任 执行环境之间的密码保护的通道,从而使得第一客户机设备102所提供的 机密信息可仅由信任执行环境读取。第一机密信息包括可潜在地与第二客 户机设备112共享的信息的各部分。在特定示例中,第一机密信息可包括 DHS所提供的恐怖分子监视名单。在424中,安全元件106通过将第一机 密信息存储在安全数据存储208中将机密信息封装到信任执行环境的代码 身份,其方式为使得仅运行相同代码的接收机密信息的信任执行环境可以 读取它。因此,安全元件106被供应有与第一客户机设备102相关联的第 一机密信息。

在426中,安全元件106从第二客户机设备112接收连接请求。在428 中,安全元件106与第二客户机设备112建立连接。在特定实施例中,安 全元件106和第二客户机设备112之间的连接可以是安全连接。在430中, 安全元件106从第二客户机设备112接收远程证实质询。在各实施例中, 远程证实质询包括与第二客户机设备112相关联的第二客户机设备标识符 或证书。在432中,安全元件106检查第二客户机设备ID/证书以便确定远 程证实质询是否包含用于第二客户机设备112的适当的标识符。在434中, 安全元件106确定第二客户机设备ID/证书是否有效。如果第二客户机设备 ID/证书无效,操作继续到436,其中第二客户机设备远程证实质询被拒绝 并且操作结束。如果第二客户机设备ID/证书有效,操作继续到438,其中 安全元件106计算存储在安全代码存储206中的代码的密码身份。在特定 实施例中,安全元件106计算安全代码的密码散列。在仍其他实施例中, 安全元件106可根据安全代码计算任何合适的密码函数。在440中,安全 元件106向第二客户机设备112发送包括密码身份的密码签名引用。第二 客户机设备112可接收密码签名引用并且使用密码身份验证安全代码。如 果第二客户机设备112验证安全代码,其向安全元件106发送包括密码身 份已经由第二客户机设备112验证的指示的连接请求。

在442中,安全元件106确定其是否已经从第二客户机设备102接收 到连接请求。如果安全元件106未接收到连接请求,操作结束。如果安全 元件106从第二客户机设备112接收到连接请求,则在444中,安全元件 106与第二客户机设备112建立安全通信通道。在特定实施例中,安全通道 是第二客户机设备112和安全元件106的信任执行环境之间的密码保护的 通道,从而使得第二客户机设备112所提供的机密信息可仅由信任执行环 境读取。在446中,安全元件106从第二客户机设备112接收第二机密信 息并且将第二机密信息存储在安全数据存储208中。第二机密信息包括可 潜在地与第一客户机设备102共享的信息的各部分。在特定示例中,第二 机密信息可包括航空公司所提供的乘客清单。

在448中,安全元件106在信任执行环境中执行相互协定的安全代码。 在450中,安全元件106使用安全代码基于第一机密信息和第二机密信息 计算机密结果。在各实施例中,安全代码可被配置成用于执行第一机密信 息和第二机密信息的聚合、组合或其他处理以便确定应当与第一客户机设 备102和第二客户机设备112中的一个或两者共享的第一机密信息和/或第 二机密信息的各部分。

在至少一个实施例中,安全代码起作用以便确定包括在第一机密信息 中的数据或信息的各部分是否与包括在第二机密信息中的数据的各部分匹 配。在特定实施例中,安全元件106确定是否已经在第一机密数据中的信 息的一个或多个项目或部分与第二机密数据中的信息的一个或多个项目或 部分之间发现匹配。

在452中,安全元件106向匹配参与者(诸如所提供的机密信息的一 个或多个所有者(诸如第一实体和/或第二实体))所协定的标准的一个或 多个实体发送一个或多个通知。在各实施例中,标准可包括用于公布包括 谁可接收计算机结果、如何证实结果客户的身份和/或机密性要求的计算结 果的标准。

在一个或多个实施例中,标准可包括如果确定尚未发现匹配则向第一 客户机设备102、第二客户机设备112或第三方计算设备114中的一个或多 个发送指示尚未发现匹配的一个或多个通知。在仍其他实施例中,标准可 包括如果确定发现匹配则向第一客户机设备102、第二客户机设备112或第 三方计算设备114中的一个或多个发送指示发现匹配的一个或多个通知。 在一个或多个实施例中,通知可包括匹配机密信息的至少一部分。例如, 在特定实施例中,匹配机密信息可包括来自恐怖分子监视名单的匹配乘客 清单中的一个或多个人员的一个或多个人员。操作可在随后结束。

图5是根据本公开的实施例用于网络环境中的不信任实体之间的相互 确定的数据共享的通信系统500的简化框图。在图5中示出的特定实施例 中,第一客户机设备102与国土安全部(DHS)相关联。DHS维护包括标 识被怀疑参与恐怖分子活动的一个或多个人员的信息的恐怖分子监视名单 502。第一客户机设备102被配置成用于向安全元件106提供恐怖分子监视 名单502。第二客户机设备112与航空公司相关联。航空公司生成包括标识 被安排为特定航班的乘客的一个或多个人员的信息的乘客名单504。第二客 户机设备112被配置成用于在航班起飞之前向安全元件106提供乘客清单 502。安全元件106包括由DHS和航空公司两者相互协定的安全代码506 以便确定有待在第一客户机设备102和第二客户机设备112之间共享恐怖 分子监视名单502和乘客清单504中的一个或多个的哪些部分。

安全元件106被配置成用于处理恐怖分子监视名单502和乘客清单504 以确定是否存在任何匹配条目。任何匹配条目可在随后进行以下中的一个 或多个:经由第一客户设备102被提供给DHS;以及经由第二客户机设备 504被提供给航空公司。以此方式,DHS和航空公司可被提醒可疑恐怖分 子正在尝试登上航班并且DHS或航空公司可采取进一步的动作。第三方计 算设备114可进一步与航班位置处的机场安检人员相关联。安全元件106 可被进一步配置成用于经由第三方计算设备114向机场安检人员提供匹配 条目,从而使得机场安检人员可采取进一步的动作,诸如防止可疑恐怖分 子登上航班和/或逮捕可疑恐怖分子。以下进一步结合图6A-6B描述图5的 通信系统500的进一步的操作。

图6A-6B是示出根据特定实施例可与第一客户机设备102、安全元件 106、第二客户机设备112和第三客户机设备114相关联的可能操作的简化 交互图600。在602中,第一客户机设备102开始DHS恐怖分子监视名单 预设程序并且向安全元件106发送连接请求。在604中,安全元件106与 第一客户机设备102建立连接。在特定实施例中,安全元件106和第一客 户机设备102之间的连接是安全连接。在606中,第一客户机设备102向 安全元件106发送远程证实质询。在各实施例中,远程证实质询包括与第 一客户机设备102相关联的第一客户机设备标识符或证书。

在608中,安全元件106检查第一客户机设备ID/证书以便确定远程证 实质询是否包含用于第一客户机设备102的适当的标识符。在610中,安 全元件106确定第一客户机设备ID/证书是否有效。如果第一客户机设备ID/ 证书无效,则操作继续到612,其中安全元件106拒绝第一客户机设备远程 证实质询并且操作结束。如果第一客户机设备ID/证书有效,则操作继续到 614,其中安全网络元件106计算存储在安全代码存储206中的代码的密码 身份。在一个或多个实施例中,安全代码可先前由第一客户机设备102和/ 或第二客户机设备112提供给安全元件106。在特定实施例中,安全元件 106计算安全代码的密码散列。在仍其他实施例中,安全元件106可根据安 全代码计算任何合适的密码函数或其他身份生成计算。在616中,安全元 件106向第一客户机设备102发送包括密码身份的密码签名引用。在618 中,第一客户机设备112接收密码签名引用并且使用密码身份验证安全代 码。在620中,第一客户机设备102向安全元件106发送连接请求。

在622中,在接收到连接请求之后,安全元件106与第一客户机设备 102建立安全连接。在624中,第一客户机设备102向安全元件106发送恐 怖分子监视名单502。在626中,安全元件106将恐怖分子监视名单502 封装到信任网络环境的代码身份。因此,用与第一客户机设备102相关联 的恐怖分子监视名单502来预设安全元件106。

在628中,在航班起飞之前,第二客户机设备112向安全元件106发 送连接请求。在630中,安全元件106与第二客户机设备112建立连接。 在特定实施例中,安全元件106和第二客户机设备112之间的连接是安全 连接。在632中,第二客户机设备112向安全元件106发送远程证实质询。 在各实施例中,远程证实质询包括与第二客户机设备112相关联的第二客 户机设备标识符或证书。在634中,安全元件106检查第二客户机设备ID/ 证书以便确定远程证实质询是否包含用于第二客户机设备112的适当的标 识符。在635中,安全元件106确定第二客户机设备ID/证书是否有效。如 果第二客户机设备ID/证书无效,则操作继续到636,其中第二客户机设备 远程证实质询被拒绝并且操作结束。如果第二客户机设备ID/证书有效,则 操作继续到638,其中安全元件106计算存储在安全代码存储206中的安全 代码506的密码身份。在特定实施例中,安全元件106计算安全代码的密 码散列。在仍其他实施例中,安全元件106可根据安全代码506计算任何 合适的密码函数。在640中,安全元件106向第二客户机设备112发送包 括密码身份的密码签名引用。在642中,第二客户机设备112接收密码签 名引用并且使用密码身份验证安全代码506。在644中,第二客户机设备 112向安全元件106发送连接请求。

在646中,安全元件106与第二客户机设备112建立安全连接。在648 中,第二客户机设备112向安全元件106发送乘客清单504并且安全元件 106将乘客清单504存储在安全数据存储208中。

在650中,安全元件106在信任网络环境中执行相互协定的安全代码 506。在至少一个实施例中,安全代码502起作用以便确定与恐怖分子监视 名单502中的人员相关联的标识信息是否与在乘客清单504中发现的乘客 相关联的标识信息匹配。

在652中,安全元件106确定是否已经在恐怖分子监视名单502和乘 客清单504中的一个或多个项目或部分之间发现匹配。如果未发现匹配, 则操作继续到654,其中安全元件106向第二客户机设备112发送指示尚未 发现匹配的一个或多个通知,并且在654之后,操作结束。在特定实施例 中,安全元件106可进一步向第一客户机设备102和第三方计算设备114 中的一个或多个发送尚未发现匹配的通知。

如果在652中发现匹配,则操作继续到656。在656中,安全元件106 向第一客户机设备102发送指示已经发现匹配的通知。在658中,安全元 件106向第二客户机设备112发送指示已经发现匹配的通知。在660中, 安全元件106向第三方计算设备114发送指示已经发现匹配的通知。在一 个或多个实施例中,通知包括在恐怖分子监视名单502和乘客清单504中 匹配的人员的标识信息。因此,在可疑恐怖分子的正标识的情况下,可通 知DHS、航空公司和机场安检人员。操作可在随后结束。

尽管已经相对于航空公司旅行在国家安全方面描述了特定示例,应当 理解的是在此讨论的原理可应用于任何情况,包括政府和商业应用,诸如 金融和医疗,其中不同方有兴趣组合和聚合共享敏感数据但是希望保持单 个敏感数据保密、隐私或机密。可在其中使用在此描述的原理的一个领域 包括其中来自不同政府机构的敏感信息的机密聚合可提供更宽的威胁视角 但是这些机构可能犹豫共享信息,由于对于敏感数据将如何被利用和保护 缺少足够的信任。例如,联邦调查局(FBI)可维护中央情报局(CIA)可 能希望访问的指纹数据库。信任代理服务108可提供安全元件106的功能, 从而使得FBI指纹数据库被供应在安全元件106内并且CIA机构提供与特 定指纹相关联的指纹信息。如果安全元件106通过执行相互协定的安全代 码发现指纹信息匹配,CIA机构可被提供有与匹配指纹记录相关联的姓名 和其他细节。

在另一个示例中,针对诸如揭露欺诈性转让或洗钱目的,其中审计人 员经常需要跨不同银行数据库的统一视角,在此描述的原理可应用于金融 行业。例如,金融机构可能不希望向中央机构提供有关其所有客户的客户 信息。而是,金融机构可向安全元件106提供客户交易数据,并且安全元 件106可执行安全代码以便仅标识与欺诈性转让资料匹配的客户,并且仅 向中央机构提供有关匹配客户的信息。

在另一个示例中,病人可能拜访医生并且医生可能希望为特定的药物 开处方,针对该特定药物,可能存在病人可能服用的其他药物的相互作用。 在这种情况下,安全元件106可被提供来自制药公司的有关药物相互作用 的信息并且医生可能希望开处方的药物的身份可由医生提供。可使用安全 元件106计算药物相互作用效果并将其提供给医生而不向医药公司提供有 关病人当前正在服用的药物的隐私信息。

在另一个实施例中,一个或多个实体可执行其组合机密数据的联合计 算。在仍另一个实施例中,第一实体可对第二实体的隐私数据执行机密查 询,其方式为第二实体不知道第一实体正在查询什么信息,并且第一实体 不知道查询将导致何种数据。在仍另一个实施例中,第一实体可对第二实 体和第三实体的聚合隐私数据集执行机密查询,其方式为第二实体和第三 实体不知道第一实体正在查询什么信息,并且第一实体、第二实体和第三 实体不知道查询将导致何种总计数据。在仍另一个实施例中,第一实体可 对第二实体和第三实体的聚合隐私数据集执行非机密查询,其方式为第二 实体和第三实体不知道第一实体正在查询什么信息,并且第一实体、第二 实体和第三实体不知道查询将导致何种总计数据。在仍另一个实施例中, 第一实体可提供第二代码和机密数据以便在信任执行环境中在第二实体的 机密数据上执行,其中仅由第二实体消耗结果。

注意,通过在此提供的示例,可针对两个、三个或更多个网络元件描 述交互。然而,已经仅为了清晰性和示例的目的完成了这一动作。在某些 情况下,可能更容易的是仅通过引用有限数量的网络元件描述给定流集合 的功能中的一个或多个。应当认识到通信系统100及其教导是容易可扩展 的并且可容纳大量的组件以及更复杂/精细的安排和配置。因此,所提供的 示例不应当限制范围或抑制通信系统100的广泛教导,因为其可能应用于 非常大量的其他架构。例如,在特定实施例中,多于两个实体可共享其对 应的机密信息的各部分。此外,尽管各实施例将安全元件106示出为具有 信任代理服务108,应当理解的是在其他实施例中,安全元件106可位于第 一客户机设备102、第二客户机设备111、第三方计算设备114中一个或多 个或通信网络100内的任何其他合适的网络位置。

还重要的是注意前述流程图中的操作仅示出可由通信系统100或在其 内执行的可能的相关场景和模式中的一些。当合适时可删除或移除这些操 作中的某些,或者可相当地修改或改变这些操作而不背离本公开的范围。 此外,这些操作中的多个操作已经被描述为与一个或多个附加操作并发地 或并行地执行。然而,可相当地更改这些操作的定时。已经为示例和讨论 的目的提供了前述操作流。通信系统100提供了大量的灵活性,因为可提 供任何合适的安排、时序、配置和定时机制而不背离本公开的教导。

尽管已经详细地参照特定安排和配置描述了本公开,可显著地改变这 些示例配置和安排而不背离本公开的范围。而且,可基于特定需要和实现 方式组合、分离、清除或添加某些组件。此外,尽管已经参照促成通信过 程的特定元件和操作示出了通信系统内100,这些元件和操作可由实现通信 系统100的预期功能的任何合适的架构、协议和/或过程替代。

一个或多个实施例的优点包括提供用于在具有硬件和/或软件实施的 机密性、完整性和/或远程证实的实体之间提供共享机密或隐私数据的安全 环境。一个或多个实施例的另一个优点是其可提供以下保证:隐私或机密 数据将仅用于实现共享目标的目的并且将不由任一实体误用或泄露给外部 实体。一个或多个实施例的另一个优点是其可随着数据共享需要演进提供 动态地扩展的能力。一个或多个实施例的仍另一个优点是其可提供以成本 有效和及时的方式向实体传递共享目标的能力。

以下示例涉及进一步的实施例。

示例1是一种用于在实体之间共享信息的装置包括处理器和在该处理 器上执行的信任执行模块。该信任执行模块被配置成用于从与第一实体相 关联的第一客户机设备接收第一机密信息,将该第一机密信息封装在信任 执行环境中,从与第二实体相关联的第二客户机设备接收第二机密信息, 将该第二机密信息封装在该信任执行环境中,以及在该信任执行环境中执 行代码。该代码被配置成基于该第一机密信息和该第二机密信息来计算机 密结果。

在示例2中,示例1的主题可任选地包括该信任执行模块被进一步配 置成从该第一客户机设备和该第二客户机设备中的至少一个接收该代码并 且将该代码封装在该信任执行环境中。

在示例3中,示例1的主题可任选地包括该信任执行模块被进一步配 置成:确定该代码的身份;将该身份发送到该第一客户机设备;以及从该 第一设备接收该身份已经被该第一客户机设备验证的指示。

在示例4中,示例3的主题可任选地包括该身份是在该信任执行环境 中计算的密码签名的身份。

在示例5中,示例1的主题可任选地包括该第一机密信息对该第一实 体而言是机密的,而该第二机密信息对该第二实体而言是机密的。

在示例6中,示例1的主题可任选地包括该信任执行模块被进一步配 置成用于向与该第一实体和该第二实体协定的标准匹配的一个或多个实体 发送通知。

在示例7中,示例6的主题可任选地包括该通知包括该机密结果。

在示例8中,示例1的主题可任选地包括基于该第一机密信息和该第 二机密信息计算机密结果包括确定该第一机密信息的第一部分是否与该第 二机密信息的第二部分匹配。

在示例9中,示例9的主题可任选地包括该信任执行模块被进一步配 置成用于当该第一部分与该第二部分匹配时向该第一客户机设备和该第二 客户机设备中的至少一个发送通知。

在示例10中,示例9的主题可任选地包括该通知包括该匹配信息的至 少一部分。

在示例11中,示例1的主题可任选地包括该代码是由该第一实体和该 第二实体相互协定的。

示例12是至少一种其上存储有用于在实体之间相互共享信息的指令 的机器可读存储介质,当由处理器执行时,该指令致使该处理器:从与第 一实体相关联的第一客户机设备接收第一机密信息;将该第一机密信息封 装在信任执行环境中;从与第二实体相关联的第二客户机设备接收第二机 密信息;将该第二机密信息封装在该信任执行环境中;以及在该信任执行 环境中执行代码。该代码被配置成基于该第一机密信息和该第二机密信息 来计算机密结果。

在示例13中,示例12的主题可任选地包括当由该处理器执行时致使 该处理器从该第一客户机设备和该第二客户机设备中的至少一个接收该代 码并且将该代码封装在该信任执行环境中的指令。

在示例14中,示例12的主题可任选地包括当由该处理器执行时致使 该处理器确定该代码的身份;将该身份发送到该第一客户机设备;以及从 该第一设备接收该身份已经被该第一客户机设备验证的指示的指令。

在示例15中,示例14的主题可任选地包括该身份是在该信任执行环 境中计算的密码签名的身份。

在示例16中,示例12的主题可任选地包括该第一机密信息对该第一 实体而言是机密的,而该第二机密信息对该第二实体而言是机密的。

在示例17中,示例12的主题可任选地包括该信任执行模块被进一步 配置成用于向与该第一实体和该第二实体协定的标准匹配的一个或多个实 体发送通知。

在示例18中,示例12的主题可任选地包括该通知包括该机密结果。

在示例19中,示例12的主题可任选地包括基于该第一机密信息和该 第二机密信息计算机密结果包括确定该第一机密信息的第一部分是否与该 第二机密信息的第二部分匹配。

在示例20中,示例12的主题可任选地包括该信任执行模块被进一步 配置成用于当该第一部分与该第二部分匹配时向该第一客户机设备和该第 二客户机设备中的至少一个发送通知。

在示例21中,示例20的主题可任选地包括该通知包括该匹配信息的 至少一部分。

在示例22中,示例12的主题可任选地包括该代码是由该第一实体和 该第二实体相互协定的。

示例23是一种用于在实体之间共享信息的方法,该方法包括:从与第 一实体相关联的第一客户机设备接收第一机密信息;将该第一机密信息封 装在信任执行环境中;从与第二实体相关联的第二客户机设备接收第二机 密信息;将该第二机密信息封装在该信任执行环境中;以及在该信任执行 环境中执行代码,该代码被配置成基于该第一机密信息和该第二机密信息 来计算机密结果。

在示例24中,示例23的主题可任选地包括从该第一客户机设备和该 第二客户机设备中的至少一个接收该代码并且将该代码封装在该信任执行 环境中。

在示例25中,示例23的主题可任选地包括确定该代码的身份;将该 身份封装到该第一客户机设备;以及从该第一设备接收该身份已经由该第 一客户机设备验证的指示。

在示例26中,示例23的主题可任选地包括该身份是在该信任执行环 境中计算的密码签名的身份。

在示例27中,示例23的主题可任选地包括该第一机密信息对该第一 实体而言是机密的,而该第二机密信息对该第二实体而言是机密的。

在示例28中,示例23的主题可任选地包括向与该第一实体和该第二 实体协定的标准匹配的一个或多个实体发送通知。

在示例29中,示例28的主题可任选地包括该通知包括该机密结果。

在示例30中,示例23的主题可任选地包括基于该第一机密信息和该 第二机密信息计算机密结果包括确定该第一机密信息的第一部分是否与该 第二机密信息的第二部分匹配。

在示例31中,示例30的主题可任选地包括当该第一部分与该第二部 分匹配时向该第一客户机设备和该第二客户机设备中的至少一个发送通 知。

在示例32中,示例31的主题可任选地包括该通知包括该匹配信息的 至少一部分。

在示例33中,示例31的主题可任选地包括该代码是由该第一实体和 该第二实体相互协定的。

示例34是一种包括指令的机器可读介质,当被执行时,该指令使机器 执行如示例23至33中任一项所述的方法。

示例35是一种包括用于执行如示例23至33中任一项所述的方法的装 置的设备。

示例36是一种用于在实体之间共享信息的设备,该设备包括:用于从 与第一实体相关联的第一客户机设备接收第一机密信息的装置,用于将该 第一机密信息封装在信任执行环境中的装置,用于从与第二实体相关联的 第二客户机设备接收第二机密信息的装置,用于将该第二机密信息封装在 该信任执行环境中的装置,以及用于在该信任执行环境中执行代码的装置。 该代码被配置成基于该第一机密信息和该第二机密信息来计算机密结果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号