CN104598841A - 一种面向终端安全的双系统引导方法和装置 - Google Patents

一种面向终端安全的双系统引导方法和装置 Download PDF

Info

Publication number
CN104598841A
CN104598841A CN201410848638.0A CN201410848638A CN104598841A CN 104598841 A CN104598841 A CN 104598841A CN 201410848638 A CN201410848638 A CN 201410848638A CN 104598841 A CN104598841 A CN 104598841A
Authority
CN
China
Prior art keywords
operating system
secure operating
secure
described non
guiding work
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.)
Granted
Application number
CN201410848638.0A
Other languages
English (en)
Other versions
CN104598841B (zh
Inventor
孟庆洋
甘凤喜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neusoft Corp
Original Assignee
Neusoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neusoft Corp filed Critical Neusoft Corp
Priority to CN201410848638.0A priority Critical patent/CN104598841B/zh
Publication of CN104598841A publication Critical patent/CN104598841A/zh
Application granted granted Critical
Publication of CN104598841B publication Critical patent/CN104598841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

本发明涉及计算机技术领域,特别是一种面向终端安全的双系统引导方法和装置,所述方法包括:执行安全操作系统的至少部分引导工作,在对所述安全操作系统的内存管理单元初始化之前,暂停对其引导;执行非安全操作系统的引导工作直到所述非安全操作系统的内核加载完毕;其中,在执行所述非安全操作系统的引导工作的过程中,执行所述非安全操作系统的内存管理单元的初始化处理;利用统一的服务入口实现所述安全操作系统和所述非安全操作系统的交互,以使得所述安全操作系统和所述非安全操作系统引用彼此的服务功能以完成双系统引导。本发明可以降低安全操作系统和非安全系统的操作冲突,提高系统的可用性并减少了整个系统的引导时间,降低系统开销。

Description

一种面向终端安全的双系统引导方法和装置
技术领域
本发明涉及计算机处理技术领域,特别是涉及一种面向终端安全的双系统引导方法和装置。
背景技术
随着物联网技术的快速发展与移动设备的不断普及,智能移动终端在人们的日常生活中发挥着越来越重要的作用。随着智能移动终端的广泛应用,如何保证智能移动终端的安全性成为一个研究的热点。
目前,大部分的移动终端采用ARM(英文全称为Advanced RISC Machine,中文名称为高级精简指令集机器)架构,其支持一种ARM Trustzone(中文名称为高级精简指令集机器可信区域)技术,其将CPU及相关硬件资源划分为安全状态和非安全状态,在安全状态下运行安全操作系统,在非安全状态下运行非安全操作系统,例如富操作系统。在基于ARM Trustzone技术的终端安全解决方案中,安全操作系统与非安全操作系统的引导是一个非常关键的环节,其是建立可信链条、验证系统真实性和完整性的重要基础。现有技术的引导方式是先引导安全操作系统等到安全操作系统完全运行后,再对非安全操作系统进行校验与引导。
发明人在实现本发明的过程中发现,现有技术存在的方法,其是先引导安全操作系统待安全操作系统完全运行后再对非安全操作系统进行引导,然而,安全操作系统在初始化过程中需要对MMU(英文全称为MemoryManagement Unit,中文全称为内存管理单元)进行一些敏感指令操作,该类操作将会导致非安全操作系统在初始化过程中对MMU的大量操作无效或者异常。为了保证非安全操作系统正常引导和运行,需要大范围修改非安全操作系统的内核代码,不仅使得双系统在各平台上的移植工作大量增加,还会加剧非安全操作系统内核的碎片化,增大系统开销。
发明内容
为解决上述技术问题,本发明公开了一种面向终端安全的双系统引导方法和装置,可以降低安全操作系统和非安全系统的操作冲突,降低系统开销。
技术方案如下:
根据本发明实施例的第一方面,公开了一种面向终端安全的双系统引导方法,所述方法应用于终端,所述终端包括安全操作系统与非安全操作系统,所述安全操作系统运行于安全执行环境中,所述非安全操作系统运行于非安全执行环境中,所述方法包括:
执行所述安全操作系统的至少部分引导工作,在对所述安全操作系统的内存管理单元初始化之前,暂停对其引导;
执行所述非安全操作系统的引导工作直到所述非安全操作系统的内核加载完毕;其中,在执行所述非安全操作系统的引导工作的过程中,执行所述非安全操作系统的内存管理单元的初始化处理;
利用统一的服务入口实现所述安全操作系统和所述非安全操作系统的交互,以使得所述安全操作系统和所述非安全操作系统引用彼此的服务功能以完成双系统引导。
优选地,所述执行所述安全操作系统的至少部分引导工作包括:
进行所述安全操作系统的待加载镜像的真实性与完整性校验;
配置所述安全操作系统的可信资源。
优选地,所述利用统一的服务入口实现所述安全操作系统和所述非安全操作系统的交互,以使得所述安全操作系统和所述非安全操作系统引用彼此的服务功能以完成双系统引导包括:
加载所述非安全操作系统的至少部分服务功能;
执行所述安全操作系统的引导工作,直到所述安全操作系统的至少部分服务功能加载完毕;其中,在执行所述安全操作系统的引导工作的过程中,所述安全操作系统通过所述统一的服务入口引用所述非安全操作系统加载的所述至少部分服务功能;
执行所述非安全操作系统的剩余引导工作,直到所述非安全操作系统加载完毕。
优选地,在执行所述非安全操作系统的剩余引导工作的过程中,所述非安全操作系统通过所述统一的服务入口引用所述安全操作系统加载的所述至少部分服务功能。
优选地,所述方法还包括:
当接收到所述非安全操作系统的调用应用指令时,根据所述调用应用指令包含的调用参数加载与所述调用参数对应的安全操作系统的对应应用。
根据本发明实施例的第二方面,公开了一种面向终端安全的双系统引导装置,所述终端包括安全操作系统与非安全操作系统,所述安全操作系统运行于安全执行环境中,所述非安全操作系统运行于非安全执行环境中,所述装置包括:
第一执行单元,用于执行所述安全操作系统的至少部分引导工作,在对所述安全操作系统的内存管理单元初始化之前,暂停对其引导;
第二执行单元,用于执行所述非安全操作系统的引导工作直到所述非安全操作系统的内核加载完毕;其中,在执行所述非安全操作系统的引导工作的过程中,执行所述非安全操作系统的内存管理单元的初始化处理;
交互引导单元,用于利用统一的服务入口实现所述安全操作系统和所述非安全操作系统的交互,以使得所述安全操作系统和所述非安全操作系统引用彼此的服务功能以完成双系统引导。
优选地,所述第一执行单元具体用于:
进行所述安全操作系统的待加载镜像的真实性与完整性校验;
配置所述安全操作系统的可信资源。
优选地,所述交互引导单元包括:
第一加载单元,用于加载所述非安全操作系统的至少部分服务功能;
第二加载单元,用于执行所述安全操作系统的引导工作,直到所述安全操作系统的至少部分服务功能加载完毕;其中,在执行所述安全操作系统的引导工作的过程中,所述安全操作系统通过所述统一的服务入口引用所述非安全操作系统加载的所述至少部分服务功能;
第三加载单元,用于执行所述非安全操作系统的剩余引导工作,直到所述非安全操作系统加载完毕。
优选地,所述第三加载单元,具体用于在执行所述非安全操作系统的剩余引导工作的过程中,通过所述统一的服务入口引用所述安全操作系统加载的所述至少部分服务功能。
优选地,所述装置还包括:
应用加载单元,用于当接收到所述非安全操作系统的调用应用指令时,根据所述调用应用指令包含的调用参数加载与所述调用参数对应的安全操作系统的对应应用。
本发明实施例的一个方面能够达到的有益效果为:在本发明实施例中,在进行面向终端安全的双系统引导时,首先执行安全操作系统的至少部分引导工作,在对所述安全操作系统的内存管理单元初始化之前,暂停对其引导,然后执行非安全操作系统的引导工作并对非安全操作系统的内存管理单元进行初始化,在加载完非安全操作系统的内核后,利用统一的服务入口实现所述安全操作系统和所述非安全操作系统的交互,以使得所述安全操作系统和所述非安全操作系统引用彼此的服务功能以完成双系统引导。本发明实施例由于先对非安全操作系统的内存管理单元初始化,再对安全操作系统的内存管理单元初始化,由于安全操作系统的执行权限高于非安全操作系统的执行权限,因此大幅减少了非安全操作系统内存管理单元操作无效或异常的现象,降低安全操作系统和非安全系统的操作冲突,提高系统的可用性并减少了整个系统的引导时间,并减少了双系统在各平台上的移植工作,避免了非安全操作系统内核的碎片化,降低了系统开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术存在的双系统引导方法流程示意图;
图2为本发明实施例提供的一种面向终端安全的双系统引导方法流程示意图;
图3本发明实施例提供的又一种面向终端安全的双系统引导方法流程示意图;
图4本发明实施例提供的面向终端安全的双系统引导装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
首先对本发明的思想进行阐述。
在现有技术存在的双系统引导方法,是先引导安全操作系统等到安全操作系统完全运行后,再对非安全操作系统进行校验与引导。其具体实现可以参照图1所示的流程示意图,包括:
S101,在安全执行环境下(Secure World),安全操作系统引导初始化(Secure Boot)。
S102,待加载镜像校验与可信资源配置(Image Check and TrustedConfiguration)。
S103,安全操作系统(又可称为可信操作系统,Trusted OS)加载。
S104,安全操作系统应用(Trusted OS APP)加载。
S105,跳转到非安全执行环境(Non-Secure World),非安全操作系统引导初始化(Non-Secure Boot)。
S106,富操作系统内核(Rich OS Kernel)加载。
S107,富操作系统(Rich OS System)加载。
S108,富操作系统应用(Rich OS APP)加载。
发明人在实现本发明的过程中发现,现有技术存在的双系统引导方法适用于安全端采用较为简单的单进程系统场景,例如如裸机系统、ucos-II(一种可移植、可固化的、可裁剪的、占先式多任务实时内核,适用于多种微处理器、微控制器和数字处理芯片)等。然而,随着移动支付、数据隐私等市场的不断发展与成熟,在多数情况下安全端存在多个运营方,安全端本身也需要采用更高的安全隔离策略,并提供更多更方便的功能。目前业界中一个比较通用的做法是在安全端采用基于L4的安全微内核系统(但不局限于此),该类系统以能力集管理为核心提供一套基于硬件内存管理单元(MMU)的安全隔离机制,适用于上述复杂应用场景。然而,在这类双系统安全方案中,采用传统安全引导方式将会带来以下几个问题严重影响整体方案的推广与使用:
第一,双系统在不同平台的移植工作量将大幅度增加。其主要原因是由于安全操作系统完全初始化时,需要对内存管理单元(MMU)进行一些CPU敏感指令操作,该类操作会引起与非安全端操作系统的大量MMU操作无效和异常。因此,在双系统移植时,需要大范围修改非安全端操作系统内核代码(如Android kernel),并带来了非安全端操作系统内核的版本碎片化。
第二,双系统相互共享服务存在问题。在双系统引导的过程中,很多系统服务需要在系统引导或初始化时相互引用。例如,在安全端(即在安全执行环境下)引导及加载功能模式时可能需要非安全端(即在非安全执行环境下)提供Socket服务。传统引导方式只能够简单满足非安全端引用安全端服务情况,安全端在初始化过程中,由于非安全端操作系统未加载服务功能,因此不能够引用非安全端的服务功能。现有技术存在的方法不适合双系统服务相互引用情况,而随着安全端系统的不断演化,双系统服务相互引用的需求越来越多,由此带来很多问题。
第三,现有技术存在的方法系统引导时间明显增加。其主要原因是由于在安全端系统中存在较多安全应用,全部加载比较消耗时间。
综上所述,如何在保证安全的前提下有效解决上述问题成为了双系统安全方案中的关键。
基于此,本发明公开了一种面向终端安全的双系统引导方法和装置,可以降低安全操作系统和非安全系统的操作冲突,降低系统开销。
参见图2,为本发明实施例提供的一种面向终端安全的双系统引导方法流程示意图,所述方法应用于终端,所述终端包括安全操作系统与非安全操作系统,所述安全操作系统运行于安全执行环境中,所述非安全操作系统运行于非安全执行环境中,所述方法包括:
S201,执行所述安全操作系统的至少部分引导工作,在对所述安全操作系统的内存管理单元初始化之前,暂停对其引导。
本发明具体实现时,可以将双系统引导工作分为两个引导阶段。在第一个引导阶段中,执行所述安全操作系统的至少部分引导工作,在对所述安全操作系统的内存管理单元初始化之前,暂停对其引导。具体实现时,第一个引导阶段从CPU上电开始,进行所述安全操作系统的待加载镜像的真实性与完整性校验;配置所述安全操作系统的可信资源。
但与现有技术存在的引导方法不同的是,本发明实施例在安全操作系统(又可以称为可信操作系统)内存管理单元MMU初始化之前暂停对其引导,并跳转到非安全端对非安全操作系统(例如富操作系统Rich OS)进行引导。
S202,执行所述非安全操作系统的引导工作直到所述非安全操作系统的内核加载完毕;其中,在执行所述非安全操作系统的引导工作的过程中,执行所述非安全操作系统的内存管理单元的初始化处理。
本发明实施例中的第二阶段引导工作从对执行所述非安全操作系统的引导工作直到所述非安全操作系统的内核加载完毕开始,然后执行步骤S203中双系统的交互以完成双系统引导。其中,在执行所述非安全操作系统的内核加载的过程中,执行所述非安全操作系统的内存管理单元的初始化处理,这时涉及到大量的内存管理单元的操作。
通过这种引导方法,非安全端的非安全操作系统MMU操作无效与异常现象大幅度减少,这是因为按照本发明所提出的引导方式,非安全端操作系统MMU将会先行初始化,早于安全操作系统的内存管理单元初始化过程,由于安全端可信操作系统的执行权限要高于非安全端的非安全操作系统,因此大幅减少了非安全操作系统内存管理单元MMU操作无效或异常的现象,降低安全操作系统和非安全系统的操作冲突,并减少了双系统在各平台上的移植工作,避免了非安全操作系统内核的碎片化,降低了系统开销。
S203,利用统一的服务入口实现所述安全操作系统和所述非安全操作系统的交互,以使得所述安全操作系统和所述非安全操作系统引用彼此的服务功能以完成双系统引导。
具体实现时,步骤S203可以包括:
S203A,加载所述非安全操作系统的至少部分服务功能。
其中,加载的所述非安全操作系统的至少部分服务功能为在执行所述安全操作系统的引导工作的过程中被所述安全操作系统引用的服务功能。具体地,在非安全执行环境下,非安全操作系统将初始化一些安全操作系统需要使用的必要服务功能,例如socket等,以供安全操作系统引导过程中使用。然后,系统将跳转到安全执行环境,继续加载安全操作系统。
S203B,执行所述安全操作系统的引导工作,直到所述安全操作系统的至少部分服务功能加载完毕;其中,在执行所述安全操作系统的引导工作的过程中,所述安全操作系统通过所述统一的服务入口引用所述非安全操作系统加载的所述至少部分服务功能。
在执行所述安全操作系统的引导工作的过程中,所述安全操作系统通过所述统一的服务入口引用所述非安全操作系统的加载的部分服务功能。安全操作系统和非安全操作系统将可能存在若干次交互直到安全操作系统全部加载完毕。其中,所述安全操作系统的至少部分服务功能为所述非安全操作系统引导过程中需要使用的功能。
S203C,执行所述非安全操作系统的剩余引导工作,直到所述非安全操作系统加载完毕。
在加载完安全操作系统后,将执行所述非安全操作系统的剩余引导工作,直到所述非安全操作系统加载完毕。类似地,在非安全操作系统引导与加载过程中,可能需要使用到安全操作系统的服务功能,非安全操作系统和安全操作系统将可能存在若干次交互直到非安全操作系统全部加载完毕。需要说明的是,在执行所述安全操作系统的引导工作的过程中,加载所述安全操作系统的至少部分服务功能;在执行所述非安全操作系统的剩余引导工作的过程中,所述非安全操作系统通过所述统一的服务入口引用所述安全操作系统的所述至少部分服务功能。
由此,即完成了双系统的引导工作。在本发明具体实现时,在第二阶段引导中,采用双系统相互共享服务功能的方法可以更有效地划分安全操作系统与非安全操作系统的功能边界,即将高安全、低开销的功能操作放到安全执行环境(如SE、加解密),将低安全,高开销的功能操作放到非安全执行环境(如Socket),两端通过统一的服务入口进行相互调用,从而在保证安全的前提下,缩减安全端开销与系统规模,减少安全认证成本。
进一步地,本发明实施例提供的方法还可以包括:当接收到所述非安全操作系统的调用应用指令时,根据所述调用应用指令包含的调用参数加载与所述调用参数对应的安全操作系统的对应应用。
需要说明的是,在本发明实施例提供的双系统引导方法中,与现有技术不同的是,在双系统引导过程中,并不先加载安全操作系统的应用程序,而是采用按需加载的方式,延迟加载安全应用,所述案应用的加载工作不包含在双系统引导过程中。当非安全操作系统通过安全操作系统的应用入口发送调用应用指令以进行应用调用时,安全操作系统将实时解析非安全操作系统的调用应用指令包含的调用参数,按需加载与所述调用参数对应的被调用安全应用。安全应用执行完完毕后随即挂起,同时返回非安全操作系统并等待下一次调用。通过采用本发明所提出的安全应用按需延迟加载方式,可以有效减少双系统引导时间,增加用户体验,并且由于每次调用采用按需加载的方式,有效的减少了安全操作系统的内存开销。
参见图3,本发明实施例提供的又一种面向终端安全的双系统引导方法流程示意图。
图3所示的实施例将以非安全操作系统为富操作系统为例进行说明。
S301,在安全执行环境下(Secure World),安全操作系统引导初始化(Secure Boot)。
S302,进行所述安全操作系统的待加载镜像的真实性与完整性校验以及配置所述安全操作系统的可信资源(Image Check and Trusted Configuration)。
S303,跳转到非安全执行环境(Non-Secure World),非安全操作系统引导初始化(Non-Secure Boot)。
S304,富操作系统内核(Rich OS Kernel)加载。
S305,富操作系统服务功能加载,其中所述服务功能为安全操作系统引导与加载所需功能。
S306,跳转到安全执行环境,执行安全操作系统的引导工作,在此过程中,引用富操作系统的服务功能。
S307,加载安全操作系统的服务功能,所述服务功能可以被非安全操作系统引用,用于所述非安全操作系统的引导与加载工作。
S308,富操作系统(Rich OS System)加载。
S309,富操作系统应用(Rich OS APP)加载,向安全操作系统发送调用应用指令。
S310,按照所述调用指令按需加载安全应用。
在本发明的一种应用场景中,采用ARM v7A处理器平台,所述富操作系统(Rich OS)为Android 4.2系统,所述安全操作系统(Trusted OS)采用L4Microkernel系统,能够在保证安全的前提下达到以下效果:
1.由于采用本发明提出的两阶段引导方式,非安全操作系统的MMU操作冲突明显减少,富操作系统内核修改工作大大减少,有效减少了双系统整体移植工作量。
2.基于本发明提出的两阶段引导方式以及新型的双系统相互共享服务方法,明确了安全端与非安全端功能的划分边界,有效地缩减了安全端开销与系统规模,减少安全认证成本。
3.由于本发明中安全应用采用延迟按需加载方式,有效地减少了双系统引导时间,增加了用户体验,并有效的减少了安全端内存开销,缩减安全成本。
参见图4,本发明实施例提供的面向终端安全的双系统引导装置示意图。
一种面向终端安全的双系统引导装置400,所述终端包括安全操作系统与非安全操作系统,所述安全操作系统运行于安全执行环境中,所述非安全操作系统运行于非安全执行环境中,所述装置400包括:
第一执行单元401,用于执行所述安全操作系统的至少部分引导工作,在对所述安全操作系统的内存管理单元初始化之前,暂停对其引导。
第二执行单元402,用于执行所述非安全操作系统的引导工作直到所述非安全操作系统的内核加载完毕;其中,在执行所述非安全操作系统的引导工作的过程中,执行所述非安全操作系统的内存管理单元的初始化处理。
交互引导单元403,用于利用统一的服务入口实现所述安全操作系统和所述非安全操作系统的交互,以使得所述安全操作系统和所述非安全操作系统引用彼此的服务功能以完成双系统引导。
优选地,所述第一执行单元具体用于:
进行所述安全操作系统的待加载镜像的真实性与完整性校验;
配置所述安全操作系统的可信资源。
优选地,所述交互引导单元包括:
第一加载单元,用于加载所述非安全操作系统的至少部分服务功能;
第二加载单元,用于执行所述安全操作系统的引导工作,直到所述安全操作系统的至少部分服务功能加载完毕;其中,在执行所述安全操作系统的引导工作的过程中,所述安全操作系统通过所述统一的服务入口引用所述非安全操作系统加载的所述至少部分服务功能;
第三加载单元,用于执行所述非安全操作系统的剩余引导工作,直到所述非安全操作系统加载完毕。
优选地,所述第三加载单元,具体用于在执行所述非安全操作系统的剩余引导工作的过程中,通过所述统一的服务入口引用所述安全操作系统加载的所述至少部分服务功能。
优选地,所述装置还包括:
应用加载单元,用于当接收到所述非安全操作系统的调用应用指令时,根据所述调用应用指令包含的调用参数加载与所述调用参数对应的安全操作系统的对应应用。
需要说明的是,上述各单元的功能可对应于图2至图3所详细描述的上述方法的处理步骤,于此不再赘述。需要说明的是,由于对方法实施例进行详细的阐述,对装置实施例的描述较为简单,本领域技术人员可以理解的是,可以参照方法实施例构造本发明的装置实施例。本领域技术人员在不付出创造性劳动下获取的其他实现方式均属于本发明的保护范围。
本领域技术人员可以理解的是,以上对方法和装置实施例进行了示例性说明,以上不视为对本发明的限制,本领域技术人员在不付出创造性劳动下获得的其他实现方式均属于本发明的保护范围。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种面向终端安全的双系统引导方法,其特征在于,所述方法应用于终端,所述终端包括安全操作系统与非安全操作系统,所述安全操作系统运行于安全执行环境中,所述非安全操作系统运行于非安全执行环境中,所述方法包括:
执行所述安全操作系统的至少部分引导工作,在对所述安全操作系统的内存管理单元初始化之前,暂停对其引导;
执行所述非安全操作系统的引导工作直到所述非安全操作系统的内核加载完毕;其中,在执行所述非安全操作系统的引导工作的过程中,执行所述非安全操作系统的内存管理单元的初始化处理;
利用统一的服务入口实现所述安全操作系统和所述非安全操作系统的交互,以使得所述安全操作系统和所述非安全操作系统引用彼此的服务功能以完成双系统引导。
2.根据权利要求1所述的方法,其特征在于,所述执行所述安全操作系统的至少部分引导工作包括:
进行所述安全操作系统的待加载镜像的真实性与完整性校验;
配置所述安全操作系统的可信资源。
3.根据权利要求1所述的方法,其特征在于,所述利用统一的服务入口实现所述安全操作系统和所述非安全操作系统的交互,以使得所述安全操作系统和所述非安全操作系统引用彼此的服务功能以完成双系统引导包括:
加载所述非安全操作系统的至少部分服务功能;
执行所述安全操作系统的引导工作,直到所述安全操作系统的至少部分服务功能加载完毕;其中,在执行所述安全操作系统的引导工作的过程中,所述安全操作系统通过所述统一的服务入口引用所述非安全操作系统加载的所述至少部分服务功能;
执行所述非安全操作系统的剩余引导工作,直到所述非安全操作系统加载完毕。
4.根据权利要求3所述的方法,其特征在于,在执行所述非安全操作系统的剩余引导工作的过程中,所述非安全操作系统通过所述统一的服务入口引用所述安全操作系统加载的所述至少部分服务功能。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述非安全操作系统的调用应用指令时,根据所述调用应用指令包含的调用参数加载与所述调用参数对应的安全操作系统的对应应用。
6.一种面向终端安全的双系统引导装置,其特征在于,所述终端包括安全操作系统与非安全操作系统,所述安全操作系统运行于安全执行环境中,所述非安全操作系统运行于非安全执行环境中,所述装置包括:
第一执行单元,用于执行所述安全操作系统的至少部分引导工作,在对所述安全操作系统的内存管理单元初始化之前,暂停对其引导;
第二执行单元,用于执行所述非安全操作系统的引导工作直到所述非安全操作系统的内核加载完毕;其中,在执行所述非安全操作系统的引导工作的过程中,执行所述非安全操作系统的内存管理单元的初始化处理;
交互引导单元,用于利用统一的服务入口实现所述安全操作系统和所述非安全操作系统的交互,以使得所述安全操作系统和所述非安全操作系统引用彼此的服务功能以完成双系统引导。
7.根据权利要求6所述的装置,其特征在于,所述第一执行单元具体用于:
进行所述安全操作系统的待加载镜像的真实性与完整性校验;
配置所述安全操作系统的可信资源。
8.根据权利要求6所述的装置,其特征在于,所述交互引导单元包括:
第一加载单元,用于加载所述非安全操作系统的至少部分服务功能;
第二加载单元,用于执行所述安全操作系统的引导工作,直到所述安全操作系统的至少部分服务功能加载完毕;其中,在执行所述安全操作系统的引导工作的过程中,所述安全操作系统通过所述统一的服务入口引用所述非安全操作系统加载的所述至少部分服务功能;
第三加载单元,用于执行所述非安全操作系统的剩余引导工作,直到所述非安全操作系统加载完毕。
9.根据权利要求8所述的装置,其特征在于,所述第三加载单元,具体用于在执行所述非安全操作系统的剩余引导工作的过程中,通过所述统一的服务入口引用所述安全操作系统加载的所述至少部分服务功能。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
应用加载单元,用于当接收到所述非安全操作系统的调用应用指令时,根据所述调用应用指令包含的调用参数加载与所述调用参数对应的安全操作系统的对应应用。
CN201410848638.0A 2014-12-29 2014-12-29 一种面向终端安全的双系统引导方法和装置 Active CN104598841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410848638.0A CN104598841B (zh) 2014-12-29 2014-12-29 一种面向终端安全的双系统引导方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410848638.0A CN104598841B (zh) 2014-12-29 2014-12-29 一种面向终端安全的双系统引导方法和装置

Publications (2)

Publication Number Publication Date
CN104598841A true CN104598841A (zh) 2015-05-06
CN104598841B CN104598841B (zh) 2017-11-28

Family

ID=53124618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410848638.0A Active CN104598841B (zh) 2014-12-29 2014-12-29 一种面向终端安全的双系统引导方法和装置

Country Status (1)

Country Link
CN (1) CN104598841B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867429A (zh) * 2015-11-19 2016-08-17 中国工程物理研究院应用电子学研究所 多节点目标跟踪互引导装置与方法
CN107168747A (zh) * 2017-05-27 2017-09-15 努比亚技术有限公司 移动终端配置的区分方法、装置及计算机可读存储介质
CN108804927A (zh) * 2018-06-15 2018-11-13 郑州信大壹密科技有限公司 基于国产自主双系统架构的可信计算机平台
CN109426523A (zh) * 2017-08-18 2019-03-05 厦门雅迅网络股份有限公司 双系统启动方法及计算机可读存储介质
CN109906427A (zh) * 2016-08-25 2019-06-18 郑在落 在锁定、中间和解锁模式的数据处理终端及其相关方法
CN110781528A (zh) * 2019-09-26 2020-02-11 深圳金澜汉源科技有限公司 协同安全操作系统架构、操作系统和电子设备
CN114168203A (zh) * 2020-09-10 2022-03-11 成都鼎桥通信技术有限公司 双系统运行状态控制方法、装置和电子设备

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1711524A (zh) * 2002-11-18 2005-12-21 Arm有限公司 在安全模式和非安全模式间切换的处理器
CN1808385A (zh) * 2006-01-20 2006-07-26 北京朗通环球科技有限公司 一种嵌入式系统的引导系统
CN101122936A (zh) * 2007-09-21 2008-02-13 武汉大学 一种可信机制上的嵌入式平台引导
CN101515316A (zh) * 2008-02-19 2009-08-26 北京工业大学 一种可信计算终端及可信计算方法
CN102024109A (zh) * 2010-12-02 2011-04-20 清华大学 基于MetaOS技术的操作系统安全性检查方法
US20110271090A1 (en) * 2002-11-27 2011-11-03 Zimmer Vincent J Providing a secure execution mode in a pre-boot environment
CN102332070A (zh) * 2011-09-30 2012-01-25 中国人民解放军海军计算技术研究所 一种可信计算平台的信任链传递方法
CN102436566A (zh) * 2012-01-12 2012-05-02 冶金自动化研究设计院 一种动态可信度量方法及安全嵌入式系统
US20130031538A1 (en) * 2011-07-28 2013-01-31 International Business Machines Corporation Updating Secure Pre-boot Firmware In A Computing System In Real-time
CN103049694A (zh) * 2013-01-14 2013-04-17 上海慧银信息科技有限公司 一种智能金融交易终端的核心安全架构实现方法
CN103150514A (zh) * 2013-03-07 2013-06-12 中国科学院软件研究所 一种基于移动设备的可信模块及其可信服务方法
US20130254523A1 (en) * 2010-05-28 2013-09-26 Dell Products, Lp System and Method for Supporting Full Volume Encryption Devices in a Client Hosted Virtualization System
CN103514414A (zh) * 2012-06-26 2014-01-15 上海盛轩网络科技有限公司 一种基于ARM TrustZone的加密方法及加密系统
CN103886267A (zh) * 2012-12-20 2014-06-25 联想(北京)有限公司 内外网隔离切换方法、装置、芯片、计算机主板和计算机
CN103914658A (zh) * 2013-01-05 2014-07-09 展讯通信(上海)有限公司 终端设备的安全启动方法及终端设备

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1711524A (zh) * 2002-11-18 2005-12-21 Arm有限公司 在安全模式和非安全模式间切换的处理器
US20110271090A1 (en) * 2002-11-27 2011-11-03 Zimmer Vincent J Providing a secure execution mode in a pre-boot environment
CN1808385A (zh) * 2006-01-20 2006-07-26 北京朗通环球科技有限公司 一种嵌入式系统的引导系统
CN101122936A (zh) * 2007-09-21 2008-02-13 武汉大学 一种可信机制上的嵌入式平台引导
CN101515316A (zh) * 2008-02-19 2009-08-26 北京工业大学 一种可信计算终端及可信计算方法
US20130254523A1 (en) * 2010-05-28 2013-09-26 Dell Products, Lp System and Method for Supporting Full Volume Encryption Devices in a Client Hosted Virtualization System
CN102024109A (zh) * 2010-12-02 2011-04-20 清华大学 基于MetaOS技术的操作系统安全性检查方法
US20130031538A1 (en) * 2011-07-28 2013-01-31 International Business Machines Corporation Updating Secure Pre-boot Firmware In A Computing System In Real-time
CN102332070A (zh) * 2011-09-30 2012-01-25 中国人民解放军海军计算技术研究所 一种可信计算平台的信任链传递方法
CN102436566A (zh) * 2012-01-12 2012-05-02 冶金自动化研究设计院 一种动态可信度量方法及安全嵌入式系统
CN103514414A (zh) * 2012-06-26 2014-01-15 上海盛轩网络科技有限公司 一种基于ARM TrustZone的加密方法及加密系统
CN103886267A (zh) * 2012-12-20 2014-06-25 联想(北京)有限公司 内外网隔离切换方法、装置、芯片、计算机主板和计算机
CN103914658A (zh) * 2013-01-05 2014-07-09 展讯通信(上海)有限公司 终端设备的安全启动方法及终端设备
CN103049694A (zh) * 2013-01-14 2013-04-17 上海慧银信息科技有限公司 一种智能金融交易终端的核心安全架构实现方法
CN103150514A (zh) * 2013-03-07 2013-06-12 中国科学院软件研究所 一种基于移动设备的可信模块及其可信服务方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
王熙友: ""ARMTrustZone安全隔离技术研究与应用",", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
祖丹 等: ""基于ARM946E—S的嵌入式系统初始化设计"", 《微处理机》 *
荣菲: ""移动缴费终端安全系统架构的设计和实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
陈天山: ""嵌入式系统安全引导机制的设计与硬件实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867429A (zh) * 2015-11-19 2016-08-17 中国工程物理研究院应用电子学研究所 多节点目标跟踪互引导装置与方法
CN109906427A (zh) * 2016-08-25 2019-06-18 郑在落 在锁定、中间和解锁模式的数据处理终端及其相关方法
CN109906427B (zh) * 2016-08-25 2022-10-28 郑在落 在锁定、中间和解锁模式的数据处理终端及其相关方法
CN107168747A (zh) * 2017-05-27 2017-09-15 努比亚技术有限公司 移动终端配置的区分方法、装置及计算机可读存储介质
CN107168747B (zh) * 2017-05-27 2020-12-29 努比亚技术有限公司 移动终端配置的区分方法、装置及计算机可读存储介质
CN109426523A (zh) * 2017-08-18 2019-03-05 厦门雅迅网络股份有限公司 双系统启动方法及计算机可读存储介质
CN109426523B (zh) * 2017-08-18 2022-12-06 厦门雅迅网络股份有限公司 基于trustzone技术的双系统启动方法及计算机可读存储介质
CN108804927A (zh) * 2018-06-15 2018-11-13 郑州信大壹密科技有限公司 基于国产自主双系统架构的可信计算机平台
CN108804927B (zh) * 2018-06-15 2021-08-10 郑州信大壹密科技有限公司 基于国产自主双系统架构的可信计算机平台
CN110781528A (zh) * 2019-09-26 2020-02-11 深圳金澜汉源科技有限公司 协同安全操作系统架构、操作系统和电子设备
CN114168203A (zh) * 2020-09-10 2022-03-11 成都鼎桥通信技术有限公司 双系统运行状态控制方法、装置和电子设备
CN114168203B (zh) * 2020-09-10 2024-02-13 成都鼎桥通信技术有限公司 双系统运行状态控制方法、装置和电子设备

Also Published As

Publication number Publication date
CN104598841B (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
CN104598841A (zh) 一种面向终端安全的双系统引导方法和装置
CN105068932B (zh) 一种Android应用程序加壳的检测方法
CN103748594B (zh) 针对arm*trustzonetm实现的基于固件的可信平台模块
CN105138382B (zh) 一种Android系统升级的方法及终端
CN103646214B (zh) 一种在配电终端中建立可信环境的方法
Malallah et al. A comprehensive study of kernel (issues and concepts) in different operating systems
CN102262557B (zh) 通过总线架构构建虚拟机监控器的方法及性能服务框架
CN105393258B (zh) 用于提供对图形处理单元的安全访问控制的系统和方法
US20130179870A1 (en) Updating firmware in a hybrid computing environment
CN103379481B (zh) 一种实现安全防护的方法
CN105138905A (zh) Linux应用程序的隔离运行方法
CN102930202A (zh) 在Linux系统中执行操作的方法
CN105975816A (zh) 移动终端下基于虚拟技术的代码保护方法及系统
CN113239329B (zh) 一种用于移动端应用程序的可信执行环境的实现系统
US20130227556A1 (en) Guest-driven host execution
CN105159738A (zh) 一种热补丁实现方法及系统
CN105630534A (zh) 基于TrustZone架构的应用程序执行方法、装置和终端
CN110945475A (zh) 用于提供可打补丁的rom固件的系统和方法
Misra et al. Android security: attacks and defenses
CN108460282A (zh) 一种基于异构多核芯片的计算机安全启动方法
CN109753793A (zh) 一种热补丁方法及热补丁装置
US9881151B2 (en) Providing selective system privileges on an information handling device
CN103473132A (zh) 一种使用双存储芯片实现智能设备的双系统启动的方法
CN105224403B (zh) 一种中断处理方法及装置
CN107066331B (zh) 一种基于TrustZone的资源分配方法及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant