CN114547639A - 数据安全性 - Google Patents

数据安全性 Download PDF

Info

Publication number
CN114547639A
CN114547639A CN202111400226.7A CN202111400226A CN114547639A CN 114547639 A CN114547639 A CN 114547639A CN 202111400226 A CN202111400226 A CN 202111400226A CN 114547639 A CN114547639 A CN 114547639A
Authority
CN
China
Prior art keywords
data
trusted execution
execution environment
processing system
data processing
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
CN202111400226.7A
Other languages
English (en)
Inventor
G·F·彼得里
G·F·布赖恩特
D·P·穆利根
A·C·J·福克斯
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.)
ARM Ltd
Original Assignee
ARM Ltd
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 ARM Ltd filed Critical ARM Ltd
Publication of CN114547639A publication Critical patent/CN114547639A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1014Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明题为“数据安全性”。本发明提供了一种数据处理系统,该数据处理系统包括用于从请求者接收使用通过解密加密数据获得的解密数据的请求的接收电路。可信执行电路提供可信执行环境。可信执行电路被配置为:安全地存储策略,在可信执行环境内获取密钥,其中,该密钥与解密数据或加密数据相关联,并且基于该策略和请求者的一个或多个特性响应该请求。

Description

数据安全性
技术领域
本公开涉及数据处理。更具体地,本公开涉及安全性。
背景技术
希望数据的提供方在将数据提供给第三方之后保持对该数据的使用方式的控制元素。
发明内容
从第一示例性配置查看,提供了一种数据处理系统,该数据处理系统包括:接收电路,该接收电路被配置为从请求者接收使用通过解密加密数据获得的解密数据的请求;可信执行电路,该可信执行电路被配置为提供可信执行环境,其中,可信执行电路被配置为:安全地存储策略;在可信执行环境内获取密钥,其中,该密钥与解密数据或加密数据相关联;以及基于策略和请求者的一个或多个特性响应请求。
从第二示例性配置查看,提供了一种计算机实现的数据处理方法,包括:从请求者接收使用通过解密加密数据获得的解密数据的请求;提供可信执行环境,其中,可信执行环境:安全地存储策略;获取密钥,其中,该密钥与解密数据或加密数据相关联;以及基于策略和请求者的一个或多个特性响应请求。
从第三示例性配置查看,提供了一种数据处理系统,该数据处理系统包括:用于从请求者接收使用通过解密加密数据获得的解密数据的请求的装置;用于提供可信执行环境的装置;用于安全地存储策略的装置;用于在可信执行环境内获取密钥的装置,其中,该密钥与解密数据或加密数据相关联;以及用于基于策略和请求者的一个或多个特性响应请求的装置。
附图说明
将参考如附图所示的本发明的实施方案,仅以举例的方式进一步描述本发明,其中:
图1示出了根据一些实施方案的数据处理系统;
图2示出了根据一些实施方案的通信流程;
图3示出了根据一些实施方案的通信流程;
图4示出了根据一些实施方案的用于保持可信执行环境完整性的流程图;并且
图5示出了根据一些实施方案的数据处理方法。
具体实施方式
在参考附图讨论实施方案之前,提供了对实施方案的以下描述。
根据一个示例性配置,提供了一种数据处理系统,该数据处理系统包括:接收电路,该接收电路被配置为从请求者接收使用通过解密加密数据获得的解密数据的请求;可信执行电路,该可信执行电路被配置为提供可信执行环境,其中,可信执行电路被配置为:安全地存储策略;在可信执行环境内获取密钥,其中,该密钥与解密数据或加密数据相关联;以及基于策略和请求者的一个或多个特性响应请求。
数据处理系统由数据提供方提供对数据(以加密形式)、密钥和策略的访问,该数据提供方确定用于访问数据的策略。当数据处理系统从请求者接收到使用数据的请求时,数据处理系统确定所请求的数据是否符合策略的要求。如果满足要求,则数据处理系统使用密钥访问加密数据,并且可满足来自请求者的请求。在可信执行环境内处理对数据执行以便应答来自请求者的请求的处理。可信执行环境提供可信执行环境的内容的保密性和防篡改机制,以便抑制或防止篡改。任选地,环境也可经受证实,尽管这不是必需的。因此,内容在可信执行环境之外进行保密,并且受到保护以防篡改。也就是说,可信执行环境不能以获得对其解密形式的数据的访问的方式访问(除非策略允许)。这样,数据使用的方式可由数据根据相关联的策略安全地控制。此外,无法篡改访问密钥的可信执行环境,不会泄露密钥。这可通过使用安全和/或隔离的存储器来实现。密钥可以是对称密钥,或者可以是例如非对称(例如,公共/私有)密钥对的私有密钥。需注意,术语“可信执行环境”用于指可信执行电路准备信任的执行环境。系统中的其他实体(诸如数据提供方)可以不信任可信执行环境,或者不立即信任可信执行环境。在一些实施方案中,策略形成可信执行环境软件本身的一部分,并且两者不一定不同。
在一些示例中,数据处理系统包括:被配置为存储加密数据的存储电路。这样,加密数据可本地存储到数据处理系统。在其他示例中,加密数据的存储位置可与数据处理系统分开。由于数据处理系统具有对用于访问数据的密钥的访问权限,因此数据可在数据处理系统的不同位置中以其加密形式保持安全。
在一些示例中,可信执行环境是不可变的。例如,可信执行环境可使用只读存储器(ROM)来实现。此类存储器使得一旦被写入,则不能在电路上的进一步写入。这样,可信执行环境一旦被写入就不能被修改。这增加了安全性,因为可信执行环境的行为或操作不能由第三方等修改。因此,这使得第三方非常难以使可信执行环境执行并非预期的或最初未编程的事物,从而提供对可信执行环境的完整性的强“保证”。因此,ROM的使用是可信执行环境的内容不能被篡改的一种方式。
在一些示例中,通过将策略存储在可信执行环境内来安全地存储策略。通过将策略存储在可信执行环境(其内容被保密和防篡改)内,策略本身不能以未经授权的方式改变。例如,无关紧要的第三方不能修改策略以允许完全自由地使用数据。当然,随着时间的推移,数据的提供方可能存在修改策略的机制。例如,数据的提供方可决定提供对数据的增强的访问或者可决定进一步限制对数据的访问。此类授权可通过使用数字签名来实现,以便验证来自原始数据提供方的指令的变化。在策略形成可信执行环境软件本身的一部分的实施方案中,可通过卸载旧的可信执行环境(利用旧的策略)并在新的可信执行环境中加载修订的策略来实现对策略的修改。
在一些示例中,可信执行电路被配置为获得可信执行环境的证实。证实是这样的过程,其中,第三方可认为例如可信执行环境的行为已被评估。可使用例如使用Intel的证实服务(IAS)或Arm的平台安全架构(PSA)证实的Intel的增强型隐私ID(EPID)协议来执行证实。在这些示例的一些示例中,通过发布令牌来获得证实。
在一些示例中,可信执行电路被配置为通过向数据的提供方提供与可信执行环境(或其一部分)相对应的数字签名校验和或散列(例如,密码散列)来获得证实。可将可信执行环境的散列或校验和与对应于行为已被校验和授权的可信执行环境的散列/校验和的列表进行比较。例如,执行证实的一方可能已看到可信执行环境的源代码,该源代码产生目标代码,在该目标代码上产生散列。通过查看源代码,可以相当确定地说,可信执行环境的行为是已知的。也可检测可信执行环境的任何不利意图、任何安全漏洞或任何缺陷,在这种情况下,可不提供此类证实。如果执行环境的散列/校验和在列表上,则实现环境的证实。散列或校验和可以由例如数据处理系统的固件产生,使得可信执行电路保持独立于用于验证其完整性的元件。所使用的散列或校验和算法是其中该组可能输出小于该组可能输入的算法。此类校验和或散列使得即使可信执行环境的微小变化(例如,由可信执行电路用于执行可信执行环境的存储器,和/或用于存储可信执行环境的存储器)也将导致散列或校验和的(可能较大的)变化。因此,如果可信执行环境的行为甚至略微改变,则导致工作存储器的改变,并且因此将发生校验和或散列的改变。通常,识别产生相同校验和或散列的两个输入被认为不是微不足道的,因此不能简单地仔细定制可信执行环境的修改以产生期望的行为(诸如泄漏数据),同时不改变校验和或散列。在一些实施方案中,证实协议可能需要进行周期性校验和或散列(并进行数字签名)。在其他实施方案中,协议可依赖于硬件机制(诸如安全存储器)来防止或抑制可信执行环境在证实已完成之后被修改。在证实涉及令牌发布的情况下,令牌包括校验和或散列,并且正是令牌本身被签名(以及质询响应,如果需要的话)。令牌还可包括用于执行环境的元数据。
在一些示例中,响应于未能获得可信执行环境的证实,可信执行电路被配置为执行错误动作。
在一些示例中,错误动作是抑制可信执行环境的执行。如果可信执行环境以未经授权的方式改变,则可采取许多可能的错误动作。然而,在一些示例中,可信执行环境可停止或抑制其执行。这可以是可信执行环境的行为可能存在疑问的情况下的适当动作。为了限制由可信执行环境的行为改变引起的损坏,最安全的动作原因可以是简单地抑制该可信执行环境的进一步执行。
在一些示例中,校验和或散列对应于可信执行环境和从数据的提供方接收的质询;以及对数字签名校验和或散列进行签名,使得校验和或散列的起源可以被认证。通过在证实时提供质询,可以避免重放攻击,其中,第二次提供先前生成的证实的执行环境的校验和以便获得证实。在这些实施方案中,所生成的校验和或散列是可信执行环境的校验和,并且该校验和/散列以及对质询的响应(例如,随机数)均由数据处理装置(例如,可信执行电路)数字签名。这防止校验和或散列被重复使用。
在一些示例中,可信执行电路被进一步配置为对可信执行环境内的加密数据执行解密以提供解密数据。因此,在这些示例中,加密数据被主动解密,以便提供与加密数据对应的解密数据。然后可以基于请求者做出的请求以及策略来将解密数据中的一些或全部提供给请求者。例如,请求者可以仅请求数据的一部分,或者安全性策略可以仅允许将解密数据的一部分提供给请求者,而不管其请求如何。
在一些示例中,请求识别要由可信执行电路对解密的数据执行以产生结果的功能;以及可信执行电路被配置为通过基于策略和请求者的一个或多个特性提供结果来响应请求。数据处理系统(基于策略)对解密数据的全部或部分执行操作以提供结果,而不是直接提供解密数据。然后响应于该请求将该结果提供给请求者。这可导致工作负荷被分配,使得请求者不需要对数据执行特定的数据处理操作。
在一些示例中,可信执行电路被配置为通过提供结果来响应请求,而不基于策略和请求者的一个或多个特性来提供解密数据。可执行该操作的一种情况是聚合多个数据项。例如,用于调查的数据策略可叙述与各个调查结果相关的数据不是单独提供的。然而,该策略可允许对多个结果执行聚合函数(诸如平均值)。因此,这允许释放特定数据项,但仅以可保留匿名的方式释放。通过提供结果而不提供解密数据,解密数据本身可以保持安全,同时仍然使数据请求者能够访问可用信息。
在一些示例中,可信执行电路被配置为当请求者的一个或多个特性与由策略指定的一个或多个所需特性相对应时接受并响应请求。存在可实现这些策略的多种方式。然而,在这些示例中,该策略提供一个或多个所需特性的列表。当那些特性与请求者的特性匹配时,满足由请求者提出的请求。这可以涉及提供解密数据或者通过提供对解密数据执行的所请求的功能的结果,如以上所描述。
在一些示例中,一个或多个所需特性包括请求者是另一个可信执行环境。通过要求请求者也充当或提供可信执行环境,可以相当确定地说另一个可信执行环境的行为可以是可信的。具体地讲,可以断定,从另一个可信执行环境中提取数据将是非常困难的。因此,可在数据已被发布到请求者之后保留数据的安全性。
在一些示例中,一个或多个所需特性包括另一个可信执行环境的证实已由可信执行环境执行。确认另一个可信执行环境的行为的一种方式是通过由可信执行环境对另一个可信执行环境执行证实。因此,这扩展了“证实链”,使得已知对数据进行操作的任何设备的行为必须由提供该数据的设备确认。
现在将参考附图描述具体实施方案。
图1示出了根据一些实施方案的包括数据处理系统20的数据处理系统10。数据处理系统20负责管理由数据所有者/提供方30提供的数据并管理该数据,使得数据请求者40能够以受限方式访问该数据。数据处理系统20利用实现合同可信执行环境(合同TEE)60的可信执行电路55,该合同TEE也可被称为区域、隔离、受保护执行环境或其他术语。合同TEE60的性质是实现可信执行环境的软件在不被可信执行电路检测的情况下不能被修改。因此,可以对数据处理系统20的操作和行为具有一定程度的确定性。具体地讲,可以安全地假设,数据处理系统20将不会简单地忽略数据所有者30针对数据管理所提出的要求。例如,数据处理系统20将不简单地给予对其具有访问权限的所有数据的自由访问。
存在实现可信执行环境60的多种方式。这些技术超出本公开的范围。然而,一种方法是获取可信执行环境60的校验和或散列(一次或定期)。使用此类机制,可通过散列或校验和的变化来检测可信执行环境60的行为的变化,并且因此如果散列或校验和意外地变化,则可假设第三方已修改可信执行环境60的行为。因此,可禁用或防止可信执行环境60继续执行。图1所示的另一种技术是在只读存储器(ROM)上实现合同TEE 60。一旦数据已被写入ROM,就不能对其进行修改。这样,可信执行环境60本身可被认为是不可变的,因此其行为不能改变。
当数据所有者30具有要用的数据时,数据以加密形式被传输到形成加密存储装置75的一部分的存储电路65。加密存储装置75可以是单独的装置或者可以是数据处理系统本身的一部分。例如,加密存储装置75可形成可信执行电路55的一部分。在该示例中,加密存储装置75被示出为数据处理系统20的独立元件。在将加密数据提供给存储电路65或加密存储装置75之后,数据所有者30将加密数据的密钥提供给合同TEE 60。此外,所有者30向合同TEE60提供数据策略。密钥用于解密或访问加密数据,并且该策略规定数据可如何被其他实体(诸如请求者40)使用。合同TEE 60接收密钥和策略,并安全地存储密钥和策略。具体地讲,策略以不能修改策略的方式存储,并且密钥以不能由除合同TEE60之外的任何元素访问的方式存储。例如,可信执行电路55可提供不能从可信执行电路外部访问的安全存储电路。这可采取例如也用于将加密数据存储在存储电路65中的加密存储装置75的形式。
当在请求者40上运行的应用程序70希望访问数据时,对数据的请求被传输到数据处理系统的接收电路45。由此,请求由可信执行电路55处理。具体地讲,评估请求的细节和请求者的特性,以确定该策略是否允许提供一些或所有所请求的数据。如果请求(一些或全部)可被满足,则可信执行电路55经由包含全部数据中的一些数据的传输电路50向请求者发布传输。在一些实施方案中,该请求是针对要对数据执行的特定操作,因此,可信执行电路55不提供数据,而是提供对数据执行该操作的结果。类似地,在一些情况下,对由请求者40做出的所有数据的请求不能被满足,而请求的其他部分可被满足。在这些情况下,可信执行电路55可完全拒绝请求,或者可提供根据该策略允许的数据的一部分。
图2示出了数据所有者30、加密存储装置75、合同TEE 60和在请求者40上执行的最终用户应用程序70之间的通信100的流程。图2中所示的示例示出了为了使最终用户应用程序70根据策略访问该数据而实现的消息交换。该过程开始于数据所有者30向加密存储装置75传输具有数据和数据ID的存储请求。作为该存储请求的一部分传输的数据被加密。然后,加密存储装置75通过确认对数据所有者作出响应。证实请求发生在数据所有者30与合同TEE 60之间。该证实请求包括必须由合同TEE 60响应的质询。然后,合同TEE 60以证实响应(包括与所提供的质询相对应的响应)回复。完整的证实过程在此未示出,但通常涉及生成使用私有密钥签名的合同TEE 60的散列,数据所有者30针对该私有密钥具有对应的公共密钥。这使得数据所有者30能够确认合同TEE 60的行为,从而将散列与已知/有效/合法/可信合同TEE的散列集合(例如,数据库)进行比较。如果在集合中找到散列,则数据所有者30可确信合同TEE 60的行为已被评估并且已被确定为安全的。质询和响应的使用用于提供重放保护(例如,通过包括随机数)。因此,证实响应可包括合同TEE的散列和质询响应,并且所得证实响应可以由数据所有者30建立其起源的方式进行签名。
当数据所有者30接收到证实响应时,其确定质询响应是否与所提供的质询相对应。如果不是,则数据所有者30可断定所接收的证实响应是重放攻击的一部分,因此拒绝证实合同TEE 60。假设证实成功完成,则数据所有者30提供合同或策略作为合同提供消息的一部分。这规定了合同TEE 60可将数据提供给最终用户应用程序70的条款。此外,数据所有者30提供用于在密钥提供消息中访问加密数据的密钥。这样,为合同TEE 60提供可访问数据的合同以及访问数据的装置。
当然,最终用户应用程序70请求访问具有ID为“id”的数据。该请求被发送到合同TEE 60。作为响应,合同TEE 60向加密存储装置75发布对加密数据的数据检索请求。加密存储装置75访问对应于所提供的ID的数据,并且在数据提供消息中返回加密数据。此处,合同TEE 60确定最终用户应用程序70是否满足针对所请求数据的策略中提出的要求。如果是,则使用密钥对数据解密,并且将所得的解密数据作为响应的一部分发送到最终用户应用程序70。
因此,最终用户应用程序70从不具有对用于解密数据的密钥的访问权限。相反,加密数据以加密形式保存在加密存储装置75中,使得其不能被除合同TEE60之外的任何东西或数据所有者30本身访问。合同TEE 60解密该数据,并且如果要使用数据的条款与最初由数据所有者30为该数据提供的策略或合同匹配,则合同TEE60使该数据可用。因此,数据所有者30已经提出使用数据的条款被强制执行。同时,不能规避合同TEE 60,因为可以检测到对合同TEE 60的任何改变。类似地,密钥不能被提取,因为其作为合同TEE 60的一部分被安全地存储。
该策略基于最终用户应用程序70的特性来限制数据的使用。存在可实现该策略的多种方式。
在图3所示的示例中,由合同TEE 60强制执行的策略或合同要求最终用户应用程序70在任何数据可被提供之前与合同TEE 60一起被证实。这意味着最终用户应用程序70的基本行为是合同TEE 60已知的。具体地讲,数据可能不会被提供给最终用户应用程序70,该最终用户应用程序的行为是未知的,或者该最终用户应用程序的行为被认为相对于所提供的数据是不适当的。可在最终用户应用程序70能够保证底层数据的安全和安全性的情况下提供证实-例如,通过不将其重新提供给其他方。因此,图3中所描述的过程200以相同的方式继续进行,直到数据所有者30向合同TEE 60提供密钥。此时,当最终用户应用程序70请求访问具有指定ID的数据时,合同TEE 60对最终用户应用程序70进行证实请求。与在数据所有者30和合同TEE 60之间执行的证实请求一样,提供质询(质询2)。然后,最终用户应用程序70必须提供对该质询的响应(响应2)作为证实响应的一部分。与以上所描述的其他证实过程一样,可提供用户应用程序70的散列或校验和,使得可将行为与可向其提供数据的已知合法应用程序的集合(例如数据库)进行比较。假设这成功完成,则合同TEE 60从加密存储装置75检索数据,解密该数据并将解密数据提供给最终用户应用程序70。
需注意,在这两个示例中,直接提供解密数据。如以上所描述,访问请求可以包括要对数据执行的操作。在这些示例中,如果合同或策略允许执行该操作,则响应提供对数据执行操作的结果,而不是提供数据的响应。类似地,在一些示例中,数据不需要被完全解密以便执行操作。因此,对加密数据执行操作以接收对解密数据执行的操作的解密结果,即使加密数据从不被解密也如此。
图4示出了流程图300,该流程图示出了在可信执行电路55处确认可信执行环境60的完整性的过程。在此再次描述的过程使用证实的过程。在步骤310处,可信执行环境60由可信执行电路55加载。在步骤320处,接收证实质询。例如,这可从数据提供方/所有者30接收。在步骤330处,确定证实响应。这可由数据处理系统20上的可信执行电路55(或固件)确定,该可信执行电路计算正被执行的可信执行环境60的校验和或散列(例如,可信执行环境的工作存储器和/或构成可信执行环境作为可执行文件的实际指令系列)。如果证实请求包括质询以便防止重放攻击,则证实响应还必须包括适当的响应,并且还可提供响应机制。需注意,可信执行电路和/或固件被认为是可信的,使得其不能简单地用已知的、允许的可信执行环境进行响应。在生成了适当的响应之后,在步骤340处,将响应发布给数据提供方30等。然后,数据提供方确定证实响应是否有效。具体地讲,可针对已知和可信执行环境的集合(例如,数据库)来检查散列。此外,检查对所提供的质询的任何质询响应以确定这是正确的。然后作出响应,该响应被传输到可信执行电路55。在步骤360处,确定响应是否为错误(例如,证实失败)。如果证实响应被视为错误,则过程在步骤370处结束,在该步骤处采取错误动作。在这种情况下,不提供解密密钥。此外,数据处理系统可抑制可信执行环境进一步执行。这是因为可信执行环境60未通过证实,因此不可信。
如果响应被认为是有效的(例如,提供解密密钥),则证实已实现,并且在该示例中,该过程返回到步骤320以等待稍后的进一步证实请求。也就是说,在该示例中,定期需要证实以尝试并确保可信执行环境未被篡改。在其他示例中,通过使用防止TEE被修改的安全/隔离/只读存储器来提供篡改保护。
需注意,每当加载可信执行环境时,都执行上述过程。也就是说,由于可信执行环境不能被篡改,因此如果希望改变数据处理系统的行为,则这可通过删除当前可信执行环境并在体现新期望行为的可信执行电路上加载新的(修改的)可信执行环境来实现。新的可信执行环境将预期在被提供加密数据的密钥之前再次与例如数据提供方/所有者30进行证实,如流程图300所示。
图5示出了流程图400,该流程图示出了处理在数据处理系统20的接收电路45处从请求者40的最终用户应用程序70接收的请求的过程。该过程在接收请求的步骤410处开始。在步骤420处,对照与正被请求的数据相关的策略来检查请求。
在该示例中,假设策略允许未经过证实的请求者采集处理后的数据,并且允许原始数据由经过证实的请求者0获得。这意味着原始特定数据不能由可信执行环境60不可信的任何应用程序获得。然而,可允许对该数据进行特定操作的结果。
该过程前进至步骤430,在该步骤中,确定响应于最终用户应用程序70的执行环境是否被证实。如果不是,则过程前进至步骤440,在该步骤中确定是否正在提出对处理后的数据(而不是原始数据)的请求。如果不是(即,如果正在请求原始数据),则在步骤490处拒绝请求,并且该过程返回到步骤410。如果是,则在步骤480处处理数据。然后,在步骤470处,传输处理后的数据,并且该过程返回到步骤410。因此,未证实的应用程序可满足对处理后的数据的请求,然而,拒绝对原始数据的请求。
在步骤430处,如果最终用户应用程序70被证实,则在步骤450处,确定是否正在对处理后的数据作出请求。如果是,则在步骤480处,如以上所描述处理数据,并且如以上在步骤470处所描述传输数据。因此,已证实的应用程序仍可请求处理后的数据。如果在步骤450处未提出对处理后的数据的请求(即,如果该请求是对原始数据的请求),则在步骤460处传输原始数据。即,已证实的应用程序可提供对原始数据的请求。
这样,所有者30能够设置策略,其中,可由可信的已证实的应用程序以其原始形式访问数据。在其他情况下,请求者能够对数据执行操作,不能访问原始数据本身。这提供了数据的安全性(诸如原始数据的匿名性)的测量。
在本申请中,字词“被配置为...”用于意指装置的元件具有能够执行所限定的操作的配置。在该上下文中,“配置”意指硬件或软件的互连的布置或方式。例如,该装置可具有提供所限定的操作的专用硬件,或者可对处理器或其他处理设备进行编程以执行该功能。“被配置为”并不意味着装置元件需要以任何方式改变以便提供所限定的操作。
虽然本文已结合附图详细描述了本发明的示例性实施方案,但应当理解,本发明并不限于那些精确的实施方案,并且在不脱离所附权利要求书所限定的本发明的范围和实质的前提下,本领域的技术人员可在其中实现各种变化、增加和修改。例如,在不脱离本发明的范围的情况下,从属权利要求的特征可与独立权利要求的特征一起进行各种组合。

Claims (17)

1.一种数据处理系统,所述数据处理系统包括:
接收电路,所述接收电路被配置为从请求者接收使用通过解密加密数据获得的解密数据的请求;
可信执行电路,所述可信执行电路被配置为提供可信执行环境,其中,所述可信执行电路被配置为:
安全地存储策略;
在所述可信执行环境内获取密钥,其中,所述密钥与所述解密数据或所述加密数据相关联;以及
基于所述策略和所述请求者的一个或多个特性来响应所述请求。
2.根据权利要求1所述的数据处理系统,所述数据处理系统包括:
存储电路,所述存储电路被配置为存储所述加密数据。
3.根据权利要求1所述的数据处理系统,其中,
所述可信执行环境是不可变的。
4.根据权利要求1所述的数据处理系统,其中,
通过将所述策略存储在所述可信执行环境内来安全地存储所述策略。
5.根据权利要求1所述的数据处理系统,其中,
所述可信执行电路被配置为获得所述可信执行环境的证实。
6.根据权利要求5所述的数据处理系统,其中,
所述可信执行电路被配置为通过向所述数据的提供方提供与所述可信执行环境相对应的数字签名校验和或散列来获得所述证实。
7.根据权利要求5所述的数据处理系统,其中,
响应于未能获得所述可信执行环境的所述证实,所述可信执行电路被配置为执行错误动作。
8.根据权利要求7所述的数据处理装置,其中,
所述错误动作是抑制所述可信执行环境的执行。
9.根据权利要求6所述的数据处理系统,其中,
所述校验和或所述散列对应于所述可信执行环境和从所述数据的所述提供方接收的质询;以及
对所述数字签名校验和或所述散列进行签名,使得所述校验和或所述散列的起源能够被认证。
10.根据权利要求1所述的数据处理系统,其中,
所述可信执行电路被进一步配置为对所述可信执行环境内的所述加密数据执行解密以提供所述解密数据。
11.根据权利要求1所述的数据处理系统,其中,
所述请求识别要由所述可信执行电路对所述解密数据执行以产生结果的功能;以及
所述可信执行电路被配置为通过基于所述策略和所述请求者的一个或多个特性提供所述结果来响应所述请求。
12.根据权利要求11所述的数据处理系统,其中,
所述可信执行电路被配置为通过提供所述结果来响应所述请求,而不基于所述策略和所述请求者的一个或多个特性来提供所述解密数据。
13.根据权利要求1所述的数据处理系统,其中,
所述可信执行电路被配置为当所述请求者的所述一个或多个特性与由所述策略指定的一个或多个所需特性相对应时接受并响应所述请求。
14.根据权利要求13所述的数据处理系统,其中,
所述一个或多个所需特性包括所述请求者是另一个可信执行环境。
15.根据权利要求14所述的数据处理系统,其中,
所述一个或多个所需特性包括所述另一个可信执行环境的证实已由所述可信执行环境执行。
16.一种计算机实现的数据处理方法,包括:
从请求者接收使用通过解密加密数据获得的解密数据的请求;
提供可信执行环境,其中,所述可信执行环境:
安全地存储策略;
获取密钥,其中,所述密钥与所述解密数据或所述加密数据相关联;以及
基于所述策略和所述请求者的一个或多个特性响应所述请求。
17.一种数据处理系统,所述数据处理系统包括:
用于从请求者接收使用通过解密加密数据获得的解密数据的请求的装置;
用于提供可信执行环境的装置;
用于安全地存储策略的装置;
用于在所述可信执行环境内获取密钥的装置,其中,所述密钥与所述解密数据或所述加密数据相关联;以及
用于基于所述策略和所述请求者的一个或多个特性响应所述请求的装置。
CN202111400226.7A 2020-11-25 2021-11-22 数据安全性 Pending CN114547639A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/104,718 2020-11-25
US17/104,718 US11836260B2 (en) 2020-11-25 2020-11-25 Data security

Publications (1)

Publication Number Publication Date
CN114547639A true CN114547639A (zh) 2022-05-27

Family

ID=81657020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111400226.7A Pending CN114547639A (zh) 2020-11-25 2021-11-22 数据安全性

Country Status (2)

Country Link
US (1) US11836260B2 (zh)
CN (1) CN114547639A (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558330B2 (en) * 2014-12-23 2017-01-31 Intel Corporation Technologies for digital rights managment of 3D printable models
US9830480B2 (en) * 2015-05-27 2017-11-28 Google Llc Policies for secrets in trusted execution environments
US10361868B1 (en) * 2016-05-23 2019-07-23 Google Llc Cryptographic content-based break-glass scheme for debug of trusted-execution environments in remote systems
US11178148B2 (en) * 2018-08-21 2021-11-16 HYPR Corp. Out-of-band authentication to access web-service with indication of physical access to client device
US20210273812A1 (en) * 2020-03-02 2021-09-02 The Trustees Of Dartmouth College Data system with information provenance
US11611587B2 (en) * 2020-04-10 2023-03-21 Honda Motor Co., Ltd. Systems and methods for data privacy and security
CN116340955A (zh) * 2020-07-31 2023-06-27 支付宝(杭州)信息技术有限公司 一种基于区块链的数据处理方法、装置及设备

Also Published As

Publication number Publication date
US20220164458A1 (en) 2022-05-26
US11836260B2 (en) 2023-12-05

Similar Documents

Publication Publication Date Title
JP4463887B2 (ja) コア・データ機密事項の保護記憶
CN109923548B (zh) 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品
US7526654B2 (en) Method and system for detecting a secure state of a computer system
US20200252207A1 (en) Software encryption
US9647847B2 (en) Tamper evidence per device protected identity
US7228434B2 (en) Method of protecting the integrity of a computer program
US7694121B2 (en) System and method for protected operating system boot using state validation
US8555075B2 (en) Methods and system for storing and retrieving identity mapping information
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
WO2020219178A1 (en) Method, system and computer readable storage medium for accessibility controls in distributed data systems
KR20190063264A (ko) 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치
US20060174334A1 (en) Controlling computer applications' access to data
US20070186112A1 (en) Controlling execution of computer applications
US20040268339A1 (en) Firmware validation
US20040098591A1 (en) Secure hardware device authentication method
KR20030082485A (ko) 대칭 키 암호화에 기초한 데이터의 저장 및 검색
CN107798233B (zh) 用于配置分级信任链的目标域的方法和电子设备
CN106992978B (zh) 网络安全管理方法及服务器
WO2022052665A1 (zh) 无线终端及无线终端在Uboot模式下的接口访问鉴权方法
CN108345804B (zh) 一种可信计算环境中的存储方法和装置
CN114547639A (zh) 数据安全性
WO2019235450A1 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
US11841970B1 (en) Systems and methods for preventing information leakage
CN117786667B (zh) 一种用于可控计算的进程权限管理方法、系统及存储介质
US20230013780A1 (en) Method and system for permitting one or more features on a computer program

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