CN105574414B - 将文件加载到电子装置中的随机存取存储器中的方法和相关联电子装置 - Google Patents
将文件加载到电子装置中的随机存取存储器中的方法和相关联电子装置 Download PDFInfo
- Publication number
- CN105574414B CN105574414B CN201510740529.1A CN201510740529A CN105574414B CN 105574414 B CN105574414 B CN 105574414B CN 201510740529 A CN201510740529 A CN 201510740529A CN 105574414 B CN105574414 B CN 105574414B
- Authority
- CN
- China
- Prior art keywords
- execution environment
- file
- operating system
- ree
- random access
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012795 verification Methods 0.000 claims description 5
- 102100024398 DCC-interacting protein 13-beta Human genes 0.000 description 11
- 101000890401 Homo sapiens Amyloid beta precursor like protein 2 Proteins 0.000 description 11
- 101001053257 Homo sapiens DCC-interacting protein 13-beta Proteins 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 101001003569 Homo sapiens LIM domain only protein 3 Proteins 0.000 description 5
- 101000639972 Homo sapiens Sodium-dependent dopamine transporter Proteins 0.000 description 5
- 102100026460 LIM domain only protein 3 Human genes 0.000 description 5
- 125000004122 cyclic group Chemical class 0.000 description 5
- 102100024395 DCC-interacting protein 13-alpha Human genes 0.000 description 4
- 101001053277 Homo sapiens DCC-interacting protein 13-alpha Proteins 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 1
- 101100241173 Caenorhabditis elegans dat-1 gene Proteins 0.000 description 1
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Images
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/74—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 operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Data Mining & Analysis (AREA)
Abstract
本发明涉及一种将文件加载到一个电子装置中的随机存取存储器中的方法,由于该电子装置的一个处理器执行一个可信操作系统,该电子装置被设计为在一个可信执行环境(TEE)中运行,或者在一个富执行环境(REE)中运行,其特征在于,该方法包括以下多个步骤:‑由该可信操作系统接收(E10)标识(L1)至少一个文件的信息(L1);‑由该可信操作系统按照至少一个给定标准验证(E11)所标识的该文件的符合性;‑如果符合,当运行在该富执行环境(REE)中时,将所标识的该文件加载(E13)到以只读模式访问的随机存取存储器的一个区域(Z2)中。还提出了一种相关联的电子装置。
Description
技术领域
本发明涉及在可信执行环境和富执行环境之间共享文件。
更具体地,本发明涉及一种将文件加载到电子装置中的随机存取存储器中的方法,该电子装置被设计为运行在一个可信执行环境中和一个富执行环境中,本发明还涉及一种这类电子装置。
当提供一个共享存储器区域时本发明的应用尤其有利,该共享存储器区域可由该可信执行环境中和该富执行环境共同使用。
背景技术
正如例如论文“可信执行环境在移动装置上的未开发潜力(The UntappedPotential of Trusted Execution Environments on Mobile Devices)”(Ekberg,K.Kostiainen和N.Asokan,IEEE Security&Privacy,卷PP,版次99,2014年4月16日)中所解释的,已经知道可以利用可信操作系统使电子装置安全运行,可信操作系统有可能提供只有某些应用程序可以在其中安装和执行的可信执行环境(TEE)。
这种可信环境通常与富执行环境(REE)一起提供,在富执行环境中安全约束较为宽松并因此可以安装大量应用程序。富环境依赖于执行不同于可信操作系统的富操作系统(富OS)的电子装置。
为了确保两个执行环境之间的良好隔离以及因此带来的良好运行安全性,通常为每个执行环境提供专用存储器空间,尤其是在随机存取存储器中。
然而,又已提出使用可由这两个执行环境访问的共享存储器区域,这在2013BlackHat Europe大会上由T.Roth做的演示文稿“下一代移动恶意程序(NextGeneration Mobile Rootkits)”(在上文提到的论文中作为参考[15]做了引用)中特别提到。
发明内容
在此背景下,本发明提出了一种将文件加载到一个电子装置中的随机存取存储器中的方法,由于该电子装置的一个处理器执行一个可信操作系统,该电子装置被设计为在一个可信执行环境(TEE)中运行,或在一个富执行环境(REE)中运行,其特征在于,该方法包括以下多个步骤:
-由该可信操作系统接收标识至少一个文件的信息;
-由该可信操作系统按照至少一个给定标准验证所标识的该文件的符合性;
-如果符合,当运行在该富执行环境中时,将所标识的该文件加载(例如通过该可信操作系统)到以只读模式访问的随机存取存储器的一个区域中。
因此该可信操作系统控制将文件加载到在该可信执行环境和该富执行环境之间共享的随机存取存储器区域中;当运行在富执行环境期间这种共享区域可以只读模式访问并因此其中存储的文件(尤其当运行在该可信执行环境期间所使用)不能被该富执行环境中执行的应用程序破坏。
此加载操作可以在启动该电子装置时执行,这在下文详细描述,或在运行期间执行,例如当在该富执行环境中启动对应于该文件或使用该文件的一个应用程序时。
所标识的该文件是一个应用程序,例如一个库或一个数据集。
根据其他可选的和因此非限定性的特征:
-标识该文件的该信息包含在一个要求说明(例如一个要求列表)中,当运行在该富执行环境期间准备该要求说明;
-根据数据构建该要求说明,该数据表示安装在该富执行环境中的应用程序的使用频率;
-根据使用统计数据构建该要求说明,该使用统计数据与多个标准相关;
-该方法包括由该可信执行系统构建一个共享列表的步骤,该列表包括该加载文件的名称和该加载文件的地址(例如,下文指明的虚拟地址);
-该共享列表包括与该加载文件相关的完整性验证信息;
-该共享列表包括由该可信操作系统生成并且与该加载文件相关的一个证书;
-该共享列表存储在所述随机存取存储器区域中,当运行在该富执行环境期间可以只读模式访问该区域;
-所述加载由一个非易失性存储器(例如,一种可再编程非易失性存储器)实现;
-当运行在该富执行环境期间,借助于指向多个物理地址的多个虚拟地址,所述区域可以只读模式访问,该多个物理地址不同于这些相关的虚拟地址。
-标识该文件的该信息在从该富执行环境切换到该可信执行环境时被接收。
该方法进一步包括以下多个步骤,该多个步骤在该富执行环境中为该要求说明里提及的每个文件而执行:
-确定该提及的文件是否已经被加载到以只读模式访问的所述随机存取存储器区域中;
-如果否,当运行在该富执行环境期间,将该相关的文件加载到以写模式访问的另一个随机存取存储器区域中。
该提出的方法可以进一步包括以下多个步骤:
-在该富执行环境中安装一个新应用程序之后,传送一个经更新的要求说明至该可信操作系统;
-当运行在该富执行环境期间,将该经更新的要求说明中指定的一个新文件加载以只读模式访问的随机存取存储器的区域中。
本发明还提出了一种电子装置,该电子装置包括至少一个处理器和一个随机存取存储器,并且由于该处理器执行一个可信操作系统,该电子装置被设计为在一个可信执行环境中运行,或者在一个富执行环境中运行,其特征在于,该可信操作系统被设计成用于:接收标识至少一个文件的信息,利用至少一个给定标准来验证所标识的该文件的符合性,并且如果符合,当运行在该富执行环境中时,将所标识的该文件加载到以只读模式访问的随机存取存储器的一个区域中。
这种电子装置可以进一步具有根据该方法构想的这些可选特征中的一个或多个可选特征。
附图说明
参考附图的以下描述清楚地解释了本发明如何构成以及它可以如何应用于实践,这些附图通过非限制性示例来提供。
在附图中:
-图1展示了在本发明的上下文中使用的电子装置的主要元件;
-图2示意性地展示了在图1的电子装置中使用两个环境;
-图3展示了共享在本发明的上下文中提出的随机存取存储器;
-图4a展示了在图1的电子装置中存储的并在本发明的上下文中使用的功能表;
-图4b展示了存储使用统计数据的三维表,该使用统计数据可用在变体实施例中;
-图5展示了一种根据本发明的将文件加载随机存取存储器中的方法的示例;
-图6展示了在图5的方法中生成的功能列表。
具体实施方式
图1展示了在其中使用本发明的电子装置10的主要元件。
这种电子装置10(在本文是一个终端(例如,智能电话))使用基于微处理器的架构。可替代地,该电子装置可以是视频解码器(也称为机顶盒)或连接的电子装置(例如,手环、手表、护目镜或计步器)。
电子装置10包括一个处理器2,例如片上系统(SoC)微处理器。除了处理器2,这种系统包括具有各种功能的其他电子组件,例如只读存储器或ROM(未示出)、随机存取存储器或RAM 4、以及可再编程非易失性存储器6,例如电可擦除且可编程只读存储器(EEPROM)。
图2示意性展示了在电子装置10中使用两个执行环境。
为此,电子装置10的处理器2可以执行两个不同的操作系统:富操作系统(富OS)20和可信操作系统(可信OS)30,有时它们称为安全操作系统(安全OS)。
富操作系统20使用户能够以很大自由度下载、安装和执行应用程序。因此,使用富操作系统20创建富执行环境(REE)。
另一方面,在电子装置10利用可信操作系统30运行的上下文中,下载和安装应用程序的选项是受到限制的(例如,限于具有特定证书的应用程序),这样使用可信操作系统可以在电子装置10中创建可信执行环境(TEE)。
这种可信执行环境提供的安全等级例如符合EAL(评估保证等级)通用标准,该标准对应于ISO 5408标准,级别在2和7之间,或者符合FIPS(联邦信息处理标准)140-2。
电子装置10还使用可以由电子装置10的处理器2执行的安全监控器40。安全监控器40控制在电子装置10利用富操作系统20运行和电子装置10利用可信操作系统30运行之间的切换,这样电子装置10始终只利用两个操作系统20、30中的一个来运行(即,在上述提及的两个环境中的唯一一个中)。安全监控器40的运行符合与可信操作系统30相同的安全性要求,因此安全监控器40通常被认为是可信执行环境TEE的一部分,如图2所示。
根据一个可行实施例,在切换之前执行的操作系统(例如,富操作系统20)在切换时置于待命状态,然后禁止该处于待命状态的操作系统对处理器外部的元件(例如,人机接口,尤其包括键盘和/或屏幕和/或另一个输入-输出模块)的所有访问,这样通过切换而激活的操作系统(本文是可信操作系统30)完全控制外部元件,本文是人机接口。
安全监控器40还有可能在切换时将信息从切换前执行的操作系统传递至切换后执行的操作系统,这个操作在以下描述的将文件加载到随机存取存储器中的方法的示例中示出。
在本文描述的示例中,富操作系统20和可信操作系统30由电子装置10的处理器2执行。可替代地,可以使用包括两个处理器的电子装置,富操作系统20在一个处理器上执行,而可信操作系统30在另一个处理器上执行。
图3展示了将随机存取存储器4分为三个区域Z1、Z2、Z3,这些区域用在本发明的上下文中。
随机存取存储器4的第一区域Z1只能由可信操作系统30以读模式和写模式来访问。富操作系统20不可以访问第一区域Z1,并且因此在富操作环境REE中执行的应用程序也不可以。
例如,可信操作系统30可以利用第一地址范围P1内的地址来访问第一区域Z1,本文该第一地址范围的地址的有效字节在h00和h0F之间(符号hxy表示数字xy以十六进制表示法来表示)。这些地址例如对应于随机存取存储器4中的物理地址。
随机存取存储器4的第二区域Z2是由可信操作系统30和富操作系统20共同使用的共享区域。确切地说,第二区域Z2可由可信操作系统30以读模式和写模式访问;另一方面,第二区域Z2可由富操作系统20以只读模式访问。所以富操作系统20不可以在第二区域Z2中写,并且因此在富执行环境REE中执行的应用程序同样不可以写。
例如,可信操作系统30可以利用第二地址范围P2内的地址来访问第二区域Z2,本文该第二地址范围的地址的有效字节在h10和h1F之间。这些地址例如对应于随机存取存储器4中的物理地址。另一方面,富操作系统20可利用不同于第二地址范围P2的第三地址范围P3中的地址(以只读模式)访问第二区域Z2,本文该第三地址范围的地址的有效字节在h20和h2F之间。
随机存取存储器4的第三区域Z3可供富操作系统20使用(并且可供富执行环境REE中执行的应用程序使用)。因此富操作系统20可以读模式和以写模式访问第三区域Z3,并且通过富操作系统,在富执行环境REE中执行的应用程序也可以访问。
尽管可信操作系统30使用第三区域Z3不是正常运行的一个特征,但可以给出可信操作系统30以读模式和/或写模式访问第三区域Z3的可能性。对可信执行环境TEE中执行的应用程序施加的限制(例如在证书方面)实际上有可能保证从可信执行环境TEE访问第三区域Z3将仅局限于例外情况,例如,如果出于安全原因,所有的随机存取存储器4必须被重置。例如,可信操作系统30可以因此读取第三区域Z3中链接至用户的数据(姓名、接口信息等)。就其本身而言,在第三区域Z3中写数据会局限于特殊情况(例如,局限于可信操作系统30的特定命令和/或特定状态)。
例如,富操作系统20可利用不同于第三地址范围P3的第四地址范围P4中的地址来访问第三区域Z3;第四地址范围P4在本文对应于有效字节在h00和h1F之间的地址。如果第三区域Z3可由可信操作系统30访问,该访问可以通过不同于第一和第二地址范围P1、P2的第五地址范围中的地址来实现,在本文第五地址范围P5的地址的有效字节在h20和H3F之间。这些后者地址例如对应于随机存取存储器4中的物理地址。
需要注意的是,第二和第三区域Z2、Z3可由富操作系统20(以及因此对于在富操作环境REE中执行的应用程序)以不同于随机存取存储器4中的物理地址的(虚拟)地址来访问,例如通过使用小应用程序,该小应用程序有可能将随机存取存储器4分为不同的区域Z1、Z2、Z3并阻止在富执行环境REE中执行的应用程序在第一区域Z1中的任何访问,同时允许这些应用程序以只读模式访问第二区域Z2。
图4a展示了在电子装置10中存储的功能表,例如在可再编程非易失性存储器6中存储。
第一表T1为安装在富执行环境REE中的每一个应用程序APPL1、APPL2、APPL2存储数据,该数据表示相关应用程序的使用频率。这种表示使用频率的数据例如是应用程序在给定的时间段期间的使用次数,本文是一个星期的时间段。可替代地,在可变持续时间的时间段期间的使用次数可以通过例如不同于时间标准的一个标准来计数、定义,例如与电子装置配置的电池的充电或放电周期有关的标准。
所安装的各种应用程序APPL1、APPL2、APPL2还可以通过例如图4a所示的第一表T1中的下降的使用频率来分类。
可替代地,可以使用多维表(例如,图4b所示的三维表)来存储根据多个标准的使用统计数据。因此为例如图4b所示的每个应用程序APPLi存储随着时间T(例如,当日时间和周几)和位置L变化的用户统计数据S(例如使用频率)。
在此情况中,利用这些统计数据通过下降的使用频率可以对各种应用程序APPLi进行分类,这些统计数据与每周的时间T(对应于当前时间)和位置L(对应于当前位置)有关。
第二表T2为安装在富执行环境REE中的每一个应用程序APPL1、APPL2、APPL2存储由相关的应用程序在其执行期间使用的不同资源(或文件);这些资源例如是函数库LIB1、LIB2、LIB3或数据集(或文件)DAT1、DAT2、DAT4、DAT6。
安装在电子装置10上的应用程序(用在上述应用程序APPL1、APPL2、APPL2所关注的可执行环境REE中)和它们使用的资源(本文是函数LIB1、LIB2、LIB3和数据DAT1、DAT2、DAT4、DAT6)存储在可再编程非易失性存储器6中(例如,利用电子装置10的未示出的电信装置从远程计算机(例如服务提供商服务器)下载它们之后)。
然而,必须由处理器2执行的应用程序(以及可能应用程序可以使用的资源中的至少一些资源)或在用户选择应用程序之后或预先加载到随机存取存储器4中,如下文所解释,目的是加速启动应用程序。
图5展示了一种在启动电子装置10时将文件加载到随机存取存储器4中的方法的示例。
该方法开始于步骤E0,在该步骤中,电子装置启动后(例如,在用户对它供电时)对其进行初始化。在该初始化步骤E0后,由于随机存取存储器4的物理设计或初始化步骤E0中包含的强制再初始化子步骤,随机存取存储器4的所有字节通常具有预定的值(例如h00或hFF)。
初始化步骤E0包括需要用于初始化电子装置10的运行的其他子步骤,例如将可信操作系统30从可再编程非易失性存储器6加载到随机存取存储器4中并启动它的执行。
初始化步骤E0之后是步骤E2,在该步骤期间可信操作系统30发出将可信执行环境TEE的上下文中使用的文件(应用程序以及它们所使用资源,尤其是库和数据)加载到随机存取存储器4的第一区域Z1中的命令。在本文描述的实施例中,文件从可再编程非易失性存储器6(如已经表明的,它们已经存储在该可再编程非易失性存储器中)加载(例如复制)到第一区域Z1中。
第一区域Z1中的文件的正确存储可以通过可信操作系统30来验证,例如通过等待来自随机存取存储器4的一个正确运行指示(可能附带有写入到存储器中的数据的校验和)和/或读取写入的数据以便将其与将要写入的数据进行比较。
在步骤E2期间加载到第一区域Z1中的应用程序例如是使用基本功能(例如与电子装置10的安全运行有关的那些功能)的应用程序或在电子装置10运行在可信执行环境TEE的上下文中时频繁使用的应用程序。
该方法在步骤E4继续进行,在该步骤中可信操作系统30向富操作系统20发送请求REQ以获得一个要求列表并且移交至富操作系统20。如已经指明的,信息(本文是请求REQ)的传送和从可信操作系统30向富操作系统20的切换例如通过安全监控器40进行。
因此在步骤E6中富操作系统20由处理器2执行(例如,在被安全监控器40加载到随机存取存储器4中之后)并在步骤E4中接收可信操作系统30发送的请求REQ。
然后在步骤E7中,富操作系统20准备已经得到请求的要求列表L1,如下文解释的,该要求列表指出了一些文件(应用程序以及由那些应用程序使用的资源,尤其是库和数据),在富执行环境REE的上下文中使用这些文件是可预见的。
为此,例如富操作系统20查询第一表T1以确定最频繁使用的应用程序(即,本文是应用程序APPL2),并且然后查询第二表T2以确定由该应用程序使用的资源(本文是库LIB1、LIB3和数据文件DAT1)。
对以此方式而确定的文件的引用(即,最频繁使用的应用程序APPL2和该应用程序使用的资源LIB1、LIB3、DAT1)添加到要求列表L1中。
这种过程可以选择性地重复用于其他应用程序,例如以使用频率的下降顺序,直到对应于要求列表L1中列出的文件的存储器大小达到了预定义的阈值(例如,等于随机存取存储器4的第二区域Z2的大小),或者可替代地重复用于富执行环境REE中使用的已安装的所有应用程序。
在图6中,对应用程序APPL3和资源LIB2、DAT2的引用已经因此被添加到要求列表1中。(需要注意的是,对在要求列表L1中已经描述的文件的引用(本文是库LIB3)不再次被添加到要求列表L1中。)
如果没有使用统计数据可利用(例如电子装置10第一次被使用),例如富操作系统20就将要求列表L1用作一个默认列表(为此目的而存储在可再编程非易失性存储器6中)
在步骤E8中,富操作系统20向可信操作系统30发送要求列表L1。如以上已经指明的,本文中的这种信息传送由安全监控器40管理,并附带将电子装置的运行从富执行环境REE切换至可信执行环境TEE。
因此可信操作系统30的执行随着要求列表L1的接收在步骤E10中重新开始。
然后在步骤E11中,可信操作系统30为要求列表L1中所引用的每个文件确定是否该文件与共享存储器区域(或第二区域)Z2中的加载相兼容,方式是验证该文件符合某个标准,本文至少是以下标准之一:
-该文件可用在可信执行环境TEE中(这就是该文件是否已经由可信操作系统30证实和/或安装的情况—即加载到可编程非易失性存储器6中);
-一方面当运行在可信执行环境TEE期间和在另一方面当运行在富执行环境REE期间使用该(相同)文件是允许的(一些文件可以被指定预留在可信执行环境TEE中使用,并因此禁止用在富执行环境REE中,例如要求高安全性的文件)。
例如,可信操作系统30在实际中通过包含在相关文件的专用位置中的标志(或二进制表示)来确定一个文件是否与共享存储器区域Z2中的加载相兼容,例如一些操作系统所使用的权限系统中提供的标志。
在本文参考图6所描述的示例中,应用程序APPL2是电子装置10在富执行环境REE中运行期间安装的一个应用程序,不具有证书,而库LIB2是一个密码函数库(例如,加密、解密和/或电子签名),该密码函数库在可信执行环境TEE中以及在富执行环境REE中有时不要求使用。必须有高安全级别的这类库通常要进行认证并且使用它通常涉及检查它的完整性。
因此在此示例中,可信操作系统30在步骤E11中确定以下文件可以加载到随机存取存储器4的第二区域Z2中:LIB1、LIB3、DAT1、APPL3、DAT2。
在步骤E12中,可信操作系统30计算全局校验和,该全局校验和与加载到第二区域Z2中的这些文件有关。
然后可信操作系统30可以进入步骤E13以便将在步骤E11中确定的文件加载到第二区域Z2(本文是文件LIB1、LIB3、DAT1、APPL3、DAT2)中。本文这些文件从可再编程非易失性存储器6加载(即,在可信操作系统30的控制下,从可再编程非易失性存储器6复制到随机存取存储器4的第二区域Z2)。
第二区域Z2中的文件的正确存储可以通过可信操作系统30来验证,例如通过等待来自随机存取存储器4的一个正确运行指示(可能附带有写入到存储器中的数据的校验和,该校验和按照以上步骤E12中所指明的来计算)和/或读取写入的数据以便将其与将要写入的数据进行比较。可替代地,代替使用全局校验和(如以上提出的,该全局校验和与将要加载的所有文件有关)的是,可以为将要加载的每个文件使用一个校验和。
而且,可信操作系统30可以释放步骤E2中以文件加载的第一区域Z1中的存储器空间,这些文件的副本在步骤E13中加载到第二区域Z2中。当运行在可信执行环境TEE期间,这些文件实际上可以通过在第二区域Z2中读取它们而进行查询或执行,因此在第一区域Z1中保留它们的副本是没有意义的。
在步骤E14中,可信操作系统30接着继续生成共享列表L2,例如如图6所示,该共享列表为加载到第二区域Z2的每个文件包含:
-相关文件的名称DES;
-相关文件所存储的地址(本文是虚拟地址)ADR,这些地址可由富操作系统20使用以访问文件(即,第三地址范围P3中的地址);
-信息INT,该信息与相关文件的完整性的验证有关,例如形式为循环冗余校验(CRC)码;
-证书CERT,该证书由可信操作系统30为相关文件生成(以便使富操作系统20能够事后验证确实是可信操作系统30发起将相关文件加载至第二区域Z2中的操作)。
在本文描述的示例中,如以上指明的,通过对相关文件所存储的存储器范围应用循环冗余校验算法来获得验证信息INT。例如,使用以下算法中的一种:安全哈希算法SHA-2、SHA-3或消息摘要5(MD5)。可替代地,可以使用校验和或消息认证码(MAC)。
共享列表L2可以进一步为加载到第二区域Z2中的每个文件包含物理地址,文件就以该物理地址存储在随机存取存储器4中。
在步骤E16,可信操作系统30向富操作系统20发送以此方式生成的共享列表L2。如前所述,本文的该发送通过安全监控器40随着切换至富执行环境REE中而实现。
可替代地,共享列表L2可以由可信操作系统30存储在富操作系统20可访问的预定义存储器位置上,例如存储在随机存取存储器4的第二区域Z2中的预定义位置上。
为了验证在使用共享列表L2时它并未受到破坏,可以存储可信操作系统30生成的且与共享列表L2相关联的循环冗余校验(CRC)码。
由于在步骤E16中发起的切换,所以在步骤E18中富操作系统20再次被执行并存储所接收的共享列表L2(或者以刚刚提及的变量在预定义位置上访问共享列表L2),同时可能进行与共享列表L2相关联的循环冗余校验码的验证。
在电子装置10的后续运行过程中,富操作系统20和在富执行环境REE的上下文中执行的应用程序可以因此查询共享列表L2并以地址ADR访问在第二区域Z2中存储的文件,该地址在共享列表L2指明以用于相关文件,从而有可能利用共享列表L2中存在的用于相关文件的信息INT来验证文件的完整性和/或由于出现在共享列表L2中的用于相关文件的证书CERT来验证文件源的完整性。
基于所接收的共享列表L2(或可以在预定义位置上进行查询)和步骤E7中准备的要求列表L1,富操作系统20在步骤E20中确定(通过建立差异)要求列表L1中哪些引用的文件还未被加载到第二区域Z2中(被加载到第二区域Z2中的文件在共享列表L2中指定)。
然后,将在步骤E20中确定的出现在要求列表L1中而不出现在共享列表L2中的文件在步骤E22中被加载第三区域Z3中,即在富操作系统20的控制下,从可再编程非易失性存储器6(这些文件预先安装在其中)复制到随机存取存储器4的第三区域Z3。
而且,第三区域Z3中的文件的正确存储可以通过富操作系统20来验证,例如通过等待来自随机存取存储器4的一个正确运行指示(可能附带有写入到存储器中的数据的校验和)和/或读取写入的数据以便将其与将要写入的数据进行比较。
这就完成了将文件加载到随机存取存储器4的不同区域Z1、Z2、Z3中,并且常规运行可以因此在步骤E24中开始,例如通过等待来自电子装置10的人机接口(未示出)层级上的用户的命令。
常规运行持续到新的应用程序安装在富执行环境REE的运行上下文中时。
然后步骤E26中,富操作系统20准备经更新的要求列表L1’并向可信操作系统30发送该要求列表。
可信操作系统30接收经更新的要求列表L1’(如步骤E10所示)并确定待加载到第二区域Z2中的新文件,并且有可能确定待从第二区域Z2删除的文件以便为新文件释放存储器空间。这使用例如FIFO(先进先出)、LRU(最近最少使用)、LFU(最不频繁使用)或随机优先级内存页面管理方法。
然后可信操作系统30计算与新文件有关的将要加载到第二区域Z2中的循环冗余校验码并发出将新文件写入第二区域Z2的命令(步骤E30)。
然后在步骤E32,可信操作系统30更新共享列表L2(以考虑加载到第二区域Z2中的新文件)。然后该方法继续进行到以下描述的步骤E16以便切换到富执行环境REE,同时发送(经更新的)共享列表并将新应用程序运行所必要的尚未加载到区域Z2中的文件加载到区域Z3中。
作为刚刚描述的步骤E26至E32的替代,在富执行环境REE中安装新的应用程序时,该方法可以循环至步骤E4以便完整地执行以上描述的在步骤E4至E16中将文件加载到区域Z2中的方法。
Claims (12)
1.将文件加载到一个电子装置(10)中的随机存取存储器(4)中的方法,由于该电子装置(10)的一个处理器(2)执行一个可信操作系统(30),该电子装置被设计为在一个可信执行环境(TEE)中运行,或者在一个富执行环境(REE)中运行,其特征在于,该方法包括以下多个步骤:
-由该可信操作系统(30)接收(E10)标识至少一个文件的信息(L1);
-由该可信操作系统(30)按照至少一个给定标准验证(E11)所标识的该文件的符合性;
-如果符合,当运行在该富执行环境(REE)中时,将所标识的该文件加载(E13)到以只读模式访问的随机存取存储器(4)的一个区域(Z2)中,
其中,标识该文件的该信息包含在一个要求说明(L1)中,该要求说明在该富执行环境(REE)中运行期间准备,以及根据数据(T1)构建(E7)该要求说明(L1),该数据表示安装在该富执行环境(REE)中的应用程序的使用频率。
2.根据权利要求1所述的方法,其中,根据使用统计数据构建(E7)该要求说明(L1),该使用统计数据与多个标准相关。
3.根据权利要求1所述的方法,包括以下多个步骤,该多个步骤在该富执行环境(REE)中为该要求说明(L1)里提及的每个文件而执行:
-确定该提及的文件是否已经被加载到以只读模式访问的随机存取存储器(4)的所述区域(Z2)中;
-如果否,当运行在该富执行环境(REE)期间,将该提及的文件加载到以写模式访问的随机存取存储器(4)的另一个区域(Z3)中。
4.根据权利要求1至3中任一项所述的方法,包括由该可信操作系统(30)构建一个共享列表(L2)的一个步骤(E14),该共享列表包括所加载的文件的一个名称(DES)和所加载的文件的一个存储地址(ADR)。
5.根据权利要求4所述的方法,其中,该共享列表(L2)包括与所加载的文件相关的完整性验证信息(INT)。
6.根据权利要求4所述的方法,其中,该共享列表(L2)包括由该可信操作系统(30)生成并且与所加载的文件相关的一个证书(CERT)。
7.根据权利要求4所述的方法,其中,当运行在该富执行环境(REE)期间,该共享列表(L2)存储在以只读模式访问的随机存取存储器(4)的所述区域(Z2)中。
8.根据权利要1至3中任一项所述的方法,其中,所述加载通过一个非易失性存储器(6)实现。
9.根据权利要1至3中任一项所述的方法,其中,当运行在该富执行环境(REE)期间,借助于指向多个物理地址的多个虚拟地址,所述区域(Z2)可以只读模式访问,该多个物理地址不同于这些相关的虚拟地址。
10.根据权利要1至3中任一项所述的方法,其中,标识该文件的该信息(L1)在从该富执行环境(REE)切换到该可信执行环境(TEE)时被接收。
11.根据权利要1至3中任一项所述的方法,进一步包括以下多个步骤:
-在该富执行环境(REE)中安装一个新应用程序之后,传送(E26)一个经更新的要求说明(L1’)至该可信操作系统(30);
-当运行在该富执行环境(REE)期间,将该经更新的要求说明(L1’)中指定的一个新文件加载(E30)到以只读模式访问的随机存取存储器(4)的该区域(Z2)中。
12.一种电子装置(10),该电子装置包括至少一个处理器(2)和一个随机存取存储器(4),并且由于该处理器(2)执行一个可信操作系统(30),该电子装置被设计为在一个可信执行环境(TEE)中运行,或者在一个富执行环境(REE)中运行,
其特征在于,该可信操作系统(30)被设计成用于:接收标识至少一个文件的信息(L1),利用至少一个给定标准来验证所标识的该文件的符合性,并且如果符合,当运行在该富执行环境(REE)中时,将所标识的该文件加载到以只读模式访问的随机存取存储器(4)的一个区域(Z2)中,
其中,标识该文件的该信息包含在一个要求说明(L1)中,该要求说明在该富执行环境(REE)中运行期间准备,以及根据数据(T1)构建(E7)该要求说明(L1),该数据表示安装在该富执行环境(REE)中的应用程序的使用频率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1460679A FR3028069B1 (fr) | 2014-11-05 | 2014-11-05 | Procede de chargement de fichier en memoire vive dans un appareil electronique et appareil electronique associe |
FR1460679 | 2014-11-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105574414A CN105574414A (zh) | 2016-05-11 |
CN105574414B true CN105574414B (zh) | 2020-11-10 |
Family
ID=52779737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510740529.1A Active CN105574414B (zh) | 2014-11-05 | 2015-11-04 | 将文件加载到电子装置中的随机存取存储器中的方法和相关联电子装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10037426B2 (zh) |
EP (1) | EP3018609B1 (zh) |
KR (1) | KR102376229B1 (zh) |
CN (1) | CN105574414B (zh) |
ES (1) | ES2718322T3 (zh) |
FR (1) | FR3028069B1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10546131B2 (en) * | 2015-10-22 | 2020-01-28 | Mcafee, Llc | End-point visibility |
US10430706B2 (en) * | 2016-12-01 | 2019-10-01 | Via Alliance Semiconductor Co., Ltd. | Processor with memory array operable as either last level cache slice or neural network unit memory |
CN106875562B (zh) * | 2017-03-02 | 2021-09-10 | 钟晓华 | 一种文件网络鉴证装置 |
CN110383277B (zh) * | 2017-03-07 | 2021-09-14 | 华为技术有限公司 | 虚拟机监视器测量代理 |
CN110489971A (zh) * | 2018-05-15 | 2019-11-22 | 微软技术许可有限责任公司 | 安全的数据集管理 |
US11093604B2 (en) * | 2018-07-27 | 2021-08-17 | BicDroid Inc. | Personalized and cryptographically secure access control in trusted execution environment |
CN112528288A (zh) * | 2019-08-30 | 2021-03-19 | 华为技术有限公司 | 可信应用的运行方法、信息处理和内存分配方法及装置 |
CN110555293A (zh) * | 2019-09-10 | 2019-12-10 | 百度在线网络技术(北京)有限公司 | 用于保护数据的方法、装置、电子设备和计算机可读介质 |
EP3835951A1 (en) * | 2019-12-13 | 2021-06-16 | Virtual Open Systems | System platform initializer for mixed-critical systems |
KR102276527B1 (ko) * | 2020-11-11 | 2021-07-13 | (주)소셜인프라테크 | 오브젝트의 정보 변경 방지를 위한 오브젝트 발행 시스템 |
CN114115732A (zh) * | 2021-11-10 | 2022-03-01 | 深圳Tcl新技术有限公司 | 数据处理方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101356536A (zh) * | 2005-11-18 | 2009-01-28 | 高通股份有限公司 | 移动安全系统及方法 |
US20100031325A1 (en) * | 2006-12-22 | 2010-02-04 | Virtuallogix Sa | System for enabling multiple execution environments to share a device |
US20140250290A1 (en) * | 2013-03-01 | 2014-09-04 | St-Ericsson Sa | Method for Software Anti-Rollback Recovery |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7299292B2 (en) * | 2002-03-29 | 2007-11-20 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream to a virtual smart card client system |
US20120110575A1 (en) | 2010-10-29 | 2012-05-03 | Unisys Corp. | Secure partitioning with shared input/output |
US9413538B2 (en) * | 2011-12-12 | 2016-08-09 | Microsoft Technology Licensing, Llc | Cryptographic certification of secure hosted execution environments |
WO2013174503A1 (en) * | 2012-05-21 | 2013-11-28 | Eth Zurich | Secure loader |
CN102722665B (zh) * | 2012-05-22 | 2015-04-29 | 中国科学院计算技术研究所 | 基于tpm/vtpm的可信程序列表生成方法及系统 |
US20140075502A1 (en) * | 2012-09-11 | 2014-03-13 | Selim Aissi | Resource management of execution environments |
US9292712B2 (en) * | 2012-09-28 | 2016-03-22 | St-Ericsson Sa | Method and apparatus for maintaining secure time |
-
2014
- 2014-11-05 FR FR1460679A patent/FR3028069B1/fr active Active
-
2015
- 2015-11-02 ES ES15192654T patent/ES2718322T3/es active Active
- 2015-11-02 EP EP15192654.0A patent/EP3018609B1/fr active Active
- 2015-11-04 US US14/932,347 patent/US10037426B2/en active Active
- 2015-11-04 CN CN201510740529.1A patent/CN105574414B/zh active Active
- 2015-11-04 KR KR1020150154362A patent/KR102376229B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101356536A (zh) * | 2005-11-18 | 2009-01-28 | 高通股份有限公司 | 移动安全系统及方法 |
US20100031325A1 (en) * | 2006-12-22 | 2010-02-04 | Virtuallogix Sa | System for enabling multiple execution environments to share a device |
US20140250290A1 (en) * | 2013-03-01 | 2014-09-04 | St-Ericsson Sa | Method for Software Anti-Rollback Recovery |
Also Published As
Publication number | Publication date |
---|---|
EP3018609B1 (fr) | 2019-01-02 |
ES2718322T3 (es) | 2019-07-01 |
FR3028069B1 (fr) | 2016-12-09 |
EP3018609A1 (fr) | 2016-05-11 |
KR102376229B1 (ko) | 2022-03-18 |
KR20160053814A (ko) | 2016-05-13 |
US20160125186A1 (en) | 2016-05-05 |
US10037426B2 (en) | 2018-07-31 |
CN105574414A (zh) | 2016-05-11 |
FR3028069A1 (fr) | 2016-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105574414B (zh) | 将文件加载到电子装置中的随机存取存储器中的方法和相关联电子装置 | |
US8874892B1 (en) | Assessing BIOS information prior to reversion | |
US9081596B2 (en) | Information processing device, virtual machine creation method, and application distribution system | |
WO2020063001A1 (zh) | 基本输入输出系统固件的管理方法、装置和服务器 | |
US8683213B2 (en) | Progressive boot for a wireless device | |
US20110289294A1 (en) | Information processing apparatus | |
EP2879327A1 (en) | Encryption and decryption processing method, apparatus and device | |
EP2876568A1 (en) | Permission management method and apparatus, and terminal | |
US8392724B2 (en) | Information terminal, security device, data protection method, and data protection program | |
US20140244993A1 (en) | Method of updating the operating system of a secure microcircuit | |
JPWO2009044533A1 (ja) | セキュアブート端末、セキュアブート方法、セキュアブートプログラム、記録媒体及び集積回路 | |
CN111201553B (zh) | 一种安全元件及相关设备 | |
TWI754219B (zh) | 更新信號技術 | |
CN107241298B (zh) | 一种应用管控方法、终端及系统 | |
CN109889334A (zh) | 嵌入式固件加密方法、装置、wifi设备及存储介质 | |
EP3785149B1 (en) | Memory assignment for guest operating systems | |
US10262309B1 (en) | Augmenting a BIOS with new programs | |
CN110764813A (zh) | 系统软件的升级方法及其运行方法 | |
CN111353150B (zh) | 一种可信启动方法、装置、电子设备及可读存储介质 | |
CN107995230B (zh) | 一种下载方法及终端 | |
CN108958761A (zh) | 一种设备程序的处理方法及装置 | |
US20090187898A1 (en) | Method for securely updating an autorun program and portable electronic entity executing it | |
EP3992783A1 (en) | Patch releasing method, server and terminal device | |
CN114675865A (zh) | 空中下载技术升级方法、装置、存储介质及终端设备 | |
CN114174990B (zh) | 一种数据管理方法、装置、电子元件以及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cologne, France Patentee after: Ai Demiyafaguo Address before: Cologne, France Patentee before: OBERTHUR TECHNOLOGIES |
|
CP01 | Change in the name or title of a patent holder |