TW202314550A - 利用感測器資訊提高信任級別的設備和方法 - Google Patents

利用感測器資訊提高信任級別的設備和方法 Download PDF

Info

Publication number
TW202314550A
TW202314550A TW111124430A TW111124430A TW202314550A TW 202314550 A TW202314550 A TW 202314550A TW 111124430 A TW111124430 A TW 111124430A TW 111124430 A TW111124430 A TW 111124430A TW 202314550 A TW202314550 A TW 202314550A
Authority
TW
Taiwan
Prior art keywords
input
condition
soc
security subsystem
encryption
Prior art date
Application number
TW111124430A
Other languages
English (en)
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 TW202314550A publication Critical patent/TW202314550A/zh

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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)

Abstract

各種實施例可以包括用於在片上系統(SoC)上提供安全性的方法和系統。一種方法可以包括由安全子系統從服務請求環境接收執行加密功能的請求,其中安全子系統儲存用於執行所請求的加密功能的條件。該方法還可以包括:由安全子系統從感測電路接收輸入,該輸入包括與用於執行所請求的加密功能的條件相關的至少一個指示;由安全子系統決定該輸入是否指示滿足用於執行所請求的加密功能的條件;及回應於決定滿足該條件而使用儲存在安全子系統中的加密金鑰來執行所請求的加密功能。

Description

利用感測器資訊提高信任級別的設備和方法
本案的態樣大體上係關於片上系統以及利用感測器資訊提高信任級別的設備和方法。
片上系統(SoC)設計和設備正變得越來越複雜,實現了增強的安全機制和穩健的可信執行環境,以打擊對非常有價值的加密資訊的未經授權使用。然而,隨著更多潛在攻擊者熟悉現有架構和可信執行環境實施方式,旨在增加額外安全層的虛擬環境可能被破解並且可能用來完全繞過安全措施。
各個態樣包括用於利用感測器資訊來增加執行加密功能的系統內的信任級別的方法和設備。在各個態樣中,安全子系統可以儲存為了執行服務請求環境所請求的加密功能而必須滿足的各種條件。安全子系統可以使用包括條件的金鑰使用策略來決定從感測電路接收到的輸入是否滿足條件。與所請求的加密功能相對應的條件的滿足可以允許安全子系統授權使用加密金鑰來執行所請求的加密功能。
一些態樣可以包括片上系統(SoC),片上系統(SoC)包括安全子系統,安全子系統儲存加密金鑰並且被配置為:從感測電路接收與用於使用加密金鑰執行加密功能的一或多個條件相關的輸入;並且回應於接收到的輸入指示滿足用於執行加密功能的條件來執行加密功能。
一些態樣還可以包括感測電路,感測電路被配置為感測與用於執行加密功能的一或多個條件相關的條件(condition),其中安全子系統從感測電路接收該輸入。在一些態樣中,安全子系統可以從與SoC分開的感測電路接收該輸入。
在一些態樣中,安全子系統還可以被配置為:從服務請求環境接收對加密功能的請求;並且回應於所接收到的輸入指示滿足用於執行所請求的加密功能的條件來執行所請求的加密功能。在一些態樣中,安全子系統還可以被配置為回應於所接收到的輸入指示滿足用於執行所請求的加密功能的條件,授權使用與加密功能相對應的加密金鑰來執行所請求的加密功能。
在一些態樣中,安全子系統可以被配置為沿著獨立於服務請求環境的通訊路徑從感測電路接收輸入。在一些態樣中,輸入可以包括指示是否滿足用於執行加密功能的條件的布耳值。在一些態樣中,輸入可以包括操作感測器資訊,並且安全子系統可以被配置為從感測電路連續接收輸入。
一些態樣還可以包括以下中的一者或兩者:安全處理單元(SPU),安全處理單元(SPU)儲存加密金鑰並且被配置為從服務請求環境接收執行加密功能的請求;或者SoC信任根(RoT),SoC信任根(RoT)被配置為:從感測電路接收輸入;並且從服務請求環境接收執行加密功能的請求。
在一些態樣中,用於執行加密功能的條件可以是人是否在實體上操作設備的接近範圍內,並且輸入可以包括對人在包含SoC的設備的接近範圍內實體存在的指示。
在一些態樣中,用於執行加密功能的條件可以是使用者生理特徵是否與授權的使用者生理特徵匹配,並且輸入可以包括對包含SoC的設備的使用者的當前使用者生理特徵的指示。
在一些態樣中,用於執行加密功能的條件可以是設備定向是否在可接受的閾值內,並且輸入可以包括對包括SoC的設備的設備定向的指示。
在一些態樣中,用於執行加密功能的條件可以是設備位置是否在授權的位置,並且輸入可以包括對包括SoC的設備的設備位置的指示。
在一些態樣中,用於執行加密功能的條件可以是接近設備是否是授權設備,並且輸入可以包括對能夠連接到包括SoC的設備的接近設備的指示。
在一些態樣中,用於執行加密功能的條件可以是通訊網路是否與授權的通訊網路匹配,並且輸入可以包括對由包括SoC的設備偵測到的通訊網路的指示。
其他態樣可以包括一種用於在SoC中提供安全性的方法。這些態樣可以包括由安全子系統從服務請求環境接收執行加密功能的請求,其中安全子系統儲存用於執行所請求的加密功能的條件;由安全子系統從感測電路接收輸入,該輸入包括與用於執行所請求的加密功能的條件相關的至少一個指示;由安全子系統決定該輸入是否指示滿足用於執行所請求的加密功能的條件;及回應於決定滿足該條件,使用儲存在安全子系統中的加密金鑰來執行所請求的加密功能。
在一些態樣中,從感測電路接收輸入可以包括安全子系統沿著獨立於服務請求環境的通訊路徑從感測電路接收輸入。在一些態樣中,從感測電路接收輸入可以包括接收指示是否滿足用於執行所請求的加密功能的條件的布耳值。在一些態樣中,輸入可以是操作感測器資訊,並且從感測電路接收輸入可以包括安全子系統從感測電路連續地接收輸入。
在一些態樣中,回應於決定滿足條件而執行所請求的加密功能可以包括回應於決定滿足條件而由安全處理單元(SPU)或SoC信任根(RoT)中的一個來執行加密功能。
在一些態樣中,用於執行加密功能的條件可以是人是否在實體上操作設備的接近範圍內;並且決定輸入是否指示滿足用於執行所請求的加密功能的條件可以包括決定輸入是否包括對人在包含SoC的設備的接近範圍內實體存在的指示。
在一些態樣中,用於執行加密功能的條件可以是使用者生理特徵是否與授權的使用者生理特徵匹配;並且決定輸入是否指示滿足用於執行所請求的加密功能的條件可以包括決定輸入是否包括對包含SoC的設備的使用者的當前使用者生理特徵的指示。
在一些態樣中,用於執行加密功能的條件可以是設備定向是否在可接受的閾值內;並且決定輸入是否指示滿足用於執行所請求的加密功能的條件可以包括決定輸入是否包括對包括SoC的設備的設備定向的指示。
在一些態樣中,用於執行加密功能的條件可以是設備位置是否在授權位置;並且決定輸入是否指示滿足用於執行所請求的加密功能的條件可以包括決定輸入是否包括對包括SoC的設備的設備位置的指示。
在一些態樣中,用於執行加密功能的條件可以是接近設備是否是授權設備;並且決定輸入是否指示滿足用於執行所請求的加密功能的條件可以包括決定輸入是否包括對能夠連接到包括SoC的設備的接近設備的指示。
在一些態樣中,用於執行加密功能的條件可以是通訊網路是否與授權的通訊網路匹配;並且決定輸入是否指示滿足用於執行所請求的加密功能的條件可以包括決定輸入是否包括對由包括SoC的設備偵測到的通訊網路的指示。
其他態樣可以包括一種SoC,包括:安全子系統,安全子系統儲存加密金鑰和用於執行加密功能的條件,其中安全子系統包括:用於接收執行加密功能的請求的構件;用於從感測電路接收輸入的構件,輸入包括與用於執行加密功能的至少一個條件相關的至少一個指示;用於決定輸入是否指示滿足用於執行加密功能的條件的構件;及用於回應於決定滿足條件而執行加密功能的構件。
在一些態樣中,用於從感測電路接收輸入的構件還可以包括用於沿著獨立於服務請求環境的通訊路徑從感測電路接收輸入的構件。在一些態樣中,用於從感測電路接收輸入的構件可以包括用於從操作感測電路連續地接收輸入的構件。
其他態樣可以包括一種非暫態處理器可讀取媒體,非暫態處理器可讀取媒體上儲存有處理器可執行指令,處理器可執行指令被配置為使得積體電路的安全子系統內的處理器執行操作,該操作包括:從服務請求環境接收執行加密功能的請求;從感測電路接收輸入,該輸入包括與用於執行加密功能的條件相關的至少一個指示;決定輸入是否指示滿足用於執行加密功能的條件;並且回應於決定滿足該條件而執行加密功能。
將參照附圖更詳細地描述各個態樣。只要有可能,將貫穿附圖使用相同的附圖符號來代表相同或相似的部分。對特定示例和實施例的指稱是出於說明性目的,並不旨在限制各個態樣或請求項的範圍。
各種實施例包括用於在片上系統(SoC)內提供安全性的積體電路(IC)元件、方法和設備。各種實施例可以利用感測器資訊來增加SoC內的信任級別。各種實施例包括儲存加密金鑰的安全子系統,其中安全子系統被配置為從感測電路接收與用於使用加密金鑰執行加密功能的一或多個條件相關的輸入。安全子系統還可以被配置為從SoC的信任區或服務請求環境接收對加密功能的請求,其中對每個加密功能的請求與用於執行加密功能的一或多個條件相關聯。安全子系統還可以被配置為回應於決定接收到的輸入指示滿足所請求的加密功能的條件來執行所請求的加密功能。以此方式,安全子系統能夠在執行加密功能之前獨立地確認滿足用於執行加密功能的一或多個條件,從而提供除了由SoC的信任區執行的安全檢查之外的第二獨立安全檢查。
術語「片上系統」(SOC)在本文中用於代表一組互連的電子電路,通常但不排他地包括處理設備、記憶體和通訊介面。處理設備可以包括各種不同類型的處理器和處理器核心,諸如通用處理器、中央處理單元(CPU)、數位訊號處理器(DSP)、圖形處理單元(GPU)、加速處理單元(APU)、安全處理單元(SPU)、計算設備的特定元件的子系統處理器(諸如用於相機子系統的影像處理器或用於顯示器的顯示處理器)、輔助處理器、單核處理器、多核處理器、控制器和微控制器。處理設備還可以包括其他硬體和硬體組合,諸如現場可程式設計閘陣列(FPGA)、專用積體電路(ASIC)、其他可程式設計邏輯裝置、個別閘門邏輯、電晶體邏輯、效能監測硬體、看門狗硬體和時間參考。積體電路可以被配置為使得積體電路的元件位於單片半導體材料(諸如矽)上。
術語「系統級封裝」(SIP)在本文中用於代表在兩個或更多個積體電路(IC)晶片、基板或SoC上包含多個資源、計算單元、核心或處理器的單個模組或封裝。例如,SIP可以包括單個基板,多個IC晶片或半導體晶粒以垂直配置堆疊在該基板上。類似地,SIP可以包括一或多個多晶片模組(MCM),多個IC或半導體晶粒在多晶片模組上封裝成一體化基板。SIP還可以包括多個獨立的SoC,該多個獨立的SoC經由高速通訊電路耦接在一起並緊密封裝,諸如在單個主機板上或在單個無線設備中。SoC的接近性有助於高速通訊以及記憶體和資源的共享。
使用高價值加密金鑰的安全敏感服務通常經由應用元件來准許,該應用元件通常在應用處理器中的更高可信執行環境(TEE)中運行。例如,應用處理器可以實施進階作業系統(HLOS)和虛擬環境(例如,基於TrustZone的TEE、基於超級管理程式的虛擬機器等)。即使與安全敏感服務相關聯的加密金鑰值對於更高信任的執行環境是未知的,也可以經由該更高信任的執行環境准許所請求的安全敏感服務,因為更高信任的執行環境本身負責授權所請求的安全敏感服務的金鑰的使用。
在此類架構中,如果應用元件或應用元件在其中運行的TEE被破解,則無論請求實體的資格如何都可以准許(即,即使不滿足使用標準/條件也可以准許)基於加密金鑰的服務。例如,儘管使用者認證檢查失敗,但是被破解的TEE會授權將加密金鑰用於所請求的加密服務,該服務需要存在授權使用者。因此,被破解的TEE會回應並執行非法請求的加密服務,包括授權使用加密金鑰、允許攻擊者在無需滿足任何安全認證要求的情況下存取安全資訊、有效地消除TEE旨在提供的任何安全措施。
各種實施例包括方法、SoC設計、處理設備和記憶體,它們被配置為實施用於在SoC內提供改進的安全性的方法。可以獨立於應用處理器操作的安全子系統可以被配置為從感測框架或感測電路接收與決定是否滿足用於執行加密功能的條件相關的指示及/或感測資訊作為輸入。輸入可以被獨立於應用處理器的加密功能的安全子系統用來確認滿足使用加密金鑰和其他加密功能的標準或條件。儲存加密金鑰的安全子系統通常可以是具有攻擊服務的元件,該攻擊服務被認為是SoC內最低的(即,低於基於應用處理器的TEE)。高信任安全子系統(例如,安全處理單元(SPU)或高度隔離的SoC信任根(RoT))可以實施加密金鑰使用策略,即使應用處理器或基於應用處理器的TEE被破解,該策略也會拒絕授權加密金鑰在安全子系統內執行由應用處理器或基於應用處理器的TEE請求的加密功能。
各種實施例可以利用必須滿足以提供對加密金鑰的存取及/或執行服務請求環境(例如,TEE)所請求的加密功能的一或多個條件來實施獨立的金鑰使用策略。服務請求環境可以向安全子系統請求執行安全敏感服務,諸如加密功能。執行加密功能的授權可以取決於滿足任何數量的基於安全子系統從感測電路接收到的一或多個輸入的條件。感測電路可以測量感測資訊來決定是否已滿足與加密服務請求對應的一或多個條件,感測資訊包括使用者生理特徵、相機圖像擷取/饋送資訊、設備定向、設備位置、設備狀況和實體狀態、設備和連接的設備效能指標、軟體效能指標等。感測電路可以將來自感測資訊的原始信號資料轉換為可以被安全子系統使用的輸入。輸入可以指示是否滿足或已滿足用於由安全子系統執行加密功能的條件。可以儲存與加密服務請求相對應的加密金鑰的安全子系統可以決定一或多個輸入是否指示滿足用於執行所請求的加密功能的一或多個條件。回應於決定滿足所請求的加密功能的(多個)條件中的至少一個條件,安全子系統可執行所請求的加密功能,所請求的加密功能可以包括授權使用與所請求的加密功能相對應的加密金鑰。
經由感測電路測量感測資訊、將感測資訊轉換為指示或可以用來決定是否滿足執行安全敏感服務或加密功能的(多個)先決條件的輸入以及由安全子系統決定輸入是否指示滿足用於執行所請求的加密功能的(多個)先決條件的該處理流程可以獨立於在應用處理器的服務請求環境內執行的任何加密操作來執行。因此,安全子系統提供了額外的安全層,該安全層執行驗證滿足對加密功能的一或多個條件的獨立程序,該加密功能可以用於在服務請求環境或TEE被破解或損壞的情況下限制對加密金鑰的存取。
圖1是示出根據一些實施例的可以被配置為在SoC中提供安全性的示例計算系統的元件方塊圖。各種實施方式可以被實施在許多單一處理器和多處理器電腦系統上,該系統包括SoC或SIP。圖1中所示出的示例是SIP 100架構,該SIP 100架構可以在實施各種實施方式的無線設備和網路設備中使用。
參考圖1,所示出的示例SIP 100包括兩個SoC 102、104,時鐘106,電壓調節器108和無線收發器166。在一些實施方式中,第一SoC 102可以作為無線設備的中央處理單元(CPU)操作,該中央處理器單元經由執行由指令指定的算術、邏輯、控制和輸入/輸出(I/O)操作來執行軟體應用程式的指令。在一些實施方式中,第二SoC 104可以作為專用處理單元操作。例如,第二SoC 104可以作為專用5G處理單元操作,負責管理大容量、高速(諸如5 Gbps等)或超高頻短波長(例如28 GHz毫米波頻譜等)通訊。
第一SoC 102可以包括數位訊號處理器(DSP)110、數據機處理器112、圖形處理器114、應用處理器116、與處理器中的一或多個連接的一或多個輔助處理器118(諸如向量輔助處理器)、記憶體120、定製電路122、系統元件和資源124、互連/匯流排模組126、一或多個感測器130、感測器管理單元132和熱功率包絡(TPE)組件134。第二SoC 104可以包括5G數據機處理器152、電源管理單元154、互連/匯流排模組164、複數個收發器156(例如,諸如sub-6波段收發器、毫米波收發器或其他無線收發器)、記憶體158以及各種附加處理器160(諸如應用處理器、封包處理器等)。
每個處理器110、112、114、116、118、152、160可以包括一或多個核心,並且每個處理器/核心可以獨立於其他處理器/核心執行操作。例如,第一SoC 102可以包括執行第一類型的作業系統(諸如FreeBSD、LINUX、OS X等)的處理器和執行第二類型的作業系統(諸如MICROSOFT WINDOWS 10)的處理器。此外,處理器110、112、114、116、118、152、160中的任何一個或所有可以被包括作為處理器集群架構(諸如同步處理器集群架構、非同步或異構處理器集群架構等)的一部分。在一些實施方式中,處理器110、112、114、116、118、152、160中的任何一個或所有可以是處理系統的元件。處理系統大體可以指接收輸入並處理輸入以產生一組輸出(該組輸出可以被傳遞到例如第一SoC 102或第二SoC 250的其他系統或元件)的系統或系列機器或元件。例如,第一SoC 102或第二SoC 104的處理系統可以指包括第一SoC 102或第二SoC 104的各種其他元件或子元件的系統。
第一SoC 102或第二SoC 104的處理系統可以與第一SoC 102或第二SoC 104的其他元件接合。第一SoC 102或第二SoC 104的處理系統可以處理從其他元件接收到的資訊(諸如輸入或信號),向其他元件輸出資訊等。例如,第一SoC 102或第二SoC 104的晶片或數據機可以包括處理系統、用於輸出資訊的第一介面以及用於接收資訊的第二介面。在某些情況下,第一介面可以指晶片或數據機的處理系統與發送器之間的介面,使得第一SoC 102或第二SoC 104可以發送從晶片或數據機輸出的資訊。在某些情況下,第二介面可以指晶片或數據機的處理系統與接收器之間的介面,使得第一SoC 102或第二SoC 104可以接收資訊或信號輸入,並將該資訊傳遞到處理系統。一般熟習此項技術者將容易認識到,第一介面也可以接收資訊或信號輸入,並且第二介面也可以發送資訊。
第一SoC 102和第二SoC 104可以包括用於管理感測器資料、類比數位轉換、無線資料傳輸以及用於執行其他專用操作(諸如解碼資料封包以及處理用於在網路瀏覽器中渲染的經編碼的音訊和視訊訊號)的各種系統元件、資源和定製電路。例如,第一SoC 102的系統元件和資源124可以包括功率放大器、電壓調節器、振盪器、鎖相迴路、周邊橋、資料控制器、記憶體控制器、系統控制器、存取埠、計時器以及用來支援在無線設備上運行的處理器和軟體客戶端的其他類似元件。系統元件和資源124或定製電路122還可以包括與周邊設備(諸如相機、電子顯示器、無線通訊設備、外部記憶體晶片等)接合的電路。
第一SoC 102和第二SoC 104可以經由互連/匯流排模組150進行通訊。各種處理器110、112、114、116、118可以經由互連/匯流排模組126與一或多個記憶體元件120、系統元件和資源124和定製電路122以及感測器管理單元132互連。類似地,數據機處理器152可以經由互連/匯流排模組164與電源管理單元154、收發器156、記憶體158和各種附加處理器160互連。互連/匯流排模組126、150、164可以包括可重新配置的邏輯閘陣列或者實施匯流排架構(諸如CoreConnect、AMBA等)。通訊可以由進階互連(諸如高效能片上網路(NoC))來提供。
第一SoC 102或第二SoC 104還可以包括用於與SoC外部的資源(諸如時鐘106和電壓調節器108)通訊的輸入/輸出模組(未示出)。SoC外部的資源(諸如時鐘106、電壓調節器108)可以由內部SoC處理器/核心中的兩個或更多個共享。
除了上面討論的示例SIP 100之外,可以在各種各樣的計算系統中實施多種實施方式,這些計算系統可以包括單個處理器、多個處理器、多核處理器或其任何組合。
圖2是示出示例SoC的元件方塊圖,該示例SoC包括適用於實施各種實施例中的任何實施例的加密系統200。所示出的示例加密系統200包括應用處理器116、互連/匯流排模組126、安全子系統202和感測電路204。應用處理器116、互連/匯流排模組126、安全子系統202和感測電路204可以是SoC 102的元件。
感測電路204可以接收或以其他方式測量感測資訊230,感測資訊230可以經由互連/匯流排模組126聚合並傳送到應用處理器116和安全子系統202。應用處理器116可以經由互連/匯流排模組126向安全子系統202發送對加密功能的請求。安全子系統202可以是在應用處理器116外部或以其他方式獨立於應用處理器116的SoC 102的功能方塊或一部分。例如,服務請求環境208可以與安全子系統202分開操作。感測電路204可以向應用處理器116和安全子系統202分開地發送用於加密認證目的的輸入。應用處理器116可以使用接收到的輸入來獨立於安全子系統202執行加密操作,該安全子系統202使用接收到的輸入來執行不同的加密功能,該不同的加密功能包括基於與加密功能相對應的一或多個條件授權使用加密金鑰。安全子系統202可以被配置為釋放或授權加密金鑰以供安全子系統202使用,其中加密金鑰回應於接收到的輸入指示滿足所請求的加密功能的條件而對應於所請求的加密功能(即,服務請求環境所請求的加密功能)。
應用處理器116可以建立和管理HLOS 206和服務請求環境208。服務請求環境208可以是虛擬功能方塊,諸如用於請求安全子系統202執行加密功能的可信執行環境(例如,TrustZone、基於超級管理程式的虛擬機器)。
HLOS 206可以決定應該回應於用於獲得對安全資訊的存取(例如,經由在應用處理器116上運行的銀行應用的網上銀行登錄)的使用者輸入及/或請求執行加密功能。存取嘗試可以包括對加密金鑰的請求,以驗證請求存取安全資訊的使用者及/或設備。回應於請求包括加密金鑰的附加安全資訊的存取嘗試,HLOS 206可以產生包括所請求的加密功能的加密服務請求並將其傳輸到服務請求環境208。服務請求環境208然後可以將加密服務請求中繼到安全子系統202。安全子系統202可以儲存與任何數量的潛在加密功能相對應的(例如,儲存在SPU 212中的)加密金鑰。安全子系統202可以基於一或多個條件授權使用或准許存取與加密服務請求相對應的加密金鑰。滿足條件可以授權安全子系統202使用加密金鑰來執行加密服務請求所請求的加密功能,其中加密服務請求最初由HLOS 206產生以允許存取所請求的安全資訊。回應於決定不滿足與加密服務請求相關聯的條件中的一或多個,安全子系統202可以拒絕使用(多個)加密金鑰來執行加密功能的授權,並且因此可以拒絕對與加密服務請求相對應的安全資訊的存取。
在一些實施例中,安全子系統202可以包括記憶體或者可以經由互連/匯流排模組126可通訊地連接到用於儲存用於執行各種加密功能的各種條件的記憶體設備(例如,記憶體120、SoC 102外部的記憶體設備)。在一些實施例中,安全子系統202可以利用一或多個必須滿足的條件來儲存加密金鑰使用策略,以便提供對加密金鑰的存取及/或執行服務請求環境208所請求的加密功能。例如,安全子系統202可以儲存與執行各種加密功能的請求相對應的一組規則及/或條件。由安全子系統202儲存的金鑰使用策略可以包括對於每個所請求的加密功能必須滿足的條件、用於基於所請求的加密功能決定必須滿足哪些條件的規則、以及基於從感測電路204接收到的輸入決定滿足哪些條件的規則。在一些實施例中,除了加密功能之外,加密服務請求可以包括要滿足的一或多個條件。
感測電路204可以包括數位訊號處理器110、數據機處理器112、圖形處理器114、定製電路122以及系統元件和資源124,以分析與每個處理器的操作相關的條件。例如,數據機處理器112可以分析包括SoC 102的設備正在運行的頻寬範圍(例如,5G、LTE等)。感測電路204可以包括用於測量實施SoC 102的設備的操作條件的附加處理器,其中每個處理器可以經由互連/匯流排模組126可通訊地連接到安全子系統202。在一些實施例中,SoC 102可以包括與感測電路204分開的附加處理器,但可以將設備操作條件傳送到感測電路204。感測電路204可以包括感測器管理單元132,該感測器管理單元132可通訊地連接到用於測量真實世界感測資訊230的任何種類的感測器130。感測器130可以包括陀螺儀/加速度計214、音訊輸入元件216、相機218、溫度感測器220和觸控式螢幕222,以及用於測量及/或接收真實世界資料的其他感測器。
在一些實施例中,出於安全子系統202授權使用加密金鑰的目的,感測電路204可以決定是否滿足與加密服務請求相關聯的條件。感測電路204可以藉由分析感測資訊230來決定滿足與加密服務請求相關聯的一或多個條件。感測電路204可以測量及/或分析感測資訊230,以產生可以由安全子系統202利用的輸入。感測電路204可以將基於測量到的感測資訊230的輸入經由互連/匯流排模組126發送到安全子系統202。安全子系統202可以從感測電路204接收與用於使用加密金鑰執行加密功能的一或多個條件相關的輸入。安全子系統202可以回應於接收到的輸入指示滿足所請求的加密功能的一或多個條件來執行所請求的加密功能。
在一些實施例中,出於准許安全子系統202對加密金鑰的存取或授權安全子系統使用加密金鑰(或執行另一加密功能)的目的,安全子系統202可以決定是否滿足與加密服務請求相關聯的條件。安全子系統202可以藉由分析來自感測電路204的輸入來決定滿足與加密服務請求相關聯的一或多個條件。感測電路204可以測量及/或分析感測資訊230,以產生對安全子系統202的輸入。感測電路204可以將基於測量到的感測資訊230的輸入經由互連/匯流排模組126發送到安全子系統202。安全子系統202可以從感測電路204接收與用於使用加密金鑰執行加密功能的一或多個條件相關的輸入。安全子系統202可以回應於接收到的輸入指示滿足所請求的加密功能的一或多個條件來執行所請求的加密功能。
術語「輸入」在本文中用於指可以由安全子系統接收的多種資料結構,包括例如原始感測器資料、感測器測量值、布耳資訊、旗標位元等。
作為示例,在感測電路204決定是否滿足與加密服務請求相對應的一或多個條件的實施例中,感測電路204可以產生與一或多個條件相對應的一或多個布耳值,並且將布耳值傳送到安全子系統202,諸如將位元載入到安全子系統202可存取的暫存器中。例如,布耳值可以是可以載入到安全子系統內或由安全子系統存取並對應於特定感測器的暫存器中的1(或「是」)或0(或「否」)指示符(例如,偵測到的指紋=「是/否」,偵測到的有效指紋=「是/否」),或者特定條件是否滿足的指示。然後,安全子系統可以存取旗標或布耳值,以決定是否應該繼續授權存取加密金鑰。在輸入是表示由感測器130測量到的狀態(例如,是否偵測到手錶、溫度是否過高、是否偵測到QR碼等)的布耳值的實施例中,安全子系統202內的處理器可以決定每個輸入所指示的狀態是否指示在授權使用加密金鑰之前滿足對應的條件。
在對安全子系統的輸入包括一或多個布耳值的實施例中,感測電路204可以將包括布耳值的資料傳遞到安全子系統202,可以將對應於安全子系統202可以存取的暫存器中的布耳值狀態的旗標或位元(例如,SPU 212內的旗標/位元)設定,及/或可以經由互連/匯流排模組126將儲存在暫存器中的位元組推送到安全子系統202的記憶體位址範圍。例如,感測電路204可以向安全子系統202輸出布耳值,該布耳值指示實施SoC 102的設備已經測量並記錄了指示存在授權的金鑰卡的感測資訊230(例如,金鑰卡存在並且決定方塊306=「是」)。安全子系統202可以基於輸入決定金鑰卡的存在指示滿足條件並且安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202執行所請求的加密功能。
在安全子系統202決定是否滿足與加密服務請求相對應的一或多個條件的實施例中,安全子系統202可以從感測電路204接收原始信號測量值作為輸入,處理一或多個原始信號測量值,並且基於對原始信號測量值的這種處理來決定是否滿足所請求的加密功能的一或多個條件。
安全子系統202從感測電路204接收到的輸入可以是始終線上資訊(即,感測器測量的資訊被連續推送到安全子系統202)或操作感測器資訊(諸如儲存在安全子系統202的或由安全子系統202可存取的暫存器中的值),並且因此可用於在接收到(例如,來自TEE的)對加密功能的請求時決定是否滿足先決條件。換言之,感測電路204可以連續輸出(例如,經由資料匯流排傳輸或儲存在由安全子系統202可存取的記憶體中)與一或多個先決條件相關的感測器資訊或指示,以便該資訊或指示對安全子系統總是有效。因此,當從服務請求環境208接收到包括加密功能的加密服務請求時,安全子系統202可能已經具有對應於加密服務請求所需的一或多個條件的輸入的狀態或指示,需要滿足該一或多個條件來准許對加密金鑰的存取並完成加密功能。例如,只要對應於授權使用者的智慧手錶不在可偵測的藍芽低功耗(BLE)範圍內,感測電路204就可以將由安全子系統202可存取的暫存器中指示「偵測到使用者手錶=否」的布耳值的位元或旗標不斷設定。當有效使用者的智慧手錶進入到BLE範圍中並連接到實施SoC 102的設備時,感測電路204可以調整對應的暫存器來指示「偵測到使用者手錶=是」的布耳值並在智慧手錶保持在範圍內時持續推送或保持該值由安全子系統202可存取。
在一些實施例中,當感測電路204基於所設置的條件和測量到的感測資訊230決定輸入的改變是適當的時,感測電路204可以向安全子系統202提供輸入。例如,特定加密功能的條件可以是實施SoC 102的設備是否正移動得快於特定速度閾值範圍。預設情況下,當設備在速度閾值範圍內(例如,不移動)時,由感測電路204使用陀螺儀/加速度計214最初提供的(例如,在系統啟動時)對安全子系統202的輸入可以是「設備穩定=是」。感測電路204可以藉由不斷地將「設備穩定=是」推送到安全子系統202直到該條件改變為止而不浪費處理器週期。因此,當感測電路204決定感測資訊230指示設備正移動得快於由條件定義的閾值速度範圍時,輸入可以被改變為「設備穩定=否」並且感測電路204可以將此布耳值推送到安全子系統202或設置由安全子系統202可存取的暫存器中的旗標位元。
在一些實施例中,安全子系統202可以接收執行加密功能的請求,並且作為回應,安全子系統可以請求與所請求的加密功能相對應的條件的最新值或狀態。例如,感測電路204可以間隔地向安全子系統202提供輸入及/或感測資訊,並且安全子系統202可能沒有與決定是否滿足所請求的加密功能的條件有關的最新資訊。因此,安全子系統可以向感測電路204發送請求以向安全子系統202提供與該條件相關的最新狀態或輸入。在一些實施例中,安全子系統202可以將與滿足任何條件相關的輸入儲存在金鑰使用策略內,但是可以在接收到加密服務請求之後決定輸入是否滿足與加密服務請求相對應的條件。在一些實施例中,不管安全子系統202是否已經接收到加密服務請求,安全子系統202都可以基於最新輸入來決定並儲存關於金鑰使用策略中的哪些條件已經得到滿足的資訊。
在一些實施例中,感測電路204可以是除了SoC 102之外的另一SoC(例如,SoC 104)的元件,或者可以是在容納SoC 102的設備外部的另一設備的另一元件。例如,感測電路204可以是另一設備(諸如智慧型電話或智慧手錶)的一部分的功能方塊,該另一設備可以測量感測資訊230以基於條件決定和聚合輸入,然後可以將那些所決定的輸入(例如,經由無線收發器166)傳輸到實施安全子系統202的設備。類似地,在一些實施例中,安全子系統202可以是除了SoC 102之外的另一SoC的元件,或者可以是在容納SoC 102的設備外部的另一設備的另一元件。
在一些實施例中,安全子系統202可以包括SoC RoT 210,並且被描述為由安全子系統202執行的所有操作都可以由SoC RoT 210執行。在一些實施例中,安全子系統202可以包括SPU 212,並且被描述為由安全子系統202執行的所有操作都可以由SPU 212執行。在一些實施例中,安全子系統202可以包括SoC信任根(RoT)210和安全處理單元(SPU)212,並且被描述為由安全子系統202執行的所有操作可以由SoC RoT 210連同SPU 212執行。因此,在各種實施例中,貫穿本文件被描述為由安全子系統202執行的所有操作都可以單獨由SoC RoT 210執行,單獨由SPU 212執行,或者由SoC RoT 210和SPU 212聯合執行。作為SoC RoT 210和SPU 212充當安全子系統202內兩個共同起作用的元件的示例,SPU 212可以是獨立的處理器子系統和啟動鏈,包括CPU、記憶體和加密引擎以向其他子系統提供加密服務。SPU 212可以儲存一或多個加密金鑰並且可以從服務請求環境208接收一或多個所請求的加密功能。SoC RoT 210可以被配置為從感測電路204接收輸入並且決定該輸入是否指示滿足用於執行所請求的加密功能的條件。SoC RoT 210可以將輸入發送到SPU 212。SPU 212可以被配置為回應於接收到的輸入指示滿足所請求的加密功能的條件來執行所請求的加密功能。因此,當感測電路204或安全子系統202決定滿足與所請求的加密功能相對應的條件時,SPU 212可以授權安全子系統202使用與所請求的加密功能相對應的加密金鑰。
出於基於預設條件決定並聚合輸入的目的,感測電路204可以使用各種感測器130和數位訊號處理器110、數據機處理器112、圖形處理器114、定製電路122以及系統元件和資源124來測量各種感測資訊230,以分析與每個處理器的操作相關的條件。感測資訊230可以包括任何種類的外部設備刺激、信號、指示器等。例如,在出於加密安全目的辨識授權的及/或有效的使用者、憑證、連接、連接的設備、條件等時,感測電路204可以測量並記錄使用者生理特徵、圖像擷取及/或圖像饋送資料、設備定向、設備位置、設備狀況及/或狀態、通訊網路資訊以及可以使用的其他資訊(即,決定是否滿足(多個)條件)。
圖3是示出根據各種實施例的用於在SoC內提供安全性的實施例方法300的程序流程圖。參考圖1至圖3,方法300可以被實施在被配置為執行該方法的操作的處理器(例如,處理器110、112、114、116、118、152、160)中。在一些實施例中,處理器(例如,處理器110、112、114、116、118、152、160)可以被配置為經由儲存在非暫態處理器可讀取媒體(例如,記憶體設備120、158)中的處理器可執行指令來執行操作。用於執行方法300的每個操作的構件可以是加密系統200的處理器,諸如處理器110、112、114、116、118、152、160、安全子系統202、感測電路204等。
在各種實施例中,安全子系統(例如,安全子系統202)可以儲存安全子系統不能立即存取的一或多個加密金鑰。例如,安全子系統可以經由互連(例如,互連/匯流排模組126)從服務請求環境(例如,服務請求環境208)接收執行加密功能的請求。服務請求環境可以是在應用處理器(例如,應用處理器116)上操作且由其管理的TEE。
在方塊302中,安全子系統可以從服務請求環境接收執行加密功能的請求。安全子系統可以儲存用於執行所請求的加密功能的條件。在准許安全子系統存取或授權安全子系統使用加密金鑰之前,安全子系統可能需要滿足條件。在一些實施例中,由安全子系統從服務請求環境接收對加密功能的請求可以包括經由安全子系統內的SPU(例如,SPU 212)或SoC RoT(例如,SoC RoT 210)從服務請求環境接收對加密功能的請求。方塊302中的程序可以如參照圖1和圖2所描述的那樣來執行。用於執行方塊302中的操作的構件可以包括加密系統的處理器(諸如處理器110、112、114、116、118、152、160)、安全子系統202、感測電路204等。
在方塊304中,安全子系統可以從感測電路接收輸入,其中該輸入包括與用於執行加密功能的至少一個條件相關的至少一個指示。安全子系統(例如,安全子系統202)可以從感測電路(例如,感測電路204)接收一或多個輸入。該輸入可以基於感測資訊(例如,感測資訊230)。感測電路可以基於感測資訊來決定是否滿足條件。在一些實施例中,安全子系統可以從感測電路接收輸入,然後可以基於接收到的輸入來決定是否滿足條件。在一些實施例中,從感測電路接收輸入可以包括接收指示用於執行所請求的加密功能的條件是否得到滿足的布耳值。在一些實施例中,輸入可以是永遠線上資訊,或者操作感測器資訊,並且從感測電路接收輸入還可以包括安全子系統從感測電路連續地接收輸入。在一些實施例中,從感測電路接收輸入可以包括安全子系統沿著獨立於服務請求環境的通訊路徑從感測電路接收輸入。在一些實施例中,由安全子系統從感測電路接收輸入可以包括由安全子系統內的SoC RoT(例如,210)或SPU(例如,SPU 212)從感測電路接收輸入。方塊304中的程序可以如參考圖1和圖2所描述的那樣來執行。用於執行方塊304中的操作的構件可以包括加密系統的處理器(諸如處理器110、112、114、116、118、152、160)、安全子系統202、感測電路204等。
在決定方塊306中,安全子系統可以決定輸入是否指示滿足用於執行所請求的加密功能的條件。出於授權安全子系統使用一或多個加密金鑰用於執行所請求的加密功能的目的,安全子系統(例如,安全子系統202)可以決定從感測電路接收到的輸入是否指示與所請求的加密功能相對應的一或多個條件已經滿足。在一些實施例中,由安全子系統決定輸入是否指示滿足用於執行所請求的加密功能的條件可以包括由SoC RoT(例如,SoC RoT 210)及/或SPU(例如,SPU 212)決定輸入是否滿足用於執行所請求的加密功能的條件。決定方塊306中的程序可以如參考圖1和圖2所描述的那樣執行。用於執行決定方塊306中的操作的構件可以包括加密系統的處理器(諸如處理器110、112、114、116、118、152、160)、安全子系統202、感測電路204等。
回應於決定輸入指示不滿足用於執行所請求的加密功能的條件(即,決定方塊306=「否」),安全子系統可以拒絕使用與所請求的加密功能相對應的加密金鑰,並且可能終止或拒絕所請求的加密功能。安全子系統可以繼續接收對加密功能的相同請求及/或對加密功能的附加請求的後續嘗試,如方塊302中所述,直到安全子系統決定輸入指示滿足用於執行所請求的加密功能的條件為止。
回應於決定輸入指示滿足用於執行所請求的加密功能的條件(即,決定方塊306=「是」),可以在方塊308中執行所請求的加密功能。一旦安全子系統決定從感測電路接收到的輸入所指示的那樣滿足一或多個必要條件,安全子系統就可以授權使用多個加密金鑰中的一個加密金鑰來允許安全子系統完成所請求的加密功能。在一個實施例中,回應於決定滿足條件而執行所請求的加密功能可以包括回應於決定滿足條件而由SPU及/或SoC RoT執行所請求的加密功能,使得SPU及/或SoC RoT可以授權SPU及/或SoC RoT使用加密金鑰。方塊308中的程序可以如參照圖1和圖2所描述的那樣來執行。用於執行方塊308中的操作的構件可以包括加密系統的處理器(諸如處理器110、112、114、116、118、152、160)、安全子系統202、感測電路204等。
在方塊304中從感測電路204接收到的輸入和在決定方塊306中由安全子系統202做出的決定可以使得各種實施例能夠根據多種參數和因素來調節加密功能的執行和對加密金鑰的存取,以處理各種加密功能應用。方塊302至方塊308中的各種加密功能的輸入、決定和條件的非限制性示例包括以下內容。
在一些實施例中,感測電路204可以測量接近的當前使用者的生理特性。感測電路204可以基於測量到的感測資訊230決定是否滿足一或多個條件,諸如人是否在實體上操作包括安全子系統的設備的接近範圍內,該安全子系統從服務請求環境208接收到加密服務請求。在方塊304中,對是否滿足條件(在該示例實施例中,輸入是否包括對人在包含SoC 102的設備的接近範圍內實體存在的指示)的最終決定可以被輸入到安全子系統202。感測電路204可以基於測量到的感測資訊230決定是否滿足一或多個條件,諸如使用者是否是與由安全子系統從服務請求環境208接收到的加密服務請求相對應的授權使用者202。在方塊304中,是否滿足條件(在此情況下,實施SoC 102的設備的當前使用者是否是授權使用者)的最終決定可以被輸入到安全子系統202。
感測電路204可以產生指示滿足或不滿足條件及/或指示當前使用者是實施SoC 102的設備的授權使用者的輸入。換句話說,在方塊304中接收到的輸入可以包括對包含SoC 102的設備的使用者的當前使用者生理特徵的指示,條件可以是使用者生理特徵是否與授權的使用者生理特徵匹配,並且安全子系統202可以被配置為決定是否滿足條件。
例如,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動指紋辨識程序,在該程序中設備可以經由使用者介面請求並且經由觸控式螢幕222測量指紋。條件可以是使用者指紋是否與(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)授權的使用者指紋匹配,在方塊304中接收到的輸入可以包括對當前使用者指紋的指示(例如,指紋是否與所儲存的授權的使用者指紋匹配),並且安全子系統202可以被配置為決定是否滿足條件。如果指紋與所儲存的指紋匹配(例如,指紋與所儲存的授權的使用者指紋匹配並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果指紋與所儲存的指紋不匹配(例如,指紋與所儲存的授權的使用者指紋匹配並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動虹膜辨識程序,在該程序中設備可以經由使用者介面請求並且經由照相機218測量使用者的虹膜的圖像。條件可以是使用者的虹膜是否與(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)授權的使用者虹膜匹配。在那種情況下,在方塊304中接收到的輸入可以包括對當前使用者虹膜的指示(例如,虹膜與所儲存的授權的使用者虹膜匹配並且決定方塊306=「是」或「否」),並且安全子系統202可以被配置為決定是否滿足條件。如果虹膜與所儲存的虹膜匹配(例如,虹膜與所儲存的授權的使用者虹膜匹配並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果虹膜與所儲存的虹膜不匹配(例如,虹膜與所儲存的授權的使用者虹膜匹配並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動臉孔辨識程序,在該程序中設備可以經由使用者介面請求並且經由相機218測量使用者的面部的圖像。條件可以是使用者面部是否與(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)授權的使用者面部匹配,在方塊304中接收到的輸入可以包括對當前使用者面部的指示(例如,面部是否與所儲存的授權的使用者面部匹配並且決定方塊306=「是」或「否」),並且安全子系統202可以被配置為決定是否滿足條件。如果面部與所儲存的面部匹配(例如,面部與所儲存的授權的使用者面部匹配並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果面部與所儲存的面部不匹配(例如,面部與所儲存的授權的使用者面部匹配並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動臉孔辨識程序,在該程序中設備可以經由使用者介面請求並且經由音訊輸入元件216測量使用者的語音的記錄。條件可以是使用者語音記錄是否與(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)授權的使用者語音記錄匹配,在方塊304中接收到的輸入可以包括對當前使用者語音記錄的指示(例如,語音記錄是否與所儲存的授權的使用者語音記錄匹配),並且安全子系統202可以被配置為決定是否滿足條件。如果語音記錄與所儲存的語音記錄匹配(例如,語音記錄與所儲存的授權的使用者語音記錄匹配並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果語音記錄與所儲存的語音記錄不匹配(例如,語音記錄與所儲存的授權的使用者語音記錄匹配並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
在一些實施例中,感測電路204可以使用相機218測量附加的、非使用者相關的環境條件或圖像擷取/饋送特徵。例如,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動圖像辨識程序(諸如辨識特定的QR閱讀器代碼),在該程序中設備可以經由使用者介面請求並且經由相機218測量QR碼的圖像。條件可以是QR碼是否與(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)特定的QR碼匹配,在方塊304中接收到的輸入可以包括對當前QR碼的指示(例如,QR碼與所儲存的有效QR碼匹配),並且安全子系統202可以被配置為決定是否滿足條件。如果QR碼與所儲存的QR碼匹配(例如,QR碼與所儲存的QR碼匹配並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果QR碼與所儲存的QR碼不匹配(例如,QR碼與所儲存的QR碼匹配並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動圖像辨識程序(諸如辨識特定環境亮度水平),在該程序中設備可以經由相機218測量當前亮度水平。條件可以是亮度水平是否在(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)亮度水平閾值範圍內,在方塊304中接收到的輸入可以包括對當前亮度水平的指示(例如,亮度水平是否在亮度水平閾值範圍內),並且安全子系統202可以被配置為決定是否滿足條件。如果亮度水平在亮度水平閾值範圍內(例如,亮度水平在亮度水平閾值範圍內並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果亮度水平不在亮度水平閾值範圍內(例如,亮度水平在亮度水平閾值範圍內並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務相對應的加密金鑰請求,並且加密服務請求失敗並且拒絕對安全資訊的存取。
在一些實施例中,感測電路204可以測量實施SoC 102的設備的設備定向。感測電路204可以基於測量到的感測資訊230決定是否滿足一或多個條件,諸如設備是否處於與由安全子系統202從安全虛擬環境208接收到的加密服務請求相對應的適當定向內。是否滿足條件(在此情況下,實施SoC 102的設備是否在適當定向內)的最終決定可以被輸入到安全子系統202。
感測電路204可以產生指示滿足或不滿足條件及/或指示當前使用者是實施SoC 102的設備的授權使用者的輸入。換句話說,在方塊304中接收到的輸入可以包括對包括SoC 102的設備的設備定向的指示,條件可以是設備定向是否在可接受的閾值內,並且安全子系統202可以被配置為決定是否滿足條件。
例如,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備定向測量程序,在該程序中設備可以經由陀螺儀/加速度計214測量x-y-z軸定向。條件可以是x-y-z軸定向是否在(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)x-y-z軸定向閾值範圍內,在方塊304中接收到的輸入可以包括對當前x-y-z軸定向的指示(例如,x-y-z軸定向是否在x-y-z軸定向閾值範圍內),並且安全子系統202可以被配置為決定是否滿足條件。如果x-y-z軸定向在x-y-z軸定向閾值範圍內(例如,x-y-z軸定向在x-y-z軸定向閾值範圍內並且決定方塊306=「是」),則安全子系統202可以授權使用對應於加密服務請求來允許安全子系統202完成加密功能。如果x-y-z軸定向不在x-y-z軸定向閾值範圍內(例如,x-y-z軸定向在x-y-z軸定向閾值範圍內並且決定方塊306=「否」),則安全子系統202不授權使用對應於加密金鑰的加密服務請求,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備定向測量程序,在該程序中設備可以經由陀螺儀/加速度計214測量傾斜角。條件可以是傾斜角是否在(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)傾斜角閾值範圍內,在方塊304中接收到的輸入可以包括對當前傾斜角的指示(例如,傾斜角是否在傾斜角閾值範圍內),並且安全子系統202可以被配置為決定是否滿足條件。如果傾斜角在傾斜角閾值範圍內(例如,傾斜角在傾斜角閾值範圍內並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果傾斜角不在傾斜角閾值範圍內(例如,傾斜角在傾斜角閾值範圍內並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務相對應的加密金鑰請求,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備定向測量程序,在該程序中設備可以經由陀螺儀/加速度計214測量速度。條件可以是速度是否在(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)速度閾值範圍內,在方塊304中接收到的輸入可以包括對當前速度的指示(例如,速度是否為在速度閾值範圍內),並且安全子系統202可以被配置為決定是否滿足條件。如果速度在速度閾值範圍內(例如,速度在速度閾值範圍內並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果速度不在速度閾值範圍內(例如,速度在速度閾值範圍內並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備定向測量程序,在該程序中設備可以經由陀螺儀/加速度計214測量加速度。條件可以是加速度是否在(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)加速度閾值範圍內,在方塊304中接收到的輸入可以包括對當前加速度的指示(例如,加速度是否在在加速度閾值範圍內),並且安全子系統202可以被配置為決定是否滿足條件。如果加速度在加速度閾值範圍內(例如,加速度在加速度閾值範圍內並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果加速度不在加速度閾值範圍內(例如,加速度在加速度閾值範圍內並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
在一些實施例中,感測電路204可以測量實施SoC 102的設備的位置。感測電路204可以基於測量到的感測資訊230決定是否滿足一或多個條件,諸如設備是否處於與由安全子系統202從安全虛擬環境208接收到的加密服務請求相對應的安全環境或地理位置內。是否滿足條件(在此情況下,設備是否處於特定位置)的最終決定可以被輸入到安全子系統202。
感測電路204可以產生指示滿足或不滿足條件及/或指示實施SoC 102的設備在授權的位置內的輸入。在方塊304中接收到的輸入可以包括對包括SoC 102的設備的當前設備位置的指示,條件可以是設備位置是否在授權的位置,並且安全子系統可以被配置為決定是否滿足條件。在方塊304中接收到的輸入還可以包括對能夠連接到包括SoC 102的設備的接近設備的指示,條件可以是接近設備是否是授權設備,並且安全子系統可以被配置為決定是否滿足條件。
例如,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備位置決定程序,在該程序中設備可以經由地理定位方法決定地理定位位置。條件可以是地理定位位置是否在授權的地理定位位置內(例如,由設備或外部記憶體(諸如認證伺服器)儲存的一或多個位置),在方塊304中接收到的輸入可以包括對當前地理定位位置的指示(例如,地理定位位置是否在授權的地理定位位置內),並且安全子系統202可以被配置為決定是否滿足條件。如果地理定位位置在授權的地理定位位置內(例如,地理定位位置在授權的地理定位位置內並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果地理定位位置不在授權的地理定位位置內(例如,地理定位位置在授權的地理定位位置內並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備位置決定程序以決定另一認證設備是否在附近。例如,實施SoC 102的設備可以決定授權使用者的智慧手錶、汽車作業系統、射頻辨識(RFID)標籤、金鑰卡等是否可以在通訊距離內。條件可以是認證設備是否接近實施SoC 102的設備或者在與實施SoC 102的設備(例如,由設備或外部記憶體(諸如認證伺服器)儲存的一或多個認證設備ID)的通訊範圍內,在方塊304中接收到的輸入可以包括對認證設備接近的指示(例如,認證設備是否接近),並且安全子系統202可以被配置為決定是否滿足條件。如果認證設備接近實施SoC 102的設備(例如,認證設備接近並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果認證設備不接近實施SoC 102的設備(例如,認證設備接近並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
感測電路204可以產生指示滿足或不滿足條件及/或指示授權的網路由實施SoC 102的設備可偵測和可見的輸入。例如,在方塊304中接收到的輸入可以包括對由包括SoC 102的設備偵測到的通訊網路的指示,條件可以是通訊網路是否與授權的通訊網路匹配,並且安全子系統可以被配置為決定是否滿足條件。
例如,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備位置決定程序,在該程序中設備可以決定設備當前可見網路(例如,設備能夠連接到的WAN/LAN)。條件可以是可見網路是否是授權的網路(例如,由設備或外部記憶體(諸如認證伺服器)儲存的一或多個網路),在方塊304中接收到的輸入可以包括對當前可見網路的指示(例如,可見網路是否與授權的網路匹配),並且安全子系統202可以被配置為決定是否滿足條件。如果可見網路與授權的網路匹配(例如,可見網路與授權的網路匹配並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果可見網路與授權的網路不匹配(例如,可見網路與授權的網路匹配並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
在一些實施例中,感測電路204可以測量實施SoC 102的設備的條件、物理狀態和效能度量。例如,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備狀況測量程序,在該程序中設備可以經由溫度感測器220測量溫度。溫度感測器220可以測量設備內部的一或多個溫度(例如,經由掃瞄鏈的處理器核心溫度)或設備外部的溫度(例如,環境溫度)。條件可以是溫度是否在(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)溫度閾值範圍內,在方塊304中接收到的輸入可以包括對當前溫度的指示(例如,溫度是否在溫度閾值範圍內),並且安全子系統202可以被配置為決定是否滿足條件。如果溫度在溫度閾值範圍內(例如,溫度在溫度閾值範圍內並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果溫度不在溫度閾值範圍內(例如,溫度在溫度閾值範圍內並且決定方塊306=「否」),安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕存取安全資訊。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備狀況測量程序,在該程序中設備可以決定電源狀態,包括電源是否充足、活動/充電及/或高於閾值水平。例如,條件可以是所提供的功率是否高於電源閾值水平(例如,由電源控制器調節的水平,及/或由設備或外部記憶體(諸如認證伺服器)儲存的水平),在方塊304中接收到的輸入可以包括對當前電源水平的指示(例如,電源水平是否高於電源閾值水平),並且安全子系統202可以被配置為決定是否滿足條件。如果電源水平高於電源閾值水平(例如,電源水平高於電源閾值水平並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務相對應的加密金鑰請求允許安全子系統202完成加密功能。如果電源水平不高於電源閾值水平(例如,電源水平高於電源閾值水平並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為又一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備操作度量測量程序,在該程序中設備可以測量當前操作頻寬(例如,5G、LTE)或設備下載或上傳速度。條件可以是頻寬是否在(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)可接受的頻寬閾值範圍內,在方塊304中接收到的輸入可以包括對當前頻寬的指示(例如,頻寬是否在可接受的頻寬閾值範圍內),並且安全子系統202可以被配置為決定是否滿足條件。如果頻寬在可接受的頻寬閾值範圍內(例如,頻寬在可接受的頻寬閾值範圍內並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果頻寬不在可接受的頻寬閾值範圍內(例如,頻寬在可接受的頻寬閾值範圍內並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備符記接收程序,在該程序中設備可能已經由實施SoC的設備(例如,經由無線收發器166)接收到第三方符記102。條件可以是是否已經接收到符記,在方塊304中接收到的輸入可以包括對符記接收的指示(例如,是否接收到符記),並且安全子系統202可以被配置為決定是否滿足條件。如果已經接收到符記(例如,接收到符記並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果尚未接收到符記(例如,已接收到符記並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
作為另一示例,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備操作度量測量程序,在該程序中設備可以測量當前操作頻寬(例如,5G、LTE)或設備下載或上傳速度。條件可以是頻寬是否在(例如,由設備或外部記憶體(諸如認證伺服器)儲存的)可接受的頻寬閾值範圍內,在方塊304中接收到的輸入可以包括對當前頻寬的指示(例如,頻寬是否在可接受的頻寬閾值範圍內),並且安全子系統202可以被配置為決定是否滿足條件。如果頻寬在可接受的頻寬閾值範圍內(例如,頻寬在可接受的頻寬閾值範圍內並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果頻寬不在可接受的頻寬閾值範圍內(例如,頻寬在可接受的頻寬閾值範圍內並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
感測電路204可以產生指示滿足或不滿足條件及/或指示實施SoC 102的設備已成功連接到一或多個安全網路、閘道及/或伺服器的輸入。換言之,在方塊304中接收到的輸入可以包括對包括SoC 102的設備的設備定向的指示,條件可以是設備定向是否在可接受的閾值內,並且安全子系統202可以被配置為決定是否條件滿足。
例如,回應於試圖獲得對安全資訊的存取的加密服務請求,應用處理器116可以啟動設備連接狀態決定程序,在該程序中設備可以決定活動的通訊網路或連接(例如,WAN/LAN、BLE)。條件可以是一或多個連接網路是否是授權的網路(例如,由設備或外部記憶體(例如認證伺服器)儲存的一或多個網路),在方塊304中接收到的輸入可以包括對當前連接網路的指示(例如,連接的網路是否與授權的網路匹配),並且安全子系統202可以被配置為決定是否滿足條件。如果連接的網路與授權的網路匹配(例如,連接的網路與授權的網路匹配並且決定方塊306=「是」),則安全子系統202可以授權使用與加密服務請求相對應的加密金鑰來允許安全子系統202完成加密功能。如果連接的網路與授權的網路不匹配(例如,連接的網路與授權的網路匹配並且決定方塊306=「否」),則安全子系統202不授權使用與加密服務請求相對應的加密金鑰,並且加密服務請求失敗並且拒絕對安全資訊的存取。
在一些實施例中,安全子系統202在回應於加密服務請求而授權使用加密金鑰之前可能需要滿足一個以上的條件。例如,安全子系統202可以不授權使用加密金鑰來允許安全子系統202完成加密功能,直到滿足由安全子系統202從感測電路204接收到的輸入所決定的至少兩個條件。例如,除了同時偵測到有效金鑰卡的條件之外,安全子系統202在授權使用或准許存取加密金鑰之前可能需要已經記錄了授權使用者的虹膜圖像的條件。由安全子系統202決定的這兩個條件的滿足可以允許安全子系統202授權使用加密金鑰來完成對應的加密服務請求。
在一些實施例中,安全子系統可以聚合在方塊304中接收到的條件和輸入,以決定在授權使用或准許存取加密金鑰之前是否已經滿足多個條件中的至少一個。例如,安全子系統202可以被配置為要求滿足與加密服務請求相關的適用條件的百分比(例如,大於60%)。作為另一示例,安全子系統可以被配置為要求滿足與加密服務請求相關的最小數量的適用條件(例如,7個中的3個)。
在方塊302至方塊308中執行的操作的順序僅僅是說明性的,並且方塊302至方塊308的操作可以以任何循序執行並且在一些實施例中部分地同時執行。在一些實施例中,方法300可以由設備的處理器獨立於外部存放裝置但結合外部存放裝置來執行。例如,方法300可以被實施為在SoC的處理器內或在SoC內的專用硬體中執行的軟體模組,該軟體模組發出命令以建立安全記憶體通道和存取外部記憶體設備的記憶體,並且以其他方式被配置為採取行動並如描述的儲存資料。
圖4是示出用於在SoC內提供安全性的實施例方法400的程序流程圖,在一些實施例中實施例方法400可以被實施為方法300的一部分。參考圖1至圖4,方法400可以在被配置為執行該方法的操作的處理器(例如,處理器110、112、114、116、118、152、160)中實施。在一些實施例中,處理器(例如,處理器110、112、114、116、118、152、160)可以被配置為由儲存在非暫態處理器可讀取媒體(例如,記憶體設備120、158)中的處理器可執行指令來執行操作。用於執行方法300的每個操作的構件可以是加密系統200的處理器(諸如處理器110、112、114、116、118、152、160)、安全子系統202、感測電路204等。
在方法300(圖3)的方塊306的操作之後,在方塊402中,安全子系統可以回應於接收到的輸入指示滿足所請求的加密功能的條件而授權使用與所請求的加密功能相對應的加密金鑰。安全子系統(例如,安全子系統202)可以釋放、准許存取或以其他方式授權安全子系統使用與加密功能相對應的加密金鑰來允許安全子系統執行加密功能。安全子系統可以回應一或多個條件釋放、准許存取或以其他方式授權使用一或多個加密金鑰。安全子系統決定(多個)輸入滿足(多個)條件可以指示已經成功驗證授權使用者及/或設備,並且所請求的加密功能是有效的未被破解的所請求的加密功能。
在執行方塊402中的操作之後,系統可以執行如所描述的方法300(圖3)的方塊308中的操作。
方塊402中的程序可以如參照圖1至圖3所描述的那樣來執行。用於執行方塊402中的操作的構件可以包括加密系統的處理器(諸如處理器110、112、114、116、118、152、160)、安全子系統202、感測電路204等。
各種實施例(包括但不限於上面參考圖1至圖4所描述的實施例)可以被實施在包括機動車輛或其他行動計算裝置的各種各樣的計算系統中,圖5中圖示適合用於與各種實施例一起使用的行動計算裝置的一個示例。參考圖1至圖5,行動計算裝置500可以包括耦接到觸控式螢幕控制器504和內部記憶體506的處理器502。處理器502可以是指定用於一般或特定處理任務的一或多個多核積體電路。內部記憶體506可以是揮發性或非揮發性記憶體,也可以是安全及/或加密記憶體,或者不安全及/或未加密記憶體,或者它們的任何組合。可以利用的記憶體類型的示例包括但不限於DDR、LPDDR、GDDR、WIDEIO、RAM、SRAM、DRAM、P-RAM、R-RAM、M-RAM、STT-RAM和嵌入式DRAM。觸控式螢幕控制器504和處理器502還可以耦接到觸控式螢幕面板512,諸如電阻感應觸控式螢幕、電容感應觸控式螢幕、紅外感應觸控式螢幕等。另外,行動計算裝置500的顯示器不需要具有觸控式螢幕能力。
行動計算裝置500可以具有彼此耦接及/或耦接到處理器502的一或多個無線電信號收發器508(例如,Peanut、藍芽、ZigBee、Wi-Fi、RF無線電)和用於發送和接收通訊的天線510。收發器508和天線510可以與上述電路一起使用以實施各種無線傳輸協定堆疊和介面。行動計算裝置500可以包括蜂巢網路無線數據機晶片516,其使得能夠經由蜂巢網路進行通訊並且耦接到處理器。
行動計算裝置500可以包括耦接到處理器502的周邊設備連接介面518。周邊設備連接介面518可以單獨被配置為接受一種類型的連接,或者可以被配置為接受各種類型的實體和通訊連接,公共的或專有的,諸如通用序列匯流排(USB)、FireWire、Thunderbolt或PCIe。周邊設備連接介面518也可以耦接到類似配置的周邊設備連接埠(未示出)。
行動計算裝置500還可以包括用於提供音訊輸出的揚聲器514。行動計算裝置500還可以包括用於容納本文中所描述的元件中的所有或一些元件的外殼520,其由塑膠、金屬或材料的組合構成。行動計算裝置500可以包括耦接到處理器502的電源522,諸如一次性或可充電電池。可充電電池也可以耦接到周邊設備連接埠以從行動計算裝置500外部的電源接收充電電流。行動計算裝置500還可以包括用於接收使用者輸入的實體按鈕524。行動計算裝置500還可以包括用於打開和關閉行動計算裝置500的電源按鈕526。
各種實施例(包括但不限於上面參考圖1至圖4所描述的實施例)可以被實施在各種各樣的計算系統中,所述計算系統包括膝上型電腦600,圖6中圖示膝上型電腦600的一個示例。參考圖1至圖6,膝上型電腦可以包括用作電腦的定點設備的觸控板觸摸表面617,因此可以接收與在配備有觸控式螢幕顯示器的計算設備上實施的那些手勢類似且如前述的拖動、滾動和輕擊手勢。膝上型電腦600通常將包括耦接到揮發性記憶體612和大容量非揮發性記憶體(諸如快閃記憶體的磁碟機613)的處理器602。附加地,電腦600可以具有用於發送和接收電磁輻射的一或多個天線608,所述天線可以連接到無線資料連結及/或耦接到處理器602的蜂巢式電話收發器616。電腦600還可以包括軟碟機614和耦接到處理器602的壓縮光碟(CD)驅動器615。膝上型電腦600可以包括都耦接到處理器602的觸控板617、鍵盤618和顯示器619。計算設備的其他配置可以包括如眾所周知的(例如,經由USB輸入)耦接到處理器的電腦滑鼠或軌跡球,該電腦滑鼠或軌跡球也可以與各種實施例結合使用。
各種實施例(包括但不限於上面參考圖1至圖4所描述的實施例)也可以被實施在固定計算系統(諸如各種商業上可用的伺服器中的任何一種)中。參考圖1至圖7,圖7中圖示示例伺服器700。這種伺服器700通常包括一或多個多核處理器元件701,其耦接到揮發性記憶體702和大容量非揮發性記憶體(諸如磁碟機704)。如圖7所示,可以藉由將多核處理器元件701插入到元件的機架中來將多核處理器組件701添加到伺服器700。伺服器700還可以包括耦接到處理器701的軟碟機、壓縮光碟(CD)或數位多功能光碟(DVD)光碟機706。伺服器700還可以包括耦接到多核處理器元件701的網路存取埠703,該網路存取埠703用於建立與網路705(諸如耦接到其他廣播系統電腦和伺服器的區域網路、網際網路、公用交換電話網絡及/或蜂巢資料網路(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE或任何其他類型的蜂巢資料網路))的網路介面連接。
各種實施例可以被實施在各種計算設備(諸如可穿戴計算設備)中。圖8圖示根據一些實施例的智慧手錶800形式的示例可穿戴計算設備。智慧手錶800可以包括耦接到內部記憶體804和806的處理器802。內部記憶體804、806可以是揮發性或非揮發性記憶體,也可以是安全及/或加密記憶體,或不安全及/或未加密記憶體或者其任何組合。處理器802還可以耦接到觸控式螢幕顯示器820,諸如電阻感應觸控式螢幕、電容感應觸控式螢幕、紅外感應觸控式螢幕等。此外,智慧手錶800可以具有用於發送和接收電磁輻射的一或多個天線808,所述天線808可以與一或多個無線資料連結812(諸如一或多個Bluetooth®收發器、Peanut收發器、Wi-Fi收發器、ANT+收發器等)連接,無線資料連結812可以耦接到處理器802。智慧手錶800還可以包括用於接收使用者輸入的實體虛擬按鈕822和810以及用於接收使用者輸入的滑動感測器816。
觸控式螢幕顯示器820可以耦接到觸控式螢幕介面模組,該觸控式螢幕介面模組被配置為從觸控式螢幕顯示器820接收指示螢幕上使用者的指尖或觸筆正在觸摸表面的位置的信號,並且向處理器802輸出關於觸摸事件的座標的資訊。此外,處理器802可以配置有處理器可執行指令以將呈現在觸控式螢幕顯示器820上的圖像與從觸控式螢幕介面模組接收到的觸摸事件的位置相關聯,以便偵測使用者何時與圖形介面圖示(諸如虛擬按鈕)互動。
處理器802可以是任何可程式設計微處理器、微型電腦或多處理器晶片或可以由軟體指令(應用程式)配置以執行各種功能的晶片,該功能包括各種實施例的功能。在一些設備中,可以提供多個處理器,諸如一個專用於無線通訊功能的處理器和一個專用於運行其他應用的處理器。通常,軟體應用可以在它們被存取和載入到處理器802之前被儲存在內部記憶體中。處理器802可以包括足以儲存應用軟體指令的內部記憶體。在許多設備中,內部記憶體可以是揮發性或非揮發性記憶體(諸如快閃記憶體)或兩者的混合。出於本描述的目的,對記憶體的一般引用指的是處理器802可存取的記憶體,包括插入到行動設備中的內部記憶體或可移除記憶體以及處理器802自身內的記憶體。
在以下段落中描述了實施示例。根據示例方法描述的實施示例還包括:在配置有處理器可執行指令以執行示例方法的操作的電路和處理器中實施的示例方法;在用於執行方法的功能的構件中實施的示例方法;及在其上儲存有處理器可執行指令的非暫時性處理器可讀儲存媒體中實施的示例方法,該處理器可執行指令被配置為使處理器執行示例方法的操作。
示例1. 一種片上系統(SoC),包括:安全子系統,該安全子系統儲存加密金鑰並且被配置為:從感測電路接收與用於使用該加密金鑰執行加密功能的一或多個條件相關的輸入;並且回應於接收到的輸入指示滿足用於執行該加密功能的條件來執行該加密功能。
示例2. 根據示例1之SoC,還包括感測電路,該感測電路被配置為感測與用於執行該加密功能的一或多個條件相關的條件,其中該安全子系統從該感測電路接收該輸入。
示例3. 根據示例1-2中任一項所述的SoC,其中該安全子系統從與該SoC分開的感測電路接收該輸入。
示例4. 根據示例1-3中任一項所述的SoC,其中該安全子系統還被配置為:從服務請求環境接收對該加密功能的請求;回應於所接收到的輸入指示滿足用於執行所請求的加密功能的該條件來執行所請求的加密功能。
示例5. 根據示例4之SoC,其中該安全子系統還被配置為回應於所接收到的輸入指示滿足用於執行所請求的加密功能的該條件,授權使用與該加密功能相對應的該加密金鑰來執行所請求的加密功能。
示例6. 根據示例1-5中任一項所述的SoC,其中該安全子系統被配置為沿著獨立於服務請求環境的通訊路徑從該感測電路接收該輸入。
示例7. 根據示例1-6中任一項所述的SoC,其中該輸入包括指示是否滿足用於執行該加密功能的該條件的布耳值。
示例8. 根據示例1-7中任一項所述的SoC,其中該輸入包括操作感測器資訊,並且其中該安全子系統被配置為從該感測電路連續地接收該輸入。
示例9. 根據示例1-8中任一項所述的SoC,其中該安全子系統包括以下中的一者或兩者:安全處理單元(SPU),該安全處理單元(SPU)儲存該加密金鑰,並且被配置為從服務請求環境接收執行該加密功能的請求;或者SoC信任根(RoT),該SoC信任根(RoT)被配置為:從該感測電路接收該輸入;並且從該服務請求環境接收執行該加密功能的該請求。
示例10. 根據示例1-9中任一項所述的SoC,其中用於執行該加密功能的該條件包括人是否在實體上操作設備的接近範圍內,並且該輸入是否包括對該人在包含該SoC的該設備的該接近範圍內實體存在的指示。
示例11. 根據示例1-10中任一項所述的SoC,其中用於執行該加密功能的該條件包括使用者生理特徵是否與授權的使用者物理特徵匹配,並且該輸入包括對包含該SoC的設備的使用者的當前使用者生理特徵的指示。
示例12. 根據示例1-11中任一項所述的SoC,其中用於執行該加密功能的該條件包括設備定向是否在可接受的閾值內,並且該輸入包括對包括該SoC的設備的該設備定向的指示。
示例13. 根據示例1-12中任一項所述的SoC,其中用於執行該加密功能的該條件包括設備位置是否在授權的位置,並且該輸入包括對包括該SoC的設備的該設備位置的指示,。
示例14. 根據示例1-13中任一項所述的SoC,其中用於執行該加密功能的該條件包括接近設備是否是授權設備,並且該輸入包括對能夠連接到包括該SoC的設備的該接近設備的指示。。
示例15. 根據示例1-14中任一項所述的SoC,其中用於執行該加密功能的該條件包括通訊網路是否與授權的通訊網路匹配,並且該輸入包括對由包括該SoC的設備偵測到的該通訊網路的指示。
示例16. 一種用於在片上系統(SOC)中提供安全性的方法,包括:由安全子系統從服務請求環境接收執行加密功能的請求,其中該安全子系統儲存用於執行所請求的加密功能的條件;由該安全子系統從感測電路接收輸入,該輸入包括與用於執行所請求的加密功能的該條件相關的至少一個指示;由該安全子系統決定該輸入是否指示滿足用於執行所請求的加密功能的該條件;及回應於決定滿足該條件,使用儲存在該安全子系統中的加密金鑰來執行所請求的加密功能。
示例17. 根據示例16之方法,其中從該感測電路接收該輸入包括該安全子系統沿著獨立於該服務請求環境的通訊路徑從該感測電路接收該輸入。
示例18. 根據示例16-17中任一項所述的方法,其中從該感測電路接收該輸入包括接收指示是否滿足用於執行所請求的加密功能的該條件的布耳值。
示例19. 根據示例16-18中任一項所述的方法,其中該輸入是操作感測器資訊,並且其中從該感測電路接收該輸入包括該安全子系統從該感測電路連續地接收該輸入。
示例20. 根據示例16-19中任一項所述的方法,其中回應於決定滿足該條件而執行所請求的加密功能包括回應於決定滿足該條件而由安全處理單元(SPU)或SoC信任根(RoT)中的一個來執行該加密功能。
示例21. 根據示例16-20中任一項所述的方法,其中:用於執行該加密功能的該條件包括人是否在實體上操作設備的接近範圍內;及決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對該人在包含該SoC的該設備的該接近範圍內實體存在的指示。
示例22. 根據示例16-21中任一項所述的方法,其中:用於執行該加密功能的該條件包括使用者生理特徵是否與授權的使用者生理特徵匹配;並且決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對包含該SoC的設備的使用者的當前使用者生理特徵的指示。
示例23. 根據示例16-22中任一項所述的方法,其中:用於執行該加密功能的該條件包括設備定向是否在可接受的閾值內;並且決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對包括該SoC的設備的該設備定向的指示。
示例24. 根據示例16-23中任一項所述的方法,其中:用於執行該加密功能的該條件包括設備位置是否在授權的位置;並且決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對包括該SoC的設備的該設備位置的指示。
示例25. 根據示例16-24中任一項所述的方法,其中:用於執行該加密功能的該條件包括接近設備是否是授權設備;並且決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對能夠連接到包括該SoC的設備的該接近設備的指示。
示例26. 根據示例16-25中任一項所述的方法,其中:用於執行該加密功能的該條件包括通訊網路是否與授權的通訊網路匹配;並且決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對由包括該SoC的設備偵測到的該通訊網路的指示。
用於在可程式設計處理器上執行以執行各種實施例的操作的電腦程式代碼或「程式碼」可以用進階程式設計語言(諸如C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、結構化查詢語言(例如,Transact-SQL)、Perl)或各種其他程式設計語言編寫。如在本案中使用的儲存在電腦可讀取儲存媒體上的程式碼或程式可以指處理器能夠理解其格式的機器語言代碼(諸如目標代碼)。
示出和描述的各種實施例僅作為示例提供,以示出請求項的各種特徵。然而,關於任何給定實施例示出和描述的特徵不一定限於相關聯的實施例並且可以與示出和描述的其他實施例一起使用或組合。此外,請求項不旨在受限於任何一個示例實施例。
前述方法描述和程序流程圖僅作為說明性示例提供,並不旨在要求或暗示各種實施例的方塊必須以呈現的循序執行。如熟習此項技術者將理解的,可以以任何循序執行前述實施例中的方塊的順序。諸如「此後」、「然後」、「隨後」等詞語並非旨在限制方塊的順序;這些詞只是用來引導讀者閱讀方法的描述。此外,以單數形式(例如,使用冠詞「一個(a)」、「一(an)」或「該(the)」)對請求項元素的任何引用不應被解釋為將元素限制為單數。
結合本文中揭露的實施例所描述的各種說明性邏輯區塊、模組、電路和演算法塊可以被實施為電子硬體、電腦軟體或兩者的組合。為了清楚地說明硬體和軟體的這種可互換性,各種說明性元件、方塊、模組、電路和塊已在上面大體上根據它們的功能進行了描述。這種功能是被實施為硬體還是軟體取決於特定應用和施加在整個系統上的設計約束。熟習此項技術者可以針對每個特定應用以不同的方式實施所描述的功能,但是此類實施例決定不應被解釋為導致偏離各種實施例的範圍。
用來實施結合本文中揭露的實施例描述的各種說明性邏輯、邏輯區塊、模組和電路的硬體可以用通用處理器、數位訊號處理器(DSP)、專用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或其他可程式設計邏輯裝置、個別閘或電晶體邏輯、個別硬體元件或設計用於執行本文中所描述的功能的其任何組合來實施或執行。通用處理器可以是微處理器,但在替代方案中,處理器可以是任何習知處理器、控制器、微控制器或狀態機。處理器還可以實施為通訊設備的組合,例如,DSP和微處理器的組合、複數個微處理器、一或多個微處理器與DSP核心結合,或者任何其他此類配置。替代地,一些方塊或方法可以由特定於給定功能的電路來執行。
在各種實施例中,所描述的功能可以以硬體、軟體、韌體或其任何組合實施。如果以軟體實施,則這些功能可以作為一或多個指令或代碼儲存在非暫態電腦可讀取媒體或非暫態處理器可讀取媒體上。本文中所揭示的方法或演算法的操作可以體現在處理器可執行軟體模組中,該軟體模組可以位於非暫時性電腦可讀或處理器可讀儲存媒體上。非暫時性電腦可讀或處理器可讀儲存媒體可以是由電腦或處理器可存取的任何儲存媒體。作為示例而非限制,此類非暫時性電腦可讀或處理器可讀取媒體可以包括RAM、ROM、EEPROM、快閃記憶體、CD-ROM或其他光碟儲存、磁碟儲存或其他磁儲存裝置、或者可以用來以指令或資料結構的形式儲存所需程式碼並且可以由電腦存取的任何其他媒體。如本文中所使用的磁碟(disk)和光碟(disc)包括壓縮光碟(CD)、雷射光碟、光碟(optic disc)、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟用雷射以光學方式再現資料。以上的組合也包括在非暫時性電腦可讀取媒體和處理器可讀取媒體的範圍內。附加地,方法或演算法的操作可以作為代碼及/或指令的一個或任一組合或集合位於非暫態處理器可讀取媒體及/或電腦可讀取媒體上,非暫態處理器可讀取媒體及/或電腦可讀取媒體可以併入電腦程式產品中。
提供所揭示的實施例的前述描述以使得任何熟習此項技術者能夠製造或使用當前實施例。對這些實施例的各種修改對於熟習此項技術者來說將是顯而易見的,並且本文中定義的一般原理可以在不背離實施例的範圍的情況下被應用於其他實施例。因此,各種實施例並不旨在限於本文中所示出的實施例,而是應符合與所附請求項以及本文中所揭示的原理和新穎特徵一致的最寬範圍。
100:示例SIP 102:SoC 104:SoC 106:時鐘 108:電壓調節器 110:數位訊號處理器(DSP) 112:數據機處理器 114:圖形處理器 116:應用處理器 118:輔助處理器 120:記憶體 122:定製電路 124:系統元件和資源 126:互連/匯流排模組 130:感測器 132:感測器管理單元 134:熱功率包絡(TPE)組件 150:互連/匯流排模組 152:數據機處理器 154:電源管理單元 156:收發器 158:記憶體 160:附加處理器 164:互連/匯流排模組 166:無線收發器 200:加密系統 202:安全子系統 204:感測電路 206:HLOS 208:服務請求環境 210:SoC RoT 212:安全處理單元(SPU) 214:陀螺儀/加速度計 216:音訊輸入元件 218:相機 220:溫度感測器 222:觸控式螢幕 230:分析感測資訊 300:實施例方法 302:方塊 304:方塊 306:決定方塊 308:方塊 400:實施例方法 402:方塊 500:行動計算裝置 502:處理器 504:觸控式螢幕控制器 506:內部記憶體 508:無線電信號收發器 510:天線 512:觸控式螢幕面板 514:揚聲器 516:蜂巢網路無線數據機晶片 518:周邊設備連接介面 520:外殼 522:電源 524:實體按鈕 526:電源按鈕 600:膝上型電腦 602:處理器 608:天線 612:揮發性記憶體 613:磁碟機 614:軟碟機 615:壓縮光碟(CD)驅動器 616:蜂巢式電話收發器 617:觸控板 618:鍵盤 619:顯示器 700:伺服器 701:多核處理器元件 702:揮發性記憶體 703:網路存取埠 704:磁碟機 705:網路 706:數位多功能光碟(DVD)光碟機 800:智慧手錶 802:處理器 804:內部記憶體 806:內部記憶體 808:天線 810:虛擬按鈕 812:無線資料連結 816:滑動感測器 820:觸控式螢幕顯示器 822:虛擬按鈕
併入本文中並構成本說明書的一部分的附圖圖示示例性實施例,並且與上面提供的概括性描述和下面提供的詳細描述一起用於解釋各種實施例的特徵。
圖1是示出根據一些實施例的可以被配置為在片上系統(SoC)中提供安全性的示例計算系統的元件方塊圖。
圖2是示出根據一些實施例的用於在SoC中提供安全性的示例加密系統200的元件方塊圖。
圖3是示出根據各種實施例的用於在SoC內提供安全性的實施例方法的程序流程圖。
圖4是示出根據一些實施例的可以作為在SoC內提供安全性的一部分來執行的實施例方法的程序流程圖。
圖5是示出適合與各種實施例一起使用的示例無線通訊設備的元件方塊圖。
圖6是示出適合與各種實施例一起使用的示例計算設備的元件方塊圖。
圖7是示出適合與各種實施例一起使用的示例伺服器的元件方塊圖。
圖8圖示根據一些實施例的智慧手錶形式的示例可穿戴計算設備。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
300:實施例方法
302:方塊
304:方塊
306:決定方塊
308:方塊

Claims (30)

  1. 一種片上系統(SoC),包括: 一安全子系統,該安全子系統儲存一加密金鑰並且被配置為: 從一感測電路接收與用於使用該加密金鑰執行一加密功能的一或多個條件相關的一輸入;並且 回應於接收到的輸入指示滿足用於執行一加密功能的一條件來執行該加密功能。
  2. 根據請求項1之SoC,還包括一感測電路,該感測電路被配置為感測與用於執行該加密功能的一或多個條件相關的一條件,其中該安全子系統從該感測電路接收該輸入。
  3. 根據請求項1之SoC,其中該安全子系統從與該SoC分開的一感測電路接收該輸入。
  4. 根據請求項1之SoC,其中該安全子系統還被配置為: 從一服務請求環境接收對該加密功能的一請求;並且 回應於該所接收到的輸入指示滿足用於執行所請求的加密功能的該條件來執行該所請求的加密功能。
  5. 根據請求項4之SoC,其中該安全子系統還被配置為回應於該所接收到的輸入指示滿足用於執行所請求的加密功能的該條件,授權使用與該加密功能相對應的該加密金鑰來執行該所請求的加密功能。
  6. 根據請求項1之SoC,其中該安全子系統被配置為沿著獨立於一服務請求環境的一通訊路徑從該感測電路接收該輸入。
  7. 根據請求項1之SoC,其中該輸入包括指示是否滿足用於執行該加密功能的該條件的一布耳值。
  8. 根據請求項1之SoC,其中該輸入包括操作感測器資訊,並且其中該安全子系統被配置為從該感測電路連續地接收該輸入。
  9. 根據請求項1之SoC,其中該安全子系統包括以下中的一者或兩者: 一安全處理單元(SPU),該安全處理單元(SPU)儲存該加密金鑰,並且被配置為從一服務請求環境接收執行該加密功能的一請求;或者 一SoC信任根(RoT),該SoC信任根(RoT)被配置為: 從該感測電路接收該輸入;並且 從該服務請求環境接收執行該加密功能的該請求。
  10. 根據請求項1之SoC,其中用於執行該加密功能的該條件是一人是否在實體上操作一設備的一接近範圍內,並且該輸入包括對該人在包含該SoC的該設備的該接近範圍內實體存在的一指示。
  11. 根據請求項1之SoC,其中用於執行該加密功能的該條件是使用者生理特徵是否與授權的使用者生理特徵匹配,並且該輸入包括對包含該SoC的一設備的一使用者的當前使用者物理特徵的一指示。
  12. 根據請求項1之SoC,其中用於執行該加密功能的該條件是一設備定向是否在可接受的閾值內,並且該輸入包括對包括該SoC的一設備的該設備定向的一指示。
  13. 根據請求項1之SoC,其中用於執行該加密功能的該條件是一設備位置是否在一授權的位置,並且該輸入包括對包括該SoC的一設備的該設備位置的一指示。
  14. 根據請求項1之SoC,其中用於執行該加密功能的該條件是一接近設備是否是一授權設備,並且該輸入包括對能夠連接到包括該SoC的一設備的該接近設備的一指示。
  15. 根據請求項1之SoC,其中用於執行該加密功能的該條件是一通訊網路是否與一授權的通訊網路匹配,並且該輸入包括對由包括該SoC的一設備偵測到的該通訊網路的一指示。
  16. 一種用於在一片上系統(SoC)中提供安全性的方法,包括: 由一安全子系統從一服務請求環境接收執行一加密功能的一請求,其中該安全子系統儲存用於執行所請求的加密功能的一條件; 由該安全子系統從一感測電路接收一輸入,該輸入包括與用於執行所請求的加密功能的該條件相關的至少一個指示; 由該安全子系統決定該輸入是否指示滿足用於執行所請求的加密功能的該條件;及 回應於決定滿足該條件,使用儲存在該安全子系統中的一加密金鑰來執行所請求的加密功能。
  17. 根據請求項16之方法,其中從該感測電路接收該輸入包括該安全子系統沿著獨立於該服務請求環境的一通訊路徑從該感測電路接收該輸入。
  18. 根據請求項16之方法,其中從該感測電路接收該輸入包括接收指示是否滿足用於執行所請求的加密功能的該條件的一布耳值。
  19. 根據請求項16之方法,其中該輸入是操作感測器資訊,並且其中從該感測電路接收該輸入包括該安全子系統從該感測電路連續地接收該輸入。
  20. 根據請求項16之方法,其中回應於決定滿足該條件而執行所請求的加密功能包括回應於決定滿足該條件而由一安全處理單元(SPU)或一SoC信任根(RoT)中的一個來執行該加密功能。
  21. 根據請求項16之方法,其中: 用於執行該加密功能的該條件是一人是否在實體上操作一設備的一接近範圍內;並且 決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對該人在包含該SoC的該設備的該接近範圍內實體存在的一指示。
  22. 根據請求項16之方法,其中: 用於執行該加密功能的該條件是使用者生理特徵是否與授權的使用者生理特徵匹配;並且 決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對包含該SoC的一設備的一使用者的當前使用者生理特徵的一指示。
  23. 根據請求項16之方法,其中: 用於執行該加密功能的該條件是一設備定向是否在可接受的閾值內;並且 決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對包括該SoC的一設備的該設備定向的一指示。
  24. 根據請求項16之方法,其中: 用於執行該加密功能的該條件是一設備位置是否在一授權的位置;並且 決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對包括該SoC的一設備的該設備位置的一指示。
  25. 根據請求項16之方法,其中: 用於執行該加密功能的該條件是一接近設備是否為一授權設備;並且 決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對能夠連接到包括該SoC的一設備的該接近設備的一指示。
  26. 根據請求項16之方法,其中: 用於執行該加密功能的該條件是一通訊網路是否與一授權的通訊網路匹配;並且 決定該輸入是否指示滿足用於執行所請求的加密功能的該條件包括決定該輸入是否包括對由包括該SoC的一設備偵測到的該通訊網路的一指示。
  27. 一種片上系統(SoC),包括: 一安全子系統,該安全子系統儲存一加密金鑰和用於執行一加密功能的一條件,其中該安全子系統包括: 用於接收執行該加密功能的一請求的構件; 用於從一感測電路接收一輸入的構件,該輸入包括與用於執行該加密功能的至少一個條件相關的至少一個指示; 用於決定該輸入是否指示滿足用於執行該加密功能的該條件的構件;及 用於回應於決定滿足該條件而執行該加密功能的構件。
  28. 根據請求項27之SoC,其中用於從該感測電路接收該輸入的構件還包括: 用於沿著獨立於一服務請求環境的一通訊路徑從該感測電路接收該輸入的構件。
  29. 根據請求項27之SoC,其中用於從該感測電路接收該輸入的構件包括用於從一操作感測電路連續地接收該輸入的構件。
  30. 一種其上儲存有處理器可執行指令的非暫態處理器可讀取媒體,該等指令被配置為使得一積體電路的一安全子系統內的一處理器執行操作,該等操作包括: 從一服務請求環境接收執行一加密功能的一請求; 從一感測電路接收一輸入,該輸入包括與用於執行該加密功能的一條件相關的至少一個指示; 決定該輸入是否指示滿足用於執行該加密功能的該條件;及 回應於決定滿足該條件而執行該加密功能。
TW111124430A 2021-09-08 2022-06-30 利用感測器資訊提高信任級別的設備和方法 TW202314550A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/468,912 US20230074708A1 (en) 2021-09-08 2021-09-08 Devices and methods utilizing sensor information for increased trust level
US17/468,912 2021-09-08

Publications (1)

Publication Number Publication Date
TW202314550A true TW202314550A (zh) 2023-04-01

Family

ID=82702845

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111124430A TW202314550A (zh) 2021-09-08 2022-06-30 利用感測器資訊提高信任級別的設備和方法

Country Status (5)

Country Link
US (1) US20230074708A1 (zh)
KR (1) KR20240064635A (zh)
CN (1) CN117916737A (zh)
TW (1) TW202314550A (zh)
WO (1) WO2023038691A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11768963B2 (en) * 2021-01-22 2023-09-26 Nxp Usa, Inc. System and method for validating trust provisioning operation on system-on-chip
US20230177136A1 (en) * 2021-12-08 2023-06-08 Qualcomm Incorporated Auto-pairing rotation vector

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079677B2 (en) * 2015-06-05 2018-09-18 Apple Inc. Secure circuit for encryption key generation
US9864879B2 (en) * 2015-10-06 2018-01-09 Micron Technology, Inc. Secure subsystem
US10740494B2 (en) * 2017-09-06 2020-08-11 Google Llc Central and delegate security processors for a computing device
KR102185854B1 (ko) * 2017-09-09 2020-12-02 애플 인크. 생체측정 인증의 구현
US10984120B2 (en) * 2018-05-10 2021-04-20 Paypal, Inc. Limiting device functionality based on data detection and processing
US11494497B2 (en) * 2018-06-28 2022-11-08 Taiwan Semiconductor Manufacturing Company Ltd. System and device for data protection and method thereof
US20200082088A1 (en) * 2018-09-11 2020-03-12 Qualcomm Incorporated User/Enterprise Data Protection Preventing Non-Authorized Firmware Modification

Also Published As

Publication number Publication date
CN117916737A (zh) 2024-04-19
KR20240064635A (ko) 2024-05-13
US20230074708A1 (en) 2023-03-09
WO2023038691A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
CN110741370B (zh) 利用用户输入的生物识别认证
US20200274898A1 (en) Method And Device For Defending Against Denial Of Service Attacks
CN107533609B (zh) 用于对系统中的多个可信执行环境进行控制的系统、设备和方法
CN106605233B (zh) 使用处理器提供可信执行环境
US8190908B2 (en) Secure data verification via biometric input
US10726120B2 (en) System, apparatus and method for providing locality assertion between a security processor and an enclave
EP2972785B1 (en) A method, apparatus, system for qualifying cpu transactions with security attributes
US9525555B2 (en) Partitioning access to system resources
US8893295B2 (en) Secure and private location
US9582656B2 (en) Systems for validating hardware devices
US20160378971A1 (en) Authentication of a multiple protocol connection
TW202314550A (zh) 利用感測器資訊提高信任級別的設備和方法
JP5701997B2 (ja) モバイルコマースにおけるユーザ識別認証
US20070192830A1 (en) Security module having access limited based upon security level of code seeking access
TW201237625A (en) Techniques for security management provisioning at a data storage device
US20090064273A1 (en) Methods and systems for secure data entry and maintenance
US20200233984A1 (en) Securing accessory interface
CN117378173A (zh) 经由安全处理器计算设备的所有权的转移
US20230129610A1 (en) Multiple physical request interfaces for security processors
US9331855B2 (en) Apparatus, system, and method for providing attribute identity control associated with a processor
US9792438B2 (en) Protecting user input against focus change
KR20230042455A (ko) 인-메모리 디바이스 액세스 제어를 위한 방법들 및 장치
US20180288052A1 (en) Trusted remote configuration and operation
EP3044721B1 (en) Automatic pairing of io devices with hardware secure elements
US20170187752A1 (en) Remote attestation and enforcement of hardware security policy