安全数据处理的制作方法

文档序号:6534181阅读:104来源:国知局
安全数据处理的制作方法
【专利摘要】公开了一种安全的数据处理装置和方法。安全的数据处理装置可被操作以安全地处理由用户提供的用户数据,该安全数据处理设备包括:受信任的域,包括与受信任的数据处理装置耦合的受信任的总线,所述受信任的数据处理装置可操作以处理在受信任的总线上接收到的输入用户数据并生成输出用户数据;受信任域控制器,其将受信任的总线与非受信任的域中不受信任的总线耦合,所述受信任域控制器能够操作以确保在不受信任的总线上接收到的加密的输入用户数据被解密并在受信任的总线上将其作为输入数据提供,并且确保所述输出用户数据被加密并在不受信任的总线上将其作为加密的输出数据提供。通过提供将所述受信任的总线与不受信任的总线耦合并确保解密输入用户数据同时加密输出用户数据的受信任的域控制器,仅在不受信任的域中提供加密的数据从而降低了数据受到损害的机会,并确保仅在受信任域中处理解密的数据从而提高了受信任域中的处理性能。通过提供受信任域控制器作为受信任域与非受信任域之间的导管,对受信任域中非加密的数据的访问能够被避免。因此,可以保证数据的保密性而没有任何相关的处理性能的不足。
【专利说明】安全数据处理

【技术领域】
[0001]本发明涉及一种安全的数据处理装置和方法。

【背景技术】
[0002]安全的数据处理是众所周知的。安全的数据处理在例如云计算中使用的那些分散式计算体系结构中尤为重要。当进行这样的云计算时,在云中被发送至远程计算机中的任意代码和被发送以进行远程处理的任意用户数据,以及从远程数据处理操作输出的数据通常需要保密。
[0003]尽管存在各种技术以试图保护这些数据的保密性,他们中的每一个都有其各自的不足之处。
[0004]因此,需要提供一种改进的技术用于执行安全数据处理。


【发明内容】

[0005]根据第一方面,提供了一种安全的数据处理装置,其可操作以安全地处理用户提供的用户数据,该安全数据处理设备包括:受信任的域,包括与受信任的数据处理装置耦合的受信任的总线,所述受信任的数据处理装置可操作以处理在该受信任的总线上接收到的输入用户数据,并生成输出的用户数据;受信任域控制器,将受信任的总线与非受信任的域中不受信任的总线耦合,所述受信任域控制器能够操作以确保对在该不受信任的总线上接收到的已加密的输入用户数据进行解密并在受信任的总线上将其作为输入数据提供,并且确保对输出用户数据进行加密并在不受信任的总线上将其作为加密的输出数据提供。
[0006]所述第一方面认识到,存储器保护硬件机制的传统目标是执行环境和信任之间的隔离,从安全角度来看,该机制允许操作系统隔离不同用户的执行环境。其试图确保无特权的用户不能访问彼此的数据,也不能压倒系统管理员所做的决策和配置。这通常由执行适当的存储器管理单元配置的操作系统内核在切换一个用户进程时实现,所述进程仅可访问系统中可用物理存储器的一个子集,并且如果需要的话以适当的只读限制的方式。然而,第一方面认识到,该机制依然允许处理器有特殊的操作模式(即所谓的“Ring O”),在该操作模式中,对运行的代码可以做什么没有限制。该Ring O被用于设置和管理各个进程执行的隔离,并且因此在Ring O中运行的软件必须是受信任的。可惜的是,在传统的操作系统中,恶意攻击者对操作系统内核和系统调用实现中的缺陷(bug)进行的利用已经获得成功,因此允许例如非特权进程在操作系统上获得管理员权限,并最后能够破坏系统中的任何安全策略。同时,作为操作系统中的特权进程,系统进程和服务中的缺陷可以用来执行可破坏操作系统安全策略配置的恶意代码。此外,恶意系统管理员可以控制在Ring O中执行的软件,并且因此可以注入绕过正常的操作系统安全的恶意软件。
[0007]类似地,在虚拟化环境中,如建立在云计算基础设施上的那些环境,可利用传统的存储器保护来为不同虚拟机的执行彼此进行隔离。虚拟机监视器或管理程序嵌入代码利用可用处理器的特殊操作模式以执行系统管理操作。然而,所述第一方面认识到,攻击者可以利用管理程序和超级调用实现中的缺陷以便打破这样的系统的隔离性能(跨不同的虚拟机)。通常管理在物理节点上的访问的基础设施拥有者事实上可以访问由托管虚拟机管理的任意数据。因此云提供商的用户被迫信任该提供商一如果他们想将任何一种计算移交到云中。
[0008]加密机制,如同态加密,通过允许云提供商在已加密并且无法理解数据内容的数据上执行计算来努力消除该约束。然而,这样的技术被限制在数据上有限的操作集范围中。此外,该技术还只是初步的并且它们的有效性和可用性尚未被证实。
[0009]另一种方法使用受信任的平台模块技术。然而受信任的平台模块仅仅通过例如确保引导链涉及的软件组件没有被修改来确保远程系统不能被篡改。然而,在所述软件中存在缺陷的情况下,其同样不能提供任何保证。
[0010]另一种方法是使用与加密存储器管理单元相关联的处理器,使得安全处理器可以在保持加密形式的数据上操作。但是,由于对每次高速缓存缺失均需利用加密和解密的功能,与执行实时加密和解密相关的开销可很高。
[0011]因此,提供了一种安全的数据处理装置。所述安全数据处理装置可可操作地安全地处理用户提供的数据。所述安全数据处理装置可包括受信任域。所述受信任域可包括可与受信任的数据处理装置耦合的受信任的总线。所述受信任的处理装置可能够处理在所述受信任的总线上接收到的输入用户数据并可生成输出用户数据。所述安全数据处理装置还可包括受信任域控制器。所述受信任域控制器可将受信任的总线与其以及非受信任的域中受信任的总线相耦合。所述受信任域控制器可确保对在不受信任的总线上接收到的加密的输入用户数据解密。所述受信任域控制器可在受信任的总线上提供所述解密的输入用户数据作为输入数据。所述受信任域控制器也可确保加密输出用户数据并在非受信任的总线上将其作为加密的输出数据提供。
[0012]通过提供将所述受信任的总线与一个不受信任的总线耦合的受信任域控制器,并且所述受信任域控制器确保输入用户数据被解密同时输出用户数据被加密,仅在不受信任的域中提供降低数据受到损害机会的加密的数据,并且确保了仅在受信任域中处理解密的数据,这提高了受信任域中的处理性能。通过提供受信任域控制器作为受信任域和非受信任域之间的导管,可以避免访问受信任域中非加密的数据。因此,可在保证数据的保密性的同时不损失任何相关的处理性能的。
[0013]在一个实施例中,受信任的域控制器提供受信任域和非受信任域之间的唯一接口。通过提供作为受信任域和非受信任域之间唯一接口的受信任域控制器,可以保证数据的加密和解密并且可避免通过任何其它途径访问受信任域内的数据,从而避免对受信任域中非加密数据的访问。应当认识到,在实施例中,所述受信任域控制器提供至受信任域的唯一物理通道(access)。
[0014]在一个实施例中,受信任域和非受信任域之间的所有数据传输均通过受信任域控制器发生。因此,所有的数据传输仅可通过受信任域控制器发生,从而保证存在适当的加密和解密以防止任何非加密的数据离开受信任域。
[0015]在一个实施例中,由受信任域控制器强制加密和解密受信任域和非受信任域之间的数据传输。因此,所有的传输都必须被加密或解密以保护用户数据的完整性。
[0016]在一个实施例中,受信任域控制器包括不可再编程密码硬件,其可操作以在受信任域和非受信任域之间的数据传输上进行加密和解密。因此,所述加密和解密过程可被硬连线(hardwired)到受信任域控制器以致没有软件可覆盖或重新编程这些功能,以避免对离开信任域的数据需被加密的要求被任何恶意代码重写。
[0017]在一个实施例中,受信任域控制器可操作以使用相应的不可再编程加密和解密逻辑对受信任域和非受信任域之间的数据传输执行加密和解密。
[0018]在一个实施例中,加密和解密逻辑利用与用户交换的会话密钥。通过与用户交换会话密钥,只有该用户和受信任域控制器会话密钥能够解密或加密安全数据处理装置与用户之间传输的数据。应当认识到,所述密钥的建立不应该依赖任何受信任的软件片段,并且除重新配置会话密钥外,受信任域控制器的行为不应该是可变的或可重新配置的。
[0019]在一个实施例中,用户将会话密钥秘密发送到受信任域控制器,利用该密钥,所述受信任域控制器通过硬件机制对自身进行重新配置。
[0020]在一个实施例中,通过对来自架构(fabric)的受信任域控制器印记(imprinting)私有加密密钥,所述秘密发送操作远程地发生,所述私有加密密钥与由用户信任的认证机构发布、认证和/或通过的公共加密密钥对应。
[0021]在一个实施例中,用户使用公共密钥加密消息,所述消息包括将在受信任域控制器进行重新配置的会话密钥。
[0022]在一个实施例中,受信任域控制器在接收到加密的消息时,使用已印记的私有加密密钥对其解密,并以用户提供的已解密的会话密钥对该受信任域控制器进行重新配置。
[0023]在一个实施例中,受信任的数据处理装置包括至少一个处理单元和非高速缓冲存储器(non-cache memory)。因此,受信任域可提供完整的数据处理设备,而不仅仅是特定处理器的子集部分。
[0024]在一个实施例中,输入用户数据包括数据和可执行代码。因此,可执行的代码和数据两者都可在用户和安全的数据处理装置之间传输。这使得用户能够利用安全的数据处理装置的资源代表用户执行数据处理任务。
[0025]在一个实施例中,受信任的数据处理器可操作以通过非加密的可执行代码的执行来处理非加密的数据。因此,所述受信任的处理器可通过在非加密的代码和数据上进行数据处理以进行正常的操作。应当认识到,这使得受信任的数据处理器发挥其正常的最大性能水平。
[0026]在一个实施例中,响应于重新配置受信任域的请求,受信任的域控制器可操作以删除受信任域中的用户数据。因此,每当受信任域的重新配置将要发生,该受信任域的内容被清除或刷新。
[0027]在一个实施例中,受信任的域控制器可操作以在重新配置受信任域之前删除该受信任域中的用户数据。因此,在受信任域被重新配置以便被另一个用户或另一用户会话使用之前,该受信任的域内的信息被删除。
[0028]在一个实施例中,受信任域控制器包括不可再编程复位硬件,其可操作以提供该受信任域硬件控制的复位以响应重新配置该受信任域的请求。因此,该复位功能可被硬连线至硬件以防止任何恶意软件操作,否则所述恶意软件操作可阻止该受信任域中这样的内容清除或刷新的发生。
[0029]在一个实施例中,重新配置受信任域的请求包括会话密钥的改变。
[0030]在一个实施例中,重新配置受信任域的请求包括可禁用加密及解密的会话密钥的改变。
[0031]根据第二方面,提供了一种安全地处理由用户提供的用户数据的方法,所述方法包括:处理在受信任总线上接收到的输入用户数据并生成输出用户数据;使用受信任域控制器耦合受信任总线与非受信任的域中不受信任的总线,以确保所述不受信任总线上接收到的加密的输入用户数据被解密并在所述受信任的总线上将其作为输入数据提供,同时确保输出用户数据的加密的并在不受信任总线上将其作为加密的输出数据提供。
[0032]在一个实施例中,受信任域控制器提供受信任域和非受信任域之间的唯一接口。
[0033]在一个实施例中,受信任域和非受信任域之间的所有数据传输均通过受信任域控制器发生。
[0034]在一个实施例中,所述方法包括使用受信任域控制器强制加密和解密受信任域和非受信任域之间的数据传输。
[0035]在一个实施例中,所述方法包括使用受信任域控制器的不可再编程密码硬件对受信任域和非受信任域之间的数据传输进行加密和解密。
[0036]在一个实施例中,所述方法包括使用受信任域控制器的相应的不可再编程加密和解密逻辑对受信任域和非受信任域之间的数据传输进行加密和解密。
[0037]在一个实施例中,所述方法包括利用与用户交换的会话密钥。
[0038]在一个实施例中,所述方法包括用户将会话密钥秘密发送到受信任域控制器,通过所述会话密钥所述受信任域控制器通过硬件机制进行对自身进行重新配置。
[0039]在一个实施例中,通过对来自架构的受信任域控制器印记私有加密密钥,所述秘密发送操作远程地发生,所述私有加密密钥与由用户信任的认证机构发布、认证和/或通过的公共加密密钥对应。
[0040]在一个实施例中,用户使用公共密钥加密消息,所述消息包括将在受信任域控制器中重新配置的会话密钥。
[0041]在一个实施例中,在接收到加密的消息时,受信任域控制器使用已印记的私有加密密钥将其解密,并以用户提供的已解密的会话密钥重新配置该受信任域控制器。
[0042]在一个实施例中,受信任的数据处理装置包括至少一个处理单元和非高速缓冲存储器。
[0043]在一个实施例中,输入用户数据包括数据和可执行的代码。
[0044]在一个实施例中,所述方法包括通过非加密的可执行代码的执行来处理非加密的数据。
[0045]在一个实施例中,所述方法包括,响应于重新配置受信任域的请求,删除受信任域中的用户数据。
[0046]在一个实施例中,所述方法包括在重新配置受信任域之前,删除受信任域中的用户数据。
[0047]在一个实施例中,所述方法包括提供该受信任域硬件控制的复位以响应重新配置该受?目任域的请求。
[0048]在一个实施例中,重新配置受信任域的请求包括该会话密钥的改变。
[0049]在一个实施例中,重新配置受信任域的请求包括可禁用加密和解密的会话密钥的改变。
[0050]进一步具体和优选的方面将在所附的独立和从属权利要求中阐述。从属权利要求的特征可与独立权利要求的特征适当地结合,并且可与权利要求中明确指出之外的特征进行结合。
[0051]装置的特性被描述为可操作以提供功能,其应被理解为包括装置的特性,所述特性提供该功能或者适于或被配置以提供该功能。

【专利附图】

【附图说明】
[0052]现将参考附图进一步描述本发明的实施例,其中:
[0053]图1示出了依照一个实施例的有防火墙的执行架构的域的主要元素;并且
[0054]图2示出了依照一个实施例的云计算的部署。

【具体实施方式】
[0055]概沭
[0056]在讨论所述实施例的任何更多的细节之前,首先将提供概述。如上所述,需要供改进的保密数据的保护,特别是在云计算应用或其它分散式计算部署中。对于许多应用来说,发送到远程计算机(例如云中)的代码和将被远程处理的数据,以及所述远程处理操作生成的输出数据都需要保密。发送到和来自远程计算机的数据和代码能够很容易地被加密,从而保持安全性和保密性。然而,通常有必要的是,用户需要信任远程计算机及其系统管理员来维护保密性。
[0057]系统管理员可以访问发送到远程计算机数据和代码,并且不受信任的并且潜在的恶意软件可在这样的远程计算机上运行并取得访问所述数据的机会。即使所述数据是加密的,在许多情况下可以在远程计算机里访问解密版本,所述解密版本是所有密钥在加密时均会使用的。因此,如果有可能访问远程计算机中任何非加密的数据的处理或者以非加密形式的输出那些数据,保密性的损失会发生。
[0058]因此,实施例提供了一种硬件机制,其被硬连线(hardwired)以创建一个受信任的环境,虽然运行在其它不受信任的环境中,在该环境中能够确保代码的秘密执行以及数据的秘密处理。实施例在物理计算机上提供了一个或多个受保护的或受信任的计算域(被称为有防火墙的执行域(FDE))。在FDE中,保密数据以非加密的、明文的形式在物理平台上可达到的原生计算速度上进行处理。保密代码同样以非加密的,明文的形式在物理平台上可达到的原生计算速度上进行执行。从FDE至外部(并且潜在的非受信任的世界或域)的任何数据流均被强制加密,从而仅有授权用户才能访问它。任何FDE的重新配置均允许不同的用户利用其计算能力,包括复位后的初始化,所述初始化导致FDE的全部内容——包括任意存储器和硬件状态——被强制清除,以使该FDE的新用户无法找到先前用户处理的数据或代码的任何残留痕迹。
[0059]因此,可以看出,数据(其可为代码和/或用户数据)在FDE或受信任域内为非加密的形式,使之能够通过使用数据处理装置,如一个或多个处理器核心、相关的存储器以及必需的设备或外围设备,在该受信任域内发生正常的处理。受信任域和外部世界(非受信任域)之间的信息传递仅能够通过受信任的密码硬件单元(TCU)发生,每当数据移入或移出Π)Ε,所述TCU强制进行加密和解密。所述FDE和TCU由使用软件无法损害的硬件构建(例如,单个芯片是一个可能的实现)。
[0060]敏感数据(或代码)以加密的形式被运送到FDE,并在数据被移动进FDE时由T⑶进行一次解密。该非加密的数据或代码随后被存储进FDE随机存取存储器(RAM),并以非加密的形式在FDE中被处理或执行。由于当任何数据离开FDE时TCU强制进行加密,任何得到的数据随后以加密的形式被发送回给终端用户(或存储在磁盘用于后续处理)。因此,FDE与外界或非受信任域之间所有数据交换只能通过TCU发生,所述TCU在所有的输入数据上解密并在所有的输出数据上加密。所述TCU提供与FDE唯一或专有接口,使得不能从FDE内以任何其它方式访问数据。此外,由于所述TCU以硬件实现,所以不可能阻止所述TCU执行加密与解密以便在FDE内破坏数据。
[0061]FDE内进行的所有处理以原生的计算能力速度运行,每次访问RAM时不需要进行加密或解密。如上文所述,从FDE内输出数据的任何尝试均引发硬件的强制加密,使得不可能向非受信任域或环境公开信息,即使FDE内运行的软件存在缺陷或者尝试将恶意可插拔硬件插入物理计算机。此外,当切换使用FDE的用户时,所有的FDE内容被强制清除并复位到初始状态。这确保了切换访问FDE的用户时不可能存在信息泄露。
[0062]有防火墙的执行域
[0063]图1示出了 FDE架构的主要元素。有防火墙的执行域20是受信任域,其为标准计算机系统的一部分,所述标准计算机系统例如被安装在个人电脑主板上。标准计算机系统控制与外界或非受信任域80的通信,并支持FDE20的操作及初始化。在一个实施例中,FDE20被完全包含在独立的硬件单元中,例如是独立的芯片的一部分,并且进出FDE20的唯一访问线路30通过T⑶40。
[0064]T⑶40提供内置的通常存储在芯片防干扰部分中密码材料,这使得潜在用户能够与其进行保密和受信任的通信。该TCU40被设计并且被硬连线以致绝不会向FDE20之外公开该内置的加密材料。这使得潜在用户能够秘密地发送代码和/或数据至特定的FDE以进行处理。并且,用户可利用该内置材料向FDE20秘密发送进一步的密码材料,所述密码材料可用于加密自身拥有的代码与数据。例如,可提供非对称加密密钥,使得能够快速加密/解密大量数据和/或代码。此外,通过用户使用如数字签名这样的按照密码的校验,TCU40可以可选地支持接收到的数据与内容的校验,下文将对密码校验进行更详细地说明。
[0065]所有输入通信经过解密硬件40A,其被硬连线解密从非受信任域80接收到的数据并将所述非加密的数据提供给FDE20内受信任的数据处理装置,所述FDE20包括一个或多个处理器50,相关的RAM60和设备70。FDE20内的所有数据和代码以非加密的形式被处理,这避免了否则可能在试图以加密形式执行代码和/或数据的安全处理时发生的任何延迟。因此,可以看出,所述FDE20可提供完整的数据处理装置或系统,包括支持用户所要求的处理可能需要的任何资源。本例中,FDE20被包含在独立的芯片上,所述芯片安装在现有的标准的主板上,所述主板运行着一个完整的标准操作系统,如Windows,Linux或其他操作系统。
[0066]所有流出FDE20的数据必须经过加密硬件40B,40B被硬连线以在数据被提供给非受信任域80之前将其强制加密。这确保了在非受信任域80中数据仅以其加密形式存在。通过硬连线T⑶40执行加密和解密,以及仅有T⑶插在信任和非受信任域之间专有唯一接口上,消除了以非加密的形式访问或输出数据的能力。
[0067]云部署
[0068]图2示出了一个可能的使用场景,其中用户110移交保密代码和数据以在远程且受信任的服务器100上进行处理,所述服务器100可通过云服务提供商得到。特别是,多个FDE可以安装在同一物理系统上,并且如果需要的话可由同一操作系统进行管理。尽管穿越了非受信任的网络,如驻留在FDE20A、20B的同一个物理机器上的因特网120和非受信任的计算元素(如非受信任的公共执行域130),由于内置密码材料的使用,远程用户110可以安全并且保密地与目标FDE20A、20B进行通信。该安全通信通过与受信任服务器100安全交换一个或多个密钥以及保密代码和数据的加密而实现。
[0069]在图2所示的安排中,同一物理服务器100中提供多个FDE20A、20B。这样的实施可适合于想给客户提供大量独立FDE的云服务提供商。
[0070]应当认识到,该方法不能保护硬件不受复杂的物理攻击,如试图使用电子显微镜或类似物访问芯片。然而,如果FDE完全包含在独立的芯片上,这样的攻击是极其困难的,并且通过防干扰制造的使用——例如在智能卡或受信任的平台模块设备中所使用的,可使得这样的攻击几乎不可能成功。此外,该方法可与第三方的认证过程耦合以进一步提高安全性,所述第三方的认证过程周期性地校验云提供商的计算设备未改变也未与可疑或恶意的硬件元素结合使用。
[0071]在实施例中,云提供商具有认证用户身份,并对他们使用的资源进行计费的方法;因此,上述方法应不排除增加更多复杂性至所述消息的可能性,这样提供商可在用户向受信任域发送他们的会话密钥以及数据/软件以进行处理时可适当地对其进行认证。
[0072]滅
[0073]制造商为每个T⑶40预置唯一的内置非对称密钥对,在制造过程中私有密钥PrivK-FDE被注入至TCU40并被存储在防篡改硬件中,例如受信任的平台模块,同时通过公共密钥证书,对应的公共密钥PubK-FDE对应用程序开发人员和/或用户是可用的。
[0074]在接收由FDE20的公共密钥PubK-FDE加密的对称用户密钥K-User后,FDE20被初始化。这确保了只有预期的(intended)FDE可以接收并使用用户密钥。所述对称用户密钥K-User对于FDE20内的处理器50、RAM60或设备70来说不可用。这样的初始化使用硬件机制清除、刷新或复位FDE20内的所有数据和代码,以便移除FDE20内先前可能存在的任何数据或代码的任何残留痕迹。这确保了另一个用户不能访问以前的数据或代码。
[0075]在初始化之后,用户随后使用用户的对称密钥K-User加密数据和/或代码,并将其发送到FDE20进行保密处理。T⑶40使用用户的对称密钥K-User解密数据和/或代码,并将所述解密的数据和/或代码存储在FDE20之中用于进一步处理。这样的处理可以以非加密的形式发生,以加快FDE20的操作。
[0076]每当FDE20试图向FDE20中受信任域之外提供任何数据,该数据被加密硬件40B使用用户的对称密钥K-User强制加密。这样的加密数据随后可经由非受信任域80被发送回用户,或存储在例如硬盘上以供以后检索。只有能够访问该用户的对称密钥K-User的某人(someone)可以解密并理解该输出数据,所述某人可以是用户自身或被配置为代表该用户保密执行的任何其他FDE。合法用户接收FDE20输出的数据,然后可使用用户的对称密钥K-Use解密该数据。
[0077]每当FDE20代表给定的用户完成计算时,例如当操作系统希望向另一个用户提供所述FDE的资源时,需要重新配置T⑶40。但是,所述T⑶40的配置触发对FDE20内的所有资源强制和不可避免的复位。该硬件触发清除、复位或刷新全部RAM60、处理器50和设备70。此后,FDE20没有先前操作所残留的代码或数据。FDE20随后从操作系统接收新代码和/或数据,其为加密的并且可选地被签名,如上文所述。
[0078]如上文所述,用于FDE的公共和私有密钥由FDE制造商硬连线(hardwired)至TCU40,并且所述公共密钥是公开的且可选地被制造商签名,因此任何用户都能够确定FDE的来源并校验其确实是期望的FDE。FDE的制造商必须是受信任的,以生产符合规范的FDE。
[0079]认证
[0080]如上文所述,用户与一个或多个FDE之间能够发生数据和/或代码的保密交换。为提供增强的安全性,可以增加数据交换的认证并引入额外的密码材料供TCU40使用以执行交换的数据和/或代码的认证,以使所述数据和/或代码能够进入FDE20的受信任域。
[0081]这可以通过允许用户在初始化时还向T⑶40提供签名校验密钥VerK-User (其使用FDE公共加密密钥PubK-FDE加密)实现,所述VerK-User对应于所述用户持有的私有签名密钥SigK-User。使用这样的配置,对于TCU40接收的任何后续数据和/或代码,在其在FDE20内被接受和复制以用于处理之前,必须预先验证完整性。
[0082]在这种情况下,用户通过使用其签名密钥SigK-User对需要在FDE上被远程执行的数据和/或代码进行签名并且使用先前配置的对称密钥K-User加密任何消息来发送需要在FDE上被远程执行的数据和/或代码。在FDE20之中,由于T⑶40知道PrivK-FDE,其解密用户数据和/或代码,并且在除去用于在FDE20内执行的数据和/或代码之前,TCU40使用用户的签名校验密钥VerK-User校验附加的数字签名,以确保将被执行的数据和/或代码来自预期的用户。
[0083]额外的密码材料可在初始化T⑶40时配置,以便通过对其施加数字签名使其能够认证任意发送回用户的数据。
[0084]如上文所述,FDE20可嵌入受信任平台模块(TPM)芯片,所述芯片负责安全存储并使用长期的密码材料如私有加密密钥PrivK-FDE。
[0085]受信任的密码单元
[0086]TCU40具有特殊的寄存器,操作系统可以在任何时候将新用户的密码信息写入其中,例如用户的对称密钥K-User。如上文所述,这导致FDE20内容的复位。新提供的密码材料必须用FDE的公共加密密钥、PubK-FD加密,并由T⑶40自动地解密(如通过使用相关的TPM功能)。
[0087]T⑶40可以将数据从非受信任域80的公共RAM85移入FDE20。在这种情况下,所传送的数据被解密并可选地被验证,如上文所述。
[0088]TCU40可以与非受信任域80的公共CUP87执行多个明确定义的交互。例如可执行适当寄存器的读/写和/或直接存储器访问(DMA)传递以允许启用或禁用FDE20。同样,TCU40能够改写当前配置的用户的密码材料(例如用户的对称密钥K-User以及用户的签名校验密钥VerK-User)。T⑶40可以将将从处理器50处执行的二进制代码块载入RAM60,在其中使用已配置的公共密钥PubK-FDE解密所述代码,并且可选地使用该用户的签名校验密钥VerK-User校验代码块的签名。T⑶40可以启动或开始FDE20内的已载入代码的执行。T⑶40可以将加密的数据从公共RAM85传送至RAM60,并且在传送过程中T⑶使用已配置的FDE公共密钥PubK-FDE强制解密数据,并可选地使用该用户的签名校验密钥VerK-User校验所述代码块的签名。T⑶40可以将数据从RAM60传送至公共存储器85,并且在传送过程中T⑶使用PubK-FDE密钥强制加密数据。
[0089]当系统上电时,FDE20使用无效的公开密钥重置,从而将其有效地禁用直至其被以实际用户的密码材料使用。每当已禁用的FDE20被启用时,处理器50、存储器60和任意设备70被复位到已知的状态,并且他们的执行被挂起直到该FDE接收到指示执行开始的指令。
[0090]分散式计算
[0091]图1和图2示出的方法使得用户能够将复杂和重量级计算移交给云提供商,并且这些计算可以在多个彼此协作的FDE中以分散的方式执行从而实现保密的分散的计算算法。用户能够通过使用相同的对称密钥K-Use初始化代表同一用户行事的FDE,从而所述FDE能够在计算中相互交换数据,使得分散式客户端应用能够安全实现。
[0092]MS
[0093]FDE20提供严格(tight)的隔离特性。例如,将RAM60中的内容转储到磁盘——例如作为“休眠”进程的一部分一是不可能的。此外,在TCU40内配置的密码材料不能以任何方式从TCU40的外部读取。这样的材料以最高的安全性标准被保护(例如通过利用防干扰和防篡改的制造过程)。
[0094]因此,可以看出,让用户知道给定的云提供商的硬件使用上述实施例允许他们建立强烈的信任,即相信提供商无法暗中监视移交给云提供商用于远程处理的数据和/或代码。数据与在其上执行的计算以及任何产生的数据的保密性的保证由成熟的加密算法及制造商保证的硬件芯片担保。这使得能够在全新的域的集合中使用云计算,否则其中的安全考量可能会阻碍潜在的云计算应用。先前的机制,如受信任的计算,仅旨在使用户对云提供商的远程主机中运行准确的软件栈具有信任。然而,这使得用户暴露在可能的攻击下,所述攻击可能会损坏主机软件栈操作(例如,由于软件缺陷),危及他们的数据和代码的保密性。上文所述的实施例提供了强大的硬件级的保密性保证。如果发生攻击者从外部侵入,或者发生主机中运行恶意虚拟机的情况,攻击者所能做的所有事情就是窃取加密数据,所述加密数据由于缺少必要的解密密钥或密钥从而不能被解密。这是相较现有系统的一个主要变化,在现有系统中用户不仅需要信任云提供商,还需要信任云服务提供商的所有员工以及云上运行的所有软件。现在,用户只需要信任芯片制造商并相信公共密钥加密是安全的。
[0095]本领域技术人员将容易地认识到,上述各种方法的步骤可以通过编程的计算机来执行。在此,一些实施例也旨在覆盖程序存储设备,例如,数字数据存储介质,其可为机器或计算机可读并编码的机器可执行或计算机可执行的指令的程序,其中所述指令执行上述方法所述的多个或全部步骤。程序存储设备可以是,例如,数字存储器、磁存储介质如磁盘和磁带、硬盘驱动器或光学可读数字数据存储介质。该实施例还旨在覆盖被编程以执行上述方法所述步骤的计算机。
[0096]图中示出的多种元素的功能,包括标记为“处理器”或“逻辑”的任何功能块,可以通过使用专用硬件以及具有执行软件能力的硬件结合适当的软件提供。当由处理器提供时,所述功能可以由单个专用处理器、单个共享处理器或其中一些被共享的多个独立处理器提供。此外,术语“处理器”或“控制器”或“逻辑”的明确使用不应被解释为专指具有执行软件能力的硬件,并且可隐含地包括但不限于,数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)及非易失性存储器。其他硬件,常规和/或定制的,也可被包括在内。同样,图中所示的任何交换仅仅是概念性的。他们的功能可以通过程序逻辑操作、通过专用逻辑、通过程序控制和专用逻辑的交互,或甚至手动来进行执行,具体实现方式可以由实施者依照其个人对上下文的理解来进行选择。
[0097]本领域技术人员需认识到此处任意方框图描绘的是体现本发明原理的示意性电路的概念性视图。类似地,需要指出所有流程图表、流程图、状态转移图、伪码及类似物均表述了实质上位于计算机可读媒体中上并可以被计算机或处理器执行的各种处理,不论此类计算机或处理器是否明确地被表露。
[0098]以上叙述和描绘仅仅示出了本发明的原理部分。因此需要指出本领域技术人员能够遵循本发明的原理设计出多种本文中没有明确描述或展示的实施例,但其仍然包括在本发明的精神和范围之中。此外,所有在此列举的例子主要为了教导和帮助读者理解本发明的原理以及发明人提出的概念以推动本领域技术的发展,并且所举示例还应被理解为不限于本文这些特别列举的例子和条件。此外,所有对本发明原理、整体情况、实施例以及具体示例的陈述均包括其等同物。
【权利要求】
1.一种安全的数据处理装置,可被操作以安全地处理由用户提供的用户数据,所述安全数据处理装置包括: 受信任域(20),包括与受信任的数据处理装置(50)耦合的受信任的总线,所述受信任的数据处理装置(50)可操作以处理在所述受信任的总线上接收到的输入用户数据并生成输出用户数据; 受信任域控制器(40),耦合所述受信任的总线与非受信任的域(80)中不受信任的总线,所述受信任域控制器可操作以确保在所述不受信任的总线上接收到的加密的输入用户数据被解密并在所述受信任的总线上将其作为所述输入数据提供,并且确保输出用户数据被加密并在所述不受信任的总线上将其作为加密的输出数据提供,其中,响应于重新配置所述受信任域的请求,所述受信域控制器可操作用以删除所述受信任域中的用户数据。
2.如权利要求1所述的装置,其中所述受信任域控制器提供所述受信任域与所述非受信任域之间的唯一接口。
3.如权利要求1或2所述的装置,其中所述受信任域与所述非受信任之间的所有数据传输通过所述受信任的域控制器发生。
4.如前述任意权利要求之一所述的装置,其中所述受信任域与所述非受信任域之间的数据传输由所述受信任的域控制器强制加密和解密。
5.如前述任意权利要求之一所述的装置,其中所述受信任的域控制器包括不可再编程的密码硬件(40a、40b),所述不可再编程的密码硬件可操作以对所述受信任域与所述非受信任域之间的所述数据传输执行加密和解密。
6.如前述任意权利要求之一所述的装置,其中所述受信任的域控制器可操作以使用相应的不可再编程的加密和解密逻辑对所述受信任域与所述非受信任域之间的数据传输执行加密和解密。
7.如前述任意权利要求之一所述的装置,其中所述输入用户数据包括数据和可执行代码。
8.如前述任意权利要求之一所述的装置,其中所述受信任的数据处理装置可操作以通过执行非加密的可执行代码来处理非加密的数据。
9.如前述任意权利要求之一所述的装置,其中所述受信任的域控制器可操作以在重新配置所述受信任域之前删除所述受信任域中的用户数据。
10.如前述任意权利要求之一所述的装置,其中所述受信任域控制器包括不可再编程的复位硬件,所述不可再编程的复位硬件可操作以提供所述受信任域的硬件控制的复位以响应重新配置所述受信任域的所述请求。
11.如前述任意权利要求之一所述的装置,其中所述加密和解密逻辑利用与所述用户交换的会话密钥。
12.如权利要求11所述的装置,其中重新配置所述受信任域的所述请求包括所述会话密钥的改变。
13.如权利要求11或12所述的装置,其中重新配置所述受信任域的所述请求包括可禁用加密和解密的所述会话密钥的改变。
14.一种安全地处理由用户提供的用户数据的方法,所述方法包括: 处理在受信任总线上接收到的输入用户数据并生成输出用户数据; 使用受信任的域控制器(40)将所述受信任总线与非受信任域中不受信任的总线(40)耦合,以确保在所述不受信任的总线上接收到的加密的输入用户数据被解密并在所述受信任的总线上将其作为所述输入数据提供,并且确保所述输出用户数据被加密并在所述不受信任的总线上将其作为加密的输出数据提供;并且 响应于重新配置受信任域的请求,删除受信任域中的用户数据。
【文档编号】G06F21/74GK104335548SQ201380029463
【公开日】2015年2月4日 申请日期:2013年5月31日 优先权日:2012年6月7日
【发明者】T·库奇诺塔, D·凯鲁比尼, E·B·尤尔 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1