CN115765958A - 用于使用处理应用来实现数据的安全处理的方法和系统 - Google Patents

用于使用处理应用来实现数据的安全处理的方法和系统 Download PDF

Info

Publication number
CN115765958A
CN115765958A CN202211066389.0A CN202211066389A CN115765958A CN 115765958 A CN115765958 A CN 115765958A CN 202211066389 A CN202211066389 A CN 202211066389A CN 115765958 A CN115765958 A CN 115765958A
Authority
CN
China
Prior art keywords
key
secure
random key
data
encrypted
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
CN202211066389.0A
Other languages
English (en)
Inventor
伏莱德瑞克·胡戈松
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.)
Axis AB
Original Assignee
Axis AB
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 Axis AB filed Critical Axis AB
Publication of CN115765958A publication Critical patent/CN115765958A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/606Protecting data by securing the transmission between two devices or processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

公开涉及用于使用处理应用实现数据安全处理的方法和系统。具体地,公开了用于使用被配置为处理数据的处理应用来实现数据的安全处理的非暂时性计算机可读存储介质、安全应用框架、系统和计算机实施的方法。方法包括在可信执行环境中运行的安全应用框架内执行的步骤。接收使用第一随机密钥加密的数据,以安全方式接收第一随机密钥,并且使用第一随机密钥解密加密的数据。然后,将数据输入到处理应用,执行处理应用以处理输入的数据,并且从处理应用接收输出数据。生成第二随机密钥,使用第二随机密钥加密输出数据,使用存储装置的公共密钥加密第二随机密钥,并且将加密的输出数据和加密的第二随机密钥发送到存储装置。

Description

用于使用处理应用来实现数据的安全处理的方法和系统
技术领域
本发明涉及加密的数据的安全处理,并且具体地涉及在使用不可信处理应用时实现数据的安全处理。这种安全处理是通过由在可信执行环境中运行的安全应用框架执行不可信处理应用来实现的。
背景技术
在授权方想要处理被加密的数据的应用中,诸如在相机中捕获并以加密形式存储的视频数据或者其他图像数据,当处理不能确保安全性的应用时,会出现安全性问题。例如,由于在运行处理应用之前首先需要对加密数据进行解密,因此不能确保处理应用不会使任何解密数据被未授权方访问。此外,调整处理应用以确保安全性可能是困难的、繁琐的或者甚至是不允许的。已经提出了使用同态加密的方案,其中处理应用可以在不解密的情况下处理加密的数据,并且提供的结果也是加密的。然而,这种方案计算量大,并且不适用于所有算法。
发明内容
本发明的目的是提供用于使用被配置为处理数据的不可信处理应用来实现数据的安全处理计算机实施的方法、安全应用框架和系统,其克服或者减轻了已知方法和系统中的问题。
根据第一方面,提供了用于使用被配置为处理数据的处理应用来实现数据的安全处理的计算机实施的方法。该方法在可信执行环境中运行的安全应用框架内执行,并且包括接收使用第一随机密钥加密的数据,以安全方式接收第一随机密钥,以及使用第一随机密钥解密加密数据,从而获得数据。该方法还包括,将数据输入到处理应用,执行处理应用以处理输入的数据,以及从处理应用接收输出数据。该方法进一步包括生成第二随机密钥,使用第二随机密钥加密输出数据,使用存储装置的公共密钥加密第二随机密钥,以及将加密的输出数据和加密的第二随机密钥发送到存储装置。
可信执行环境是处理装置中的安全环境。可信执行环境提供了执行空间,相对于诸如标准操作系统等不可信执行环境,该执行空间提供了增加的安全级别。在可信执行环境中执行的应用被隔离,从而确保该应用的代码和任何数据的隐私。
安全应用框架被配置为控制到处理应用的所有输入和来自处理应用的所有输出。通过在可信执行环境中运行安全应用框架,可以确保解密的数据不会从处理应用泄露到可信执行环境之外。
以安全方式接收第一随机密钥表示以第一随机密钥的隐私被保护的方式接收第一随机密钥,即第一随机密钥不会以未加密的形式泄露给未授权方。这例如可以通过接收加密形式的第一随机密钥或者经由安全信道来实现。
根据第二方面,非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质上存储有指令,所述指令用于在由具有处理能力的系统执行时实施根据第一方面的方法。
根据第三方面,提供了被配置为在可信执行环境中运行的安全应用框架。安全应用框架被配置为执行:加密的数据接收功能,被配置为接收使用第一随机密钥加密的数据;安全密钥接收功能,被配置为以安全方式接收第一随机密钥,以及数据解密功能,被配置为使用第一随机密钥解密加密数据从而获得数据。安全应用框架进一步被配置为执行:输入功能,被配置为将数据输入到处理应用;执行功能,被配置为执行处理应用以处理输入的数据,以及输出数据接收功能,被配置为从处理应用接收输出数据。安全应用框架进一步被配置为执行:第二随机密钥生成功能,被配置为生成第二随机密钥;输出数据加密功能,被配置为使用第二随机密钥加密输出数据;第二随机密钥加密功能,被配置为使用存储装置的公共密钥加密第二随机密钥,以及加密的输出数据发送功能,被配置为将加密的输出数据和加密的第二随机密钥发送到存储装置。
根据第四方面,提供了包括根据第二方面的安全应用框架的系统,以及包括安全模块的装置。安全模块被配置为执行:存储装置密钥生成功能,被配置为生成存储装置的私有密钥/公共密钥对;加密的密钥接收功能,被配置为接收使用存储装置的公共密钥加密的第一随机密钥;第一随机密钥解密功能,被配置为使用存储装置的私有密钥解密第一随机密钥;以及安全密钥发送功能,被配置为以安全方式将第一随机密钥发送到安全应用框架。
从下文给出的详细描述中,本发明的进一步应用范围将变得显而易见。然而,应当理解,详细描述和具体示例虽然指示了本发明的优选实施例,但仅仅是以说明的方式给出的,因为本发明范围内的各种变化和修改对于本领域技术人员而言将从该详细描述中变得显而易见。
因此,应当理解,本发明不限于所描述的系统的特定组成部分或者所描述的方法的动作,因为这种装置和方法可以变化。还应当理解,本文使用的术语仅仅是为了描述特定的实施例,而不是旨在限制。必须注意,如在说明书和所附权利要求中所使用的,冠词“一”、“该”和“所述”旨在表示存在一个或者多个元件,除非上下文另有明确指示。因此,例如,对“一个单元”或者“该单元”的引用可以包括几个装置等。此外,词语“包括”、“包含”和类似措辞不排除其他元件或者步骤。
附图说明
现在将参考附图更详细地描述本发明的上述和其他方面。附图不应当被认为是限制性的,而是用于解释和理解。相同的附图标记始终指代相同的元件。
图1是本公开的实施例可以在其中实施的示例系统的示意性框图。
图2是用于使用被配置为处理数据的处理应用来实现数据的安全处理的方法的实施例的流程图。
图3是用于使用被配置为处理数据的处理应用来实现数据的安全处理的方法的实施例的信令图。
图4是被配置为在可信执行环境中运行的安全应用框架的实施例的示意性框图。
图5是使用被配置为处理数据的处理应用来实现数据的安全处理的系统的实施例的示意性框图。
具体实施方式
本发明现在将参考附图在下文中更全面地描述,附图中示出了本发明的当前优选实施例。然而,本发明可以以多种不同的形式实施,并且不应当被解释为限于本文阐述的实施例。相反,提供这些实施例是为了全面性和完整性,并向本领域技术人员传达本发明的范围。
图1是本公开的实施例可以在其中实施的示例系统的示意性框图。视频数据或者其他图像数据形式的数据在相机100中被捕获,并且借助于随机密钥被加密。然后,加密的数据从相机100发送到存储装置110并存储在其中,存储装置110可以位于相机100处或者位于不同位置。由于数据是借助于随机密钥加密的,所以即使操作存储装置110的一方与拥有相机100的一方不同,数据也可以安全地存储在存储装置110中。此外,相机100连接到包括安全模块145的第二装置140,在安全模块145中生成存储装置110的私有密钥/公共密钥对,并且将存储装置110的私有密钥/公共密钥对的公共密钥从第二装置140提供给相机100。相机100然后可以将随机密钥和存储装置110的公共密钥包装(加密)到密钥封装(keyenvelope)中。然后,密钥封装(利用存储装置110的公共密钥加密的随机密钥)被发送到存储装置110并存储在其中。然后,在相机100中随机密钥通常被丢弃。如果要使用被配置为处理数据(例如,分析或者修改数据)的处理应用126(而对于该处理应用126,不能确保数据的隐私),则提供安全应用框架125的实施例以及与其相关的方法和系统,如下文结合图2至图5所述。安全应用框架125被配置为在可信执行环境122中运行,可信执行环境122可以位于第一装置120中。安全应用框架125通常以软件实施,并且在可信执行环境122中执行。安全应用框架125负责处理应用126的执行,该处理应用126也在可信执行环境122中执行。安全应用框架125由在可信执行环境122之外执行的应用框架128中的软件加载和启动。
应当注意,存储装置110、第一装置120和第二装置140不必是分离的装置。例如,安全应用框架125可以在被配置为存储装置110的常规处理器(未示出)的安全区域的可信执行环境122中运行,并且第二装置140可以是存储装置110中连接到存储装置110的处理器的独立芯片。
现在将参考图2描述用于使用被配置为处理数据的处理应用126来实现数据的安全处理的计算机实施的方法200的实施例。该方法的实施例例如可以在结合图1描述的系统中实施。
根据方法200的实施例,以下步骤在可信执行环境122中运行的安全应用框架125内执行,可信执行环境122诸如开放便携式TEE(OP-TEE)。首先,接收S210使用第一随机密钥加密的数据。然后以安全方式接收S215第一随机密钥,并且使用第一随机密钥解密S220加密数据。由此,以解密的形式获得数据,并将其输入S225到处理应用126。处理应用126然后被执行S230以处理输入的数据。处理可以是任何类型的处理,诸如数据分析或者数据调整。数据例如可以是视频数据。然后,分析可以涉及对人的运动的分析,用于创建运动的热图,并且调整可以是例如通过像素化来屏蔽面部。
处理应用126由安全应用框架125执行。由于处理应用126运行在可信执行环境122中,因此处理应用126仅允许有限数量的功能,并且这些功能由安全应用框架125执行。由于安全应用框架125在可信执行环境122中运行,所以还可以确保除了由安全应用框架125控制的数据之外,没有其他数据可以从处理应用126提供到可信执行环境122的外部。
一旦处理应用126已经处理输入的数据,来自处理应用126的输出数据被接收S235。输出数据通常包括处理的结果。然后生成S240第二随机密钥,并且使用第二随机密钥加密S245输出数据。然后,使用存储装置110的公共密钥对第二随机密钥进行加密S250。其另一种公式化方式是将第二随机密钥与存储装置110的公共密钥一起包装到密钥封装中。最终,加密的输出数据和加密的第二随机密钥被发送S255到存储装置110用于存储。
应当注意,图2中的步骤顺序不一定按照流程图中所示的顺序执行。具体地,未被指示为依赖于来自先前步骤的输入的步骤可以在先前步骤之前执行。类似地,未被指示为向后续步骤提供输出的步骤可以在后续步骤之后执行。
在安全应用框架125内,可以向另一个装置请求提供存储装置110的公共密钥,另一个装置例如是生成存储装置110的私有密钥/公共密钥对的装置,诸如包括安全模块145的装置140。然后在安全应用框架125中接收存储装置110的公共密钥。
包括安全模块145的装置140可以是包括能够以相关应用所需的安全级别处理敏感数据的模块的任何装置,诸如存储装置110内的功能或者芯片。安全模块145是能够以安全方式管理私有密钥/公共密钥对的模块,从而防止公共密钥或者其他敏感数据泄露给未授权方。具体而言,安全模块145是能够生成私有密钥/公共密钥对、解密利用所生成的私有密钥/公共密钥对的公共密钥加密数据(诸如随机密钥),并以安全方式将解密的数据发送到另一个装置的模块。以安全方式发送数据表示数据以这样的方式发送,即数据的隐私是安全的,即数据不会以未加密的形式泄露给未授权方。
安全模块145例如可以是可信平台模块(TPM)或者安全元件(SE)。安全模块145可以利用硬件或者软件或者两者的组合来实现。
在包括安全模块145的装置140内,可以生成存储装置110的私有密钥/公共密钥对。此外,使用存储装置110的公共密钥加密的第一随机密钥例如可以从存储装置110接收,并且在包括安全模块145的装置140中使用存储装置110的私有密钥解密。第一随机密钥然后可以以安全方式发送到安全应用框架125。
以安全方式将第一随机密钥发送到安全应用框架125例如可以借助于以加密形式或者经由安全信道(未示出)发送第一随机密钥来实现。
当发送加密形式的第一随机密钥时,首先在可信执行环境122中运行的安全应用框架125中生成处理应用126的私有密钥/公共密钥对。处理应用126的公共密钥然后被发送到包括安全模块145的装置140。在包括安全模块145的装置140中,使用处理应用126的公共密钥加密第一随机密钥,并且将使用处理应用126的公共密钥所加密的第一随机密钥发送到安全应用框架125。然后在安全应用框架125中,使用处理应用126的私有密钥解密第一随机密钥。
当经由安全信道发送第一随机密钥时,可以建立安全信道,该建立安全信道用于包括安全模块145的装置140与在可信执行环境122中运行的安全应用框架125之间的通信。然后,通过经由安全信道将第一随机密钥发送到在可信执行环境122中运行的安全应用框架125,以安全方式发送第一随机密钥。安全信道可以由可信执行环境122生成信道的私有密钥/公共密钥对来实施。包括安全模块145的装置140然后可以利用信道的私有密钥/公共密钥对的公共密钥来加密数据。或者,包括安全模块145的装置140可以使用信道的私有密钥/公共密钥对的公共密钥来加密由包括安全模块145的装置140生成的对称密钥,并将加密的对称密钥发送到可信执行环境122。然后,可以使用对称密钥对使用安全信道发送的数据进行加密。
现在将结合图3来描述用于使用被配置为处理数据的处理应用126来实现数据的安全处理的计算机实施的方法的实施例,图3示出了与方法相关的不同实体之间的信令。所涉及的实体是存储装置110、安全模块145、应用框架128、可信执行环境122、安全应用框架125和处理应用126。
方法的实施例例如可以在结合图1描述的系统中实施。在这种情况下,相机100已经借助于在相机100中生成的第一随机密钥捕获并加密视频数据或者其他图像数据形式的数据。存储装置110的私有密钥/公共密钥对已经在装置中生成,例如在包括安全模块145的装置140中生成,并且存储装置110的公共密钥已经被提供给相机100。相机100然后使用存储装置110的公共密钥加密第一随机密钥,然后优选地丢弃第一随机密钥,使得它在相机100中不再可用。然后,加密的数据和加密的第一随机密钥被传输到存储装置110并存储在其中。访问解密形式的数据的唯一方法是将第一随机密钥解密,然后使用第一随机密钥解密加密的数据。为此,需要访问保存在安全模块145中的存储装置110的私有密钥。
当数据要由不能确保数据隐私的处理应用126处理时,将请求发送301到应用框架128,以使用处理应用126开始这种数据的处理。请求可以包括处理应用126,或者处理应用126可以或者已经从另一个装置下载,诸如处理应用126的提供商的装置。应用框架128通常被配置在与安全应用框架125和可信执行环境122相同的装置中。应用框架128然后准备302指令给安全应用框架125,以对所选择的数据执行处理应用126,同时还配置安全应用框架125使用所需的加密密钥解密所选择的数据的随机密钥并加密作为结果的随机密钥。这表示处理应用126和安全应用框架125被配置为使得处理应用126可以仅接收并提供数据,并且基于由安全应用框架125发起的指令而被执行。
现在,为了访问数据,需要用于加密存储装置110上的数据的第一随机密钥,并且为了访问第一随机密钥,需要存储装置110的私有密钥,因为第一随机密钥是使用存储装置110的私有密钥加密存储的。然而,代替以安全方式将安全应用框架125提供到存储装置110的私有密钥,使用替代方案以使得提供对数据的访问,而不需要在安全模块145外部提供存储装置110的私有密钥。这是有益的,因为存储装置110的私有密钥可以用于加密安全应用框架125可能未被授权访问的其他数据。从安全模块145将第一随机密钥提供到安全应用框架125的第一种方式是借助于安全信道。第二种方式是发送使用不同的私有密钥/公共密钥对来加密的第一随机密钥,例如与处理应用126相关的密钥对。以上已经描述了这两种方式。在下文中,使用根据第二种方式的方案。
安全应用框架125被配置为生成303处理应用126的私有密钥/公共密钥对。该密钥对对于处理应用126可以是唯一的,或者它对于多个处理应用可以是相同的。由于安全应用框架125被配置为在可信执行环境122中运行,因此可以确保处理应用126的私有密钥不会泄露到可信执行环境122之外。处理应用126的公共密钥然后从安全应用框架125发送304到安全模块145。安全模块使用用于处理应用126的公共密钥来重新包装305第一随机密钥。这表示安全模块145首先使用存储装置110的私有密钥解密所加密的第一随机密钥,然后使用处理应用126的公共密钥加密第一随机密钥。
现在可以运行处理应用126,因此应用框架向可信执行环境122指示306处理应用126应当参考加密存储在存储装置110中的数据来运行。可信执行环境122然后启动307安全应用框架125,以开始执行处理应用126。安全应用框架125从存储装置110接收308使用第一随机密钥加密的数据,并且从安全模块145接收309重新包装的第一随机密钥。由于接收的第一随机密钥已经使用处理应用126的公共密钥重新包装,因此安全应用框架125可以使用处理应用126的私有密钥解密310第一随机密钥。使用第一随机密钥,安全应用框架125然后可以使用已经生成并保存在安全应用框架125中的第一随机密钥解密311数据。解密的数据然后被提供312给处理应用126,并且处理应用126然后在运行可信执行环境122的安全应用框架125中被执行。一旦处理应用126处理数据,在安全应用框架125中从处理应用126接收313包括处理结果的输出数据。
由于不仅是数据,还有处理的结果(输出数据)都可能是应当控制隐私(访问)的敏感数据,所以输出数据在传输到可信执行环境122外部之前也应当被加密。具体而言,加密可以是以下方式,即只有可访问存储装置110上的原始数据的各方才应当可访问结果(输出数据)。为此,在安全应用框架125中生成314第二随机密钥。此外,在安全应用框架125中从安全模块145接收315用于存储装置110的公共密钥,并且使用存储装置110的公共密钥加密(包装在密钥文件中)316第二随机密钥。然后,加密的第二随机密钥(密钥文件)被发送317到存储装置110。最终,使用第二随机密钥对输出数据进行加密318,并将其发送319到存储装置110。由于使用第二随机密钥对输出数据进行加密,并且使用存储装置110的公共密钥对第二随机密钥进行加密,因此只有可访问存储装置110上的原始数据的各方即可访问存储装置110的私有密钥的各方才可以访问输出数据。
现在将结合图4描述安全应用框架425的实施例,诸如结合图1描述的安全应用框架125,该安全应用框架被配置为在可信执行环境诸如结合图1描述的可信执行环境中运行。安全应用框架425的实施例例如可以在结合图1描述的系统中实施。
根据实施例,安全应用框架425被配置为在可信执行环境122中运行,并执行加密数据接收功能430,被配置为接收使用第一随机密钥加密的数据;安全密钥接收功能432,被配置为以安全方式接收第一随机密钥,以及数据解密功能434,被配置为使用第一随机密钥解密加密的数据从而获得解密形式的数据。安全应用框架425进一步被配置为执行输入功能436,被配置为向处理应用126输入数据;执行功能438,被配置为执行处理应用126以处理输入的数据;以及输出数据接收功能440,被配置为从处理应用126接收输出数据。安全应用框架425进一步被配置为执行第二随机密钥生成功能442,被配置为生成第二随机密钥;输出数据加密功能444,被配置为使用第二随机密钥加密输出数据;第二随机密钥加密功能446,被配置为使用存储装置110的公共密钥加密第二随机密钥,以及发送功能448,被配置为将加密的输出数据和加密的第二随机密钥发送到存储装置110。
为了在安全密钥接收功能432中以安全方式接收第一随机密钥,安全密钥接收功能例如可以被配置为以加密的形式或者经由安全信道接收第一随机密钥。
在以加密形式接收第一随机密钥的配置中,安全应用框架425进一步被配置为执行处理应用密钥生成功能440,被配置为生成处理应用126的私有密钥/公共密钥对。安全密钥接收功能432进一步被配置为接收使用处理应用126的公共密钥加密的第一随机密钥,并使用处理应用126的私有密钥解密第一随机密钥。
在经由安全信道接收第一随机密钥的配置中,安全密钥接收功能432进一步被配置为经由安全信道接收第一随机密钥。这种安全信道可以被建立以用于包括安全模块145的装置140与在可信执行环境122中运行的安全应用框架125、425之间的通信。然后,通过经由安全信道将第一随机密钥发送到在可信执行环境122中运行的安全应用框架425,以安全方式发送第一随机密钥。安全信道可以通过在可信执行环境122中生成信道的私有密钥/公共密钥对来实施,然后包括安全模块145的装置140可以利用信道的私有密钥/公共密钥对的公共密钥加密数据。因此,当诸如第一随机密钥等数据要在安全应用框架425中被安全地接收时,它们使用信道的私有密钥/公共密钥对的公共密钥被加密。或者,包括安全模块145的装置140可以使用信道的私有密钥/公共密钥对的公共密钥加密由包括安全模块145的装置140所生成的对称密钥,并将加密的对称密钥发送到可信执行环境122。然后,将使用安全信道安全接收的诸如第一随机密钥等数据使用对称密钥加密。
可以以安全方式从包括安全模块145的装置140接收第一随机密钥,安全模块145可以是包括能够以相关应用所需的安全级别来处理敏感数据的模块的任何装置。以安全方式接收数据表示以这种方式接收数据,使得数据的隐私得到保护,即使得数据不会以未加密的形式泄露给未授权方。安全模块145例如可以是可信平台模块(TPM)或者安全元件(SE)。安全模块可以利用硬件或者软件或者两者的组合来实现。
安全应用框架425还可以被配置为执行请求功能442和存储装置公共密钥接收功能444,请求功能442被配置为请求包括安全模块145的装置140提供存储装置110的公共密钥,存储装置公共密钥接收功能444被配置为从包括安全模块145的装置140接收存储装置110的公共密钥。
根据结合图2和图3描述的方法200的相应步骤,可以进一步修改安全应用框架425的功能,并且可以添加更多功能。
现在将结合图5描述使用被配置为处理数据的处理应用126来实现数据的安全处理的系统500的实施例。系统500的实施例例如可以在结合图1描述的系统中实施。
系统500包括被配置为在可信执行环境122中运行的安全应用框架525,诸如结合图4描述的安全应用框架425或者结合图1描述的安全应用框架125。安全应用框架525可以被配置在第一装置520中,第一装置520包括运行可信执行环境122的处理器(未示出)。
系统进一步包括第二装置540,第二装置540包括安全模块545,安全模块545被配置为执行存储装置密钥生成功能550和加密的密钥接收功能552,存储装置密钥生成功能550被配置为生成存储装置110的私有密钥/公共密钥对,加密的密钥接收功能552被配置为接收使用存储装置110的公共密钥加密的第一随机密钥。安全模块545进一步被配置为执行第一随机密钥解密功能554,被配置为使用存储装置110的私有密钥解密第一随机密钥,以及安全密钥发送功能556,被配置为以安全方式将第一随机密钥发送到安全应用框架525。
包括安全模块545的装置540可以是包括能够以相关应用所需的安全级别来处理敏感数据的模块的任何装置。安全模块545是能够以安全方式管理私有密钥/公共密钥对的模块,从而防止公共密钥或者其他敏感数据泄露给未授权方。
安全模块545例如可以是可信平台模块(TPM)或者安全元件(SE)。安全模块可以利用硬件或者软件或者两者的组合来实现。
根据结合图2和图3描述的方法200的相应步骤以及结合图4描述的安全应用框架425的相应功能,系统500的安全应用框架525的功能可以进一步调整,并且可以添加更多功能。根据结合图2和图3描述的方法200的相应步骤,系统500的安全模块545的功能可以进一步调整,并且可以添加更多功能。
本领域技术人员认识到,本发明不限于上述实施例。相反,在所附权利要求的范围内,多种修改和变型都是可能的。通过研究附图、公开内容和所附权利要求,本领域技术人员在实践所要求保护的发明时可以理解和实现这些修改和变型。

Claims (15)

1.一种计算机实施的方法,用于使用被配置为处理数据的处理应用来实现所述数据的安全处理,所述方法包括,在可信执行环境中运行的安全应用框架内:
接收使用第一随机密钥加密的所述数据;
以安全方式接收所述第一随机密钥;
使用所述第一随机密钥解密加密的所述数据,从而获得所述数据;
将所述数据输入到所述处理应用;
执行所述处理应用以处理输入的所述数据;
从所述处理应用接收输出数据;
生成第二随机密钥;
使用所述第二随机密钥加密所述输出数据;
使用存储装置的公共密钥加密所述第二随机密钥;
将加密的所述输出数据和加密的所述第二随机密钥发送到所述存储装置。
2.根据权利要求1所述的方法,进一步包括:
在包括安全模块的装置内:
生成所述存储装置的私有密钥/公共密钥对;
接收使用所述存储装置的所述公共密钥加密的所述第一随机密钥;
使用所述存储装置的所述私有密钥解密所述第一随机密钥;以及
以安全方式将所述第一随机密钥发送到所述安全应用框架。
3.根据权利要求1所述的方法,进一步包括:
在所述可信执行环境中运行的所述安全应用框架内:
生成所述处理应用的私有密钥/公共密钥对,
其中,以安全方式接收所述第一随机密钥包括:
接收使用所述处理应用的所述公共密钥加密的所述第一随机密钥;以及
使用所述处理应用的所述私有密钥解密所述第一随机密钥。
4.根据权利要求3所述的方法,进一步包括:
在所述可信执行环境中运行的所述安全应用框架内:
将所述处理应用的所述公共密钥发送到包括安全模块的装置,
并且在包括所述安全模块的所述装置内:
接收所述处理应用的所述公共密钥;
使用所述处理应用的所述公共密钥加密所述第一随机密钥;以及
将使用所述处理应用的所述公共密钥加密的所述第一随机密钥发送到所述安全应用框架。
5.根据权利要求4所述的方法,进一步包括:
在所述包括所述安全模块的所述装置内:
生成所述存储装置的私有密钥/公共密钥对;
接收使用所述存储装置的所述公共密钥加密的所述第一随机密钥;以及
使用所述存储装置的所述私有密钥解密所述第一随机密钥。
6.根据权利要求2所述的方法,进一步包括:
建立用于包括所述安全模块的所述装置与在所述可信执行环境中运行的所述安全应用框架之间的通信的安全信道,
其中,在包括所述安全模块的所述装置内,以安全方式将所述第一随机密钥发生到所述安全应用框架包括:
经由所述安全信道将所述第一随机密钥发送到在所述可信执行环境中运行的所述安全应用框架。
7.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上存储有指令,所述指令用于在由具有处理能力的系统执行时实施根据权利要求1所述的方法。
8.一种安全应用框架,被配置为在可信执行环境中运行,并且执行:
加密的数据接收功能,被配置为接收使用第一随机密钥加密的数据;
安全密钥接收功能,被配置为以安全方式接收所述第一随机密钥;
数据解密功能,被配置为使用所述第一随机密钥解密加密的所述数据,从而获得所述数据;
输入功能,被配置为将所述数据输入到所述处理应用;
执行功能,被配置为执行所述处理应用以处理输入的所述数据;以及
输出数据接收功能,被配置为从所述处理应用接收输出数据;
第二随机密钥生成功能,被配置为生成第二随机密钥;
输出数据加密功能,被配置为使用所述第二随机密钥加密所述输出数据;
第二随机密钥加密功能,被配置为使用存储装置的公共密钥加密所述第二随机密钥;
发送功能,被配置为将加密的所述输出数据和加密的所述第二随机密钥发送到所述存储装置。
9.根据权利要求8所述的安全应用框架,进一步被配置为执行:
处理应用密钥生成功能,被配置为生成所述处理应用的私有密钥/公共密钥对,
其中,所述安全密钥接收功能进一步被配置为:
接收使用所述处理应用的所述公共密钥加密的所述第一随机密钥;以及
使用所述处理应用的所述私有密钥解密所述第一随机密钥。
10.根据权利要求8所述的安全应用框架,其中,所述安全密钥接收功能进一步被配置为:
经由安全信道接收所述第一随机密钥。
11.一种系统,包括:
根据权利要求8所述的安全应用框架;以及
包括安全模块的装置,所述安全模块被配置为执行:
存储装置密钥生成功能,被配置为生成所述存储装置的私有密钥/公共密钥对;加密的密钥接收功能,被配置为接收使用所述存储装置的所述公共密钥加密的所述第一随机密钥;第一随机密钥解密功能,被配置为使用所述存储装置的所述私有密钥解密所述第一随机密钥;以及安全密钥发送功能,被配置为以安全方式将所述第一随机密钥发送到所述安全应用框架。
12.根据权利要求11所述的系统,其中,所述安全应用框架进一步被配置为执行:
处理应用密钥生成功能,被配置为生成所述处理应用的私有密钥/公共密钥对,
其中,所述安全密钥接收功能进一步被配置为:
接收使用所述处理应用的所述公共密钥加密的所述第一随机密钥;以及
使用所述处理应用的所述私有密钥解密所述第一随机密钥。
13.根据权利要求12所述的系统,其中,所述安全应用框架进一步被配置为执行:
处理应用密钥发送功能,被配置为将所述处理应用的所述公共密钥发送到包括所述安全模块的所述装置,
并且其中,包括所述安全模块的所述装置进一步包括:
处理应用密钥接收功能,被配置为接收所述处理应用的所述公共密钥;
第一随机密钥加密功能,被配置为使用所述处理应用的所述公共密钥加密所述第一随机密钥;以及
加密的第一随机密钥发送功能,被配置为将使用所述处理应用的所述公共密钥加密的所述第一随机密钥发送到所述安全应用框架。
14.根据权利要求13所述的系统,其中,包括所述安全模块的所述装置进一步被配置为执行:
存储装置密钥生成功能,被配置为生成所述存储装置的私有密钥/公共密钥对;
加密的第一随机密钥接收功能,被配置为接收使用所述存储装置的所述公共密钥加密的所述第一随机密钥;以及
第一随机密钥解密功能,被配置为使用所述存储装置的所述私有密钥解密所述第一随机密钥。
15.根据权利要求11所述的系统,进一步被配置为执行:
安全信道建立功能,被配置为建立用于包括所述安全模块的所述装置与在所述可信执行环境中运行的所述安全应用框架之间的通信的安全信道,
并且其中,所述安全密钥发送功能被配置为经由所述安全信道将所述第一随机密钥发送到所述安全应用框架。
CN202211066389.0A 2021-09-06 2022-09-01 用于使用处理应用来实现数据的安全处理的方法和系统 Pending CN115765958A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21194959.9 2021-09-06
EP21194959.9A EP4145762B1 (en) 2021-09-06 2021-09-06 Method and system for enabling secure processing of data using a processing application

Publications (1)

Publication Number Publication Date
CN115765958A true CN115765958A (zh) 2023-03-07

Family

ID=77640539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211066389.0A Pending CN115765958A (zh) 2021-09-06 2022-09-01 用于使用处理应用来实现数据的安全处理的方法和系统

Country Status (6)

Country Link
US (1) US11934516B2 (zh)
EP (1) EP4145762B1 (zh)
JP (1) JP7454020B2 (zh)
KR (1) KR102616291B1 (zh)
CN (1) CN115765958A (zh)
TW (1) TWI829303B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104246789A (zh) * 2012-02-24 2014-12-24 谷歌公司 用于虚拟机的日志结构化卷加密
US20160182221A1 (en) * 2013-09-13 2016-06-23 Alcatel Lucent Method and system for controlling the exchange of privacy-sensitive information
CN105812332A (zh) * 2014-12-31 2016-07-27 北京握奇智能科技有限公司 数据保护方法
WO2019227208A1 (en) * 2018-05-28 2019-12-05 Royal Bank Of Canada System and method for secure electronic transaction platform
CN111917540A (zh) * 2020-08-07 2020-11-10 广州市百果园信息技术有限公司 一种数据加解密方法、装置、移动终端和存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101715638A (zh) * 2007-03-20 2010-05-26 迪姆威奇软件有限责任公司 为获取解密密钥而请求密钥获取的安全电子消息系统
US8868925B2 (en) 2008-12-09 2014-10-21 Nvidia Corporation Method and apparatus for the secure processing of confidential content within a virtual machine of a processor
KR102582266B1 (ko) 2016-05-30 2023-09-27 삼성전자주식회사 어플리케이션을 인증하는 전자 장치 및 그것의 동작 방법
WO2019012956A1 (ja) 2017-07-11 2019-01-17 株式会社Seltech センシング装置、センシングシステム、およびサーバ
CN110324138B (zh) * 2018-03-29 2022-05-24 阿里巴巴集团控股有限公司 数据加密、解密方法及装置
US10977381B2 (en) 2018-06-28 2021-04-13 Mohammad Mannan Protection system and method against unauthorized data alteration
EP3664399B1 (en) * 2018-12-03 2021-06-23 Bildosund SL A computer-implemented method, a system, and computer programs for digital files management and preservation in digital licenses
CN109617698B (zh) * 2019-01-09 2021-08-03 腾讯科技(深圳)有限公司 发放数字证书的方法、数字证书颁发中心和介质
US11251942B2 (en) * 2019-01-09 2022-02-15 Alibaba Group Holding Limited Secure communication channel between encryption/decryption component and trusted execution environment
SG11201908946PA (en) * 2019-03-26 2019-10-30 Alibaba Group Holding Ltd Program execution and data proof scheme using multiple key pair signatures
US11295014B2 (en) 2019-05-08 2022-04-05 Baidu Usa Llc TPM-based secure multiparty computing system using a non-bypassable gateway
CN111262694A (zh) 2020-01-10 2020-06-09 杭州趣链科技有限公司 一种基于tee的安全代理重加密方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104246789A (zh) * 2012-02-24 2014-12-24 谷歌公司 用于虚拟机的日志结构化卷加密
US20160182221A1 (en) * 2013-09-13 2016-06-23 Alcatel Lucent Method and system for controlling the exchange of privacy-sensitive information
CN105812332A (zh) * 2014-12-31 2016-07-27 北京握奇智能科技有限公司 数据保护方法
WO2019227208A1 (en) * 2018-05-28 2019-12-05 Royal Bank Of Canada System and method for secure electronic transaction platform
CN111917540A (zh) * 2020-08-07 2020-11-10 广州市百果园信息技术有限公司 一种数据加解密方法、装置、移动终端和存储介质

Also Published As

Publication number Publication date
EP4145762B1 (en) 2023-10-25
EP4145762A1 (en) 2023-03-08
JP2023038172A (ja) 2023-03-16
KR20230036032A (ko) 2023-03-14
TW202318238A (zh) 2023-05-01
TWI829303B (zh) 2024-01-11
EP4145762C0 (en) 2023-10-25
US11934516B2 (en) 2024-03-19
US20230070484A1 (en) 2023-03-09
JP7454020B2 (ja) 2024-03-21
KR102616291B1 (ko) 2023-12-19

Similar Documents

Publication Publication Date Title
US11128447B2 (en) Cryptographic operation method, working key creation method, cryptographic service platform, and cryptographic service device
CN110492990B (zh) 区块链场景下的私钥管理方法、装置及系统
CN112926051B (zh) 多方安全计算方法和装置
US8904195B1 (en) Methods and systems for secure communications between client applications and secure elements in mobile devices
US20140096213A1 (en) Method and system for distributed credential usage for android based and other restricted environment devices
US20220114249A1 (en) Systems and methods for secure and fast machine learning inference in a trusted execution environment
EP3476078B1 (en) Systems and methods for authenticating communications using a single message exchange and symmetric key
US11606202B2 (en) Methods and systems for secure data transmission
CN103973443A (zh) 用于遵守隐私的数据处理的方法和设备
US11626976B2 (en) Information processing system, information processing device, information processing method and information processing program
US11005828B1 (en) Securing data at rest
CN112597523B (zh) 文件处理方法、文件转换加密机、终端、服务器及介质
KR20210015264A (ko) 화이트박스 암호화를 이용한 puf 기반 사물인터넷 디바이스 인증 장치 및 방법
CN113301036A (zh) 通信加密方法和装置、设备及存储介质
CN113204772A (zh) 数据处理方法、装置、系统、终端、服务器和存储介质
CN113609522B (zh) 数据授权及数据访问方法和装置
CN113282951B (zh) 一种应用程序的安全校验方法、装置及设备
KR20200104084A (ko) Puf 기반 사물인터넷 디바이스 인증 장치 및 방법
CN117061105A (zh) 数据处理方法、装置、可读介质及电子设备
Reimair et al. MoCrySIL-Carry your Cryptographic keys in your pocket
CN114785527B (zh) 数据传输方法、装置、设备及存储介质
US20190109828A1 (en) Data processing method, device and system, and storage medium
KR102616291B1 (ko) 처리 애플리케이션을 사용하여 데이터의 안전한 처리를 가능하게 하는 방법 및 시스템
US20220166615A2 (en) Protecting secret software and confidential data in a secure enclave
CN113672973A (zh) 基于可信执行环境的risc-v架构的嵌入式设备的数据库系统

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