一种移动终端设备及系统状态记录方法与流程

文档序号:22125414发布日期:2020-09-04 17:14阅读:261来源:国知局
一种移动终端设备及系统状态记录方法与流程

本发明涉及移动终端状态记录方法技术领域,具体为一种移动终端设备及系统状态记录方法。



背景技术:

现阶段,移动终端及其场景化应用在行业应用方面效果凸显,在公安、交通、政法及其他行业的使用也越来越广泛,这类移动终端常常被定义为专用移动终端设备(如公安行业使用的手持式智能型移动警务终端设备)。随着专用移动终端设备的普及和国家对信息安全方面的法规和要求出台,这类移动终端设备的系统安全防护、状态监测及可靠性等方面的需求也日益显现。

现有移动终端设备的系统安全状态、安全防护更多是应用级的安全策略和措施(如应用沙箱),在系统级尤其是底层软硬件驱动层、开机加电、系统加载过程的安全状态记录和度量方面尚存在较大的技术方案缺陷,因此现有技术无法表述和报告在系统启动完成后可能受到的注入攻击、恶意应用、木马等攻击造成的终端状态改变及相应产生的安全风险,为此,我们提出一种移动终端设备及系统状态记录方法。



技术实现要素:

本发明的目的在于提供一种移动终端设备及系统状态记录方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种移动终端设备及系统状态记录方法,基于可信根被特殊设计的寄存器,将移动终端启动过程中各个阶段加载的软硬件信息进行不可复写和修改的保存,据此建立系统中所有启动过的软硬件资源记录。由于此记录仅在系统重启,电源重置时才能重置,所以即使系统存在漏洞,攻击者获取了系统权限,也无法抹消进行攻击前、攻击中的记录,从而达到鉴别终端状态的目的。此记录在从可信根导出时,能够通过可信根内置的密码设备及专用私钥进行签名,使记录具有不可伪造、不可抵赖、不可被中间人篡改的特性。

本发明的有效性依赖以下三个条件:

1、存在一种可信状态寄存器,该寄存器仅在系统重启,电源重置时才能被清空重置。系统运行过程中,该寄存器不接受复写和修改请求,仅能通过特定的接口进行扩展写入(或添加写入);

2、上述寄存器能够与密码设备及密码资源联动,对寄存器中存储的内容与外部输入的扩展信息(上层用户输入的数据)进行签名(密码设备中的用户或其它证书)。此签名流程及对应证书封装于可信根内部,不可被外部功能直接调用或修改;

3、系统加电或重启后,首先加载和引导的代码(以下称一级引导代码)不可被修改。

按我国可信计算相关技术方案及标准,以上三个条件可以由不同形态的可信根设备以不同的安全级别满足,本发明要求中的可信根功能框架如附图1所示。

本发明主要工作流程包括记录可信状态和生成可信静态状态报告两部分,流程如图4所示,其中按终端可信功能实现形态不同,记录可信状态有两种典型流程。

其一,在完整的、具备可信引导功能的可信终端上,具体步骤为:

步骤1:设备上电启动,最先加载运行的代码(记为一级引导代码),获取其所驱动的硬件id,将其写入可信状态寄存器中,之后,计算即将加载的工作代码(记为二级加载代码)的杂凑值,将其写入可信状态寄存器中,写入成功后加载二级加载代码并移交系统控制权;

步骤2:二级加载代码获取其所驱动的硬件id,将其写入可信状态寄存器中,之后,计算即将加载的后继工作代码(记为三级加载代码)的杂凑值,将其写入可信状态寄存器中;

步骤3:重复以上操作,直到移动终端的操作系统及核心服务加载完成。

其二,在通过对固件或软件改造实现的可信增强终端上,不具备建立完整可信支撑机制的条件,可由后续启动的程序反向度量已经执行程序,生成设备及系统状态记录。在此情况下,系统的安全防护能力等同于度量起始点的安全防护能力。其典型流程如下:

步骤1:设备上电启动,加载各种固件、软件并运行(记为第一至n级加载代码);

步骤2:至第n+1级加载时,可信模块启动,获取其所驱动的硬件id,将其写入可信状态寄存器中;

步骤3:可信模块依次计算已经加载的、第一至n级加载代码的杂凑值,并将其写入可信状态寄存器中;

步骤4:可信模块计算后继加载的第n+2级代码的杂凑值并写入可信状态寄存器,写入成功后加载并执行第n+2级代码,移交系统控制权;

步骤5:重复以上操作,直到移动终端的操作系统及核心服务加载完成。

以上步骤中“写入可信状态寄存器”操作包含扩展写和添加写两种方式,两种方式本身及基于此两种方式衍生的变化及组合方式均在本专利保护范围内。

其中,扩展写的步骤为:

步骤1:接收外部输入的、需要扩展写入的内容为w,读取可信状态寄存器内容,记为o;

步骤2:将需要扩展写入的内容w与读取的可信状态寄存器内容o进行组合,记为{o|w},并计算其杂凑值,记为h{o|w};

步骤3:将h{o|w}写入可信状态寄存器中,向外部返回写入操作是否成功。

添加写的步骤为:

步骤1:接收外部输入的、需要扩展写入的内容为w,读取可信状态寄存器目前已记录内容长度,记为l0;

步骤2:在寄存器已用内容的尾部(通常为距寄存器首部l0+1字符处),写入内容w;

步骤3:记算w的长度为wl,更新已记录内容长度为l0+wl,向外部返回写入操作是否成功。

生成可信静态状态报告流程如图6所示,具体步骤为:

步骤1:接收外部生成可信静态状态报告请求中的附加报告信息,记为a(此附加信息可以为空信息);

步骤2:读取可信状态寄存器内容,记为o,与外部附加报告信息组合,记为{o|a};

步骤3:调用移动终端可信静态状态报告私钥,对以上信息进行签名,记为sig{o|a};

步骤4:输出签名后的终端可信静态状态报告sig{o|a}给外部调用者,流程结束。

与现有技术相比,本发明的有益效果是:

1.本发明基于移动终端设备安装文件格式唯一、操作系统更新方式固定、系统更新内容及顺序固定的特性,一方面将获取可信状态的逻辑由被动调用改变为主动检查,增强了系统安全性及可配置性,同时进一步细化检查内容和增加检查点,在需要判断系统状态时,按加载时状态判断其当前状态,并将状态信息纳入可信静态状态报告,从而实现对出现的攻击的检测;

2.本发明能够基于可信根的可信寄存器扩展特性生成描述终端硬件状态和操作系统及底层系统服务(正常运行中,仅通过ota升级才能修改的底层软件)启动时的完整性状态的报告,此报告基于终端硬件id唯一表征终端身份,并记载系统启动过程中驱动的主要硬件和底层核心软件的完整性,同时,此报告由可信根设备内置证书进行签名保护,具有与第一级引导代码和可信根内部存储空间相同的安全强度及可靠性;

3.本发明公开的一种移动终端设备及系统状态的记录方法,通过移动终端硬件信息,系统中运行固件、软件的杂凑值来描述系统启动时状态,支持生成有密码保障、具备可信根安全防护强度的可信静态状态报告,并在报告中支持添加外部定义的扩展内容。通过此报告,管理者可以判断当前终端的可信状态,从而提高系统的安全性和受控性。

附图说明

图1为本发明可信根功能框架图;

图2为传统可信根结构框架图;

图3为传统技术的基于tpm的可信启动示意图;

图4为本发明主要工作流程图;

图5为本发明记录系统状态工作流程图;

图6为本发明生成可信静态状态报告工作流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

可信计算技术:一种基于专用软硬件,以密码为支撑,保障信息系统及应用状态可靠的信息安全技术。

可信软件基:一组基于可信根,实现对终端上硬件、操作系统、应用程序进行检查、度量的控制的可信软件模块的集合。

现有技术实现方案

请参阅图2和图3,现存的移动设备管理、在线资产管理、移动应用管理、远程接入管理等技术都需要对被管理设备的身份进行鉴别,但目前仅有可信计算技术能够进一步提供对被管理设备的状态鉴别,如图2所示,传统tcg标准中,通过可信根对系统从加电到启动完成的状态进行了记录,签名和报告机制,传统可信根结构框架图如图3所示,现有技术无法表述和报告在系统启动完成后可能受到的注入攻击、恶意应用、木马等攻击造成的终端状态改变及相应产生的安全风险。

本发明提供一种技术方案:一种移动终端设备及系统状态记录方法,基于可信根被特殊设计的寄存器,将移动终端启动过程中各个阶段加载的软硬件信息进行不可复写和修改的保存,据此建立系统中所有启动过的软硬件资源记录。由于此记录仅在系统重启,电源重置时才能重置,所以即使系统存在漏洞,攻击者获取了系统权限,也无法抹消进行攻击前、攻击中的记录,从而达到鉴别终端状态的目的。此记录在从可信根导出时,能够通过可信根内置的密码设备及专用私钥进行签名,使记录具有不可伪造、不可抵赖、不可被中间人篡改的特性。

本发明的有效性依赖以下三个条件:

1、存在一种可信状态寄存器,该寄存器仅在系统重启,电源重置时才能被清空重置。系统运行过程中,该寄存器不接受复写和修改请求,仅能通过特定的接口进行扩展写入(或添加写入);

2、上述寄存器能够与密码设备及密码资源联动,对寄存器中存储的内容与外部输入的扩展信息(上层用户输入的数据)进行签名(密码设备中的用户或其它证书)。此签名流程及对应证书封装于可信根内部,不可被外部功能直接调用或修改;

3、系统加电或重启后,首先加载和引导的代码(以下称一级引导代码)不可被修改。

按我国可信计算相关技术方案及标准,以上三个条件可以由不同形态的可信根设备以不同的安全级别满足,本发明要求中的可信根功能框架如附图1所示。

本发明主要工作流程包括记录可信状态和生成可信静态状态报告两部分,流程如图4所示,其中按终端可信功能实现形态不同,记录可信状态有两种典型流程。

其一,在完整的、具备可信引导功能的可信终端上,具体步骤为:

步骤1:设备上电启动,最先加载运行的代码(记为一级引导代码),获取其所驱动的硬件id,将其写入可信状态寄存器中,之后,计算即将加载的工作代码(记为二级加载代码)的杂凑值,将其写入可信状态寄存器中,写入成功后加载二级加载代码并移交系统控制权;

步骤2:二级加载代码获取其所驱动的硬件id,将其写入可信状态寄存器中,之后,计算即将加载的后继工作代码(记为三级加载代码)的杂凑值,将其写入可信状态寄存器中;

步骤3:重复以上操作,直到移动终端的操作系统及核心服务加载完成。

其二,在通过对固件或软件改造实现的可信增强终端上,不具备建立完整可信支撑机制的条件,可由后续启动的程序反向度量已经执行程序,生成设备及系统状态记录。在此情况下,系统的安全防护能力等同于度量起始点的安全防护能力。其典型流程如下:

步骤1:设备上电启动,加载各种固件、软件并运行(记为第一至n级加载代码);

步骤2:至第n+1级加载时,可信模块启动,获取其所驱动的硬件id,将其写入可信状态寄存器中;

步骤3:可信模块依次计算已经加载的、第一至n级加载代码的杂凑值,并将其写入可信状态寄存器中;

步骤4:可信模块计算后继加载的第n+2级代码的杂凑值并写入可信状态寄存器,写入成功后加载并执行第n+2级代码,移交系统控制权;

步骤5:重复以上操作,直到移动终端的操作系统及核心服务加载完成。

以上步骤中“写入可信状态寄存器”操作包含扩展写和添加写两种方式,两种方式本身及基于此两种方式衍生的变化及组合方式均在本专利保护范围内。

其中,扩展写的步骤为:

步骤1:接收外部输入的、需要扩展写入的内容为w,读取可信状态寄存器内容,记为o;

步骤2:将需要扩展写入的内容w与读取的可信状态寄存器内容o进行组合,记为{o|w},并计算其杂凑值,记为h{o|w};

步骤3:将h{o|w}写入可信状态寄存器中,向外部返回写入操作是否成功。

添加写的步骤为:

步骤1:接收外部输入的、需要扩展写入的内容为w,读取可信状态寄存器目前已记录内容长度,记为l0;

步骤2:在寄存器已用内容的尾部(通常为距寄存器首部l0+1字符处),写入内容w;

步骤3:记算w的长度为wl,更新已记录内容长度为l0+wl,向外部返回写入操作是否成功。

生成可信静态状态报告流程如图6所示,具体步骤为:

步骤1:接收外部生成可信静态状态报告请求中的附加报告信息,记为a(此附加信息可以为空信息);

步骤2:读取可信状态寄存器内容,记为o,与外部附加报告信息组合,记为{o|a};

步骤3:调用移动终端可信静态状态报告私钥,对以上信息进行签名,记为sig{o|a};

步骤4:输出签名后的终端可信静态状态报告sig{o|a}给外部调用者,流程结束。

实施例1

在移动终端设备上,以独立芯片形态实现可信根功能的实施方式。请参阅图5,所述可信状态记录流程包括以下步骤:。

步骤1:设备上电,可信根芯片先于cpu加电启动,并以主设备的形态接入系统总线;

步骤2:内置于可信根内部的一级引导代码主动获取二级加载代码(在移动终端中,通常为基础固件代码),计算其杂凑值后,写入可信根内部的可信状态寄存器;

步骤3:可信根释放总线控制权,cpu加电启动,加载并执行步骤3度量过的二级加载代码;

步骤4:二级加载代码获取主要硬件的id,写入可信根内部的可信状态寄存器;

步骤5:二级加载代码获取三级加载代码(在移动终端中,通常为引导程序uboot),计算其杂凑值后,写入可信根内部的可信状态寄存器;

步骤6:二级加载代码加载并执行步骤5度量过的三级加载代码;

步骤7:三级加载代码获取四级加载代码(在移动终端中,通常为trustzone的secureworld分区镜像),计算其杂凑值后,写入可信根内部的可信状态寄存器;

步骤8:三级加载代码加载并执行步骤7度量过的四级加载代码;

步骤9:四级加载代码获取五级加载代码(在移动终端中,通常为trustzone的normalworld中引导程序或boot分区镜像或kernel文件),计算其杂凑值后,写入可信根内部的可信状态寄存器;

步骤10:四级加载代码加载并执行步骤9度量过的五级加载代码;

步骤11:五级加载代码获取六级加载代码(在移动终端中,通常为normalworld中的system镜像或核心系统服务),计算其杂凑值后,写入可信根内部的可信状态寄存器;

步骤12:五级加载代码加载并执行步骤11度量过的六级加载代码,流程结束。

如图6所示,可信静态状态报告生成流程包括如下步骤:

步骤1:通过硬件io接口接收外部生成可信静态状态报告请求,记请求中的附加信息为a(此附加信息可以为空);

步骤2:(执行主体)读取可信根(硬件芯片)中可信状态寄存器内容,记为o,与外部附加报告信息组合,记为{o|a};

步骤3:(执行主体)调用可信根(密码硬件模块)中存储的移动终端可信静态状态报告私钥,对以上信息进行签名,记为sig{o|a};

步骤4:输出签名后的终端可信静态状态报告sig{o|a}给外部调用者,流程结束。

实施例2

本实施例提供一种在移动终端设备上,以板载密码芯片配合cpu可信执行环境(tee)机制实现可信根功能的实施方式。此种实施方式中,一级引导代码以可信执行环境中系统服务的形式实现,所述可信状态记录流程包括以下步骤:

步骤1:设备上电,cpu加电启动,依次加载并执行相应基础固件、可信执行环境中引导程序、可信执行环境中的内核和一级引导代码;

步骤2:一级引导代码获取主要硬件的id,写入可信根内部的可信状态寄存器;

步骤3:一级引导代码获取二级加载代码(在移动终端中,通常为trustzone的normalworld中引导程序或boot分区镜像或kernel文件),计算其杂凑值后,写入可信根内部的可信状态寄存器;

步骤4:二级加载代码加载并执行步骤3度量过的三级加载代码;

步骤5:三级加载代码获取四级加载代码(在移动终端中,通常为normalworld中的system镜像或核心系统服务),计算其杂凑值后,写入可信根内部的可信状态寄存器;

步骤6:二级加载程序加载并执行步骤5度量过的四级加载代码,流程结束。

所述可信静态状态报告生成流程包括如下步骤:

步骤1:通过tee对外通信(通常为teeclientapi)接口接收外部生成可信静态状态报告请求,记请求中的附加信息为a(此附加信息可以为空);

步骤2:读取可信根(可信执行环境的系统服务)中可信状态寄存器内容,记为o,与外部附加报告信息组合,记为{o|a};

步骤3:调用可信根(密码芯片)中存储的移动终端可信静态状态报告私钥,对以上信息进行签名,记为sig{o|a};

步骤4:输出签名后的终端可信静态状态报告sig{o|a}给外部调用者,流程结束。

实施例3

本实施例提供一种在移动终端设备上,以外部密码设备(如tf卡)配合可信软件模块可信根功能的实施方式。此种实施方式中,一级引导代码以系统引导程序或操作系统中内核驱动的形式实现,所述可信状态记录流程包括以下步骤:

步骤1:设备上电,cpu加电启动,依次加载并执行相应固件、软件,至外部密码设备驱动成功后加载一级引导代码;

步骤2:一级引导代码获取主要硬件的id,写入可信根内部的可信状态寄存器;

步骤3:一级引导代码获取当前系统的引导程序、内核文件,依序计算杂凑值,并写入可信根内部的可信状态寄存器;

步骤4:一级引导代码获取二级加载代码(在移动终端中,通常为normalworld中的system镜像或核心系统服务),计算其杂凑值后,写入可信根内部的可信状态寄存器;

步骤5:一级引导代码加载并执行步骤4度量过的三级加载代码,流程结束。

所述可信静态状态报告生成流程包括如下步骤:

步骤1:通过内核/应用通信接口(通常为系统调用的netlink或ioctl等)接收外部生成可信静态状态报告请求,记请求中的附加信息为a(此附加信息可以为空);

步骤2:读取可信根(内核驱动)中可信状态寄存器内容,记为o,与外部附加报告信息组合,记为{o|a};

步骤3:调用可信根(外部密码设备)中存储的移动终端可信静态状态报告私钥,对以上信息进行签名,记为sig{o|a};

步骤4:输出签名后的终端可信静态状态报告sig{o|a}给外部调用者,流程结束。

此外,本专利中除使用到相关通用技术之外,还包括以下技术和算法:

数字加密技术,一种利用数学算法将明文转变为不可能理解的密文和反过来将密文转变为可理解形式的明文的方法、手段和理论。

散列算法,一种把任意长度的输入通过散列算法变换成固定长度输出的转换技术,这种转换是单向、不可逆的,通常用于数据校验、数字签名和鉴权协议中。

说明:

tcg标准:可信平台模块规范(trustedplatformmodulespecifications)

tcg体系结构总体规范(architectureoverview)

国内可信计算标准:gb_t29828/信息安全技术/可信计算规范/可信连接架构。

可信根:可信根是可信计算技术依赖的硬件,通常包括密码核心、度量代码、受保护的存储空间等。

cpu:centralprocessingunit,中央处理器,是一台计算机的运算核心和控制核心。

ota:overtheair,空中下载。

tcg:trustedcomputinggroup,可信计算组织。

tee:trustedexecutionenvironment,可信执行环境。

tpm:trustedplatformmodule,可信平台模块。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1