一种移动平台可信支付系统及方法
【专利摘要】本发明公开了一种移动平台可信支付系统及方法,系统包括可信操作系统、普通操作系统、虚拟机管理器、安全浏览器、监督程序和硬件层;本发明将定制过的操作系统的镜像文件存储在存储卡中,并在每次操作系统启动前都通过TPM芯片对镜像文件进行度量。这款操作系统称为可信操作系统。可信操作系统需要通过第三方可信机构的授权才能更新,平时用户使用普通手机操作系统,但是当可信支付系统检测到用户想要进行支付时,将自动切换到可信操作系统来执行支付操作。而支付操作需要的网址,则通过支付网址数据库验证后加密传入可信操作系统中。本发明为用户提供了一个高度安全保护的支付环境,同时由于该方法基于虚拟化技术,能够支持不同架构的硬件平台。
【专利说明】[0001] 一种移动平台可信支付系统及方法
【技术领域】
[0002] 本发明属于互联网【技术领域】,涉及一种移动平台可信支付系统及方法,尤其涉及 一种基于可信平台模块(Trusted Platform Module,TPM)和虚拟化技术的可信支付系统及 方法。
[0003]
【背景技术】
[0004] 随着智能手机的日益普及,手机支付也得到了广泛的应用,针对手机支付的攻击 也急剧增长,手机支付安全方面的研究目前已逐渐受到重视。而虚拟化技术则因其严格的 独立性和安全的通信方式所提供的安全性能在研究中获得了广泛的应用。
[0005] 虚拟化技术在多个虚拟执行环境即虚拟机之间提供了隔离性和安全的通信方 式。而可信度量保障了应用程序、数据的完整性。2012年,新西兰奥克兰大学的Giovanni Russello等人提出了一种名为MOSES的基于策略的安卓框架,能够给应用和数据提供隔离 保护,但是它缺乏对运行环境的完整性度量。2009年,Muthukumaran基于SELinux设计出 了一种系统原型,它可以通过强制访问控制等方法保障系统下载的应用程序的完整性、安 全性。2011年,哥伦比亚大学的Jeremy Andrus等人成功实现了在一台手机上运行多个虚 拟手机,他使用的轻量级虚拟化方法尽量让不同虚拟手机之间共享一些存储,来节省资源, 但是他的虚拟机不能够在不同的移动设备之间进行转移,同时使用时也没有考虑虚拟手机 的完整性是否被破坏。ARM TrustZone技术是系统级的提供安全保证的方法,能够提供硬件 资源和软件资源的隔离。同时,TrustZone分离了两个并行执行的环境:不安全的"非安全" 执行环境;安全可信任的"安全"环境,安全监控器(Monitor)控制着"安全"与"非安全"环 境之间的转换。但是该方法主要利用ARM CPU对系统进行隔离,缺乏平台通用性。此外,对 于可信执行环境,仅采用隔离技术,没有对其进行度量,缺乏完整性保护。。
[0006]
【发明内容】
[0007] 为了解决上述技术问题,本发明提出了一种基于TPM和虚拟化技术的可信支付系 统及方法,利用TPM芯片对虚拟机进行完整性验证保证其安全并将虚拟机置于存储卡中使 其可以在不同手机中进行转移。
[0008] 本发明的系统采用的技术方案是:一种移动平台可信支付系统,其特征在于: 主要包括可信操作系统T0S (Trusted Operating System)、普通操作系统NOS (Normal Operating System)、虚拟机管理器 Limb〇-VMM、安全浏览器 SEB (Security -Enhanced Browser)、监督程序(Monitor)和硬件层;所述的可信操作系统T0S是一个带有诸如监督程 序和浏览器类支付必需软件的定制系统,该系统的镜像文件存储在存储卡中,并在每次该 系统启动前都通过TPM芯片对镜像文件进行完整性度量;所述的普通操作系统NOS是常用 的运行于手机上的Android操作系统,无需对其进行更改;所述的虚拟机管理器Limb-VMM 用来提供普通操作系统NOS和可信操作系统T0S之间的隔离,用户使用的普通操作系统NOS 和可信操作系统T0S通过虚拟机管理器Limbo-VMM来进行隔离,他们之间无法进行直接通 信;所述的安全浏览器SEB根据用户输入的URL类型来选择操作,如果用户输入的是支付相 关的网站,所述的安全浏览器SEB将启动可信操作系统并在可信操作系统中打开该网站, 否则,将直接在所述的安全浏览器中打开该网站;所述的监督程序负责与安全浏览器SEB 做沟通;所述的硬件层包括除了移动设备常用硬件外,还包括TPM芯片和存储卡,所述的可 信操作系统T0S的镜像文件存储在存储卡上,TPM芯片用来对所述的可信操作系统T0S的 镜像文件进行度量,为可信操作系统T0S提供平台完整性保障;所述的可信操作系统TOSH 有得到第三方可信机构的授权才能更新,平时用户使用普通手机操作系统N0S,但当所述的 移动平台可信支付系统检测到用户想要进行支付时,将自动切换到可信操作系统T0S来执 行支付操作,而支付操作需要的网址,则通过支付网址数据库验证后加密传入可信操作系 统T0S中。
[0009] 作为优选,所述的TPM芯片用来对所述的可信操作系统T0S的镜像文件进行完整 性度量,具体实现包括以下步骤: 步骤A :将可信操作系统T0S的镜像文件mount到指定位置; 步骤B:读入度量配置文件,该配置文件存有待度量的内核文件、启动文件、系统驱动 类文件的路径、名称,生成待度量文件链表; 步骤C :对待度量文件链表中的文件一一进行度量,最后得到迭代hash值; 步骤D :将最后获取的迭代hash值存入PCR寄存器中。
[0010] 作为优选,所述的监督程序负责与安全浏览器SEB做沟通,负责接收SEB发来的网 址,向SEB发送一些关闭信息或者错误提示信息等,其沟通过程为:当监督程序收到来自安 全浏览器SEB的消息时,监督程序将会解密该信息,然后将得到的明文URL提取出域名关键 字,再进行加密,将域名关键字的密文送入支付网址数据库TODB中进行查询,如果是PUDB 中有的支付类网址,则说明该消息是安全浏览器SEB发来的合法请求,否则,该消息有可能 是攻击者发出的或者安全浏览器SEB发出的URL遭到篡改。
[0011] 本发明的方法所采用的技术方案是:一种移动平台可信支付方法,其特征在于,包 括以下步骤: 步骤1 :用户在安全浏览器SEB的地址栏输入一个URL后,安全浏览器SEB提取该URL 的域名关键字,在数据库中查找该关键字的密文是否被记录,来判断该URL是否是需要安 全保护的支付类网站; 如果该关键字的密文没有被记录,则该URL不是需要高安全保障的支付类网址,进入 步骤2 ; 如果该关键字的密文被记录,则该URL是需要高安全保障的支付类网址,进入步骤3 ; 步骤2 :系统直接在安全浏览器SEB上打开该网站,本流程结束; 步骤3 :安全浏览器SEB已经判断该URL为需要安全保护的支付类网站,安全浏览器 SEB将对可信操作系统T0S的镜像文件进行度量,并与PCR中存储的基准值进行比较,所述 的基准值由可信第三方提供,并存储在本地TPM的特定PCR中,根据校验结果分为两类: 若校验没有通过,则进入步骤4 ; 若校验通过,则进入步骤5 ; 步骤4 :安全浏览器SEB将向用户返回错误报告页面,告知可信操作系统TOS的镜像文 件可能被篡改,让用户通过可信第三方更新系统镜像,本流程结束; 步骤5 :安全浏览器SEB将启动虚拟机管理器Limbo-VMM,打开可信操作系统TOS ; 步骤6 :安全浏览器SEB通过socket将经过AES加密的URL发送给监督程序; 步骤7 :监督程序接收到AES加密后的URL后,首先监督程序将其解密,得到原始URL, 监督程序再次进行URL合法性检测,以防止SQL注入攻击,然后提取该URL的域名关键字, 加密该域名关键字,然后在数据库中查询该URL关键字的密文是否被记录,通过二次检验, 以确保SEB发送的URL没有被非法篡改; 若检验失败,则进入步骤8; 若检验成功,则进入步骤9 ; 步骤8 :监督程序将向安全浏览器SEB发送URL可能被篡改的提示以及关闭信息,进入 步骤10 ; 步骤9 :监督程序将启动可信操作系统T0S中的浏览器,待用户正常退出后,将向安全 浏览器SEB发送关闭信息; 步骤10 :安全浏览器SEB接受到关闭信息后,将虚拟机管理器Limbo-VMM关闭。
[0012] 作为优选,所述的域名关键字均通过加密后存储在数据库中。
[0013] 作为优选,步骤1中所述的用户在安全浏览器SEB的地址栏输入一个URL后,安全 浏览器SEB首先判断该URL是否是一个合法的URL,来避免SQL注入攻击,然后,检验数据库 文件是否被篡改; 若被篡改,则提示用户通过可信第三方更新该数据库,本流程结束; 若没有被篡改,则安全浏览器SEB将提取该URL的域名关键字,在数据库中查找该关键 字的密文是否被记录,来判断该URL是否是需要安全保护的支付类网站。
[0014] 本发明的系统基于虚拟化技术,对ARM,X86等各种硬件平台兼容性良好,本发明 的有益效果为: 1. 安全性增强。本系统采用了可信计算技术和虚拟化技术,在提供隔离性的同时,还对 虚拟机进行完整性度量,更多一重保障。并且还在其他方面做了安全性增强,比如自主实现 的安卓安全浏览器SEB,防止SQL注入等措施。本系统能够抵御当前移动支付领域诸多直接 或者间接的安全威胁; 2. 对移动支付支持良好。当前的各大移动支付类网站,如网上银行、支付宝等都能够在 本系统上得到很好的支持,同时良好兼容支付最关键的安全控件。同时由于基于虚拟化技 术,本系统可用于ARM和X86等多种硬件体系的移动设备; 3. 简单易用,安装方便。移动支付日益普及,除了安全性。针对广大的普通用户,易用 性很重要。本系统易用性方面也做了很多工作,例如使用虚拟化技术时,传统虚拟机VMware 等需要自行建立虚拟机,设定CPU、内存等,再点击开机,而本系统虚拟机是基于google code上的一个开源项目Limbo-Android做的修改,在安全浏览器跳转至虚拟机Limbo-VMM 时,已经做了相关设定,用户无需做任何操作。装配本系统,像普通安卓手机安装APP -样 简单。
[0015]
【专利附图】
【附图说明】
[0016] 图1 :是本发明实施例的系统部署结构图; 图2 :是本发明实施例的SEB模块结构图; 图3 :是本发明实施例的系统主要运行流程; 图4 :是本发明实施例的TPM可信度量流程。
[0017]
【具体实施方式】
[0018] 为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发 明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不 用于限定本发明。
[0019] 请见图1,本发明的一种移动平台可信支付系统,主要包括可信操作系统T0S (Trusted Operating System)、普通操作系统 NOS (Normal Operating System)、虚拟机管理 器 Limb〇-VMM、安全浏览器 SEB (Security-Enhanced Browser)、监督程序(Monitor)和硬件 层。
[0020] 安全浏览器SEB是一个功能简单、安全性增强的浏览器。在安全方面,本系统采取 了很多措施来加强它的安全性,比如防止SQL注入和反调试技术等。当用户输一个网址时, 安全浏览器SEB将查询支付网址数据库(PUDB)来判断该网址是否是一个支付相关的网址。 如果是支付相关的,安全浏览器SEB将会对该网址进行加密并通过socket连接发送给可信 操作系统T0S内的监督程序Monitor,监督程序将会再次确定是否是安全的支付类网站,如 果是,则用可信操作系统T0S内浏览器打开该址。如果浏览器鉴别出该网址只是一个普通 的,那么该网站将直接在安全浏览器SEB打开。
[0021] 虚拟机管理器Limb-VMM用来提供普通操作系统N0S和可信操作系统T0S之间的 隔离。虚拟机管理器Limbo-VMM是基于开源工程Limbo-Android的基础上修改得到的。本 系统修改了其中机器配置,使之对当前主流ARMv7架构的CPU支持更好。此外,为了用户使 用的便捷,本系统还直接针对当前支付环境的需要,为用户配置好了可信操作系统T0S的 CPU、内存、可信操作系统T0S的镜像路径等参数。当虚拟机管理器Limbo-VMM启动时,可信 操作系统T0S将直接启动,而不需要新建虚拟机、设定虚拟机参数,同时点击开始按钮等一 系列操作。
[0022] 可信操作系统T0S是一个带有监督程序Monitor和浏览器等支付必需软件的定制 系统。可信操作系统T0S如果需要升级必须经过可信第三方的认证。可信操作系统T0S里 面的浏览器可以很好地支持当前的移动支付类网站。
[0023] 普通操作系统N0S是常用的运行于手机上的android操作系统,无需对其进行更 改。
[0024] 监督程序(Monitor)负责与安全浏览器SEB做沟通,当监督程序收到来自安全浏 览器SEB的消息时,监督程序Monitor将会按先前的约定,解密该信息,然后将得到的明文 URL提取出域名关键字,再按照约定加密(因为数据库中存储的是密文),将域名关键字的密 文送入支付网址数据库(PUDB)中进行查询,如果是PUDB中有的支付类网址,则说明该消息 是安全浏览器SEB发来的合法请求。否则,该消息有可能是攻击者发出的或者SEB发出的 URL遭到篡改。
[0025] 请见图2,本实施例的SEB结构为: MainActivity :MainActivity是安全浏览器SEB的主类,包含了用户界面以及调用 Encryptool、Anet、DBManager等其他类完成加解密、与Limbo-VMM的通信、查询支付网址数 据库等功能,其他一些操作如BASE64编码等也在MainActivity中完成。
[0026] Encryptool :Encryptool类通过调用OpenSSL中的实现了 SHA256加解密功能。
[0027] Anet :Anet类负责与可信操作系统中的监督程序完成交互,包括将支付URL加密 后通过socket传送给监督程序、以及接收监督程序的反馈等操作。
[0028] DBManager :DBManager类负责数据库相关操作,主要功能是判断某一 URL是否是 需要高度安全保障的支付相关的网址。
[0029] 请见图3,本发明的方法所采用的技术方案是:一种移动平台可信支付方法,包括 以下步骤: 步骤1 :用户在安全浏览器SEB的地址栏输入一个URL后,安全浏览器SEB首先判断该 URL是否是一个合法的URL,来避免SQL注入攻击,然后,检验数据库文件是否被篡改; 若被篡改,则提示用户通过可信第三方更新该数据库,本流程结束; 若没有被篡改,则安全浏览器SEB将提取该URL的域名关键字(如支付宝的所有子站点 都将被提取出关键字alipay. com,这样可以保证所有子站点都被识别),域名关键字均通过 加密后存储在数据库中,在数据库中查找该关键字的密文是否被记录,来判断该URL是否 是需要安全保护的支付类网站; 如果该关键字的密文没有被记录,则该URL不是需要高安全保障的支付类网址,进入 步骤2 ; 如果该关键字的密文被记录,则该URL是需要高安全保障的支付类网址,进入步骤3 ; 步骤2 :系统直接在安全浏览器SEB上打开该网站,本流程结束; 步骤3 :安全浏览器SEB已经判断该URL为需要安全保护的支付类网站,安全浏览器 SEB将对可信操作系统T0S的镜像文件进行度量,并与PCR中存储的基准值进行比较(基准 值由可信第三方提供,并存储在本地TPM的特定PCR中),根据校验结果分为两类: 若校验没有通过,则进入步骤4 ; 若校验通过,则进入步骤5 ; 步骤4 :安全浏览器SEB将向用户返回错误报告页面,告知可信操作系统T0S的镜像文 件可能被篡改,让用户通过可信第三方更新系统镜像,本流程结束; 步骤5 :安全浏览器SEB将启动虚拟机管理器Limbo-VMM,打开可信操作系统T0S ; 步骤6 :安全浏览器SEB通过socket将经过AES加密的URL发送给监督程序; 步骤7 :监督程序接收到AES加密后的URL后,首先监督程序将其解密,得到原始URL, 监督程序再次进行URL合法性检测,以防止SQL注入攻击,然后提取该URL的域名关键字, 加密该域名关键字,然后在数据库中查询该URL关键字的密文是否被记录,通过二次检验, 以确保SEB发送的URL没有被非法篡改; 若检验失败,则进入步骤8; 若检验成功,则进入步骤9 ; 步骤8 :监督程序将向安全浏览器SEB发送URL可能被篡改的提示以及关闭信息,进入 步骤10 ; 步骤9 :监督程序将启动可信操作系统TOS中的浏览器,待用户正常退出后,将向安全 浏览器SEB发送关闭信息; 步骤10 :安全浏览器SEB接受到关闭信息后,将虚拟机管理器Limbo-VMM关闭。
[0030] 请见图4, TPM芯片用来对可信操作系统T0S的镜像文件进行完整性度量,具体实 现包括以下步骤: 步骤A :将T0S的镜像mount到指定位置; 步骤B:读入度量配置文件(存有待度量的内核文件、启动文件、系统驱动类文件的路 径、名称),生成待度量文件链表; 步骤C :对待度量文件链表中的文件一一进行度量,最后得到迭代hash值; 步骤D :将最后获取的迭代hash值存入PCR寄存器中。
[0031] 应当理解的是,本说明书未详细阐述的部分均属于现有技术。
[0032] 应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本 发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权 利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发 明的请求保护范围应以所附权利要求为准。
【权利要求】
1. 一种移动平台可信支付系统,其特征在于:主要包括可信操作系统TOS、普通操作系 统N0S、虚拟机管理器Limbo-VMM、安全浏览器SEB、监督程序和硬件层; 所述的可信操作系统T0S是一个带有诸如监督程序和浏览器类支付必需软件的定制 系统,该系统的镜像文件存储在存储卡中,并在每次该系统启动前都通过TPM芯片对镜像 文件进行完整性度量; 所述的普通操作系统N0S是常用的运行于手机上的Android操作系统; 所述的虚拟机管理器Limb-VMM用来提供普通操作系统N0S和可信操作系统T0S之间 的隔离,用户使用的普通操作系统N0S和可信操作系统T0S通过虚拟机管理器Limbo-VMM 来进行隔离,他们之间无法进行直接通信; 所述的安全浏览器SEB根据用户输入的URL类型来选择操作,如果用户输入的是支 付相关的网站,所述的安全浏览器SEB将启动可信操作系统并在可信操作系统中打开该网 站,否则,将直接在所述的安全浏览器中打开该网站; 所述的监督程序负责与安全浏览器SEB做沟通,负责接收SEB发来的网址,向SEB发送 一些关闭信息或者错误提示信息等; 所述的硬件层包括除了移动设备常用硬件外,还包括TPM芯片和存储卡,所述的可信 操作系统T0S的镜像文件存储在存储卡上,TPM芯片用来对所述的可信操作系统T0S的镜 像文件进行完整性度量,为可信操作系统T0S提供平台完整性保障; 所述的可信操作系统T0S只有得到第三方可信机构的授权才能更新,平时用户使用普 通手机操作系统N0S,但当所述的移动平台可信支付系统检测到用户想要进行支付时,将自 动切换到可信操作系统T0S来执行支付操作,而支付操作需要的网址,则通过支付网址数 据库验证后加密传入可信操作系统T0S中。
2. 根据权利要求1所述的移动平台可信支付系统,其特征在于:所述的TPM芯片用来 对所述的可信操作系统T0S的镜像文件进行完整性度量,具体实现包括以下步骤: 步骤A :将可信操作系统T0S的镜像文件mount到指定位置; 步骤B:读入度量配置文件,该配置文件存有待度量的内核文件、启动文件、系统驱动 类文件的路径、名称,生成待度量文件链表; 步骤C :对待度量文件链表中的文件一一进行度量,最后得到迭代hash值; 步骤D :将最后获取的迭代hash值存入PCR寄存器中。
3. 根据权利要求1所述的移动平台可信支付系统,其特征在于:所述的监督程序负责 与安全浏览器SEB做沟通,负责接收SEB发来的网址,向SEB发送一些关闭信息或者错误提 示信息等,其沟通过程为:当监督程序收到来自安全浏览器SEB的消息时,监督程序将会解 密该信息,然后将得到的明文URL提取出域名关键字,再进行加密,将域名关键字的密文送 入支付网址数据库PUDB中进行查询,如果是PUDB中有的支付类网址,则说明该消息是安全 浏览器SEB发来的合法请求,否则,该消息有可能是攻击者发出的或者安全浏览器SEB发出 的URL遭到篡改。
4. 一种利用权利要求1所述的移动平台可信支付系统进行支付的方法,其特征在于, 包括以下步骤: 步骤1 :用户在安全浏览器SEB的地址栏输入一个URL后,安全浏览器SEB提取该URL 的域名关键字,在数据库中查找该关键字的密文是否被记录,来判断该URL是否是需要安 全保护的支付类网站; 如果该关键字的密文没有被记录,则该URL不是需要高安全保障的支付类网址,进入 步骤2 ; 如果该关键字的密文被记录,则该URL是需要高安全保障的支付类网址,进入步骤3 ; 步骤2 :系统直接在安全浏览器SEB上打开该网站,本流程结束; 步骤3 :安全浏览器SEB已经判断该URL为需要安全保护的支付类网站,安全浏览器 SEB将对可信操作系统TOS的镜像文件进行度量,并与PCR中存储的基准值进行比较,所述 的基准值由可信第三方提供,并存储在本地TPM的特定PCR中,根据校验结果分为两类: 若校验没有通过,则进入步骤4 ; 若校验通过,则进入步骤5 ; 步骤4 :安全浏览器SEB将向用户返回错误报告页面,告知可信操作系统TOS的镜像文 件可能被篡改,让用户通过可信第三方更新系统镜像,本流程结束; 步骤5 :安全浏览器SEB将启动虚拟机管理器Limbo-VMM,打开可信操作系统TOS ; 步骤6 :安全浏览器SEB通过socket将经过AES加密的URL发送给监督程序; 步骤7 :监督程序接收到AES加密后的URL后,首先监督程序将其解密,得到原始URL, 监督程序再次进行URL合法性检测,以防止SQL注入攻击,然后提取该URL的域名关键字, 加密该域名关键字,然后在数据库中查询该URL关键字的密文是否被记录,通过二次检验, 以确保SEB发送的URL没有被非法篡改; 若检验失败,则进入步骤8; 若检验成功,则进入步骤9 ; 步骤8 :监督程序将向安全浏览器SEB发送URL可能被篡改的提示以及关闭信息,进入 步骤10 ; 步骤9 :监督程序将启动可信操作系统T0S中的浏览器,待用户正常退出后,将向安全 浏览器SEB发送关闭信息; 步骤10 :安全浏览器SEB接受到关闭信息后,将虚拟机管理器Limbo-VMM关闭。
5. 根据权利要求4所述的移动平台可信支付方法,其特征在于:所述的域名关键字均 通过加密后存储在数据库中。
6. 根据权利要求4所述的移动平台可信支付方法,其特征在于:步骤1中所述的用户 在安全浏览器SEB的地址栏输入一个URL后,安全浏览器SEB首先判断该URL是否是一个 合法的URL,来避免SQL注入攻击,然后,检验数据库文件是否被篡改; 若被篡改,则提示用户通过可信第三方更新该数据库,本流程结束; 若没有被篡改,则安全浏览器SEB将提取该URL的域名关键字,在数据库中查找该关键 字的密文是否被记录,来判断该URL是否是需要安全保护的支付类网站。
【文档编号】G06Q20/34GK104063788SQ201410339491
【公开日】2014年9月24日 申请日期:2014年7月16日 优先权日:2014年7月16日
【发明者】王鹃, 林武桃, 杜变霞, 孟轲, 李皓宇 申请人:武汉大学