当前位置: 首页 > 专利查询>南京大学专利>正文

一种跨平台使用硬件隔离环境对文件进行加密校验的方法技术

技术编号:21478466 阅读:25 留言:0更新日期:2019-06-29 05:00
本发明专利技术公开一种跨平台使用硬件隔离环境对文件进行加密校验的方法,是一种在跨平台转移文件同时使用硬件隔离保护文件机密性和完整性的方法,使得对文件的保护可以在两个不同平台的硬件隔离环境中进行。位于PC端的文件,在操作系统环境为Windows或者Linux的情况下,利用Intel SGX技术对它进行加密和校验码的计算,此后文件变为安全状态。当需要把文件转移到移动端时,假设移动端部署的是Android系统,则可利用ARM TrustZone技术对该文件进行解密和完整性校验,反方向亦然。达到了文件跨平台安全传输并同时保证机密性和完整性的目的。

【技术实现步骤摘要】
一种跨平台使用硬件隔离环境对文件进行加密校验的方法
本专利技术涉及一种跨平台使用硬件隔离环境对文件进行加密校验的方法,具体是一种在文件的跨平台转移过程中保护其机密性和完整性的方法,属于系统安全

技术介绍
在如今的大数据时代,数据创造出的价值越来越多,如何保护系统中的数据成为一个至关重要的问题。传统数据通常储存在用户的个人PC上,而现在随着移动设备的使用越来越广泛,更多的用户数据流向了移动端。然而,无论是PC端还是移动端,有价值的数据都会引来一些攻击者的窥探,然而这是用户所不希望看到的。在PC端,攻击者可能通过传统的远程木马窃取用户的隐私数据,或是直接从物理上拷贝走用户的数据,在一些文件共享的应用中,用户可能在不知不觉中就被攻击者分享走了自己的隐私数据。在移动端,除了上述的攻击方式,攻击者还有可能在无处不在的第三方应用app中种下恶意代码,待用户下载后就开始攻击或偷窃行为,泄露用户隐私。针对这些威胁到用户隐私的攻击行为,目前的解决方案有文件加密(PC端或移动端),加密锁(PC端),生物特征加密如指纹解锁(移动端)等方式。对于加密保护隐私数据的方法,如今的密码学发展已经使得攻击者无法在可计算时间内破解密码得到隐私数据,也就是说攻击者为了破解隐私数据,必须花费比数据本身价值更大的代价才可能破解密码算法,这样在一定程序上保护了数据的安全,但是如果攻击者攻陷了操作系统权限或是检测了加解密过程,就有可能拿到密钥,在这种情况下,密码算法不攻自破。对于加密锁的方案,它采用了硬件的方式保护软件和数据,但是其缺陷在于:首先加密锁的成本很高,阻碍了它的广泛使用,其次加密锁的扩展性不好,为了与加密锁继承,软件必须经过精心设计,需要考虑应用环境和加密锁硬件的兼容性,并且加密锁需要插在机器的USB口上,占用了一定的资源。而生物特征加密有着和密码学加密一样的问题,并且它只能妨碍攻击者显式地观察到隐私数据,无法抵挡来自网络以及恶意代码的攻击。由以上现存保护方式的局限性可以看出,用软件方式保护文件时始终存在一个问题,那就是当攻击者拿到系统权限,那么密钥系统就会在攻击者的面前一览无余,整个密码算法显得没有用处。而如果用硬件的方式,则局限性太强不利于推广。因此,只有以硬件隔离为基础,采用软硬件结合的方式才能解决很多安全问题。现有的硬件隔离技术如IntelSGX(PC端),ARMTrustZone(移动端)通过将可信的进程和数据放在与正常操作系统隔离开的区域中保证可信数据的安全,即使攻击者拿到了系统权限也无法越过硬件隔离观测到加解密过程,也就无法拿到密钥和隐私数据。
技术实现思路
专利技术目的:针对现有技术存在的问题与不足,本专利技术提供一种跨平台使用硬件隔离环境对文件进行加密校验的方法,在具备硬件隔离的不同平台之间安全地转移文件,并依靠SGX和TrustZone,以及密码算法完成文件的加解密和完整性验证,保证文件的机密性和完整性的方法。最主要的挑战是在不同的平台,例如PC端和移动端,运行不同的操作系统,如Windows,Linux和Android,如何利用不同平台上的硬件隔离环境完成安全的文件转移和验证。因此,基于上述的考虑,本专利技术提供了SGX和TrustZone这两种不同的硬件隔离技术为文件进行加解密和完整性验证的方法。考虑到文件的转移可能是在两个不同的平台上,PC端一般采用的是IntelSGX技术,移动端则是TrustZone技术,在本方法中,这二者被用来进行文件的保护,使得文件可以在不同的平台上安全机密地转移,同时保证完整性。本专利技术中采用的密码算法为AESGCM模式,它是CTR和GHASH的组合,GHASH操作定义为密文结果与密钥以及消息长度在GF(2128)域上相乘,同时完成了加密和完整性校验的功能,并且具有更高的并行度和更好的性能。技术方案:一种跨平台使用硬件隔离环境对文件进行加密校验的方法,其中在SGX技术和TrustZone技术的支持下部署用于处理文件加解密和验证的安全应用程序;包括四个部分:PC端安全应用程序,PC端不可信部分,移动端可信程序,移动端不可信部分(AndroidAPP)。PC端安全应用程序用于完成的是加解密等安全操作,该部分位于SGX的Encalve中,是被硬件隔离保护起来的区域。运行在这里的安全加解密程序不会被攻击者观察到。PC端不可信部分用于完成的是与PC端用户交互的功能,用户通过该部分向安全应用程序的加解密程序发起请求,调用位于Encalve中的安全应用程序完成加密或解密的操作。PC端安全应用程序和PC端不可信程序之间的交互由IntelSGX的通信机制完成,通过预定义在Enclave中的可信接口和不可信接口完成双向调用。移动端可信程序位于TrsutZone的SecureWorld中,也是被硬件隔离保护起来的区域,这部分完成的是加解密和用户验证等安全操作。移动端不可信部分(AndroidAPP)是运行在移动端的普通app,完成与用户的交互,给用户提供功能界面。用户可以通过它向SecureWorld发起安全请求,调用可信程序完成数据加解密或是用户验证。移动端可信程序和不可信部分之间的交互由TrustZone机制提供,通过可信程序提供的安全程序入口和函数编号找到对应需要调用的函数,并在调用完成后返回到正常操作系统的普通app中。若文件需要由PC端转移到移动端,应用本专利技术需要完成如下步骤:1.在PC端,运行不可信部分的程序对安全应用程序发起调用;2.安全应用程序完成加密和计算MAC码,调用返回;3.将加密并附上了消息验证码的数据转移到移动端;4.在移动端App发起对可信程序的调用;5.移动端的可信程序对数据进行解密和校验消息验证码,返回结果给App;6.App对结果进行判断并向用户展示结果,转移完成。若文件需要由移动端转移到PC端,则需要完成如下步骤:1.在移动端,App发起对可信程序的调用;2.可信程序完成数据的加密和计算MAC码,调用返回;3.将加密并附上了消息验证码的数据转移到PC端;4.PC端的不可信部分发起对安全程序的调用;5.安全程序对数据进行解密并校验消息验证码,返回结果给不可信部分;6.不可信部分对结果进行判断并向用户展示结果,转移完成。下面分别从上述四部分讨论安全应用程序的部署。PC端安全应用程序的实现在PC端提供了对IntelSGX技术的支持的情况下,平台具备了开发SGX可信应用程序的能力。SGX支持的操作系统有Windows和Linux。SGX可信应用程序的组成:SGX可信应用程序由App和Enclave两部分代码组成,前者是应用程序的不可信部分,用来为客户提供调用Enclave中可信程序的接口,后者是位于Enclave中的可信程序,是被隔离起来的,完成安全级别高的操作,在本例中具体表现为文件的加解密操作,将加解密过程与密钥存储隔离在安全区域。前者通过后者向外提供的接口调用后者的安全函数功能。App文件夹下包含不可信程序的源码头文件等,还有一些工具和函数库,分别在Edger8rSyntax文件夹和TrustedLibrary文件夹下。前者包含了一些特定类别比如array类型的数据的基本调用方式和函数接口,后者提供了一些系统功能函数比如线程控制等。Enclave文件夹下包含应用程序的本文档来自技高网
...

【技术保护点】
1.一种跨平台使用硬件隔离环境对文件进行加密校验的方法,其特征在于,在SGX技术和TrustZone技术的支持下部署用于处理文件加解密和验证的安全应用程序;包括四个部分:PC端安全应用程序,PC端不可信部分,移动端可信程序,移动端不可信部分;PC端安全应用程序用于完成的是加解密的安全操作,该部分位于SGX的Encalve中,是被硬件隔离保护起来的区域;PC端不可信部分用于完成的是与PC端用户交互的功能,用户通过该部分向安全应用程序的加解密程序发起请求,调用位于Encalve中的安全应用程序完成加密或解密的操作;PC端安全应用程序和PC端不可信程序之间的交互由Intel SGX的通信机制完成,通过预定义在Enclave中的可信接口和不可信接口完成双向调用;移动端可信程序位于TrsutZone的Secure World中,也是被硬件隔离保护起来的区域,这部分完成的是加解密和用户验证的安全操作;移动端不可信部分是运行在移动端app,完成与用户的交互,给用户提供功能界面;用户可以通过它向Secure World发起安全请求,调用可信程序完成数据加解密或是用户验证;移动端可信程序和不可信部分之间的交互由TrustZone机制提供,通过可信程序提供的安全程序入口和函数编号找到对应需要调用的函数,并在调用完成后返回到正常操作系统的普通app中。...

【技术特征摘要】
1.一种跨平台使用硬件隔离环境对文件进行加密校验的方法,其特征在于,在SGX技术和TrustZone技术的支持下部署用于处理文件加解密和验证的安全应用程序;包括四个部分:PC端安全应用程序,PC端不可信部分,移动端可信程序,移动端不可信部分;PC端安全应用程序用于完成的是加解密的安全操作,该部分位于SGX的Encalve中,是被硬件隔离保护起来的区域;PC端不可信部分用于完成的是与PC端用户交互的功能,用户通过该部分向安全应用程序的加解密程序发起请求,调用位于Encalve中的安全应用程序完成加密或解密的操作;PC端安全应用程序和PC端不可信程序之间的交互由IntelSGX的通信机制完成,通过预定义在Enclave中的可信接口和不可信接口完成双向调用;移动端可信程序位于TrsutZone的SecureWorld中,也是被硬件隔离保护起来的区域,这部分完成的是加解密和用户验证的安全操作;移动端不可信部分是运行在移动端app,完成与用户的交互,给用户提供功能界面;用户可以通过它向SecureWorld发起安全请求,调用可信程序完成数据加解密或是用户验证;移动端可信程序和不可信部分之间的交互由TrustZone机制提供,通过可信程序提供的安全程序入口和函数编号找到对应需要调用的函数,并在调用完成后返回到正常操作系统的普通app中。2.如权利要求1所述的跨平台使用硬件隔离环境对文件进行加密校验的方法,其特征在于,若文件需要由PC端转移到移动端,需要完成如下步骤:(1)在PC端,运行不可信部分的程序对安全应用程序发起调用;(2)安全应用程序完成加密和计算MAC码,调用返回;(3)将加密并附上了消息验证码的数据转移到移动端;(4)在移动端App发起对可信程序的调用;(5)移动端的可信程序对数据进行解密和校验消息验证码,返回结果给App;(6)App对结果进行判断并向用户展示结果,转移完成。3.如权利要求1所述的跨平台使用硬件隔离环境对文件进行加密校验的方法,其特征在于,若文件需要由移动端转移到PC端,则需要完成如下步骤:(1)在移动端,App发起对可信程序的调用;(2)可信程序完成数据的加密和计算MAC码,调用返回;(3)将加密并附上了消息验证码的数据转移到PC端;(4)PC端的不可信部分发起对安全程序的调用;(5)安全程序对数据进行解密并校验消息验证码,返回结果给不可信部分;(6)不可信部分对结果进行判断并向用户展示结果,转移完成。4.如权利要求1所述的跨平台使用硬件隔离环境对文件进行加密校验的方法,其特征在于,PC端安全应用程序的实现:在PC端提供了对IntelSGX技术的支持的情况下,平台具备了开发SGX可信应用程序的能力,SGX支持的操作系统有Windows和Linux;SGX可信应用程序由App和Enclave两部分代码组成,前者是应用程序的不可信部分,用来为客户提供调用Enclave中可信程序的接口,后者是位于Enclave中的可信程序,是被隔离起来的,完成安全操作,前者通过后者向外提供的接口调用后者的安全函数功能;App文件夹下包含不可信程序的源码头文件;Enclave文件夹下包含应用程序的可信代码部分和可信与不可信代码接口文件;Enclave中接口函数的定义:Encalve中的接口函数定义了外界可以从Encalve中调用到的函数,包括分别完成加密计算MAC码和解密验证MAC码的两个函数:publicvoidMyencrypt();该函数为加密函数接口的定义,位于Enclave外的SGX安全应用程序的不可信部分可以通过此接口调用Myencrypt函数;publicvoidMydecrypt();该函数为解密函数接口的定义,位于Enclave外的程序可以通过此接口调用Mydecrypt函数;Enclave中功能的实现:位于Enclave内的文件完成的功能为:提供AES-GCM函数;主要包含AES-GCM的加密模式和解密模式,利用的是IntelSGX提供的可信函数库sgx_tcrypto.a;在Makefile中加上该函数库的编译即可添加对该函数库的引用;不可信部分功能的实现:不可信部分完成的功能为取出指定文件的内容调用Myencrypt函数进行加密和调用Mydecrypt函数进行解密并验证,具体选择哪个功能由用户决定,取决于PC端作为...

【专利技术属性】
技术研发人员:许封元熊雅媛田育龙仲盛张星
申请(专利权)人:南京大学北京神州绿盟信息安全科技股份有限公司
类型:发明
国别省市:江苏,32

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

1