一种基于ARMTrustZone的手机私密信息保险箱的制作方法_2

文档序号:9274868阅读:来源:国知局
全态且处于特权模式的软件改变,系统在非安全状态时不能访问SCR寄存器。安全环境的软件在安全态下运行,普通环境软件在非安全态下运行。因此,在切换执行环境时,同时需要改变系统的安全状态。
[0026]本发明采用快速中断FIQ来完成从非安全状态进入监控模式:FIQ默认为0,表示发生FIQ中断时处理进入中止模式,如果为1,表示发生FIQ中断时处理器进入监控模式。
[0027]如果安全环境的软件在非监控模式下直接将SCR的NS位设置为1,则系统直接进入非安全状态,这使得非安全状态有了看到正在流水线的指令,以及正在寄存器中的数据的可能。如果这些指令和数据都是敏感信息的话,这将给系统带来安全威胁。因此,通常只有处于监控模式下才可以直接修改SCR的NS位。
[0028]以下对本实施例的安全中断原理进行详细说明:
监控器有在没有任何执行环境的代码帮助下就能够直接捕获FIQ和IRQ的能力,这可以为安全中断源创建一个灵活的中断模型。当执行流到达监控器的时候,监控器能够将中断请求路由到相应的中断处理程序,如果和安全中断控制器结合起来就可以让安全中断源发出的中断不能被普通域软件操作。
[0029]本发明使用IRQ作为普通域的中断源,快速中断(FIQ)作为安全域的中断源。因为大多数的操作系统都采用IRQ作为中断源,采用FIQ作为安全中断源意味着对普通域操作系统的改动最少。如果中断发生在相应的执行环境,则不需要进行执行环境的切换,否则陷入到监控器中,由监控器切换执行环境。执行监控器代码的时候关中断。
[0030]运用本发明提供的一个基于ARM TrustZone的手机私密信息保险箱进行手机私密信息保险的方法,其实现过程是在普通域用户通过简单的操作即能实现手机私密文件加密保存到安全域中,在安全域中用户能安全运行应用程序。
[0031]请见图2,本实施例的手机私密文件加密保存到安全域,其具体实现包括以下步骤:
步骤1:用户登录手机客户端,点击传送文件按钮,标记文件后触发文件传送模式;步骤2:普通域使用内核中的TrustZone驱动(TrustZone Driver)发送快速中断(FIQ)、系统进入监控模式(Monitor Mode),同时冻结普通域CPU的寄存器的状态;
步骤3:监控模式(Monitor Mode)修改ARM处理器的安全配置寄存器(SCR)中的NS
位;
步骤4:从安全域利用文件传送机制根据标记找到要传送的文件,去除标记,传送到安全域的缓存中;
步骤5:利用ARM TrustZone的密钥,对传送来的文件数据采用利用ARM TrustZoneCPU的AES加密算法进行加密存储。
[0032]请见图3,本实施例的安全运行应用程序,其具体实现包括以下步骤:
步骤1:用户点击保险箱中的程序,触发切换操作;
步骤2:普通域使用内核中的TrustZone驱动(TrustZone Driver)发送快速中断(FIQ)、系统进入监控模式(Monitor Mode),同时冻结普通域的CPU的寄存器的状态;
步骤3:监控模式(Monitor Mode)修改ARM处理器的安全配置寄存器(SCR)中的NS位,将该位置0,进入安全域;
步骤4:安全域运行完整的Android操作系统,用户直接运行安装程序操作,运行应用程序;
步骤5:使用I/O监听函数对安全域内存中的文件读取进行监听,写入文件采用AES加密算法进行加密,读取文件则进行验证完整性和AES解密。
[0033]请见图4,本实施例的安全运行应用程序中切换操作,其具体实现过程包括以下子步骤:
步骤1.1:TrustZone驱动发出中断请求;
步骤1.2:中断请求被发送到ARM TrustZone的中断控制器TZIC中;
步骤1.3:由中断控制器TZIC判断请求中断的类型,发送相应的中断给ARM处理器;步骤1.4:根据中断类型发送到不同的ARM寄存器,将IRQ中断信号发送给当前运行状态寄存器(Current Program Status Register,CPSR),若是 FIQ,则进入监控模式;
步骤1.5:通过监控模式,访问安全配置寄存器(Seucre Configurat1n Register,SCR),将NS位置O,实现系统切换。
[0034]应当理解的是,本说明书未详细阐述的部分均属于现有技术。
[0035]应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
【主权项】
1.一种基于ARM TrustZone的手机私密信息保险箱,其特征在于:包括普通域操作系统(Rish OS)和安全域操作系统(Security OS);所述的普通域操作系统切换到安全域操作系统时,需使用到ARM TrustZone提供的监控模式(Minitor Mode),用户通过普通域操作系统发送快速中断(FIQ)进入监控模式,在监控模式下修改ARM处理器的安全配置寄存器(SCR)的NS位,将其置为0,使得CPU状态切换到安全域操作系统;在安全域用户能运行高安全需求的程序或进行手机私密文件存储,并在读取文件的时候利用ARM TrustZone CPU提供的加密功能对安全域的私密文件进行AES加解密。2.一种利用权利要求1所述的基于ARM TrustZone的手机私密信息保险箱进行手机私密信息保险的方法,其特征在于:在普通域用户通过简单的操作即能实现手机私密文件加密保存到安全域中,在安全域中用户能安全运行应用程序。3.根据权利要求2所述的方法,其特征在于:所述的手机私密文件加密保存到安全域中,其具体实现包括以下步骤: 步骤1:用户登陆手机客户端,点击传送文件按钮,标记文件后触发文件传送模式;步骤2:普通域使用内核中的TrustZone驱动(TrustZone Driver)发送快速中断(FIQ)、系统进入监控模式(Monitor Mode),同时冻结普通域CPU的寄存器的状态; 步骤3:监控模式(Monitor Mode)修改ARM处理器的安全配置寄存器(SCR)中的NS位; 步骤4:从安全域利用文件传送机制根据标记找到要传送的文件,去除标记,传送到安全域的缓存中; 步骤5:利用ARM TrustZone的密钥,对传送来的文件数据采用加密算法进行加密存储。4.根据权利要求3所述的方法,其特征在于:步骤5中所述的利用TrustZoneCPU提供的AES加密功能对安全域的文件进行加密。5.根据权利要求2所述的方法,其特征在于:所述的安全运行应用程序,其具体实现包括以下步骤: 步骤1:用户点击保险箱中的程序,触发切换操作; 步骤2:普通域使用内核中的TrustZone驱动(TrustZone Driver)发送快速中断(FIQ)、系统进入监控模式(Monitor Mode),同时冻结普通域的CPU的寄存器的状态; 步骤3:监控模式(Monitor Mode)修改ARM处理器的安全配置寄存器(SCR)中的NS位,将该位置0,进入安全域; 步骤4:安全域运行完整的Android操作系统,用户可安装和运行应用程序; 步骤5:使用I/O监听函数对安全域内存中的文件读取进行监听,写入文件采用加密算法进行加密,读取文件则进行解密。6.根据权利要求5所述的方法,其特征在于:步骤5中所述的利用TrustZoneCPU提供的AES加密功能对安全域的文件进行加密。7.根据权利要求5所述的方法,其特征在于,步骤I中所述的切换操作,其具体实现过程包括以下子步骤: 步骤1.1:TrustZone驱动发出中断请求; 步骤1.2:中断请求被发送到ARM TrustZone的中断控制器TZIC中; 步骤1.3:由中断控制器TZIC判断请求中断的类型,发送相应的中断给ARM处理器;步骤1.4:根据中断类型发送到不同的ARM寄存器,将IRQ中断信号发送给当前运行状态寄存器(Current Program Status Register,CPSR),若是 FIQ,则进入监控模式; 步骤1.5:通过监控模式,访问安全配置寄存器(Seucre Configurat1n Register,SCR),将NS位置O,实现系统切换。
【专利摘要】本发明公开了一种基于ARM TrustZone的手机私密信息保险箱,包括普通域操作系统(Rish OS)和安全域操作系统(Security OS);所述的普通域操作系统切换到安全域操作系统时,需使用到ARM TrustZone提供的监控模式(Minitor Mode),用户通过普通域操作系统发送快速中断(FIQ)进入监控模式,在监控模式下修改ARM处理器的安全配置寄存器(SCR)的NS位,将其置为0,使得CPU状态切换到安全域操作系统;在安全域用户能选择进行安全运行程序或进行手机私密文件存储,并在读取内存的时候利用ARM TrustZone CPU提供的加密功能对安全域的私密文件进行加解密。本发明在普通域用户通过简单的操作即能实现手机私密文件和高安全需求的软件保存到安全域中,在安全域中用户的私密文件进行加密存储,同时用户能安全运行高安全需求的应用程序。
【IPC分类】G06F21/74, G06F21/62
【公开号】CN104992122
【申请号】CN201510425659
【发明人】王鹃, 冯琦, 杜姗, 王 煌, 强晗
【申请人】武汉大学
【公开日】2015年10月21日
【申请日】2015年7月20日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1