CN106778362B - 一种基于虚拟化技术的安全计算环境构建方法 - Google Patents
一种基于虚拟化技术的安全计算环境构建方法 Download PDFInfo
- Publication number
- CN106778362B CN106778362B CN201611218617.6A CN201611218617A CN106778362B CN 106778362 B CN106778362 B CN 106778362B CN 201611218617 A CN201611218617 A CN 201611218617A CN 106778362 B CN106778362 B CN 106778362B
- Authority
- CN
- China
- Prior art keywords
- computing environment
- secure computing
- application
- specific
- request
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于虚拟化技术的安全计算环境构建方法,基于虚拟化技术,在Android系统上构建一个完整且独立的安全计算环境,通过运行专有通信协议为普通应用提供安全功能服务;专有通信协议包括为普通应用提供基本的数据加解密和签名验签服务;通过QEMU模拟处理器,在Android系统的应用框架层之上模拟一个定制化的X86架构处理器,在此处理器上运行实现专有通信协议的操作系统,并将特定密码服务功能运行在此操作系统之上。与现有技术相比,不依赖底层硬件、无需对Android系统环境进行任何修改;能够将敏感功能放入该环境中运行,通过授权、鉴权,普通应用通过本地网络通信实现对安全计算环境内敏感功能的访问;功能扩展性好、更新方便快捷、部署难度低等优势。
Description
技术领域
本发明涉及一种安全计算环境构建方法,特别是涉及一种基于虚拟化技术的安全计算环境构建方法。
背景技术
目前传统的安全计算环境构建都与硬件高度集成,依赖于硬件构建应用运行的安全环境。TrustZone硬件架构是ARM公司提出的一种安全环境设计框架,该架构将应用运行环境分为普通世界和安全世界,两个世界之间有严格隔离的SoC软硬件资源。敏感应用可以运行在安全世界中,常规应用运行在普通世界中。SGX是Intel开发的新的处理器技术,可以在计算平台上提供一个可信的空间,保障用户关键代码和数据的机密性和完整性。相较于TrustZone 技术,SGX能将安全应用依赖的可信计算基TCB减小到仅包含CPU和安全应用本身,将不可信的复杂OS和虚拟机监控器VMM排除在安全边界之外。SGX是对因特尔体系的一个扩展,它将合法软件的安全操作封装在一个enclave中,保护其不受恶意软件的攻击。Project vault 项目是Google于2015年谷歌IO开发者大会上发布的一个安全计算环境解决方案,该方案将安全计算环境集成至TF卡大小,并通过移动终端上的TF卡槽为移动终端提供安全计算环境。
发明内容
本发明要解决的技术问题是提供一种不依赖底层硬件、无需对Android系统环境进行任何修改,能够克服传统的安全计算环境架构都依赖于底层硬件进行构建,而基于硬件的设计方案存在功能扩展性差、更新缓慢且复杂等缺点的,基于虚拟化技术的安全计算环境构建方法。
本发明采用的技术方案如下:一种基于虚拟化技术的安全计算环境构建方法,具体方法为:基于虚拟化技术,在Android系统上构建一个完整且独立的安全计算环境,通过运行专有通信协议为普通应用提供安全功能服务;
所述专有通信协议包括,为普通应用提供基本的数据加解密和签名验签服务。
基于虚拟化技术,在Android系统上构建了一个完整的Linux操作系统,而对负载系统做到无感知;通过专有通信协议,可以有效防止未授权应用对安全计算环境的访问,保证安全计算环境的运行安全。Android普通应用通过访问安全计算环境提供的特定网络端口,实现为普通应用提供基本的数据加解密和签名验签服务功能。
所述安全计算环境,以应用的形式运行在Android系统上,或以系统服务的方式集成至各个厂商提供的Android系统上。安全计算环境对于Android系统来说就是一个普通应用,其与其他Android应用没有任何区别。
所述完整且独立的安全计算环境的构建方法为:通过QEMU模拟处理器,在Android系统的应用框架层之上模拟一个X86架构处理器,在此处理器上运行实现专有通信协议的操作系统,并将特定功能运行在此操作系统之上。
在安全计算环境这个应用中,其内部包含一个QEMU虚拟机,用来模拟一个x86架构的处理器,在该处理器上运行一个定制化的安全操作系统,该操作系统内部包含若干功能应用,这些功能应用通过安全操作系统提供的功能接口与Android系统中其他应用进行通信。
安全计算环境除了为Android普通应用提供敏感数据处理功能,同时也可以为特定应用提供定制化功能模块,为了确保安全计算环境内部的敏感数据处理结果不被非法获取,防止中间人攻击等。对于金融类、支付类应用,其对应用运行环境有很高的要求,特别是用户在执行涉及到资金的操作时,要确保运行环境绝对安全。特定应用通过调用安全环境提供的功能模块,可以最大程度上保证用户的支付密码以及用户发出的交易数据流。
其中,通过QEMU模拟处理器,在Android系统的应用框架层之上模拟一个X86架构处理器的具体方法为:对QEMU进行功能性裁剪,去除对其他平台的支持,只保留QEMU对X86平台的支持;同时对X86架构进行定制化修改,对于运行于QEMU上的定制化操作系统,只保留支撑密码服务以及网络服务的基本功能组件;同时,定制化的操作系统以非标准化格式保存在Android应用中。
目前,QEMU常用于在Linux平台上模拟如X86、ARM等架构的处理器,以验证项目工程能否在相应的硬件平台正常工作。作为一个通用的模拟器,其具有支持处理器类型多,模拟效率高等优势,但同时其整体工程巨大,对运行环境要求较高。如果仅仅将其搬运至Android系统中运行,其功耗、稳定性都会对整个Android系统带来巨大的负担。在本方案中,首先对QEMU进行功能性裁剪,去除对ARM,MIPS等其他平台的支持,只保留QEMU对X86平台的支持,同时对X86架构进行定制化修改。对于运行于QEMU上的定制化操作系统,也只保留支撑密码服务以及网络服务的基本功能组件。在本方案中,整个安全计算环境在Android系统中以普通应用的形式存在,QEMU以JNI的形式供Android应用调用,定制化的操作系统以非标准格式保存在Android应用中。第三方拿到该文件无法正常读取,保证了定制化操作系统的安全,定制化的QEMU,也采用混淆等手段对其进行保护,增加其安全性。
所述专有通信协议还包括,采用数字签名的方式实现对应用身份的认证,只有验签成功,特定应用才能访问特定功能模块,以保证只有特定应用能够访问某功能模块。
所述专有通信协议还包括,对于特定应用产生的交易数据流,采用特定的密钥进行加密和签名处理,然后转发至特定应用服务器,由服务器完成解密和验签。
所述特定应用于安全计算环境通信的具体方法步骤为:
S1、特定应用发起服务请求至安全计算环境,请求包含特定应用的身份信息以及信息签名;
S2、安全计算环境收到特定应用请求信息,首先判断该请求是否是设置阈值时间内重复的无效请求,如果是,则将其加入限制名单,拒绝提供服务;如果否,则进入下一步;
S3、安全环境对特定应用请求判断是否合法,如果不合法,则拒绝提供服务,并加入限制名单;如果合法,则进入下一步;
S4、特定应用请求验证通过,则分配临时会话ID,应用凭该临时会话ID,完成此次与安全计算环境的通信过程。
所述方法步骤还包括:通信过程结束后,安全计算环境撤销临时会话ID,将其加入限制会话ID列表,等超过有所设置的效时间阈值后,再将其删除。
所述方法还包括:当临时会话ID处于限制会话ID列表时,任何应用无法使用此会话ID完成通信。
与现有技术相比,本发明的有益效果是:不依赖底层硬件、无需对Android系统环境进行任何修改;能够将敏感功能放入该环境中运行,通过授权、鉴权方式,普通应用通过网络通信实现对安全计算环境内敏感功能的访问;相较于传统安全计算环境方案,在保证安全性的前提下,具有功能扩展性好、更新方便快捷、部署难度低等优势。
附图说明
图1为本发明其中一实施例的安全计算环境构建方法示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
具体实施例1
一种基于虚拟化技术的安全计算环境构建方法,具体方法为:基于虚拟化技术,在Android系统上构建一个完整且独立的安全计算环境,通过运行专有通信协议为普通应用提供安全功能服务;
所述专有通信协议包括,为普通应用提供基本的数据加解密和签名验签服务。
具体实施例2
在具体实施例1的基础上,所述安全计算环境,以应用的形式运行在Android系统上,或以系统服务的方式集成至各个厂商提供的Android系统上。
具体实施例3
在具体实施例1或2的基础上,如图1所示,所述完整且独立的安全计算环境的构建方法为:通过QEMU模拟处理器,在Android系统的应用框架层之上模拟一个X86架构处理器,在此处理器上运行实现专有通信协议的操作系统,并将特定功能运行在此操作系统之上。
具体实施例4
在具体实施例3的基础上,其中,通过QEMU模拟处理器,在Android系统的应用框架层之上模拟一个X86架构处理器的具体方法为:对QEMU进行功能性裁剪,去除对其他平台的支持,只保留QEMU对X86平台的支持;同时对X86架构进行定制化修改,对于运行于QEMU上的定制化操作系统,只保留支撑密码服务以及网络服务的基本功能组件;同时,定制化的操作系统以非标准化格式保存在Android应用中。
具体实施例5
在具体实施例1到4之一的基础上,所述专有通信协议还包括,采用数字签名的方式实现对应用身份的认证,只有验签成功,特定应用才能访问特定功能模块。
具体实施例6
在具体实施例1到5之一的基础上,所述专有通信协议还包括,对于特定应用产生的交易数据流,采用特定的密钥进行加密和签名处理,然后转发至特定应用服务器,由服务器完成解密和验签。
具体实施例7
在具体实施例1到6之一的基础上,所述特定应用于安全计算环境通信的具体方法步骤为:
S1、特定应用发起服务请求至安全计算环境,请求包含特定应用的身份信息以及信息签名;
S2、安全计算环境收到特定应用请求信息,首先判断该请求是否是设置阈值时间内重复的无效请求,如果是,则将其加入限制名单,拒绝提供服务;如果否,则进入下一步;
S3、安全环境对特定应用请求判断是否合法,如果不合法,则拒绝提供服务,并加入限制名单;如果合法,则进入下一步;
S4、特定应用请求验证通过,则分配临时会话ID,应用凭该临时会话ID,完成此次与安全计算环境的通信过程。
具体实施例8
在具体实施例7的基础上,所述方法步骤还包括:通信过程结束后,安全计算环境撤销临时会话ID,将其加入限制会话ID列表,等超过有所设置的效时间阈值后,再将其删除。
具体实施例9
在具体实施例8的基础上,所述方法还包括:当临时会话ID处于限制会话ID列表时,任何应用无法使用此会话ID完成通信。
Claims (7)
1.一种基于虚拟化技术的安全计算环境构建方法,具体方法为:基于虚拟化技术,在Android系统上构建一个完整且独立的安全计算环境,通过运行专有通信协议为普通应用提供安全功能服务;
所述专有通信协议包括,为普通应用提供基本的数据加解密和签名验签服务;
所述完整且独立的安全计算环境的构建方法为:通过QEMU模拟处理器,在Android系统的应用框架层之上模拟一个X86架构处理器,在此处理器上运行实现专有通信协议的操作系统,并将特定功能运行在此操作系统之上;
其中,通过QEMU模拟处理器,在Android系统的应用框架层之上模拟一个X86架构处理器的具体方法为:对QEMU进行功能性裁剪,去除对其他平台的支持,只保留QEMU对X86平台的支持;同时对X86架构进行定制化修改,对于运行于QEMU上的定制化操作系统,只保留支撑密码服务以及网络服务的基本功能组件;同时,定制化的操作系统以非标准化格式保存在Android应用中。
2.根据权利要求1所述的安全计算环境构建方法,所述安全计算环境,以应用的形式运行在Android系统上,或以系统服务的方式集成至各个厂商提供的Android系统上。
3.根据权利要求2所述的安全计算环境构建方法,所述专有通信协议还包括,采用数字签名的方式实现对应用身份的认证,只有验签成功,特定应用才能访问特定功能模块。
4.根据权利要求3所述的安全计算环境构建方法,所述专有通信协议还包括,对于特定应用产生的交易数据流,采用特定的密钥进行加密和签名处理,然后转发至特定应用服务器,由服务器完成解密和验签。
5.根据权利要求4所述的安全计算环境构建方法,所述特定应用于安全计算环境通信的具体方法步骤为:
S1、特定应用发起服务请求至安全计算环境,请求包含特定应用的身份信息以及信息签名;
S2、安全计算环境收到特定应用请求信息,首先判断该请求是否是设置阈值时间内重复的无效请求,如果是,则将其加入限制名单,拒绝提供服务;如果否,则进入下一步;
S3、安全环境对特定应用请求判断是否合法,如果不合法,则拒绝提供服务,并加入限制名单;如果合法,则进入下一步;
S4、特定应用请求验证通过,则分配临时会话ID,应用凭该临时会话ID,完成此次与安全计算环境的通信过程。
6.根据权利要求5所述的安全计算环境构建方法,所述方法步骤还包括:通信过程结束后,安全计算环境撤销临时会话ID,将其加入限制会话ID列表,等超过所设置的有效时间阈值后,再将其删除。
7.根据权利要求6所述的安全计算环境构建方法,所述方法还包括:当临时会话ID处于限制会话ID列表时,任何应用无法使用此会话ID完成通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611218617.6A CN106778362B (zh) | 2016-12-26 | 2016-12-26 | 一种基于虚拟化技术的安全计算环境构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611218617.6A CN106778362B (zh) | 2016-12-26 | 2016-12-26 | 一种基于虚拟化技术的安全计算环境构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106778362A CN106778362A (zh) | 2017-05-31 |
CN106778362B true CN106778362B (zh) | 2020-02-28 |
Family
ID=58926211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611218617.6A Active CN106778362B (zh) | 2016-12-26 | 2016-12-26 | 一种基于虚拟化技术的安全计算环境构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106778362B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246537A (zh) * | 2008-03-28 | 2008-08-20 | 兰雨晴 | 一种基于可信多任务操作系统实现可信计算的方法 |
CN101488174A (zh) * | 2009-01-15 | 2009-07-22 | 北京交通大学 | 动态透明的虚拟可信平台模块的实现方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104335220B (zh) * | 2012-03-30 | 2018-04-20 | 爱迪德技术有限公司 | 用于防止和检测安全威胁的方法和系统 |
US8893222B2 (en) * | 2012-11-13 | 2014-11-18 | Auckland Uniservices Ltd. | Security system and method for the android operating system |
-
2016
- 2016-12-26 CN CN201611218617.6A patent/CN106778362B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246537A (zh) * | 2008-03-28 | 2008-08-20 | 兰雨晴 | 一种基于可信多任务操作系统实现可信计算的方法 |
CN101488174A (zh) * | 2009-01-15 | 2009-07-22 | 北京交通大学 | 动态透明的虚拟可信平台模块的实现方法 |
Non-Patent Citations (1)
Title |
---|
Android系统中win32环境的高性能虚拟;胡嘉杰 等;《计算机应用》;20150331(第3期);第886-887页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106778362A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416415B2 (en) | Technologies for secure device configuration and management | |
JP7086908B2 (ja) | 対象のコンピューティング装置で実施される動作を認証する方法 | |
EP2862379B1 (en) | Method and apparatus for secure application execution | |
CN107533609B (zh) | 用于对系统中的多个可信执行环境进行控制的系统、设备和方法 | |
KR101556069B1 (ko) | 대역외 원격 인증 | |
RU2679721C2 (ru) | Аттестация хоста, содержащего доверительную среду исполнения | |
CN100568212C (zh) | 隔离系统及隔离方法 | |
JP4064914B2 (ja) | 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム | |
Lee et al. | FACT: Functionality-centric access control system for IoT programming frameworks | |
CN106991329A (zh) | 一种基于国产tcm的可信计算单元及其运行方法 | |
CN102244684B (zh) | 基于usbkey的efi可信云链引导方法 | |
KR101654778B1 (ko) | 하드웨어 강제 액세스 보호 | |
CN103002445A (zh) | 一种安全的提供应用服务的移动电子设备 | |
JP2016506107A (ja) | 仮想マシンのための管理制御方法、装置及びシステム | |
JP2016540282A (ja) | 動的ライブラリを保護する方法及び装置 | |
CN108595983B (zh) | 一种基于硬件安全隔离执行环境的硬件架构、及应用上下文完整性度量方法 | |
US11575672B2 (en) | Secure accelerator device pairing for trusted accelerator-to-accelerator communication | |
WO2015117523A1 (zh) | 访问控制方法及装置 | |
WO2017161569A1 (zh) | 访问控制的方法、装置和系统 | |
CN110032847A (zh) | 用于预引导生物特征认证的技术 | |
US9692641B2 (en) | Network connecting method and electronic device | |
Garriss et al. | Towards trustworthy kiosk computing | |
Park et al. | TGVisor: A tiny hypervisor-based trusted geolocation framework for mobile cloud clients | |
CN106778362B (zh) | 一种基于虚拟化技术的安全计算环境构建方法 | |
KR20140043071A (ko) | 접속 시도 기기 인증 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |