CN118246039A - 电子设备的保护 - Google Patents
电子设备的保护 Download PDFInfo
- Publication number
- CN118246039A CN118246039A CN202311786135.0A CN202311786135A CN118246039A CN 118246039 A CN118246039 A CN 118246039A CN 202311786135 A CN202311786135 A CN 202311786135A CN 118246039 A CN118246039 A CN 118246039A
- Authority
- CN
- China
- Prior art keywords
- operating system
- application
- level operating
- low
- electronic device
- 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
- 238000004891 communication Methods 0.000 claims abstract description 74
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000000034 method Methods 0.000 claims description 44
- 238000012795 verification Methods 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 32
- 238000013475 authorization Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 7
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本公开涉及电子设备的保护。该电子设备包括处理器和一个或多个安全元件。处理器执行第一高级操作***和第一应用。一个或多个安全元件执行第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及执行第二低级操作***,以执行第二应用并执行与第一应用的无线通信。在每次启动电子设备时,第一低级操作***核实第一高级操作***的可靠性、真实性或可靠性和真实性。响应于从第一应用到第二应用的请求,第二低级操作***向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
Description
技术领域
本公开一般而言涉及电子设备,并且更特别地涉及适于处理秘密数据的电子设备。更特别地,本公开涉及适于实现诸如近场通信(NFC)或超宽带通信(UWB)之类的无线通信的电子设备,并且其中所交换的数据的至少一部分是秘密数据和/或所交换的数据的一部分是关键或私有数据,其允许例如识别或认证用户的方法,或者使得能够例如定位用户。
背景技术
随着时间的推移,诸如蜂窝电话、电子平板电脑、计算机等的复杂的电子设备集成了越来越多的功能,并且使得能够提供数字服务以最好地融入日常生活。作为示例,某些蜂窝电话并且更特别地是智能电话集成了数字服务,诸如银行支付服务、或者公共交通票使用服务、表演门票或者还有数字密钥服务,其中用户的认证可能由远程***(银行、公共管理部门等)实现。为了实现这些功能,这些设备可以集成特定于这些功能的电子组件,诸如例如使得能够保持/存储通常被称为“凭证”的标识、参考和认证信息以及数字服务提供商的资产的安全组件,运动传感器,诸如近场通信(NFC)模块或超宽带通信(UWB)模块等的无线通信模块。
由于添加新功能而导致的困难在于,秘密数据和/或关键或私有数据在不受保护的情况下在同一电子设备的不同模块和/或软件层之间交换。
发明内容
在实施例中,一种电子设备,包括处理器和一个或多个安全元件。处理器执行第一高级操作***和第一应用。一个或多个安全元件执行第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及执行第二低级操作***,以执行第二应用并执行与第一应用的无线通信。在每次启动电子设备时,第一低级操作***核实第一高级操作***的可靠性、真实性或可靠性和真实性。响应于从第一应用到第二应用的请求,第二低级操作***向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
在实施例中,一种方法,包括:使用设备的处理器执行第一高级操作***和第一应用;使用所述设备的一个或多个安全元件执行:第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及第二低级操作***,以执行第二应用并执行与第一应用的无线通信,其中所述方法包括:在每次启动电子设备时,使用第一低级操作***对第一高级操作***的可靠性、真实性或可靠性和真实性进行核实,以及响应于从第一应用到第二应用的请求,第二低级操作***向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
在实施例中,一种***,包括:存储器;耦合到所述存储器的处理器,其中所述处理器在操作中使用所述存储器执行第一高级操作***和第一应用;以及一个或多个安全元件,在操作中:执行第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及执行第二低级操作***,以执行第二应用并执行与第一应用的无线通信,其中:在每次启动电子设备时,第一低级操作***在操作中核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及响应于从第一应用到第二应用的请求,第二低级操作***在操作中向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
在实施例中,一种非暂时性计算机可读介质具有配置设备以执行方法的内容,所述方法包括:使用所述设备的处理器执行第一高级操作***和第一应用;使用所述设备的一个或多个安全元件执行:第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及第二低级操作***,以执行第二应用并执行与第一应用的无线通信,其中所述方法包括:在每次启动电子设备时,使用第一低级操作***对第一高级操作***的可靠性、真实性或可靠性和真实性进行核实,以及响应于从第一应用到第二应用的请求,第二低级操作***向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
附图说明
上述特征和优点以及其它特征和优点将在本公开的其余部分中参考附图以示例性和非限制性方式给出的具体实施例进行详细描述,其中:
图1以框图的形式非常示意性地示出了可以应用图2至图5的实施例的电子设备的示例;
图2以框图的形式非常示意性地示出了电子设备的软件体系架构;
图3以框图的形式非常示意性地示出了处理关键或私有数据的电子设备的第一实施例;
图4示出了图3的实施例的一种实施方式的框图;以及
图5以框图的形式非常示意性地示出了处理关键或私有数据的电子设备的第二实施例。
具体实施方式
在各个图中相似的特征由相似的附图标记表示。特别地,在各个实施例之间共同的结构和/或功能特征可以具有相同的附图标记并且可以部署相同的结构、维度和材料特性。
为了清楚起见,仅详细图示和描述了对于理解所描述的实施例有用的步骤和元件。特别地,没有详细描述能够由实施例实现的不同类型的无线通信的操作。
除非另外指出,否则当提到连接在一起的两个元件时,这表示除了导体之外没有任何中间元件的直接连接,并且当提到耦合在一起的两个元件时,这表示这两个元件能够连接或者它们能够经由一个或多个其它元件耦合。
在下面的描述中,当提到限定绝对位置的术语,诸如术语“前”、“后”、“顶部”、“底部”、“左”、“右”等、或相对位置的术语,诸如术语“上方”、“下方”、“上部”、“下部”等、或者限定方向的术语,诸如术语“水平”、“垂直”等时,除非另有说明,否则是指附图的朝向。
除非另有说明,否则表述“约”、“大约”、“基本上”和“约为”表示正负10%、正负5%。
图1以框图的形式非常示意性地示出了可以应用关于图2至图5描述的实施例的电子设备100的示例。
设备100是适于处理数据的电子设备,并且其特别适于处理关键或私有数据。在本公开的其余部分中,存在所谓的“关键”或私有数据,其包括秘密或潜在秘密信息,或者对于自然人(诸如用户)而言被视为私有的信息。换句话说,关键或私有数据是并非所有人都可访问并且不能够与随便任何电子设备共享的数据。
设备100包括使得能够处理数据的处理器101(CPU)。根据示例,设备100可以包括多个处理器,每个处理器适于处理不同类型的数据。根据具体示例,设备100可以包括主处理器和一个或多个辅助处理器。
设备100包括一个或多个安全元件102(SE),其使得能够管理关键或私有数据(诸如这些数据的存储或使用),或者使得能够例如实现安全应用。安全元件102可以包括其自己的(一个或多个)专用处理器及其自己的一个或多个存储器。在本公开的其余部分中,安全元件102及其操作***被认为是可靠且防篡改的。在本公开的其余部分中,表述“安全元件”在下文中无差别地表示嵌入式安全元件或集成安全元件。
设备100包括一个或多个输入/输出电路103(I/O),其使得设备100能够与一个或多个外部电子设备传输和/或接收数据和/或能量。特别地,该电路使得能够管理与其它设备(诸如电路或模块)的通信,使得能够管理有线通信(诸如使用USB协议的通信)和/或无线通信(诸如Wifi通信、蓝牙通信和/或近场通信(NFC))。该设备更确切地包括至少一个NFC模块,即适于近场通信(NFC)的模块,和/或UWB模块,即适于超宽带通信(UWB)的模块。
设备100包括负责设备100的电力供应的一个或多个电路104(ALIM)。根据示例,电路104可以包括一个或多个电池、电力转换电路、充电电路等。
设备100包括一个或多个存储器105(MEM),其中存储有数据,例如二进制数据。根据示例,设备100包括多种存储器类型,诸如ROM、易失性和/或非易失性存储器。
设备100包括实现设备100的一种或多种功能的一个或多个电路106(FCT)。根据示例,电路106可以包括特定的数据处理电路,诸如密码电路,或者使得能够执行测量的电路,诸如传感器。
设备100包括使得设备100的所有电路能够通信的一个或多个通信总线107。在图1中,示出了耦合处理器101、一个或多个存储器102以及电路103至106的单个总线107,但实际上,设备100可以包括耦合这些不同元件的多个通信总线。特别地,设备100可以包括由该设备的两个以上电路共享的多个通信总线,和/或仅将两个电路耦合在一起的一个或多个通信总线。此外,设备100的电路可以耦合到多个通信总线。
图2以框图的形式示意性地示出了关于图1描述的类型的电子设备的软件体系架构200的实施例。
体系架构200包括虚拟主平台210(VPP)或主平台210,使得能够实现电子设备的不同功能。主平台210由三个层级构成:
对电子设备的电子组件211(HW,硬件)的访问;
一个或多个低层操作***213(LLOS);以及
一个或多个软件接口215(API、ABI、VRE、IPC)。
组件211是电子设备的硬件。安全元件(参见图1的安全元件102)的组件211例如是一个或多个处理器,例如处理器101(图1)、一个或多个存储器,例如存储器105(图1)、一个或多个通信设备,诸如电路103(图1)类型的输入/输出电路,诸如近场通信(NFC)设备、使用例如蓝牙标准的短距离通信设备、适于超宽带技术(UWB)的设备,或者还有传感器,诸如生物识别传感器。
低层操作***213是适于实现组件211以执行从由安全元件实现的应用接收的命令的软件。作为示例,低层操作***213包括组件211的驱动程序软件的全部或部分。
低层操作***213由可执行代码和执行数据构成。可执行代码包含允许执行程序功能的指令。根据定义,指令对于给定程序是不变的,除非程序更新然后修改指令。可执行代码使用执行数据来将执行置于上下文中并且执行期望的功能。
主平台210经由由主平台执行的软件接口215与由安全元件实现的应用通信。这些接口215除其它外还可以包括:
应用编程接口(API);
寄存器(VRE,虚拟寄存器);以及
存储缓冲存储器,或缓冲存储器,或还有共享存储器,其允许经由进程间通信(IPC)在进程之间交换数据。
应用编程接口是使得将在下文中详细描述的多个应用能够一起通信或者与一个或多个低层操作***通信的软件。根据示例,接口软件使得能够将应用发送的命令转换成可由低层操作***213执行的命令。
寄存器是链接到电子设备的硬件功能并且用于例如当命令被发送到电子设备的主平台210时或者在由主平台执行的进程之间的交换期间临时存储数据的存储器空间。
缓冲存储器(或共享存储器)用于在平台210或电子设备的应用使用消息之前存储消息。实际上,缓冲存储器是在元件210的存储器(例如元件210可以访问的易失性存储器,诸如存储器105)中分配的存储器空间。
作为示例,软件体系架构200包括适于由主平台210实现的至少三个应用231、232、233。应用231、232、233是使用主平台的资产的软件或计算机程序。当然,电子设备在其计算能力及其数据存储能力的限制内实现多种应用。
与低层操作***213类似,每个应用231、232、233由可执行代码和执行数据构成。可执行代码包含允许执行应用的功能的指令。根据定义,指令对于给定应用是不变的,除非程序更新然后修改指令。可执行代码使用执行数据来将执行置于上下文中并且执行期望的功能。
应用231、232、233可以各自由不同的处理器来实现。根据示例,某些应用由电子设备的主处理器(例如,处理器101)实现,并且其它应用由安全元件(诸如安全元件102)的处理器实现。
应用231、232、233可以适于实现各种功能。它们通常实现服务提供商的数字服务,例如EMV或交通票类型的支付服务。这些应用可以与主处理器101(图1)中或另一个可信执行环境中存在的另一个应用组合。处理器和可信执行环境更能够经由可信用户界面与用户交互。应用231、232、233例如适于处理源自通信接口的命令,诸如例如使用近场通信设备的银行交易。这些应用可以是不同类型的,例如,SIM(订户身份模块)应用、支付应用、允许核实公共交通票的应用等。
根据应用类型的示例,应用231(App1)适于由主平台210(VPP)直接实现。应用231例如是使得能够通过与近场通信(NFC)设备通信来进行支付的应用。
根据应用类型的另一个示例,应用232是适于通过使用高层操作***232H(HLOS1)来执行的一组指令232A(App2)。高层操作***是通过为不同的应用提供一组共同软件功能来适于实现不同应用的软件。操作***232H是应用232与主平台210通信的唯一部分。作为变型,还可以认为高层操作***以及附加到其上的所有应用是适于由主平台210实现的单个应用。另外,高层操作***可以是附加到电子设备的处理器的操作***。根据示例,在本公开的其余部分中,谈到电子设备的主处理器101的高层操作***,那么它是实现由主处理器101执行的应用的高层操作***。还谈到安全元件102的高层操作***,那么它是实现由安全元件102执行的应用的高层操作***。
根据应用类型的另一个示例,另一个应用233是使用执行环境233E(ENV)的一组指令233A(App3),执行环境233E本身使用高层操作***233H(HLOS2)。执行环境例如是Java或JavaCard类型。操作***233H和执行环境233E是应用233与主平台210通信的唯一部分。作为变型,还可以认为高层操作***以及附加到其上的所有应用是适于由主平台210实现的应用。
应用231、232或233的实现示例如下。当应用231、232或233期望使用安全元件的硬件资产(即主平台210的一个或多个组件211时),这意味着对固定数据执行的当前操作被认为已完成。然后应用可以执行不同的命令,诸如例如强制写入到非易失性存储器中。为此目的,应用经由接口215向主平台210发送命令和/或数据。该命令在发送给低层操作***213之前由一个或多个应用编程接口负责,即该命令被划分为多个操作。数据存储在寄存器中或经由进程间通信(IPC)进行传输。低层操作***213通过将二进制程序接口请求的操作应用于存储在寄存器中的数据来应答二进制程序接口的请求。然后,低层操作***213驱动组件211执行应用所请求的内容。
图3以框图的形式非常示意性地示出了在构成实施例的电子设备中使用的软件体系架构的更具体的第一示例,该电子设备是关于图1描述的类型。
如前所述,电子设备的实施例包括主处理器或应用处理器以及至少一个安全元件。主处理器和安全元件均适于实现一个或多个应用。
特别地,主处理器实现以下软件体系架构300(CPU_Soft)。主处理器实现高层操作***301(OS1),使得其能够实现一个或多个应用。在关于图3所示的情况下,主处理器适于经由高层操作***301实现两个应用302A(App1)和302B(App2)。主处理器适于实现主平台中包括的给定软件,即至少一个或多个应用编程接口303(API)、至少一个过滤层304(OMAPI)以及至少一个低层操作***305(LLOS)。根据示例,软件体系架构300与由商标名称Android指定的智能电话的软件体系架构对应。
应用编程接口303是适于从应用接收命令和/或数据并且在它们传输到体系架构301的其它应用或其它软件层之前对其进行转换的接口。换句话说,应用编程接口是一种软件层,其使得能够负责一个或多个应用的外部通信等。
过滤层304是构成软件接口215的一部分的软件,并且其适于授权、限制或禁止应用(例如,应用302A和302B)使用电子设备的多个电路或组件的全部或部分。换句话说,过滤层304接收由应用编程接口303发送的命令,并且根据制定初始命令的应用决定是否传输它们。过滤层304可以基于不同的标准来授权或不授权应用对设备的电路和组件的访问。根据示例,过滤层304可以授权第一应用对电子设备的电路或组件或其一部分的访问,并且对第二应用禁止这种访问。根据示例,过滤层304是由当前由名称GlobalPlatform指定的标准定义的OMAPI层。
根据第一示例,如果应用是***应用(即由电子设备的制造商、或者软件303的制造商或设计者生产的应用),那么该应用可以具有访问所有电路或元件的永久授权,或仅有访问制造商选择的电路和元件的永久授权。另外,相反地,***应用可以对电子设备的多个电路或组件的全部或部分具有永久或非永久的有限访问。因此,电路或组件的某些部分或者电子设备的某些电路或组件可能仅可由***应用访问,并且不满足该标准的应用每次尝试向电路或组件的这些部分、或者电路、或者组件发送命令时将***地接收到拒绝。
根据第二示例,应用可以是已经成功地提交给电子设备的制造商或者接口303的制造商或设计者进行不同的可靠性测试的可靠应用,因此永久地授权它访问电子设备的全部或部分电路或组件。这种类型的可靠应用可以被认为等同于***应用,并且因此具有相同的特性。
根据第三示例,应用可以具有周期性地与电子设备外部的服务器进行认证以获得对电子设备的全部或部分电路和组件的访问的临时授权的可能性。在本公开的其余部分中,可以说,如果过滤层304授权应用访问电子设备的这样的电路或这样的组件,那么应用被授权访问电子设备的这样的电路或这样的组件。根据示例,对电子设备的电路和组件的访问的临时授权可以由接口303保持,接口303例如适于使用外部服务器实现应用的认证。
根据第四示例,电子设备的电路或组件(例如,安全元件102)可以适于确定哪些应用被授权来实现其一个或多个功能。电子设备的电路或组件可以例如向过滤层304提供指示什么应用被授权实现其一个或多个功能的列表。根据变型,该电路或组件可以向应用的全部或部分传递临时授权,例如通过授权其一个或多个功能的多次使用。当应用发送用于使用电子设备的多个电路或组件之一的一个或多个功能的指示(order)时,过滤层304应用这些授权。根据实施例,电子设备的安全元件包括例如存储在存储器中的规则列表,其指示由电子设备实现的不同应用的授权。
根据第五示例,电子设备的安全元件将对应用302A和302B的访问规则列表传递到过滤层304。这些规则被加载到过滤层304中并且在每次请求应用302A和302B时应用。根据示例,规则列表可以直接在安全元件中更新,例如远程更新。在更新规则列表之后,安全元件将修改后的规则列表传递到过滤层304。该操作可以在电子设备重新引导期间执行,或者在电子设备操作期间执行。
安全元件实现以下软件体系架构350(SE_Soft)。安全元件实现高层操作***351(SE_OS),其被认为是可靠且安全的,并且使得能够实现一个或多个应用。在关于图3所示的情况下,安全元件适于经由高层操作***351实现两个应用352A(AppSE1)和352B(AppSE2)。
安全元件还存储主处理器的接口303的规则353。根据实施例,安全元件将规则353发送到接口303,它还可以例如执行这些规则353的更新。
另外,安全元件可以实现彼此独立的多个低层操作***。在图3中,安全元件实现两个完全彼此独立的低层操作***354和355。
根据实施例,低层操作***354是具有以下特征的操作***。低层操作***354使得能够使用诸如近场通信(NFC)***或超宽带(UWB)通信***之类的无线通信***来实现通信。更特别地,操作***354被配置为通过使用该无线通信***来实现交易,即可以发生诸如标识数据、银行数据等的关键或私有数据的交换的通信。另外,应用352A和352B都被配置为例如经由规则353与低层操作***354交换命令。根据示例,低层操作***是已知命名为全局平台(Global Platform,GP)的程序和/或已知命名为Java卡虚拟机(JCVM)的程序。
根据实施例,低层操作***355是表现出以下特征的操作***。操作***355适于核实主处理器的高层操作***301的可靠性,和/或核实主处理器的高层操作***301的真实性。更特别地,操作***355适于核实高层操作***301是否仍然符合电子设备的设计者所生产的高层操作***301的版本。另外,操作***355适于存储该核实的结果。核实方法及其使用关于图4进一步详细描述。根据示例,低层操作***是已知命名为信任平台模块(Trust Platform Module,TPM)的程序。
根据实施例,低层操作***354和355适于例如通过使用专用通信信道来彼此交换数据和命令。根据示例,该专用通信信道可以是通信总线、共享存储器或公共寄存器。
另外,根据示例,安全元件可以由两个不同的电子芯片构成,第一芯片实现高层操作***351、应用352A和352B、规则353和低层操作***354,以及第二芯片实现低层操作***355。这两个不同的芯片在图3中用虚线框指示。根据另一个示例,两个芯片可以被认为是两个不同的安全元件。
根据另一个示例,高层操作***351、应用352A和352B、规则353以及低层操作***354和低层操作***355可以由单个电子芯片来实现,该芯片适于根据所实现的低层操作***354或355适应其操作。
图4是示出具有关于图3描述的软件体系架构的设备的保护方法的实施例的框图。
电子设备的保护方法包括两个阶段。第一阶段引导(BOOT)发生在电子设备的引导期间,并且第二阶段COMM(通信)发生在由主处理器实现的应用询问与由安全元件实现的应用进行通信时。
在第一阶段引导(BOOT)期间,在第一步骤401(BOOT START,引导开始)处,电子设备以硬件方式和软件方式启动。
在步骤401之后的步骤402(LLOS2核实OS)处,关于图3描述的低层操作***355执行软件体系架构300的核实,即参考图3描述的电子设备的主处理器的高层操作***301的核实和软件层303至305的核实。通过该核实,低层操作***355确定软件体系架构300是否是可靠的或真实的,即允许在高层操作***301和其实现的应用302A和302B之间交换关键或私有或秘密数据。根据示例,通过该核实,低层操作***355确定软件体系架构300是否是真实的,即由体系架构300或实现它的设备的制造商提供。为此目的,低层操作***355可以例如核实软件体系架构300的全部或部分编程代码。另外,低层操作***355可以确定软件体系架构300的一个或多个部分是可靠的,并且软件体系架构300的一个或多个其它部分是不可靠的。一旦执行了核实,低层操作***355就存储其结果。
根据变型,如果电子设备的主处理器实现软件体系架构300类型的多个高层操作***,那么在步骤402处,低层操作***355执行由主处理器实现的所有操作***的核实。根据另一个变型,低层操作***可能仅执行软件体系架构的某些高层操作***(诸如例如主高层操作***)的核实,或者仅执行软件体系架构300的某些软件层的核实。
在步骤402之后的步骤403(BOOT END,引导结束)处,电子设备已经结束其引导并准备好被使用。
在第二阶段通信(COMM)期间,在第一步骤451(App->AppSE)处,由主处理器的高层操作***301实现的应用(例如应用302A)询问连接到由安全元件的高层操作***351实现的应用(例如应用352A)。更特别地,应用302A向应用编程接口303发送请求。该请求由过滤接口304核实,并且如果过滤接口304验证该请求,那么主处理器的低层操作***305将该请求传送到安全元件。由于该请求是针对应用352A的,因此低层操作***354接收该请求。
在步骤452(核实OS1)处,低层操作***354接收由应用302A发起的请求,并且只要还没有确保实现应用302A的高层操作***301可靠,就不会将该请求传输给被访地址应用352A。为此目的,操作***354向低层操作***355讯问关于软件体系架构300的可靠性。低层操作***355将第一阶段引导(BOOT)期间执行的核实的结果传输到低层操作***354。低层操作***354然后可以将请求传输到被访地址应用352A,并且使得核实的结果可由应用352A访问。根据第一示例,低层操作***354可以将核实的结果连同请求一起发送到应用352A。根据第二示例,低层操作***354可以使得信息可经由与接口303相同类型的应用编程接口被应用352A访问。
应用352A可以访问核实的结果后,它可以考虑该信息。如果软件体系架构300被认为是可靠的(步骤452的输出是),那么下一步骤是步骤453(执行请求),否则(步骤452的输出否),下一步骤是步骤454(停止请求)。
在步骤453处,软件体系架构300被认为是可靠的,应用352A可以例如通过使用关键或私有或秘密数据来处理并且(如果相关的话)应答应用302A的请求。
在步骤454处,软件体系架构300被认为是至少部分不可靠的,因此应用352A考虑该信息。根据第一示例,应用352A可以决定不处理来自应用302A的请求,并且(如果相关的话)不应答来自应用302A的请求,例如通过不返回数据或者通过返回错误数据或随机数据。根据第二示例,应用352A可以决定部分地处理来自应用302A的请求,并且(如果相关的话)仅部分地应答来自应用302A的请求,例如通过不公开关键或私有或秘密数据。根据第三示例,应用352A可以决定无论如何都处理来自应用302A的请求,并且(如果相关的话)应答来自应用302A的请求,例如如果接收到的请求不涉及关键或秘密数据,或者例如如果接收到的请求不危及应用352A,比如例如拒绝服务类型的攻击。
图5以框图的形式非常示意性地示出了在构成实施例的电子设备中使用的软件体系架构的第二个更具体的示例,该电子设备是关于图1描述的类型。
该第二示例可以包括与关于图3描述的第一示例共同的元件。这些共同的元件没有在本文再次详细描述,并且仅强调这两个示例之间的差异。
在该第二示例中,主处理器可以使用与第一示例中相同的软件体系架构300,或者相同类型的体系架构。安全元件使用软件体系架构500,其包括与关于图3描述的体系架构350共同的元件。
与软件体系架构350类似,软件体系架构500包括高层操作***351(SE_OS),其被认为是可靠且安全的,并且使得能够实现一个或多个应用,在关于图3所示的情况下,是两个应用352A(AppSE1)和352B(AppSE2)。另外,软件体系架构500可以包括主处理器的接口303的规则353。根据示例,软件体系架构500可以包括使得能够实现应用352A和352B的低层操作***354。根据示例并且可选地,软件体系架构500还可以包括关于图3描述的低层操作***355。
根据实施例,软件体系架构500还包括应用编程接口501(T.HOST),其被配置为核实由安全元件实现的应用(即图5的情况下的应用352A和352B)接收到的命令是否已被可靠地发送。为此目的,应用编程接口501可以被配置为实现多个不同的核实装置或不同的核实规则,其中的一些在下文中详细描述。一旦执行了核实,该核实的结果就与实际命令并行地传输到该命令寻址到的应用。应用分析该结果并由此推断它是否可以部分或全部处理所述命令。另外,应用编程接口501还被配置为验证其执行的核实的真实性。
核实装置的示例可以是核实命令的发送者是可靠的。
根据第一示例,命令的发送者可以是由电子设备的主处理器实现的应用之一。在这种情况下,应用编程接口501可以核实所讨论的应用的可靠性。如果该体系架构包括低层操作***355,那么应用编程接口501可以与低层操作***355通信,以使用关于图3和图4描述的高层操作***301的核实的结果。
根据第二示例,命令的发送者可以是电子设备外部的电子***,并且实现与所述电子设备的通信。根据示例,通信可以是有线通信或无线通信,诸如近场通信(NFC)或超宽带通信(UWB)。根据示例,电子***可以是电子设备适于例如通过使用配对功能502(PAIR)来与之配对的电子***。配对功能502可以由与低层操作***355相同的芯片来实现、由低层操作***354来实现,或者还可以通过由与低层操作***354相同的芯片实现的应用编程接口来实现。
核实装置的另一个示例可以是核实用于传输命令的通信信道。
其它核实装置在本领域技术人员的能力范围内。
已经描述了各种实施例和变型。本领域技术人员将理解,这些各种实施例和变型的某些特征可以被组合,并且本领域技术人员将想到其它变型。
最后,基于上文给出的功能指示,所描述的实施例和变型的实际实施方式在本领域技术人员的能力范围内。
根据第一方面,实施例提供了一种电子设备,包括:
处理器,适于实现至少一个第一高层操作***和至少一个第一应用;
安全元件,适于实现第一低层操作***和第二低层操作***,所述第一低层操作***被配置为实现第一操作***的可靠性或真实性的核实,并且第二低层操作***被配置为实现至少一个第二应用并且实现至少一个无线通信或与所述至少一个第一应用通信,
其中,在电子设备的每次引导时,第一低层操作***执行第一高层操作***的可靠性或真实性的核实,并且
当所述至少一个第一应用向所述至少一个第二应用发送请求时,所述第二低层操作***向第一低层操作***询问所述结果并且使得其可由第二应用访问。
另一个实施例提供了一种保护电子设备的方法,所述电子设备包括:
处理器,适于实现至少一个第一高层操作***和至少一个第一应用;
安全元件,适于实现第一低层操作***和第二低层操作***,所述第一低层操作***被配置为实现第一操作***的可靠性或真实性的核实,并且第二低层操作***被配置为实现至少一个第二应用并且实现至少一个无线通信或与所述至少一个第一应用通信,
其中,在电子设备的每次引导时,第一低层操作***执行第一高层操作***的可靠性或真实性的核实,并且
当所述至少一个第一应用向所述至少一个第二应用发送请求时,所述第二低层操作***向第一低层操作***询问所述结果并且使得其可由第二应用访问。
根据实施例,当所述结果指示第一高层操作***是可靠的或真实的时,那么所述至少一个第二应用接受来自所述至少一个第一应用的请求。
根据实施例,当所述结果指示第一操作***不可靠或不真实时,那么所述至少一个第二应用能够拒绝、部分接受或完全接受来自所述至少一个第一应用的请求。
根据实施例,当所述至少一个第二应用拒绝、部分接受或完全接受来自所述至少一个第一应用的请求时,所述至少一个第二应用考虑所述至少一个第一应用的访问授权规则列表。
根据实施例,当第一低层操作***对第一操作***的可靠性执行核实时,第一低层操作***存储所述结果。
根据实施例,当第二低层操作***使得第二应用可访问所述结果时,第二低层操作***将所述结果发送到所述至少一个第二应用。
根据实施例,当第二低层操作***使得第二应用可访问所述结果时,第二低层操作***使得所述结果经由第一应用编程接口可供所述至少一个第二应用使用。
根据实施例,第一高层操作***是已知命名为信任平台模块的程序。
根据实施例,第二低层操作***是已知命名为全局平台的程序和/或已知命名为Java卡虚拟机的程序。
根据实施例,所述第一低层操作***和所述第二低层操作***适于经由专用通信信道进行通信。
根据实施例,安全元件包括实现所述第一低层操作***的第一电子芯片和实现所述第二低层操作***的与第一芯片不同的第二电子芯片。
根据实施例,第一芯片被认为是第一安全元件,并且第二芯片被认为是第二安全元件。
根据实施例,安全元件适于实现至少一个被配置为核实由所述至少一个第二应用接收到的命令是否已经被可靠地发送的第二应用编程接口。
根据实施例,其中所述第二应用编程接口被配置为使用多个核实装置。
根据实施例,所述第二应用编程接口被配置为核实所述命令的发送者是否是可靠的。
根据实施例,应用编程接口被配置为核实所述高层操作***是否是真实的。
根据第二方面,实施例提供了一种电子设备,包括:安全元件,适于实现至少一个第一应用;以及应用编程接口,被配置为核实由所述至少一个第一应用接收到的命令是否已经被可靠地发送。
另一个实施例提供了一种保护电子设备的方法,该电子设备包括适于实现至少一个第一应用的安全元件,以及被配置为核实由所述至少一个第一应用接收到的命令是否已经被可靠地发送的应用编程接口。
根据实施例,应用编程接口被配置为使用多个核实装置。
根据实施例,一旦所述应用编程接口执行了核实,所述应用编程接口就将所述命令传输到所述至少一个第一应用,并且将该核实的结果发送到所述第一应用。
根据实施例,应用编程接口被配置为核实所述命令的发送者是否是可靠的。
根据实施例,发送者是由包括在所述电子设备中的处理器的高层操作***实现的第二应用。
根据实施例,应用编程接口被配置为核实所述高层操作***是否是可靠的或真实的。
根据实施例,安全元件实现第一低层操作***以及第二低层操作***,第一低层操作***实现所述第一应用并且第二低层操作***被配置为核实所述处理器的高层操作***是否是可靠的或真实的,应用编程接口通过与安全元件的所述第一低层操作***通信来核实所述高层操作***是可靠的。
根据实施例,发送者是独立于电子设备的电子***,所述电子***适于与所述电子设备配对。
根据实施例,所述电子***适于通过使用配对功能与所述电子设备进行配对。
根据实施例,应用编程接口还被配置为核实用于传输命令的通信信道是可靠信道。
根据实施例,应用编程接口还被配置为验证由所述至少一个第一应用接收到的所述命令的核实的真实性。
根据实施例,通过实现可由应用编程接口根据配对功能参数化的核实装置来执行所述核实。
在实施例中,一种电子设备,包括处理器和一个或多个安全元件。处理器执行第一高级操作***和第一应用。一个或多个安全元件执行第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及执行第二低级操作***,以执行第二应用并执行与第一应用的无线通信。在每次启动电子设备时,第一低级操作***核实第一高级操作***的可靠性、真实性或可靠性和真实性。响应于从第一应用到第二应用的请求,第二低级操作***向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
在实施例中,响应于指示第一高级操作***是可靠的或真实的结果,第二应用接受来自第一应用的请求。
在实施例中,响应于指示第一操作***是不可靠或不真实的结果,第二应用拒绝、部分接受或完全接受来自第一应用的请求。
在实施例中,第二应用基于与第一应用相关联的访问授权规则列表,而拒绝、部分接受或完全接受来自第一应用的请求。
在实施例中,当第一低级操作***核实第一高级操作***的可靠性时,第一低级操作***存储第一高级操作***可靠性的核实的结果。
在实施例中,第二低级操作***经由第一应用编程接口将所述结果传输给第二应用。
在实施例中,第一高级操作***是信任平台模块。
在实施例中,第二低级操作***是符合以下标准的程序:全球平台标准;Java卡虚拟机;或全球平台标准和Java卡虚拟机。
在实施例中,第一低级操作***和第二低级操作***在操作中经由专用通信通道进行通信。
在实施例中,一个或多个安全元件包括第一芯片和第二芯片,第一芯片在操作中执行第一低级操作***,并且第二芯片与第一芯片不同并且在操作中执行第二低级操作***。
在实施例中,第一芯片是第一安全元件,并且第二芯片是一个或多个安全元件中的第二安全元件。
在实施例中,一个或多个安全元件在操作中执行第二应用编程接口,该第二应用编程接口在操作中核实由第二应用接收的命令是否已被可靠地发送。
在实施例中,第二应用编程接口在操作中应用多个核实测试。
在实施例中,第二应用编程接口在操作中核实所述命令的发送者是否是可靠的。
在实施例中,一种方法,包括:使用设备的处理器执行第一高级操作***和第一应用;使用所述设备的一个或多个安全元件执行:第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及第二低级操作***,以执行第二应用并执行与第一应用的无线通信,其中所述方法包括:在每次启动电子设备时,使用第一低级操作***对第一高级操作***的可靠性、真实性或可靠性和真实性进行核实,以及响应于从第一应用到第二应用的请求,第二低级操作***向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
在实施例中,响应于指示第一高级操作***是可靠或真实的结果,第二应用接受来自第一应用的请求。
在实施例中,响应于指示第一操作***是不可靠或不真实的结果,第二应用拒绝、部分接受或完全接受来自第一应用的请求。
在实施例中,第二应用基于与第一应用相关联的访问授权规则列表,而拒绝、部分接受或完全接受来自第一应用的请求。
在实施例中,所述方法包括由第一低级操作***存储第一高级操作***可靠性的核实的结果。
在实施例中,所述方法包括由第二低级操作***经由第一应用编程接口将所述结果传输给第二应用。
在实施例中,所述方法包括由一个或多个安全元件执行第二应用编程接口,以核实由第二应用接收的命令是否已被可靠地发送。
在实施例中,一种***,包括:存储器;耦合到所述存储器的处理器,其中所述处理器在操作中使用所述存储器执行第一高级操作***和第一应用;以及一个或多个安全元件,在操作中:执行第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及执行第二低级操作***,以执行第二应用并执行与第一应用的无线通信,其中:在每次启动电子设备时,第一低级操作***在操作中核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及响应于从第一应用到第二应用的请求,第二低级操作***在操作中向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
在实施例中,响应于指示第一高级操作***是可靠或真实的结果,第二应用接受来自第一应用的请求。
在实施例中,所述***包括专用通信信道,其中第一低级操作***和第二低级操作***在操作中通过所述专用通信信道通信。
在实施例中,一个或多个安全元件包括第一芯片和第二芯片,第一芯片在操作中执行第一低级操作***,并且第二芯片与第一芯片不同并且在操作中执行第二低级操作***。
在实施例中,一种非暂时性计算机可读介质具有配置设备以执行方法的内容,所述方法包括:使用所述设备的处理器执行第一高级操作***和第一应用;使用所述设备的一个或多个安全元件执行:第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及第二低级操作***,以执行第二应用并执行与第一应用的无线通信,其中所述方法包括:在每次启动电子设备时,使用第一低级操作***对第一高级操作***的可靠性、真实性或可靠性和真实性进行核实,以及响应于从第一应用到第二应用的请求,第二低级操作***向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。在实施例中,所述内容包括所述设备可执行的指令。
一些实施例可以采用计算机程序产品的形式或包括计算机程序产品。例如,根据实施例,提供了一种计算机可读介质,其包括适于执行上述的方法或功能中的一个或多个的计算机程序。所述介质可以是物理存储介质,诸如例如只读存储器(ROM)芯片,或者盘,诸如数字多功能盘(DVD-ROM)、压缩盘(CD-ROM)、硬盘、存储器、网络、或者由适当的驱动器或经由适当的连接读取的便携式介质制品,包括编码在一个或多个这样的计算机可读介质上存储的一个或多个条形码或其它相关代码中并且可由适当的读取器设备读取。
另外,在一些实施例中,一些或全部方法和/或功能可以以其它方式实现或提供,诸如至少部分地以固件和/或硬件的方式实现或提供,包括但不限于一种或多种专用集成电路(ASIC)、数字信号处理器、分立电路***、逻辑门、标准集成电路、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)等,以及采用RFID技术的设备及其各种组合。
上述各种实施例可以组合以提供另外的实施例。如果需要采用各种专利、申请和出版物的概念来提供另外的实施例,那么可以修改实施例的各方面。
根据上述详细描述,可以对实施例进行这些和其它改变。一般而言,在所附权利要求中,所使用的术语不应被解释为将权利要求限制于说明书和权利要求中公开的具体实施例,而应被解释为包括所有可能的实施例以及这些权利要求所赋予的等同形式的完整范围。因而,权利要求不受本公开的限制。
Claims (27)
1.一种电子设备,包括:
处理器,在操作中执行第一高级操作***和第一应用;以及
一个或多个安全元件,在操作中:
执行第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及
执行第二低级操作***,以执行第二应用并执行与第一应用的无线通信,其中:
在每次启动电子设备时,第一低级操作***在操作中核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及
响应于从第一应用到第二应用的请求,第二低级操作***在操作中向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
2.根据权利要求1所述的电子设备,其中响应于指示第一高级操作***是可靠的或真实的结果,第二应用接受来自第一应用的请求。
3.根据权利要求1所述的电子设备,其中响应于指示第一操作***是不可靠或不真实的结果,第二应用拒绝、部分接受或完全接受来自第一应用的请求。
4.根据权利要求1所述的电子设备,其中第二应用基于与第一应用相关联的访问授权规则列表,而拒绝、部分接受或完全接受来自第一应用的请求。
5.根据权利要求1所述的电子设备,其中当第一低级操作***核实第一高级操作***的可靠性时,第一低级操作***存储第一高级操作***可靠性的核实的结果。
6.根据权利要求1所述的电子设备,其中第二低级操作***经由第一应用编程接口将所述结果传输给第二应用。
7.根据权利要求1所述的电子设备,其中第一高级操作***是信任平台模块。
8.根据权利要求1所述的电子设备,其中第二低级操作***是符合以下标准的程序:
全球平台标准;
Java卡虚拟机;或
全球平台标准和Java卡虚拟机。
9.根据权利要求1所述的电子设备,其中第一低级操作***和第二低级操作***在操作中经由专用通信通道进行通信。
10.根据权利要求1所述的电子设备,其中一个或多个安全元件包括第一芯片和第二芯片,第一芯片在操作中执行第一低级操作***,并且第二芯片与第一芯片不同并且在操作中执行第二低级操作***。
11.根据权利要求10所述的电子设备,其中第一芯片是第一安全元件,并且第二芯片是一个或多个安全元件中的第二安全元件。
12.根据权利要求6所述的电子设备,其中一个或多个安全元件在操作中执行第二应用编程接口,该第二应用编程接口在操作中核实由第二应用接收的命令是否已被可靠地发送。
13.根据权利要求12所述的电子设备,其中第二应用编程接口在操作中应用多个核实测试。
14.根据权利要求12所述的电子设备,其中第二应用编程接口在操作中核实所述命令的发送者是否是可靠的。
15.一种方法,包括:
使用设备的处理器执行第一高级操作***和第一应用;
使用所述设备的一个或多个安全元件执行:
第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及
第二低级操作***,以执行第二应用并执行与第一应用的无线通信,其中所述方法包括:
在每次启动电子设备时,使用第一低级操作***对第一高级操作***的可靠性、真实性或可靠性和真实性进行核实,以及
响应于从第一应用到第二应用的请求,第二低级操作***向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
16.根据权利要求15所述的方法,其中响应于指示第一高级操作***是可靠或真实的结果,第二应用接受来自第一应用的请求。
17.根据权利要求15所述的方法,其中响应于指示第一操作***是不可靠或不真实的结果,第二应用拒绝、部分接受或完全接受来自第一应用的请求。
18.根据权利要求15所述的方法,其中第二应用基于与第一应用相关联的访问授权规则列表,而拒绝、部分接受或完全接受来自第一应用的请求。
19.根据权利要求15所述的方法,包括由第一低级操作***存储第一高级操作***可靠性的核实的结果。
20.根据权利要求15所述的方法,包括由第二低级操作***经由第一应用编程接口将所述结果传输给第二应用。
21.根据权利要求20所述的方法,包括由一个或多个安全元件执行第二应用编程接口,以核实由第二应用接收的命令是否已被可靠地发送。
22.一种***,包括:
存储器;
耦合到所述存储器的处理器,其中所述处理器在操作中使用所述存储器执行第一高级操作***和第一应用;以及
一个或多个安全元件,在操作中:
执行第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及
执行第二低级操作***,以执行第二应用并执行与第一应用的无线通信,其中:
在每次启动电子设备时,第一低级操作***在操作中核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及
响应于从第一应用到第二应用的请求,第二低级操作***在操作中向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
23.根据权利要求22所述的***,其中响应于指示第一高级操作***是可靠或真实的结果,第二应用接受来自第一应用的请求。
24.根据权利要求22所述的***,包括专用通信信道,其中第一低级操作***和第二低级操作***在操作中通过所述专用通信信道通信。
25.根据权利要求22所述的***,其中一个或多个安全元件包括第一芯片和第二芯片,第一芯片在操作中执行第一低级操作***,并且第二芯片与第一芯片不同并且在操作中执行第二低级操作***。
26.一种非暂时性计算机可读介质具有配置设备以执行方法的内容,所述方法包括:
使用所述设备的处理器执行第一高级操作***和第一应用;
使用所述设备的一个或多个安全元件执行:
第一低级操作***,以核实第一高级操作***的可靠性、真实性或可靠性和真实性,以及
第二低级操作***,以执行第二应用并执行与第一应用的无线通信,其中所述方法包括:
在每次启动电子设备时,使用第一低级操作***对第一高级操作***的可靠性、真实性或可靠性和真实性进行核实,以及
响应于从第一应用到第二应用的请求,第二低级操作***向第一低级操作***请求核实的结果,并将所述结果传输给第二应用。
27.根据权利要求26所述的非暂存计算机可读介质,其中所述内容包括所述设备可执行的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FRFR2214230 | 2022-12-22 | ||
US18/391,287 | 2023-12-20 | ||
US18/391,287 US20240211579A1 (en) | 2022-12-22 | 2023-12-20 | Protection of an electronic device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118246039A true CN118246039A (zh) | 2024-06-25 |
Family
ID=91549987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311786135.0A Pending CN118246039A (zh) | 2022-12-22 | 2023-12-22 | 电子设备的保护 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118246039A (zh) |
-
2023
- 2023-12-22 CN CN202311786135.0A patent/CN118246039A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101463586B1 (ko) | 비접촉 스마트 카드용 로컬 신뢰 서비스 매니저 | |
JP5607273B2 (ja) | セキュアエレメントへのアプリケーションデータの書き込み | |
US9875366B2 (en) | Microprocessor system with secured runtime environment | |
CN102238135A (zh) | 安全认证服务器 | |
US20220245253A1 (en) | Secure element and method for starting an application | |
JP2016038779A (ja) | 情報処理装置、情報処理システム及び処理プログラム | |
CN118246039A (zh) | 电子设备的保护 | |
CN118246040A (zh) | 电子设备的保护 | |
US20240211578A1 (en) | Protection of an electronic device | |
US20240211579A1 (en) | Protection of an electronic device | |
US10489775B2 (en) | Integrated circuit card adapted to transfer first data from a first application for use by a second application | |
AU2013222020B2 (en) | Local trusted services manager for a contactless smart card | |
US11768968B2 (en) | Secure starting of an electronic circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |