TW202318238A - 使用處理應用程式啟用資料之安全處理的方法及系統 - Google Patents

使用處理應用程式啟用資料之安全處理的方法及系統 Download PDF

Info

Publication number
TW202318238A
TW202318238A TW111132019A TW111132019A TW202318238A TW 202318238 A TW202318238 A TW 202318238A TW 111132019 A TW111132019 A TW 111132019A TW 111132019 A TW111132019 A TW 111132019A TW 202318238 A TW202318238 A TW 202318238A
Authority
TW
Taiwan
Prior art keywords
key
random key
secure
data
encrypted
Prior art date
Application number
TW111132019A
Other languages
English (en)
Other versions
TWI829303B (zh
Inventor
費德里克 休葛森
Original Assignee
瑞典商安訊士有限公司
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 瑞典商安訊士有限公司 filed Critical 瑞典商安訊士有限公司
Publication of TW202318238A publication Critical patent/TW202318238A/zh
Application granted granted Critical
Publication of TWI829303B publication Critical patent/TWI829303B/zh

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/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
    • 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
    • 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
    • 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

使用處理應用程式啟用資料之安全處理的方法及系統
本發明係關於加密資料之安全處理,具體而言係關於在使用一不受信任處理應用程式時啟用資料之安全處理。藉由在一受信任執行環境中執行之一安全應用程式框架執行該不受信任處理應用程式以啟用此種安全處理。
在一授權方希望處理經加密之資料之應用程式中,諸如在一攝影機中經擷取且以一加密形式經儲存之視訊資料或其他影像資料,當處理不能確保應用程式安全性時,會出現安全性問題。例如,由於在執行處理應用程式前首先需要解密經加密之資料,因此不能確保處理應用程式不使任何經解密之資料可被未授權方存取。此外,調適處理應用程式確保安全性可能係困難、麻煩甚至不允許的。已提出使用同態加密(homomorphic encryption)之解決方案,其中處理應用程式可在不解密之情況下處理加密資料且提供亦經加密之一結果。然而,此類解決方案運算量大,且不適用於所有演算法。
本發明之一目的係要提供一種電腦實施方法、一種安全應用程式框架及一種系統,用於使用經組態以處理克服或減輕已知方法及系統中之問題之資料的一不受信任處理應用程式啟用資料之安全處理。
根據一第一態樣,本發明係關於一種用於使用經組態以處理資料之一處理應用程式啟用資料之安全處理之電腦實施方法。該方法經執行於一受信任執行環境中執行之一安全應用程式框架內,且包括:接收使用一第一隨機金鑰加密之資料;以一安全方式接收該第一隨機金鑰;及使用該第一隨機金鑰解密該經加密之資料,藉此獲得該資料。該方法進一步包括:將該資料輸入至該處理應用程式;執行該處理應用程式以處理該輸入資料;及從該處理應用程式接收輸出資料。該方法進一步包括:產生一第二隨機金鑰;使用該第二隨機金鑰加密該輸出資料;使用一儲存裝置之一公開金鑰加密該第二隨機金鑰;及將該等經加密之輸出資料及該經加密之第二隨機金鑰發送至該儲存裝置。
受信任執行環境係在一處理裝置中之一安全環境。該受信任執行環境提供一執行空間,該執行空間相對於諸如一標準作業系統之一不受信任執行環境,提供一增加之安全層級。隔離在受信任執行環境中執行之一應用程式,使得確保應用程式之程式碼及任何資料之私密性。
安全應用程式框架經組態以控制處理應用程式之所有輸入及輸出。藉由在受信任執行環境中執行安全應用程式框架,可確保經解密之資料不會從處理應用程式外洩至受信任執行環境外。
藉由以一安全方式接收第一隨機金鑰意指以一方式接收該第一隨機金鑰,使得該第一隨機金鑰之私密性得到保護,即使得該第一隨機金鑰不會以未加密之形式外洩至一未授權方。此可例如藉由以一經加密之形式接收第一隨機金鑰或經由一安全通道啟用。
根據一第二態樣,一種非暫時性電腦可讀儲存媒體,該媒體上儲存有指令,用於在藉由具有處理能力之一系統執行時實施根據第一態樣之方法。
根據一第三態樣,本發明係關於經組態以在一受信任執行環境中執行之一種安全應用程式框架。該安全應用程式框架經組態以執行經組態以接收使用一第一隨機金鑰加密之資料之一加密資料接收功能;經組態以一安全方式接收該第一隨機金鑰之一安全金鑰接收功能;及經組態以使用該第一隨機金鑰解密該經加密之一資料解密功能,藉此獲得該資料。該安全應用程式框架進一步經組態以執行經組態以將該資料輸入至該處理應用程式之一輸入功能;經組態以執行該處理應用程式以處理該輸入資料之一執行功能;及經組態以從該處理應用程式接收輸出資料之一輸出資料接收功能。該安全應用程式框架進一步經組態以執行經組態以產生一第二隨機金鑰之一第二隨機金鑰產生功能;經組態以使用該第二隨機金鑰加密該輸出資料之一輸出資料加密功能;經組態以使用一儲存裝置之一公開金鑰加密該第二隨機金鑰之一第二隨機金鑰加密功能;及經組態以將該等經加密之輸出資料及該經加密之第二隨機金鑰發送至該儲存裝置之一經加密之輸出資料發送功能。
根據一第四態樣,本發明係關於一種包括根據第二態樣包括安全應用程式框架及包括一安全模組之一裝置之系統。該安全模組經組態以執行經組態以產生用於儲存裝置之一私密/公開金鑰對之一儲存裝置金鑰產生功能;經組態以接收使用該儲存裝置之該公開金鑰加密之第一隨機金鑰之一加密金鑰接收功能;經組態以使用該儲存裝置之私密金鑰解密該第一隨機金鑰之一第一隨機金鑰解密功能;及經組態以一安全方式將該第一隨機金鑰發生至該安全應用程式框架之一安全金鑰發送功能。
本發明之一進一步適用範圍將在從下文給出之詳細描述中變得明顯。然而,應瞭解,儘管指示本發明之較佳實施例,但詳細描述及具體實例僅藉由圖解之方式給出,因從此詳細描述,本發明範圍內之各種變動及修改對熟悉此項技術者變得顯而易見。
因此,應瞭解,本發明不限於經描述之系統之特定組件部分,或經描述之方法之動作,因為此類裝置及方法可改變。亦應瞭解,本文中所使用之術語僅用於描述特定實施例之目的,而不旨在限制。應注意,如說明書及隨附發明申請專利範圍中所使用,除非上下文另有明確規定,否則條款「一(a)」、「一(an)」、「該(the)」及「該(said)」旨在意味存在一或多個元件。因此,例如,對「一單元」或「該單元」之參考可包含數個裝置及類似物。此外,字詞「包括(comprising)」、「包括(including)」、「含有(containing)」及類似字詞並不排除其他元件或步驟。
下文將參照隨附圖式更全面地描述本發明,其中展示本發明之當前較佳實施例。然而,本發明可以許多不同形式經體現,且不應被解釋為限於本文之實施例。相反,提供該等實施例係為了徹底性及完整性,且向熟悉此項技術者傳達本發明之範圍。
圖1係其中可實施本發明之實施例的一實例系統之一示意性方塊圖。呈視訊資料及其他影像資料形式之資料經擷取於一攝影機100中且藉由一隨機金鑰加密。然後將經加密之資料從攝影機100發送至且經儲存於一儲存裝置110中,儲存裝置110可經定位於攝影機100處或一不同位置處。因可藉由隨機金鑰加密資料,即使操作儲存裝置110之一方與擁有攝影機100之一方不同,資料可安全地經儲存於儲存裝置110中。此外,攝影機100經連接至包括一安全模組145之一第二裝置140,其中產生用於儲存裝置110之一私密/公開金鑰對且從第二裝置140至攝影機100提供用於儲存裝置110之私密/公開金鑰對之私密金鑰。然後,攝影機100可將隨機金鑰與用於儲存裝置110之公開金鑰一起包裝(加密)到一金鑰包封中。然後,金鑰包封(用用於儲存裝置110公開金鑰加密之隨機金鑰)被發送至且經儲存於儲存裝置110中。然後,隨機金鑰通常被丟棄在攝影機100中。若要使用經組態以處理資料(例如,分析或調適資料)之一處理應用程式126,對於處理應用程式126,不能確保資料之私密性,則提供一安全應用程式框架125之實施例,及與之相關之一方法及系統,如在下文關於圖2至圖5中所描述。安全應用程式框架125經組態以在可經定位於一第一裝置120中之一受信任執行環境122中執行。安全應用程式框架125通常經實施於軟體中且經執行於受信任執行環境122中。安全應用程式框架125負責處理應用程式126之執行,該處理應用程式亦在受信任執行環境122中執行。安全應用程式框架125藉由在受信任執行環境122外部執行之一應用程式框架128中之軟體載入及起始。
應注意,儲存裝置110、第一裝置120及第二裝置140不必係分開之裝置。例如,安全應用程式框架125可在經組態為儲存裝置110之一常規處理器(未經展示)之一安全區域之受信任執行環境122中執行,且第二裝置140可為在經連接至儲存裝置110之處理器之儲存裝置110中之一分開之晶片。
現將結合圖2描述用於使用經組態以處理資料之一處理應用程式126啟用資料之安全處理之一電腦實施方法200之實施例。可在一系統實施該方法之實施例,例如,如圖1所描述。
根據方法200之實施例,在諸如一開放可攜式TEE (OP-TEE)之一受信任執行環境122中執行之一安全應用程式框架125內執行以下步驟。首先,接收使用一第一隨機金鑰加密之資料(S210)。然後以一安全方式接收第一隨機金鑰(S215),且使用第一隨機金鑰解密經加密之資料(S220)。由此,以一解密之形式獲得資料且該等資料經輸入至處理應用程式126 (S225)。然後執行處理應用程式126以處理輸入資料(S230)。處理可為任何處理類型,諸如資料之分析或資料之調適。例如,資料可為視訊資料。然後,分析可係關於人之移動之分析,以建立移動之一熱圖,且調適可為面部之遮蔽,例如藉由像素化。
藉由安全應用程式框架125執行處理應用程式126。由於處理應用程式126在受信任執行環境122中執行,因此對於處理應用程式126僅允許有限數目個功能,且該等功能由安全應用程式框架125執行。由於安全應用程式框架125在受信任執行環境122中執行,因此其亦可確保除藉由安全應用程式框架125控制之資料外,不可從處理應用程式126至受信任執行環境外部提供資料。
一旦處理應用程式126已處理輸入資料,則接收來自處理應用程式126之輸出資料(S235)。輸出資料通常包含處理結果。然後產生一第二隨機金鑰(S240),且使用第二隨機金鑰加密輸出資料(S245)。然後使用一儲存裝置110之一公開金鑰加密第二隨機金鑰(S250),另一敘述方式即,將第二隨機金鑰與儲存裝置110之公開金鑰一起包裝至一金鑰包封中。最後,將經加密之輸出資料及該經加密之第二隨機金鑰發送至儲存裝置110以供儲存(S255)。
應注意,圖2中步驟之順序不一定按照流程圖中所指示之順序執行。具體而言,未經指示為依賴來自一先前步驟之輸入之一步驟可在該先前步驟前經執行。類似地,未經指示為將輸出提供至後一步驟之步驟可在該後一步驟後經執行。
在安全應用程式框架125內,可向另一裝置(例如,其中產生用於儲存裝置110之一私密/公開金鑰對之一裝置,諸如包括一安全模組145之一裝置140)發出請求,以提供儲存裝置110之公開金鑰。然後,在安全應用程式框架125中接收儲存裝置110之公開金鑰。
包括安全模組145之裝置140可為包含能夠藉由相關應用程式所需之一安全層級處置敏感資料之一模組之任何裝置,諸如儲存裝置110內之一功能或晶片。安全模組145係能夠以一安全方式管理私密/公開金鑰對之一模組,從而防止將公開金鑰或其他敏感資料外洩至未授權方。具體而言,安全模組145係一模組,其能夠產生私密/公開金鑰對以解密用經產生之私密金鑰/公共金鑰對之公開金鑰加密之資料(諸如一隨機金鑰)及以一安全方式將經解密之資料發送至另一裝置。藉由以一安全方式發送資料意指以一方式發送資料使得確保資料之私密性,即資料不會以一未加密形式外洩至一未授權方。
安全模組145可為例如一受信任平台模組(TPM)或一安全元件(SE)。安全模組145可以硬體或軟體或兩者之一組合來實現。
在包括安全模組145之裝置140內,可產生用於儲存裝置110之一私密/公開金鑰對。此外,例如可從儲存裝置110接收使用儲存裝置110之公開金鑰加密之第一隨機金鑰,且在包括安全模組145之裝置140中使用儲存裝置之私密金鑰解密該第一隨機金鑰。然後可以一安全方式將第一隨機金鑰發送至安全應用程式框架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可使用用於通道之私密/公開金鑰對之公開金鑰加密由包括安全模組140之裝置140產生之一對稱金鑰,且將經加密之對稱金鑰發送至受信任執行環境122。然後,可使用對稱金鑰加密使用安全通道待經發送之資料。
現將結合圖3描述用於使用經組態以處理資料之一處理應用程式126啟用資料之安全處理之一電腦實施方法之實施例,圖3展示與該方法相關之不同實體之間之信號。所涉及之實體係一儲存裝置110、一安全模組145、一應用程式框架128、一受信任執行環境122、一安全應用程式框架125及一處理應用程式126。
例如,結合圖1描述可在一系統中實施該方法之實施例。在此一情況下,攝影機100具有藉由在攝影機100中產生之一第一隨機金鑰之經擷取且經加密之呈視訊資料或其他影像資料形式之資料。已於一裝置中(例如,在包括安全模組145之一裝置140中)產生用於儲存裝置110之一私密金鑰/公開金鑰,且儲存裝置110之公開金鑰已經提供至攝影機100。隨後,攝影機100使用用於儲存裝置110之公開金鑰加密第一隨機金鑰,然後較佳地丟棄第一隨機金鑰,使得其在攝影機100中不再可用。然後,加密資料及經加密之第一隨機金鑰被傳輸至且經儲存於儲存裝置110中。存取呈解密形式之資料之唯一方法係解密第一隨機金鑰,然後使用第一隨機金鑰解密加密資料。為此,需存取固持於安全模組145處之儲存裝置110之私密金鑰。
當將由一處理應用程式126處理資料時,資料之私密性不能得到確保,則向應用程式框架128發送一請求(301),以使用處理應用程式126開始資料之處理。請求可包含處理應用程式126,或處理應用程式126可為或已經從另一裝置(諸如處理應用程式126之一提供者之一裝置)下載。應用程式框架128通常經組態於與安全應用程式框架125及受信任執行環境122相同之裝置中。然後,應用程式框架128準備(302)至安全應用程式框架之指令,以對所選資料執行處理應用程式126,同時亦組態安全應用程式框架125以使用所需之加密金鑰來解密用於所選資料之隨機金鑰且加密用於結果之隨機金鑰。此意指處理應用程式126及安全應用程式框架125經組態使得處理應用程式126可僅接收且提供資料且基於藉由安全應用程式框架125起始之指令執行。
現在,為存取資料,需要用於加密儲存裝置110上之資料之第一隨機金鑰,且為存取第一隨機金鑰,由於使用儲存裝置110之公開金鑰儲存經加密之第一隨機金鑰,需要儲存裝置110之私密金鑰。然而,代替以一安全方式將儲存裝置110之私密金鑰提供至安全應用程式框架125,使用替代方案,使得提供對資料之存取而無需在安全模組145外部提供儲存裝置100之私密金鑰。此為有益的,因為儲存裝置110之私密金鑰可被用於加密安全應用程式框架125可未經授權存取之其他資料。藉由一安全通道將第一隨機金鑰從安全模組145提供至安全應用程式框架125之一第一方式。第二方式係發送使用一不同之私密/公開金鑰對加密之第一隨機金鑰,例如與處理應用程式126相關之一私密金鑰對。上文經描述此兩種方式。在下文中,使用根據第二方式之一解決方案。
安全應用程式框架125經組態以產生(303)用於處理應用程式126之一私密/公開金鑰對。該金鑰對對於處理應用程式126而言可為唯一的,或對於許多處理應用程式而言係相同的。由於安全應用程式框架125經組態以在受信任執行環境122中執行,因此可確保處理應用程式126之私密金鑰不會外洩至受信任執行環境122外部。然後,用於處理應用程式125之公開金鑰從安全應用程式框架125被發送(304)至安全模組145。安全模組使用用於處理應用程式126之公開金鑰重新包裝(305)第一隨機金鑰。此意指安全模組145首先使用用於儲存裝置110之私密金鑰解密經加密之第一隨機金鑰,然後使用用於處理應用程式126之公開金鑰加密第一隨機金鑰。
現可執行處理應用程式126,使得應用程式框架向受信任執行環境122指示(306)處理應用程式126應當參考儲存裝置110中經加密儲存之資料來執行。然後,受信任執行環境122起始(307)安全應用程式框架125以開始處理應用程式126之執行。安全應用程式框架接收(308)從儲存裝置110用第一隨機金鑰加密之資料,且從安全模組145接收(309)經重新包裝之第一隨機金鑰。由於已經使用用於處理應用程式126之公開金鑰重新包裝經接收之第一隨機金鑰,安全應用程式框架125可使用用於處理應用程式126之私密金鑰解密(310)第一隨機金鑰。然後,使用第一隨機金鑰,安全應用程式框架125可使用已經產生且經固持於安全應用程式框架125中之第一隨機金鑰解密(311)資料。第一隨機金鑰已經產生並儲存在安全應用程式框架125中。然後,經解密之資料被提供(312)至處理應用程式126,然後處理應用程式126在執行受信任執行環境122之安全應用程式框架125中經執行。一旦處理應用程式126處理資料,則在安全應用程式框架125中,從處理應用程式126接收(313)包括處理結果之輸出資料。
由於不僅資料且處理之結果(輸出資料)可為私密性(存取)應被控制之敏感資料,所以輸出資料亦應該在受信任執行環境122外部傳輸前被加密。具體而言,加密可使得僅存取儲存裝置110上之原始資料之各方才應該存取結果(輸出資料)。為此,在安全應用程式框架125中產生(314)第二隨機金鑰。此外,從安全模組145之在安全模組145中接收(315)用於儲存裝置110之公共金鑰,且使用儲存裝置110之公共金鑰加密(經封裝於一金鑰檔案中) (316)第二隨機金鑰。然後,將經加密之第二隨機金鑰(金鑰檔案)發送(317)至儲存裝置110。最後,使用第二隨機金鑰加密(318)輸出資料,且將輸出資料發送(319)至儲存裝置100。由於使用第二隨機金鑰加密輸出資料,且使用用於儲存裝置110之公開金鑰加密第二隨機金鑰,僅能夠存取儲存裝置110上之原始資料之方能夠存取輸出資料,即,能夠存取用於儲存裝置110之私密金鑰之方。
現將結合圖4描述一安全應用程式框架425 (諸如結合圖1所描述之安全應用程式框架125)之實施例,其經組態以在一受信任執行環境中執行(諸如結合圖1所描述之受信任執行環境)。例如,如結合圖1所描述,可在一系統中實施安全應用程式框架425之實施例。
根據實施例,安全應用程式框架425經組態以在一受信任執行環境122中執行,且執行經組態以接收使用一第一隨機金鑰加密之資料之一加密資料接收功能430、經組態以一安全方式接收第一隨機金鑰之一安全金鑰接收功能432、及經組態以使用第一隨機金鑰解密加密資料之一資料解密功能434,藉此獲得呈一解密形式之資料。安全應用程式框架425進一步經組態以執行經組態成將資料輸入至處理應用程式126之一輸入功能436;經組態以執行處理應用程式126以處理經輸入資料之一執行功能438;經組態以從處理應用程式126接收輸出資料之一輸出資料接收功能440。安全應用程式框架425進一步經組態以執行經組態以產生一第二隨機金鑰之一第二隨機金鑰產生功能442;經組態以使用第二隨機金鑰加密輸出資料之一輸出資料加密功能444;經組態以使用一儲存裝置110之一公開金鑰加密第二隨機金鑰之一第二隨機金鑰加密功能446;及經組態以將經加密之輸出資料及經加密之第二隨機金鑰發送至儲存裝置110之一發送功能448。
為在安全金鑰接收功能432中以一安全方式接收第一隨機金鑰,例如,安全金鑰接收功能可經組態以加密形式或經由一安全通道接收第一隨機金鑰。
在以加密形式接收第一隨機金鑰之一組態中,安全應用程式框架425進一步經組態以執行經組態以產生用於處理應用程式126之一私密/公開金鑰對之一處理應用程式金鑰產生功能440。安全金鑰接收功能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可進一步經組態以執行經組態以請求包括安全模組145之裝置140之一請求功能442以提供儲存裝置110之公開金鑰,及經組態以從包括安全模組145之裝置140接收儲存裝置110之公開金鑰之一儲存裝置公開金鑰接收功能444。
安全應用程式框架425之功能可進一步經調整且可根據結合圖2及圖3描述之方法200之對應步驟增添進一步之功能。
現將結合圖5描述使用經組態以處理資料之一處理應用程式126啟用資料之安全處理之一系統500之實施例。例如,如結合圖1所描述,可在一系統中實施一系統500之各實施例。
系統500包括經組態以在一受信任執行環境122中執行之一安全應用程式框架525,諸如,如結合圖4所描述之安全應用程式框架425或如結合圖1所描述之應用程式框架125。安全應用程式框架525可經組態於包括執行受信任執行環境122之一處理器(未經展示)之一第一裝置520中。
該系統進一步包括一第二裝置540,該第二裝置包括經組態以執行經組態以產生用於儲存裝置110之一私密/公開金鑰對之一儲存裝置金鑰產生功能550,經組態以接收使用儲存裝置110之公開金鑰經加密之第一隨機金鑰之一加密金鑰接收功能552。安全模組545進一步經組態以執行經組態以使用儲存裝置110之私密金鑰解密第一隨機金鑰之一第一隨機金鑰解密功能554,及經組態以一安全方式將第一隨機金鑰發送至安全應用程式框架525之一安全金鑰發送功能556。
包括安全模組545之裝置540可為包含一模組之任何裝置,該模組能夠處置具有相關應用程式所需之一安全層級之處理敏感資料。安全模組545係能夠以一安全方式管理私密/公開金鑰對之一模組,從而防止將公開金鑰或其他敏感資料外洩至未授權方。
安全模組545例如可為一受信任平台模組(TPM)或一安全元件(SE)。可在硬體或軟體或兩者之一組合中實現安全模組。
系統500之安全應用程式框架525之功能可進一步經調整且可根據結合圖2及圖3所描述之方法200之對應步驟及結合圖4所描述之安全應用程式框架425之對應功能增添進一步之功能。系統500之安全模組545之功能可進一步經調整且可根據結合圖2及圖3所描述之方法200之對應步驟增添進一步之功能。
一熟悉此項技術者認識到,本發明不限於上文所描述之實施例。相反,在隨附發明申請專利範圍之範圍內,許多修改及變動係可能的。藉由對圖示、發明及隨附發明申請專利範圍之一研究,實踐所要求保護之發明之一熟悉此項技術者可理解且實現此類修改及變動。
100:攝影機 110:儲存裝置 120:第一裝置 122:受信任執行環境 125:安全應用程式框架 126:處理應用程式 128:應用程式框架 140:第二裝置 145:安全模組 200:電腦實施方法/方法 301:發送 302:準備 303:產生 304:發送 305:重新包裝 306:指示 307:起始 308:接收 309:接收 310:解密 311:解密 312:提供 313:接收 314:產生 315:接收 316:加密 317:發送 318:加密 319:發送 425:安全應用程式框架 430:加密資料接收功能 432:安全金鑰接收功能 434:資料解密功能 436:輸入功能 438:執行功能 440:輸出資料接收功能 442:第二隨機金鑰產生功能 444:輸出資料加密功能 446:第二隨機金鑰加密功能 448:發送功能 450:處理應用程式金鑰產生功能 452:請求功能 454:儲存裝置公開金鑰接收功能 500:系統 520:第一裝置 525:安全應用程式框架 540:第二裝置 545:安全模組 550:儲存裝置金鑰產生功能 552:加密金鑰接收功能 554:第一隨機金鑰解密功能 556:安全金鑰發送功能 S210:步驟 S215:步驟 S220:步驟 S225:步驟 S230:步驟 S235:步驟 S240:步驟 S245:步驟 S250:步驟 S255:步驟
現在將參照隨附圖示更詳細地描述本發明之上述及其他態樣。該等圖示不應被視為限制的,而非用於解釋及理解。類似元件符號始終指代類似元件。
圖1係一實例系統之一示意性方塊圖,其中可實施本發明之實施例。
圖2係使用經組態以處理資料之一處理應用程式啟用資料之安全處理之一方法之實施例之一流程圖。
圖3係使用經組態以處理資料之一處理應用程式啟用資料之安全處理之一方法之實施例之一發信號圖。
圖4係經組態以在一受信任執行環境中執行之一安全應用程式框架之實施例之一示意性方塊圖。
圖5係使用經組態以處理資料之一處理應用程式啟用資料之安全處理之一系統之實施例之一示意性方塊圖。
110:儲存裝置
122:受信任執行環境
125:安全應用程式框架
126:處理應用程式
128:應用程式框架
145:安全模組
301:發送
302:準備
303:產生
304:發送
305:重新包裝
306:指示
307:起始
308:接收
309:接收
310:解密
311:解密
312:提供
313:接收
314:產生
315:接收
316:加密
317:發送
318:加密
319:發送

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之系統,其進一步經組態以執行: 一安全通道建立功能,其經組態以在包括該安全模組之該裝置與在該受信任執行環境中執行之該安全應用程式框架之間建立用於通信的一安全通道, 且其中該安全金鑰發送功能經組態以經由該安全通道將該第一隨機金鑰發送至該安全應用程式框架。
TW111132019A 2021-09-06 2022-08-25 使用處理應用程式啟用資料之安全處理的方法及系統 TWI829303B (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 (2)

Publication Number Publication Date
TW202318238A true TW202318238A (zh) 2023-05-01
TWI829303B TWI829303B (zh) 2024-01-11

Family

ID=77640539

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111132019A TWI829303B (zh) 2021-09-06 2022-08-25 使用處理應用程式啟用資料之安全處理的方法及系統

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)

Family Cites Families (17)

* 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
US8996887B2 (en) * 2012-02-24 2015-03-31 Google Inc. Log structured volume encryption for virtual machines
ES2947562T3 (es) * 2013-09-13 2023-08-11 Alcatel Lucent Método y sistema para controlar el intercambio de información sensible a la privacidad
CN105812332A (zh) * 2014-12-31 2016-07-27 北京握奇智能科技有限公司 数据保护方法
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 阿里巴巴集团控股有限公司 数据加密、解密方法及装置
JP7422686B2 (ja) * 2018-05-28 2024-01-26 ロイヤル バンク オブ カナダ セキュアな電子トランザクションプラットフォームのためのシステムと方法
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的安全代理重加密方法
CN111917540B (zh) * 2020-08-07 2023-05-12 广州市百果园信息技术有限公司 一种数据加解密方法、装置、移动终端和存储介质

Also Published As

Publication number Publication date
EP4145762B1 (en) 2023-10-25
EP4145762A1 (en) 2023-03-08
JP2023038172A (ja) 2023-03-16
CN115765958A (zh) 2023-03-07
KR20230036032A (ko) 2023-03-14
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
CN111181720B (zh) 基于可信执行环境的业务处理方法及装置
US9602549B2 (en) Establishing trust between applications on a computer
US11128447B2 (en) Cryptographic operation method, working key creation method, cryptographic service platform, and cryptographic service device
EP2973183B1 (en) Intra-computer protected communications between applications
US20220114249A1 (en) Systems and methods for secure and fast machine learning inference in a trusted execution environment
CN103973443A (zh) 用于遵守隐私的数据处理的方法和设备
US11005828B1 (en) Securing data at rest
WO2020155812A1 (zh) 一种数据存储方法、装置及设备
KR102644767B1 (ko) 데이터 보호 및 복구 시스템 및 방법
KR20210015264A (ko) 화이트박스 암호화를 이용한 puf 기반 사물인터넷 디바이스 인증 장치 및 방법
CN114547648A (zh) 一种数据匿踪查询方法及系统
CN113301036A (zh) 通信加密方法和装置、设备及存储介质
KR102364649B1 (ko) Puf 기반 사물인터넷 디바이스 인증 장치 및 방법
CN113609522B (zh) 数据授权及数据访问方法和装置
KR20230124027A (ko) 격리 암호화를 통한 프라이버시 강화 컴퓨팅
CN116346341A (zh) 私钥保护和服务端访问方法、系统、设备及存储介质
TWI829303B (zh) 使用處理應用程式啟用資料之安全處理的方法及系統
US20220166615A2 (en) Protecting secret software and confidential data in a secure enclave
CN113672973A (zh) 基于可信执行环境的risc-v架构的嵌入式设备的数据库系统
US11232219B1 (en) Protection of electronic designs
EP4175218A1 (en) Method to establish a secure channel
EP4174695A1 (en) Method to store data persistently by a software payload
CN116340972A (zh) 一种资源共享系统
WO2020087381A1 (zh) 模型数据的载入方法、装置、设备和存储介质
Patalbansi et al. Cloud storage system for mobile cloud computing using blockchain