CN117916737A - 利用传感器信息来提高信任级别的设备和方法 - Google Patents
利用传感器信息来提高信任级别的设备和方法 Download PDFInfo
- Publication number
- CN117916737A CN117916737A CN202280058739.0A CN202280058739A CN117916737A CN 117916737 A CN117916737 A CN 117916737A CN 202280058739 A CN202280058739 A CN 202280058739A CN 117916737 A CN117916737 A CN 117916737A
- Authority
- CN
- China
- Prior art keywords
- input
- cryptographic function
- condition
- soc
- security subsystem
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000004044 response Effects 0.000 claims abstract description 59
- 238000004891 communication Methods 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 description 213
- 230000015654 memory Effects 0.000 description 61
- 230000008569 process Effects 0.000 description 34
- 230000001953 sensory effect Effects 0.000 description 25
- 230000001133 acceleration Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000005259 measurement Methods 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 5
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 235000017060 Arachis glabrata Nutrition 0.000 description 2
- 241001553178 Arachis glabrata Species 0.000 description 2
- 235000010777 Arachis hypogaea Nutrition 0.000 description 2
- 235000018262 Arachis monticola Nutrition 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 235000020232 peanut Nutrition 0.000 description 2
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/72—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0872—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3231—Biological data, e.g. fingerprint, voice or retina
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
Abstract
各种实施方案能够包括用于在片上系统(SoC)上提供安全性的方法和系统。一种方法能够包括由安全子系统从服务请求环境接收对执行密码函数的请求,其中该安全子系统存储用于执行所请求的密码函数的条件。该方法能够还包括:由该安全子系统从感测电路接收输入,该输入包括与用于执行所请求的密码函数的该条件相关的至少一个指示;由该安全子系统确定该输入是否指示满足用于执行所请求的密码函数的该条件;以及响应于确定满足该条件,使用存储在该安全子系统中的密码密钥执行所请求的密码函数。
Description
相关申请
本申请要求2021年9月8日提交的美国非临时申请17/468,912号的优先权权益;该非临时申请的全部内容以引用方式并入本文。
背景技术
片上系统(SoC)设计和设备正变得更加复杂,从而实现增强的安全机制和稳健的可信执行环境,以对抗对高度有价值的密码信息的未授权使用。然而,随着更多潜在攻击者熟悉现有架构和可信执行环境具体实施,旨在添加额外安全层的虚拟环境可能变得被入侵并且可能被用来完全绕过安全措施。
发明内容
各种方面包括用于利用传感器信息来提高执行密码函数的系统内的信任级别的方法和设备。在各种方面,安全子系统可以存储为了执行由服务请求环境请求的密码函数而必须满足的各种条件。安全子系统可以使用包括该条件的密钥使用策略确定从感测电路接收的输入是否满足该条件。与所请求的密码函数相对应的条件的满足可以允许安全子系统授权使用密码密钥执行所请求的密码函数。
一些方面可以包括一种片上系统(SoC),该片上系统(SoC)包括安全子系统,该安全子系统存储密码密钥并且被配置为:从感测电路接收与用于使用该密码密钥执行密码函数的一个或多个条件相关的输入;以及响应于所接收的输入指示满足用于执行密码函数的条件,执行该密码函数。
一些方面还可以包括感测电路,该感测电路被配置为感测与用于执行该密码函数的一个或多个条件相关的条件,在该条件下,该安全子系统从该感测电路接收该输入。在一些方面,该安全子系统可以从与该SoC分开的感测电路接收该输入。
在一些方面,该安全子系统可以被进一步配置为:从服务请求环境接收对该密码函数的请求;以及响应于所接收的输入指示满足用于执行所请求的密码函数的所述条件,执行所请求的密码函数。在一些方面,该安全子系统可以被进一步配置为响应于所接收的输入指示满足用于执行所请求的密码函数的该条件,授权使用与该密码函数相对应的该密码密钥执行所请求的密码函数。
在一些方面,该安全子系统可以被配置为沿着独立于服务请求环境的通信路径从该感测电路接收该输入。在一些方面,该输入可以包括指示是否满足用于执行该密码函数的该条件的布尔(Boolean)值。在一些方面,该输入可以包括操作传感器信息,并且该安全子系统可以被配置为从该感测电路连续地接收该输入。
一些方面还可以包括以下各项中的一项或两项:安全处理单元(SPU),该安全处理单元(SPU)存储该密码密钥,并且被配置为从服务请求环境接收对执行该密码函数的请求;或者SoC信任根(RoT),该SoC信任根(RoT)被配置为:从该感测电路接收该输入;以及从该服务请求环境接收对执行所述密码函数的该请求。
在一些方面,用于执行该密码函数的该条件可以是人员是否在物理地操作设备的邻近范围内,并且该输入可以包括对该人员在包含该SoC的该设备的该邻近范围内的物理存在的指示。
在一些方面,用于执行该密码函数的该条件可以是用户物理特性是否与授权的用户物理特性匹配,并且该输入可以包括对包含该SoC的设备的用户的当前用户物理特性的指示。
在一些方面,用于执行该密码函数的该条件可以是设备取向是否在可接受阈值内,并且该输入可以包括对包括该SoC的设备的该设备取向的指示。
在一些方面,用于执行该密码函数的该条件可以是设备位置是否处于授权的位置,并且该输入可以包括对包括该SoC的设备的该设备位置的指示。
在一些方面,用于执行该密码函数的该条件可以是邻近设备是否是授权设备,并且该输入可以包括对该邻近设备能够连接到包括该SoC的设备的指示。
在一些方面,用于执行该密码函数的该条件可以是通信网络是否与授权的通信网络匹配,并且该输入可以包括对由包括该SoC的设备检测到的该通信网络的指示。
另外的方面可以包括一种用于在SoC中提供安全性的方法。此类方面可以包括由安全子系统从服务请求环境接收对执行密码函数的请求,其中该安全子系统存储用于执行所请求的密码函数的条件;由该安全子系统从感测电路接收输入,该输入包括与用于执行所请求的密码函数的该条件相关的至少一个指示;由该安全子系统确定该输入是否指示满足用于执行所请求的密码函数的该条件;以及响应于确定满足该条件,使用存储在该安全子系统中的密码密钥执行所请求的密码函数。
在一些方面,从该感测电路接收该输入可以包括该安全子系统沿着独立于该服务请求环境的通信路径从该感测电路接收该输入。在一些方面,从该感测电路接收该输入可以包括接收指示是否满足用于执行所请求的密码函数的该条件的布尔值。在一些方面,该输入可以是操作传感器信息,并且从该感测电路接收该输入可以包括该安全子系统从该感测电路连续地接收该输入。
在一些方面,响应于确定满足该条件而执行所请求的密码函数可以包括响应于确定满足该条件而由安全处理单元(SPU)或SoC信任根(RoT)中的一者执行该密码函数。
在一些方面,用于执行该密码函数的该条件可以是人员是否在物理地操作设备的邻近范围内;并且确定该输入是否指示满足用于执行所请求的密码函数的该条件可以包括确定该输入是否包括对该人员在包含该SoC的该设备的该邻近范围内的物理存在的指示。
在一些方面,用于执行该密码函数的该条件可以是用户物理特性是否与授权的用户物理特性匹配;并且确定该输入是否指示满足用于执行所请求的密码函数的该条件可以包括确定该输入是否包括对包含该SoC的设备的用户的当前用户物理特性的指示。
在一些方面,用于执行该密码函数的该条件可以是设备取向是否在可接受阈值内;并且确定该输入是否指示满足用于执行所请求的密码函数的该条件可以包括确定该输入是否包括对包括该SoC的设备的该设备取向的指示。
在一些方面,用于执行该密码函数的该条件可以是设备位置是否处于授权的位置;并且确定该输入是否指示满足用于执行所请求的密码函数的该条件可以包括确定该输入是否包括对包括该SoC的设备的该设备位置的指示。
在一些方面,用于执行该密码函数的该条件可以是邻近设备是否是授权设备;并且确定该输入是否指示满足用于执行所请求的密码函数的该条件可以包括确定该输入是否包括对该邻近设备能够连接到包括该SoC的设备的指示。
在一些方面,用于执行该密码函数的该条件可以是通信网络是否与授权的通信网络匹配;并且确定该输入是否指示满足用于执行所请求的密码函数的该条件可以包括确定该输入是否包括对由包括该SoC的设备检测到的该通信网络的指示。
另外的方面可以包括一种SoC,该SoC包括:安全子系统,该安全子系统存储密码密钥和用于执行密码函数的条件,其中该安全子系统包括:用于接收对执行该密码函数的请求的部件;用于从感测电路接收输入的部件,该输入包括与用于执行该密码函数的至少一个条件相关的至少一个指示;用于确定该输入是否指示满足用于执行该密码函数的该条件的部件;以及用于响应于确定满足该条件而执行该密码函数的部件。
在一些方面,用于从该感测电路接收所述输入的部件还可以包括:用于沿着独立于服务请求环境的通信路径从该感测电路接收该输入的部件。在一些方面,用于从该感测电路接收该输入的部件可以包括用于从操作感测电路连续地接收该输入的部件。
另外的方面可以包括一种其上存储有处理器可执行指令的非暂态处理器可读介质,该处理器可执行指令被配置为使得集成电路的安全子系统内的处理器执行操作,该操作包括:从服务请求环境接收对执行密码函数的请求;从感测电路接收输入,该输入包括与用于执行该密码函数的条件相关的至少一个指示;确定该输入是否指示满足用于执行该密码函数的该条件;以及响应于确定满足该条件而执行该密码函数。
附图说明
并入本文并构成本说明书的一部分的附图例示了示例性实施方案,并且与上面给出的一般描述和下面给出的详细描述一起用于解释各种实施方案的特征。
图1是例示根据一些实施方案的可以被配置为在片上系统(SoC)中提供安全性的示例计算系统的组件框图。
图2是例示根据一些实施方案的用于在SoC中提供安全性的示例密码系统200的组件框图。
图3是例示根据各种实施方案的用于在SoC内提供安全性的实施方案方法的过程流程图。
图4是例示根据一些实施方案的可以作为在SoC内提供安全性的一部分执行的实施方案方法的过程流程图。
图5是例示适于与各种实施方案一起使用的示例无线通信设备的组件框图。
图6是例示适于与各种实施方案一起使用的示例计算设备的组件框图。
图7是例示适于与各种实施方案一起使用的示例服务器的组件框图。
图8例示了根据一些实施方案的呈智能手表形式的示例可穿戴计算设备。
具体实施方式
将参照附图详细描述各个实施方案。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和实施方案的引用是为了例示的目的,而不是为了限制各个方面或权利要求的范围。
各种实施方案包括用于在片上系统(SoC)内提供安全性的集成电路(IC)组件、方法和设备。各种实施方案可以利用传感器信息来提高SoC内的信任级别。各种实施方案包括存储密码密钥的安全子系统,其中安全子系统被配置为从感测电路接收与用于使用密码密钥执行密码函数的一个或多个条件相关的输入。安全子系统可以被进一步配置为从SoC的信任区或服务请求环境接收对密码函数的请求,其中对每个密码函数的请求与用于执行密码函数的一个或多个条件相关联。安全子系统可以被进一步配置为响应于确定所接收的输入指示满足所请求的密码函数的条件而执行所请求的密码函数。以这种方式,安全子系统能够在执行密码函数之前独立地确认满足用于执行密码函数的一个或多个条件,从而提供除了由SoC的信任区执行的安全检查之外的第二独立安全检查。
术语“片上系统”(SoC)在本文中用于指代一组互连的电子电路,通常但非排他性地包括处理设备、存储器和通信接口。处理设备可以包括各种不同类型的处理器和处理器核,诸如通用处理器、中央处理单元(CPU)、数字信号处理器(DSP)、图形处理单元(GPU)、加速处理单元(APU)、安全处理单元(SPU)、计算设备的特定组件的子系统处理器(诸如相机子系统的图像处理器或显示器的显示处理器)、辅助处理器、单核处理器、多核处理器、控制器和微控制器。处理设备可进一步体现其他硬件和硬件组合,诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、其他可编程逻辑器件、分立门逻辑、晶体管逻辑、性能监测硬件、看门狗硬件和时间参考。集成电路可被配置成使得该集成电路的组件驻留在单片半导体材料(诸如硅)上。
术语“系统级封装”(SIP)在本文中被用来指代包含多个资源、计算单元、两个或更多个集成电路(IC)芯片上的核心或处理器、基板或SoC的单个模块或封装。例如,SIP可以包括单个基板,多个IC芯片或半导体管芯以垂直配置堆叠在该基板上。类似地,SIP可以包括一个或多个多芯片模块(MCM),在这些多芯片模块上,多个IC或半导体管芯被封装到统一基板中。SIP还可以包括经由高速通信电路系统耦合在一起并紧邻地封装(诸如在单个主板上或在单个无线设备中)的多个独立的SoC。SoC的邻近度促成了高速通信以及存储器和资源的共享。
使用高值密码密钥的安全敏感服务典型地通过应用组件被准许,该应用组件通常在应用处理器中的较高可信执行环境(TEE)中运行。例如,应用处理器可以实现高级操作系统(HLOS)和虚拟环境(例如,基于TrustZone的TEE、基于管理程序的虚拟机等)。所请求的安全敏感服务可以通过较高信任执行环境被准许,即使与该安全敏感服务相关联的密码密钥值对该较高信任执行环境是未知的也是如此,因为该较高信任执行环境本身负责授权将密钥用于所请求的安全敏感服务。
在此类架构中,如果应用组件或应用组件在其中操作的TEE变得被入侵,则基于密码密钥的服务可以被准许,而不管请求实体的资格如何(即,即使不符合使用标准/条件也可以被准许)。例如,尽管用户认证检查失败,但被入侵的TEE可以授权将密码密钥用于要求授权的用户的存在的请求的密码服务。因此,被入侵的TEE可以响应并执行非法所请求的密码服务,包括授权使用密码密钥、允许攻击者获得对安全信息的访问而不必符合任何安全认证要求、有效地消除TEE被设计成提供的任何安全措施。
各种实施方案包括被配置为实现用于在SoC内提供提高的安全性的方法的方法、SoC设计、处理设备和存储器。可以独立于应用处理器操作的安全子系统可以被配置为从感测框架或感测电路接收对确定是否用于执行密码函数的条件相关的指示和/或感官信息作为输入。输入可以由安全子系统独立于应用处理器的密码函数使用,以确认对用于使用密码密钥和其他密码函数的标准或条件的履行。存储密码密钥的安全子系统通常可以是具有被感知为在SoC内最低(即,低于基于应用处理器的TEE)的攻击服务的组件。尽管应用处理器或基于应用处理器的TEE被入侵,但高信任安全子系统(例如,安全处理单元(SPU)或高度隔离的SoC信任根(RoT))可以实现密码密钥使用策略,该密码密钥使用策略可以拒绝对用于在安全子系统内执行由该应用处理器或基于应用处理器的TEE请求的密码函数的密码密钥的授权。
各种实施方案可以利用为了提供对密码密钥的访问和/或执行由服务请求环境(例如,TEE)请求的密码函数而必须满足的一个或多个条件来实现独立密钥使用策略。服务请求环境可以向安全子系统发出请求以执行安全敏感服务,诸如密码函数。基于由安全子系统从感测电路接收的一个或多个输入,对执行密码函数的授权可以视对任何数量的条件的履行而定。感测电路可以测量包括用户物理特性、相机图像捕捉/馈送信息、设备取向、设备位置、设备条件和身体状况、设备和连接设备表现度量、软件表现度量等的感官信息以确定是否已经满足与密码服务请求相对应的一个或多个条件。感测电路可以将来自感官信息的原始信号数据转译为可由安全子系统利用的输入。输入可以指示是否满足或是否已经满足用于由安全子系统执行密码函数的条件。可以存储与密码服务请求相对应的密码密钥的安全子系统可以确定一个或多个输入是否指示满足用于执行所请求的密码函数的一个或多个条件。响应于确定满足用于所请求的密码函数的条件中的至少一个(多个)条件,安全子系统可以执行所请求的密码函数,这可以包括授权使用与所请求的密码函数相对应的密码密钥。
可以独立于在应用处理器的服务请求环境内执行的任何密码操作来执行此过程流程:由感测电路测量感官信息、将感官信息转换成指示或可以用于确定是否满足执行安全敏感服务或密码函数的(多个)先决条件的输入,以及由安全子系统确定该输入是否指示满足用于执行所请求的密码函数的(多个)先决条件。因此,由执行验证一个或多个条件对密码函数的满足的独立过程的安全子系统提供附加安全层,该密码函数可以用于在服务请求环境或TEE被入侵或受损的情况下限制对密码密钥的访问。
图1是例示根据一些实施方案的可以被配置为在SoC中提供安全性的示例计算系统的组件框图。各种具体实施可以在数个单处理器和多处理器计算机系统(包括SoC或SIP)上实现。图1所例示的示例是可以在实现各种具体实施的无线设备和网络设备中使用的SIP100架构。
参考图1,所例示的示例SIP 100包括两个SoC 102、104、时钟106、电压调节器108和无线收发器166。在一些具体实施中,第一SoC 102可以作为无线设备的中央处理单元(CPU)来操作,该CPU通过执行由软件应用程序的指令指定的算术、逻辑、控制和输入/输出(I/O)操作来执行这些指令。在一些具体实施中,第二SoC 104可以作为专用处理单元来操作。例如,第二SoC 104可以作为负责管理大容量、高速度(诸如5Gbps等)或超高频短波长度(诸如28GHz毫米波频谱等)通信的专用5G处理单元来操作。
第一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 WINDOWS10)的处理器。此外,处理器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是例示适于实现各种实施方案中的任一实施方案的包括密码系统200的示例SoC的组件框图。所例示的示例密码系统200包括应用处理器116、互连/总线模块126、安全子系统202和感测电路204。应用处理器116、互连/总线模块126、安全子系统202和感测电路204可以是SoC 102的组件。
感测电路204可以接收或以其他方式测量可以经由互连/总线模块126聚合并传达给应用处理器116和安全子系统202的感官信息230。应用处理器116可以经由互连/总线模块126向安全子系统202传输对密码函数的请求。安全子系统202可以是SoC 102的功能块或一部分,该SoC在应用处理器116外部或以其他方式独立于该应用处理器。例如,服务请求环境208可以与安全子系统202分开操作。感测电路204可以将用于密码认证目的的输入分开传输到应用处理器116和安全子系统202。应用处理器116可以独立于使用所接收的输入执行单独密码函数的安全子系统202而使用所接收的输入执行密码操作,包括基于与密码函数相对应的一个或多个条件来授权密码密钥的使用。安全子系统202可以被配置为响应于接收的输入指示满足所请求的密码函数的条件而释放或授权供安全子系统202使用的密码密钥,其中该密码密钥与(即,由服务请求环境请求的)所请求的密码函数相对应。
应用处理器116可以建立并管理HLOS206和服务请求环境208。服务请求环境208可以是虚拟功能块,诸如用于请求安全子系统202执行密码函数的可信执行环境(例如,TrustZone、基于管理程序的虚拟机)。
HLOS206可以确定应当响应于用户输入和/或请求而执行密码函数以获得对安全信息的访问(例如,通过在应用处理器116上运行的银行应用程序的在线银行登录)。访问尝试可以包括对密码密钥的请求,以验证请求访问安全信息的用户和/或设备。响应于请求包括密码密钥的附加安全信息的访问尝试,HLOS206可以生成包括所请求的密码函数的密码服务请求并向服务请求环境208传输该密码服务请求。服务请求环境208然后可以将密码服务请求中继到安全子系统202。安全子系统202可以存储与任何数量的潜在密码函数相对应的(例如,存储在SPU 212中的)密码密钥。安全子系统202可以基于一个或多个条件来授权使用与密码服务请求相对应的密码密钥或准许对该密码密钥的访问。满足条件可以授权由安全子系统202使用密码密钥来执行由密码服务请求所请求的密码函数,其中密码服务请求最初由HLOS206生成以允许访问所请求的安全信息。安全子系统202可以响应于确定不满足与密码服务请求相关联的条件中的一个或多个条件而拒绝对使用(多个)密码密钥来执行密码函数的授权,并且因此可以拒绝对与密码服务请求相对应的安全信息的访问。
在一些实施方案中,安全子系统202可以包括存储器,或者可以通过互连/总线模块126可通信地连接到用于存储用于执行各种密码函数的各种条件的存储器设备(例如,存储器120、SoC 102外部的存储器设备)。在一些实施方案中,安全子系统202可以利用为了提供对密码密钥的访问并且/或者执行由服务请求环境208请求的密码函数而必须满足的一个或多个条件来存储密码密钥使用策略。例如,安全子系统202可以存储与执行各种密码函数的请求相对应的一组规则和/或条件。由安全子系统202存储的密钥使用策略可以包括对于每个所请求的密码函数必须满足的条件、用于基于所请求的密码函数来确定必须满足哪些条件的规则,以及用于基于从感测电路204接收的输入来确定满足条件中的哪些条件的规则。在一些实施方案中,密码服务请求可以包括除了密码函数之外要满足的一个或多个条件。
感测电路204可以包括数字信号处理器110、调制解调器处理器112、图形处理器114、定制电路系统122以及系统组件和资源124以分析与每个处理器的操作相关的条件。例如,调制解调器处理器112可以分析包括SoC102的设备正在操作的带宽范围(例如,5G、LTE等)。感测电路204可以包括用于测量实现SoC 102的设备的操作条件的附加处理器,其中每个处理器可以通过互连/总线模块126可通信地连接到安全子系统202。在一些实施方案中,SoC 102可以包括与感测电路204分开的附加处理器,但可将设备操作条件传输到感测电路204。感测电路204可以包括传感器管理单元132,该传感器管理单元可通信地连接到用于测量真实世界感官信息230的任何种类的传感器130。传感器130可以包括陀螺仪/加速度计214、音频输入组件216、相机218、温度传感器220和触摸屏222,以及用于测量并且/或者接收真实世界数据的其他传感器。
在一些实施方案中,感测电路204可以确定是否满足与密码服务请求相关联的条件以用于安全子系统202授权使用密码密钥的目的。感测电路204可以通过分析感官信息230来确定满足与密码服务请求相关联的一个或多个条件。感测电路204可以测量并且/或者分析感官信息230以生成可以由安全子系统202利用的输入。感测电路204可以经由互连/总线模块126将基于所测量的感官信息230的输入传输到安全子系统202。安全子系统202可以从感测电路204接收与用于使用密码密钥执行密码函数的一个或多个条件相关的输入。安全子系统202可以响应于所接收的输入指示满足所请求的密码函数的一个或多个条件而执行所请求的密码函数。
在一些实施方案中,安全子系统202可以确定是否满足与密码服务请求相关联的条件以用于准许由安全子系统202对密码密钥的访问或授权由该安全子系统使用密码密钥(或执行另一密码函数)的目的。安全子系统202可以通过分析来自感测电路204的输入来确定满足与密码服务请求相关联的一个或多个条件。感测电路204可以测量并且/或者分析感官信息230以生成到安全子系统202的输入。感测电路204可以经由互连/总线模块126将基于所测量的感官信息230的输入传输到安全子系统202。安全子系统202可以从感测电路204接收与用于使用密码密钥执行密码函数的一个或多个条件相关的输入。安全子系统202可以响应于所接收的输入指示满足所请求的密码函数的一个或多个条件而执行所请求的密码函数。
本文使用术语“输入”来指可以由安全子系统接收的各种数据结构,包括例如原始传感器数据、传感器测量值、布尔信息、标志位等。
作为示例,在感测电路204确定是否满足与密码服务请求相对应的一个或多个条件的实施方案中,感测电路204可以生成与一个或多个条件相对应的一个或多个布尔,并且将该布尔传达到安全子系统202,诸如将位加载到可由安全子系统202存取的寄存器中。例如,布尔可以是1(或“是”)或0(或“否”)指示符,该指示符可以被加载到安全子系统内或由安全子系统访问的寄存器中,并且与特定传感器(例如,检测到的拇指指纹=“是/否”,检测到的有效拇指指纹=“是/否”)或是否满足特定条件的指示相对应。安全子系统然后可以访问标志或布尔,以确定该安全子系统是否应当继续授权对密码密钥的访问。在输入是表示由传感器130测量的状态(例如,是否检测到手表、温度是否过高、是否检测到QR码等)的布尔值的实施方案中,安全子系统202内的处理器可以在授权使用密码密钥之前确定由每个输入指示的状态是否指示满足对应条件。
在到安全子系统的输入包括一个或多个布尔的实施方案中,感测电路204可以将包括布尔的数据传递到安全子系统202,可以在安全子系统202有权访问的寄存器中设置与布尔状态相对应的标志或位(例如,SPU 212内的标志/位),并且/或者可以通过互连/总线模块126将存储在寄存器中的字节推送到安全子系统202的存储器地址范围。例如,感测电路204可以向安全子系统202输出布尔值,该布尔值指示实现SoC 102的设备已经测量并记录了指示存在授权的密钥卡(例如,密钥卡存在并且判定框306=“是”)的感官信息230。基于输入,安全子系统202可以确定密钥卡的存在指示满足条件以及安全子系统202可以授权使用与密码服务请求相对应的密码密钥以允许安全子系统202执行所请求的密码函数。
在安全子系统202确定是否满足与密码服务请求相对应的一个或多个条件的实施方案中,安全子系统202可以从感测电路204接收原始信号测量结果作为输入,处理一个或多个原始信号测量结果,并且基于对原始信号测量结果的此处理来确定是否满足用于所请求的密码函数的一个或多个条件。
由安全子系统202从感测电路204接收的输入可以是永远在线(always-on)信息(即,由传感器测量的信息被连续地推送到安全子系统202)或操作传感器信息,诸如存储在安全子系统202的寄存器中或可由该安全子系统访问的值,并且因此可用于在(例如,从TEE)接收到对密码函数的请求时确定是否满足先决条件。换句话说,感测电路204可以连续地输出(例如,经由数据总线传输或在可由安全子系统202存取的存储器中存储)与一个或多个先决条件相关的传感器信息或指示,使得该信息或指示始终可用于安全子系统。因此,当从服务请求环境208接收包括密码函数的密码服务请求时,安全子系统202可能已经具有与密码服务请求所要求的一个或多个条件相对应的输入的状态或指示,该一个或多个条件需要被履行以准许对密码密钥的访问并完成密码函数。例如,只要与授权的用户相对应的智能手表不在可检测的蓝牙低能耗(BLE)范围内,感测电路204就可以在可由安全子系统202存取的寄存器中持续地设置指示“检测到用户手表=否”的布尔值的位或标志。当有效用户的智能手表进入BLE范围内并连接到实现SoC102的设备时,感测电路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(例如,SoC104)的组件,或者可以是容纳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 RoT210单独执行、由SPU 212单独执行或者由SoC RoT 210和SPU 212共同执行。作为SoC RoT210和SPU 212用作安全子系统202内的两个共同起作用的组件的示例,SPU 212可以是独立的处理器子系统和启动链(包括CPU、存储器和密码引擎)以向其他子系统提供密码服务。SPU 212可以存储一个或多个密码密钥,并且可以从服务请求环境208接收一个或多个所请求的密码函数。SoC RoT 210可以被配置为从感测电路204接收输入,并且确定该输入是否指示满足用于执行所请求的密码函数的条件。SoC RoT 210可以向SPU 212传输输入。SPU212可以被配置为响应于所接收的输入指示满足所请求的密码函数的条件而执行所请求的密码函数。因此,当感测电路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(例如,SoCRoT 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中,可以向安全子系统202输入对是否满足条件(在此示例实施方案中,输入是否包括对人员在包含SoC 102的设备的邻近范围内的物理存在的指示)的所得确定。感测电路204可以基于所测量的感官信息230来确定是否满足一个或多个条件,诸如用户是否是与由安全子系统202从服务请求环境208接收的密码服务请求相对应的授权的用户。在框304中,可以将对是否满足条件(在这种情况下,实现SoC 102的设备的当前用户是否是授权的用户)的所得确定输入到安全子系统202。
感测电路204可以生成指示满足或不满足条件并且/或者指示当前用户是实现SoC102的设备的授权的用户的输入。换句话说,在框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读取器码,在该过程中,设备可以经由用户界面请求QR码的图像并经由相机218测量该图像。条件可以是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可以生成指示满足或不满足条件并且/或者指示当前用户是实现SoC102的设备的授权的用户的输入。换句话说,在框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可以生成指示满足或不满足条件并且/或者指示实现SoC102的设备在授权的位置内的输入。在框304中接收的输入可以包括对包括SoC 102的设备的当前设备位置的指示,条件可以是设备位置是否处于授权的位置,并且安全子系统可以被配置为确定是否符合该条件。在框304中接收的输入还可以包括对能够连接到包括SoC 102的设备的邻近设备的指示,条件可以是邻近设备是否是授权设备,并且安全子系统可以被配置为确定是否符合该条件。
例如,响应于尝试获得对安全信息的访问的密码服务请求,应用处理器116可以发起设备位置确定过程,在该过程中,设备可以经由地理定位方法确定地理定位位置。条件可以是地理定位位置是否在授权的地理定位位置(例如,由设备或诸如认证服务器的外部存储器存储的一个或多个位置)内,在框304中接收的输入可以包括对当前地理定位位置的指示(例如,地理定位位置是否在授权的地理定位位置内),并且安全子系统202可以被配置为确定是否符合该条件。如果地理定位位置在授权的地理定位位置内(例如,地理定位位置在授权的地理定位位置内并且判定框306=“是”),则安全子系统202可以授权使用与密码服务请求相对应的密码密钥,以允许安全子系统202完成密码函数。如果地理定位位置不在授权的地理定位位置内(例如,地理定位位置在授权的地理定位位置内并且判定框306=“否”),则安全子系统202可以不授权使用与密码服务请求相对应的密码密钥,并且密码服务请求可能失败并且可以拒绝对安全信息的访问。
作为另一示例,响应于尝试获得对安全信息的访问的密码服务请求,应用处理器116可以发起设备位置确定过程以确定另一认证设备是否邻近。例如,实现SoC 102的设备可以确定智能手表、汽车操作系统、射频辨识(RFID)标签、授权的用户的密钥卡等是否可能在通信距离内。条件可以是认证设备是否邻近实现SoC 102的设备或以其他方式处于与该设备的通信范围(例如,由设备或诸如认证服务器的外部存储器存储的一个或多个认证设备ID)内,在框304中接收的输入可以包括对认证设备邻近度的指示(例如,认证设备是否邻近),并且安全子系统202可以被配置为确定是否符合该条件。如果认证设备邻近实现SoC102的设备(例如,认证设备邻近并且判定框306=“是”),则安全子系统202可以授权使用与密码服务请求相对应的密码密钥,以允许安全子系统202完成密码函数。如果认证设备不邻近实现SoC 102的设备(例如,认证设备邻近并且判定框306=“否”),则安全子系统202可以不授权使用与密码服务请求相对应的密码密钥,并且密码服务请求可能失败并且可以拒绝对安全信息的访问。
感测电路204可以生成指示满足或不满足条件并且/或者指示授权的网络可由实现SoC 102的设备检测到和见到的输入。例如,在框304中接收的输入可以包括对由包括SoC102的设备检测到的通信网络的指示,条件可以是通信网络是否与授权的通信网络匹配,并且安全子系统可以被配置为确定是否符合该条件。
例如,响应于尝试获得对安全信息的访问的密码服务请求,应用处理器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 102的设备(例如,经由无线收发器166)接收到第三方令牌。条件可以是是否已经接收到令牌,在框304中接收的输入可以包括对令牌接收的指示(例如,是否接收到令牌),并且安全子系统202可以被配置为确定是否符合该条件。如果已经接收到令牌(例如,接收到令牌并且判定框306=“是”),则安全子系统202可以授权使用与密码服务请求相对应的密码密钥,以允许安全子系统202完成密码函数。如果尚未接收到令牌(例如,已经接收到令牌并且判定框306=“否”),则安全子系统202可以不授权使用与密码服务请求相对应的密码密钥,并且密码服务请求可能失败并且可以拒绝对安全信息的访问。
作为另一示例,响应于尝试获得对安全信息的访问的密码服务请求,应用处理器116可以发起设备操作度量测量过程,在该过程中,设备可以测量当前操作带宽(例如,5G、LTE)或设备下载或上载速度。条件可以是带宽是否在(例如,由设备或诸如认证服务器的外部存储器存储的)可接受带宽阈值范围内,在框304中接收的输入可以包括对当前带宽的指示(例如,带宽是否在可接受带宽阈值范围内),并且安全子系统202可以被配置为确定是否符合该条件。如果带宽在可接受带宽阈值范围内(例如,带宽在可接受带宽阈值范围内并且判定框306=“是”),则安全子系统202可以授权使用与密码服务请求相对应的密码密钥,以允许安全子系统202完成密码函数。如果带宽不在可接受带宽阈值范围内(例如,带宽在可接受带宽阈值范围内并且判定框306=“否”),则安全子系统202可以不授权使用与密码服务请求相对应的密码密钥,并且密码服务请求可能失败并且可以拒绝对安全信息的访问。
感测电路204可以生成指示满足或不满足条件并且/或者指示实现SoC102的设备已经成功地连接到一个或多个安全网络、网关和/或服务器的输入。换句话说,在框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是例示在一些实施方案中可以被实现为方法300的一部分的用于在SoC内提供安全性的实施方案方法400的过程流程图。参考图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可以包括处理器502,该处理器耦合到触摸屏控制器504和内部存储器506。处理器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)、火线、雷电(Thunderbolt)或PCIe。外围设备连接接口518还可耦合到类似配置的外围设备连接端口(未示出)。
移动计算设备500还可包括用于提供音频输出的扬声器514。移动计算设备500还可包括用于容纳本文所述的组件中的全部或一些组件的外壳520,该外壳由塑料、金属或各材料的组合来构造。移动计算设备500可包括耦合到处理器502的电源522,诸如一次性或可再充电电池。可再充电电池还可耦合到外围设备连接端口以从移动计算设备500外部的源接收充电电流。移动计算设备500还可包括用于接收用户输入的物理按钮524。移动计算设备500还可包括用于接通和关断该移动计算设备500的电源按钮526。
各种实施方案(包括但不限于上文参考图1至图4所述的实施方案)可以在包括膝上型计算机600的各种各样的计算系统中实现,该膝上型计算机的示例在图6中例示。参考图1至图6,膝上型计算机可以包括触摸板触摸表面617,该触摸板触摸表面用作计算机的定点设备,并且因此可以接收与在配备有触摸屏显示器并且如上所述的计算设备上实现的那些手势类似的拖动、滚动和轻击手势。膝上型计算机600将通常包括耦合到易失性存储器612和大容量非易失性存储器(诸如闪存存储器的硬盘驱动器613)的处理器602。附加地,计算机600可具有用于发送和接收电磁辐射、可连接到无线数据链路的一个或多个天线608和/或耦合到处理器602的蜂窝电话收发器616。计算机600还可包括耦合到处理器602的软盘驱动器614和压缩盘(CD)驱动器615。膝上型计算机600可以包括均耦合到处理器602的触摸板617、键盘618和显示器619。计算设备的其他配置可包括如众所周知地耦合到处理器(例如,经由USB输入)的计算机鼠标或轨迹球,这也可结合各个实施方案来使用。
各种实施方案(包括但不限于上文参考图1至图4所述的实施方案)还可以在固定计算系统(诸如各种市售服务器中的任一种市售服务器)中实现。参考图1至图7,在图7中例示了示例服务器700。此类服务器700通常包括耦合到易失性存储器702和大容量非易失性存储器(诸如磁盘驱动器704)的一个或多个多核处理器组装件701。如图7所示,多核处理器组装件701可以通过将它们插入到组装件的机架中而添加到服务器700。服务器700还可以包括耦合到处理器701的软盘驱动器、压缩盘(CD)或数字多用盘(DVD)盘驱动器706。服务器700还可以包括耦合到多核处理器组装件701的网络接入端口703以用于建立与网络705的网络接口连接,诸如耦合到其他广播系统计算机和服务器的局域网络、互联网、公共交换电话网和/或蜂窝数据网络(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE或任何其他类型的蜂窝数据网络)。
各种实施方案可以在诸如可穿戴计算设备的各种计算设备内实现。图8例示了根据一些实施方案的呈智能手表800形式的示例可穿戴计算设备。智能手表800可以包括耦合到内部存储器804和806的处理器802。内部存储器804、806可以是易失性或非易失性存储器,并且还可以是安全和/或加密存储器,或非安全和/或非加密存储器,或其任意组合。处理器802还可以耦合到触摸屏面板820,诸如电阻式传感触摸屏、电容式传感触摸屏、红外传感触摸屏等。另外,智能手表800可以具有用于发送和接收电磁辐射的一个或多个天线808,该一个或多个天线可以连接到一个或多个无线数据链路812,诸如可以耦合到处理器802的一个或多个收发器、花生收发器、Wi-Fi收发器、ANT+收发器等。智能手表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、或以各种其他编程语言来编写。如本申请中所使用的存储在计算机可读存储介质上的程序代码或程序可指其格式能被处理器理解的机器语言码(诸如,对象码)。
所例示和描述的各个实施方案是仅作为例示权利要求书的各种特征的示例来提供的。然而,关于任何给定实施方案所示出和描述的特征不必限于相关联的实施方案,并且可以与所示出和描述的其他实施方案一起使用或组合。此外,权利要求书不旨在限于任何一个示例实施方案。
上述方法描述和过程流程图是仅作为例示性示例而提供的,且并非旨在要求或暗示各个实施方案的框必须按所给出的次序来执行。如本领域技术人员将领会的,前述各实施方案中的框次序可按任何次序来执行。诸如“此后”、“然后”、“下一”等的字词不旨在限制框的次序;这些字词仅用于引导读者阅读对方法的描述。此外,对单数形式的权利要求元素的任何引述(例如使用冠词“一”、“一个”或“所述”的引述)不应解释为将该元素限定为单数。
结合本文中所公开的实施方案来描述的各种例示性逻辑框、模块、电路和算法框可实现为电子硬件、计算机软件或这两者的组合。为清楚地例示硬件与软件的这一可互换性,各种例示性组件、框、模块、电路和块在上面是以其功能性的形式作一般化描述的。将这种功能性实施为硬件还是软件取决于具体的应用和对整个系统提出的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实施方案决策不应被解读为致使脱离各个实施方案的范围。
用以实现结合本文中公开的实施方案描述的各种例示性逻辑、逻辑框、模块、以及电路的硬件可用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或它们的任何组合来实现或执行。通用处理器可以是微处理器,但在另选方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为通信设备的组合,例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其他此类配置。另选地,一些框或方法可由专用于给定功能的电路系统来执行。
在各个实施方案中,所描述的功能可在硬件、软件、固件或它们的任何组合中实现。如果在软件中实现,则这些功能可作为一条或多条指令或代码存储在非暂态计算机可读介质或非暂态处理器可读介质上。本文所公开的方法或算法的操作可在处理器可执行软件模块中具体体现,该处理器可执行软件模块可以驻留在非暂态计算机可读或处理器可读存储介质上。非暂态计算机可读或处理器可读存储介质可以是可由计算机或处理器访问的任何存储介质。通过示例的方式而不是限制的方式,这种非暂态计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪存存储器、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可以用于存储以指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其它介质。如本文中所用的磁盘和光盘包括压缩光盘(CD)、激光盘、光盘、数字通用光盘(DVD)、软盘和蓝光盘,其中磁盘通常磁性复制数据,而光盘用激光光学复制数据。以上的组合也被包括在非暂态计算机可读和处理器可读介质的范围内。附加地,方法或算法的操作可作为一条代码和/或指令或者任何代码和/或指令组合或集合而驻留在可被并入计算机程序产品中的非暂态处理器可读介质和/或计算机可读介质上。
提供所公开的实施方案的先前描述是为了使本领域任何技术人员皆能制作或使用本发明的实施方案。对这些实施方案的各种修改对于本领域技术人员而言将是显而易见的,并且本文中定义的通用原理可被应用于其他实施方案而不会脱离实施方案的范围。因而,各个实施方案并非旨在被限定于本文中所示出的各实施方案,而是应被授予与以下权利要求以及本文中所公开的原理和新颖特征一致的最广范围。
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.一种非暂态处理器可读介质,所述非暂态处理器可读介质上存储有处理器可执行指令,所述处理器可执行指令被配置为使得集成电路的安全子系统内的处理器执行操作,所述操作包括:
从服务请求环境接收对执行密码函数的请求;
从感测电路接收输入,所述输入包括与用于执行所述密码函数的条件相关的至少一个指示;
确定所述输入是否指示满足用于执行所述密码函数的所述条件;以及
响应于确定满足所述条件而执行所述密码函数。
Applications Claiming Priority (3)
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 | ||
PCT/US2022/035638 WO2023038691A1 (en) | 2021-09-08 | 2022-06-30 | Devices and methods utilizing sensor information for increased trust level |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117916737A true CN117916737A (zh) | 2024-04-19 |
Family
ID=82702845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280058739.0A Pending CN117916737A (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)
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)
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 |
-
2021
- 2021-09-08 US US17/468,912 patent/US20230074708A1/en active Pending
-
2022
- 2022-06-30 KR KR1020247006666A patent/KR20240064635A/ko unknown
- 2022-06-30 TW TW111124430A patent/TW202314550A/zh unknown
- 2022-06-30 CN CN202280058739.0A patent/CN117916737A/zh active Pending
- 2022-06-30 WO PCT/US2022/035638 patent/WO2023038691A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023038691A1 (en) | 2023-03-16 |
US20230074708A1 (en) | 2023-03-09 |
TW202314550A (zh) | 2023-04-01 |
KR20240064635A (ko) | 2024-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110741370B (zh) | 利用用户输入的生物识别认证 | |
EP3332372B1 (en) | Apparatus and method for trusted execution environment based secure payment transactions | |
CN106605233B (zh) | 使用处理器提供可信执行环境 | |
US8190908B2 (en) | Secure data verification via biometric input | |
EP3050335B1 (en) | Systems and methods for nfc access control in a secure element centric nfc architecture | |
US9525555B2 (en) | Partitioning access to system resources | |
US8190885B2 (en) | Non-volatile memory sub-system integrated with security for storing near field transactions | |
CN108664780B (zh) | 允许基于不同级别的解锁机制的各种设备访问 | |
WO2018027587A1 (zh) | 一种片上系统和处理设备 | |
US10474814B2 (en) | System, apparatus and method for platform protection against cold boot attacks | |
CN117916737A (zh) | 利用传感器信息来提高信任级别的设备和方法 | |
US20140108823A1 (en) | Security protection for memory content of processor main memory | |
US10075443B2 (en) | System, apparatus and method for stateful application of control data in a device | |
US20130067236A1 (en) | Systems for validating hardware devices | |
US11316694B2 (en) | Cryptographic hardware watchdog | |
CN117378173A (zh) | 经由安全处理器计算设备的所有权的转移 | |
KR102180529B1 (ko) | 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치 | |
KR20230042455A (ko) | 인-메모리 디바이스 액세스 제어를 위한 방법들 및 장치 | |
US9792438B2 (en) | Protecting user input against focus change | |
WO2018045917A1 (zh) | 一种授权系统、方法及卡片 | |
US20180288052A1 (en) | Trusted remote configuration and operation | |
US11921857B2 (en) | Electronic device for providing service by using secure element, and operating method thereof | |
US11328050B2 (en) | Measured execution of trusted agents in a resource constrained environment with proof of work | |
EP3044721B1 (en) | Automatic pairing of io devices with hardware secure elements | |
US20220376902A1 (en) | Resource access control |
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 |