一种基于Android系统的启动过程完整性度量检测方法技术方案

技术编号:22167691 阅读:68 留言:0更新日期:2019-09-21 10:55
本发明专利技术公开了一种基于Android系统的启动过程完整性度量检测方法,从加电开始,可信度量根CRTM引导Bootloader并验证其完整性,采用安全散列算法SHA‑1对Bootloader运算,将得到的实际度量值与RIM证书中的RIM值进行比对,如果对比结果一致,将结果存入平台配置寄存器存储可信根中;然后CRTM将控制权移交给Bootloader;在Bootloader度量内核过程中,利用信任度量模型得出对于内核的综合度量值TValue,最终达到整个Android系统的可信。本发明专利技术解决了现有技术中存在的可信计算中完整性度量架构过于复杂、难以扩展以及没有体现行为可信的问题。

A Start-up Process Integrity Measurement Method Based on Android System

【技术实现步骤摘要】
一种基于Android系统的启动过程完整性度量检测方法
本专利技术属于移动智能终端
,具体涉及一种基于Android系统的启动过程完整性度量检测方法。
技术介绍
Android系统是目前应用最广泛的移动操作系统。Android系统最大的特点是具有较强的开放性,各个厂家都可以根据自己需求来定制系统;第三方应用的安装比较便捷,没有太多限制,这一点也是促使安卓系统持续发展的核心因素。而Android移动智能终端在为用户提供便利的同时,也造成了严重的安全隐患,比如:终端存储的个人信息、密码等已经成为攻击者的主要目标,短信内容、联系人列表、通话记录等信息容易被窃取。Android应用程序是以消息驱动起来的,驱动起来的应用程序离不开触摸机制的配合,由此可见触摸机制在Android系统中占有举足轻重的地位。从2010年发现首个Android木马程序以来,Android下的恶意软件数量急速增长,给用户的数据安全带来难以预测的风险。伴随着Android系统恶意代码的增多,触摸机制就成为攻击者选择的对象。触摸机制是操作所有客户端应用程序的前提,因此,检测触摸机制核心代码的完整性,可以有效的防止触摸机制植入恶意代码,保证用户数据的安全性。Android系统中的恶意代码往往不会让用户轻易发现,通常将恶意代码植入系统层,比运行在应用层的恶意软件更具有隐蔽性。更有严重的会对手机的硬件设备进行调用,进行偷拍、录音录像等等。因此,对于提高Android系统的安全性、防止隐私信息泄露给用户带来重要的意义。可信计算(TrustedComputing)是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性。可信计算的概念最早出现在美国的彩虹系列信息系统安全的相关文件中,世界领先的IT巨头企业IBM、惠普、英特尔以及微软联合发起并建立了可信计算平台联盟(TrustedComputingPlatformAlliance,简称为TCPA),可信计算平台联盟的成立也标志着可信计算技术的基础研究和产业化进入一个全新的发展阶段。在2003年,可信计算平台联盟改名并重组成为可信计算组织(TrustedComputingGroup,简称为TCG),可信计算组织的出现同时也推动了可信计算技术研究和应用想着更高层次发展。可信计算平台联盟和可信计算组织自成立以来已经研究并确定了多种关于可信计算平台、可信存储以及可信网络连接等关于可信计算技术规范。可信计算技术属于一种全新的信息系统安全技术,在Android移动智能终端中应用的原理是把安全芯片架构引入到移动终端的硬件平台上,从而提高安卓终端的安全性和可靠性,这一点正好弥补了Android系统开放特性带来的缺陷。大量应用实例表明,可信移动平台的研发是可信计算技术发展的里程碑,Intel和IBM公司在2004年就提出了可信移动平台的研发,并设立相应协议,大大提高了移动智能终端的安全性。就其结构特性而言,可信移动平台是一种具有密码运算能力和存储功能的系统,通过加密、认证、密钥等体系进一步保证移动智能终端的安全性,可有效解决Android移动智能终端一直面临的安全问题。
技术实现思路
本专利技术的目的是提供一种基于Android系统的启动过程完整性度量检测方法,解决了现有技术中存在的可信计算中完整性度量架构过于复杂、难以扩展以及没有体现行为可信的问题。本专利技术所采用的技术方案是,一种基于Android系统的启动过程完整性度量检测方法,包括以下步骤:从加电开始,可信度量根CRTM引导Bootloader并验证其完整性,Bootloader是系统启动前的引导程序;采用安全散列算法SHA-1对Bootloader运算得到实际度量值,将得到的实际度量值与RIM证书中的RIM值进行比对,如果对比结果一致,将结果存入平台配置寄存器存储可信根中;然后CRTM将控制权移交给Bootloader;若比对结果不同,则开机失败,并将检验报告发送给用户。在Bootloader度量内核的过程中,利用信任度量模型得出对于内核的综合度量值TValue,根据可信度阙值Tm,做出相应的信任决策,可信度阙值Tm用来作为信任决策的评判标准,如果系统内核是可信的,则TValue>Tm,则将结果存入平台配置寄存器存储可信根中,随后将控制权交给系统内核,否则系统无法继续启动,并将检验报告发送给用户,按照上述同样的方法,再对Android操作系统以及第三方应用程序进行度量,最终达到整个Android系统的可信。本专利技术的特点还在于,移动可信模块MTM规范了若干可信根,包括度量可信根RTM、存储可信根RTS、报告可信根RTR,其中RTM作为一个软件模块存入只读ROM中,在系统加电后第一个被执行且不可以被修改,用于MTM作为可信度量和验证的起点,存储可信根RTS和报告可信根RTR作为硬件模块包含于MTM之中,用于完整性存储和报告,MTM中还定义了参考完整性度量值RIM和RIM证书,RIM的值是要对实体的度量摘要,是提前写入信任根的安全存储区,是该实体符合期望的基准值,为每次系统完整性验证提供了参考依据,RIM证书是一个经过数字签名的完整性保护结构,里面包含着RIM的值,数字签名以及相关的一些附加信息。存储可信根RTS由可信平台度量配置寄存器PCR构成,PCR为160比特的存储位置,寄存器个数最少为16个,都存储在移动可信模块之中,它允许存储无限数量的度量值,还保持着度量的顺序,PCR保存着所有当前已经产生的度量值SHA-1的累积哈希值,160位的累积HASH值表示所有被度量过的组件完整性的状态。信任度量模型表示为{V,E},其中V表示节点集合,E表示边集合,节点集合V为有限集合{rt,T},rt表示根目标,即rt表示为{TValue,TCount},TValue表示对各子目标度量完成后得到的综合度量值,TCount表示子目标的个数,TCount取值为{0…m},当TCount=0,即为需要度量的最小目标,不可再分,目标集合T={t1,t2,…tn},t={Name,Type,TValue,TCount},Name表示目标的名称,Type表示目标类型,边集合E为组合关系,边集合E代表权重值,权值的取值范围[0,1],且满足归一条件。步骤1中度量具体如下:在Bootloader运行的过程中,Bootloader将系统内核映像ZImage和根文件系统映像Ramdisk.img从flash读到ARM中,当前控制权在Bootloader,对内核进行度量:将需要度量的系统内核设置为根目标rt,Android源码编译完成后产生ZImage、System.img、Ramdisk.img、Userdata.img、Recovery.img镜像,上述镜像包含Android启动与运行所需的文件与相关库,因而,对系统内核进行度量,即是对产生的所有镜像进行度量,在度量系统内核的过程中,将System.img、Ramdisk.img、ZImage、Recovery.img、Userdata.img镜像作为根目标的子目标;不同镜像的重要程度以及受到入侵的可能性各不相同,因而对不同镜像应赋予不同的权值,ZImage是内核映像,System.img为系统镜像,本文档来自技高网
...

【技术保护点】
1.一种基于Android系统的启动过程完整性度量检测方法,其特征在于,包括以下步骤:从加电开始,可信度量根CRTM引导Bootloader并验证其完整性,Bootloader是系统启动前的引导程序;采用安全散列算法SHA‑1对Bootloader运算得到实际度量值,将得到的实际度量值与RIM证书中的RIM值进行比对,如果对比结果一致,将结果存入平台配置寄存器存储可信根中;然后CRTM将控制权移交给Bootloader;若比对结果不同,则开机失败,并将检验报告发送给用户;在Bootloader度量内核的过程中,利用信任度量模型得出对于内核的综合度量值TValue,根据可信度阙值Tm,做出相应的信任决策,可信度阙值Tm用来作为信任决策的评判标准,如果系统内核是可信的,则TValue>Tm,则将结果存入平台配置寄存器存储可信根中,随后将控制权交给系统内核,否则系统无法继续启动,并将检验报告发送给用户,按照上述同样的方法,再对Android操作系统以及第三方应用程序进行度量,最终达到整个Android系统的可信。

【技术特征摘要】
1.一种基于Android系统的启动过程完整性度量检测方法,其特征在于,包括以下步骤:从加电开始,可信度量根CRTM引导Bootloader并验证其完整性,Bootloader是系统启动前的引导程序;采用安全散列算法SHA-1对Bootloader运算得到实际度量值,将得到的实际度量值与RIM证书中的RIM值进行比对,如果对比结果一致,将结果存入平台配置寄存器存储可信根中;然后CRTM将控制权移交给Bootloader;若比对结果不同,则开机失败,并将检验报告发送给用户;在Bootloader度量内核的过程中,利用信任度量模型得出对于内核的综合度量值TValue,根据可信度阙值Tm,做出相应的信任决策,可信度阙值Tm用来作为信任决策的评判标准,如果系统内核是可信的,则TValue>Tm,则将结果存入平台配置寄存器存储可信根中,随后将控制权交给系统内核,否则系统无法继续启动,并将检验报告发送给用户,按照上述同样的方法,再对Android操作系统以及第三方应用程序进行度量,最终达到整个Android系统的可信。2.根据权利要求1所述的一种基于Android系统的启动过程完整性度量检测方法,其特征在于,移动可信模块MTM规范了若干可信根,包括度量可信根RTM、存储可信根RTS、报告可信根RTR,其中RTM作为一个软件模块存入只读ROM中,在系统加电后第一个被执行且不可以被修改,用于MTM作为可信度量和验证的起点,存储可信根RTS和报告可信根RTR作为硬件模块包含于MTM之中,用于完整性存储和报告,MTM中还定义了参考完整性度量值RIM和RIM证书,RIM的值是要对实体的度量摘要,是提前写入信任根的安全存储区,是该实体符合期望的基准值,为每次系统完整性验证提供了参考依据,RIM证书是一个经过数字签名的完整性保护结构,里面包含着RIM的值,数字签名以及相关的一些附加信息。3.根据权利要求2所述的一种基于Android系统的启动过程完整性度量检测方法,其特征在于,存储可信根RTS由可信平台度量配置寄存器PCR构成,PCR为160比特的存储位置,寄存器个数最少为16个,都存储在移动可信模块之中,它允许存储无限数量的度量值,还保持着度量的顺序,PCR保存着所有当前已经产生的度量值SHA-1的累积哈希值,160位的累积HASH值表示所有被度量过的组件完整性的状态。4.根据权利要求1~3任一项所述的一种基于Android系统的启动过程完整性度量检测方法,其特征在于,信任度量模型表示为{V,E},其中V表示节点集合,E表示边集合,节点集合V为有限集合{rt,T},rt表示根目标,即rt表示为{TValue,TCount},TValue表示对各子目标度量完成后得到的综合度量值,TCount表示子目标的个数,TCount取值为{0…m},当TCount=0,即为需要度量的最小目标,不可再分,目标集合T={t1,t2,…tn},t={Name,Type,TValue,TCount},Name表示目标的名称,Type表示目标类型,边集合E为组合关系,边集合E代表权重值,权值的取值范围[0,1],且满足归一条件。5.根据权利要求4所述的一种基于Android系统的启动过程完整性度量检测方法,其特征在于,所述步骤1中度量具体如下:在Bootloader运行的过程中,Bootloader将系统内核映像ZImage和根文件系统映像Ramdisk.img从flash读到ARM中,当前控制权在Bootloader,对内核进行度量:将需要度量的系统内核设置为根目标rt,Android源码编译完成后产生ZImage、System....

【专利技术属性】
技术研发人员:黑新宏高文王一川王昌舒朱赫白彬彬张丽
申请(专利权)人:西安理工大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1