一种WebApp的防篡改方法

文档序号:8000171阅读:836来源:国知局
一种WebApp的防篡改方法
【专利摘要】本发明提供一种WebApp的防篡改方法,属于WebApp的安全机制【技术领域】。该防篡改方法中,对WebApp元数据进行非对称加密、生成加密的WebApp元数据文件以防止非授权应用被安装;并且,在后台服务器中计算WebApp中需要离线存储的执行文件的第一校验值,在用户终端计算所读取的离线存储的WebApp的执行文件的第二校验值,将二者比对以确认应用的安全。因此,本发明的防篡改方法易于防范应用WebApp的风险,安全性好,并且运行效率高,用户体验好。
【专利说明】-种WebApp的防篡改方法

【技术领域】
[0001] 本发明属于WebApp的安全机制【技术领域】,涉及采用对元数据进行非对称加密、并 采用校验值比对确认应用安全的WebApp防篡改方法。

【背景技术】
[0002] 近年来,伴随无线通信技术的发展,移动互联网热潮席卷全球,电子商务媒介从传 统互联网逐渐向移动设备过渡。同时,伴随HTML5技术的日趋成熟,其为受到操作系统碎 片化、开发成本高、周期长等困扰的移动应用开发者提供了一种低成本、高灵活度的替代方 案。
[0003] WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的 内容和功能,其可以运行在高端的移动终端中,当然也可以运行在非移动的计算机等用户 终端中。HybirdApp是一种移动应用的形式,其由与移动设备相关的原生代码与具有移动 设备无关性的Web代码组合形成应用,具有跨平台、高开发效率等优秀特性,因此被广泛使 用。
[0004] 然而,由于WebApp在移动终端或者其他用户终端中明文存储,在用户终端被犹取 根权限(即被Root)后,WebApp容易受到篡改攻击。例如,Hybrid App中Web部分在移动 设备中明文集中存储,其易于受到篡改攻击。
[0005] 这种篡改攻击严重影响到WebApp的安全性,需要尽量防范,尤其在金融应用领 域,例如在移动支付的客户端中,WebApp的防篡改机制显得极为重要。
[0006] 当前,在移动支付客户端中,不少公司都采用搭建平台、吸引商户组建商圈的策略 运营。出于跨平台、应用开发成本、维护成本等原因,一般采用HTML来编写业务应用,并通 过客户端平台进行下载、安装、启停、管理等操作。基于流量开销、启动效率等考虑,需要采 用Offline技术将HTML、JS、资源等文件缓存在本地,主要的操作步骤如下: 1. 持卡人选中客户端中某个WebApp业务,点击下载; 2. 客户端从后台获取该WebApp业务的元数据,并进行解析,获取WebApp业务入口页 面; 3. 在首次访问时从后台拉取页面,并存储到本地; 4. 在再次访问时从本地存储拉取页面,执行WebApp业务。
[0007] 因此,本地存储的WebApp存在以下问题:(1)由于WebApp元数据明文存在,在下 载后会存储在移动终端本地,如果移动终端被犹取根权限后,存在被木马桌改的风险,可能 启动钓鱼应用;(2)执行脚本和页面以明文形式存储在本地,如果移动设备被获取根权限 后存在被木马篡改的风险,直接执行应用可能导致交易过程被劫持。
[0008] 为解决以上问题,现有技术中,提出页面加密的方式防止WebApp被篡改、保障交 易安全,但是,由于加解密过程耗时非常高,降低整体程序运行效率,也大大降低用户体验。


【发明内容】

[0009] 本发明的目的之一在于,提供一种本地存储的WebApp的相对完善的、高效的防篡 改机制。
[0010] 为实现以上目的或者其他目的,本发明提供一种WebApp的防篡改方法,其中,在 后台服务器的准备过程中,主要包括步骤: 对WebApp元数据进行非对称加密,生成加密的WebApp元数据文件; 计算WebApp中需要离线存储的执行文件的第一校验值; 其中,在用户终端首次安装WebApp的过程中,主要包括步骤: 需要安装的WebApp的地址被选取并下载相应的所述加密的WebApp元数据文件; 对所述加密的WebApp元数据文件进行解析; 其中,在用户终端启动已安装的WebApp操作过程中,主要包括步骤: 读取已安装的WebApp所对应的、用户终端所离线存储的WebApp的执行文件,并计 算其第二校验值; 比对第一校验值和第二校验值; 如果匹配,则直接从用户终端本地启动该WebApp应用; 如果不匹配,则基于网络远程从所述后台服务器读取相应的WebApp的执行文件 并启动该WebApp应用。
[0011] 按照本发明一实施例的WebApp的防篡改方法,其中, 在计算所述第一校验值过程中,首先计算每个执行文件的信息摘要算法(MD5)校验值, 然后将所有MD5校验值拼接以计算出最终的MD5第一校验值; 在计算所述第二校验值过程中,首先计算离线存储的每个执行文件的信息摘要算法 (MD5)校验值,然后将所有MD5校验值拼接以计算出最终的MD5第二校验值。
[0012] 优选地,所述第一校验值和所述第二校验值被存储至安全服务器,并且通过所述 安全服务器进行所述比对的判断。
[0013] 进一步具体地,所述执行文件可以为包括HTML、JS和/或CSS执行文件。
[0014] 按照本发明又一实施例的WebApp的防篡改方法,其中,在对WebApp元数据进行非 对称加密的过程中,采用私钥对WebApp元数据进行加密; 在对所述加密的WebApp元数据文件进行解析的过程中,采用公钥对所述加密的 WebApp元数据文件进行解密。
[0015] 优选地,如果不匹配,同时清空用户终端本地存储的所述执行文件。
[0016] 按照本发明还一实施例的WebApp的防篡改方法,其中,在用户终端首次安装该 WebApp的过程中: 在解析所述加密的WebApp元数据文件后,从该WebApp元数据文件读取相应的入 口信息; 记录该WebApp元数据文件的位置信息并将其记录为已安装的WebApp。
[0017] 进一步,在用户终端启动已安装的WebApp操作过程中,还包括在所述读取步骤之 前的步骤: 根据已安装的WebApp的所述位置信息,读取相应的WebApp元数据文件并从其中 解析相应的入口信息; 根据所述相应的入口信息,从用户终端本地启动页面;以及 判断用户终端本地是否存储有该WebApp对应的执行文件,如果判断为"是",则进 入所述读取步骤。
[0018] 进一步地,如果判断用户终端本地不存储该WebApp对应的执行文件,则基于网络 远程从所述后台服务器读取相应的WebApp的执行文件并启动该WebApp应用。
[0019] 在之前所述任一实施例的WebApp的防篡改方法中,所述用户终端可以为移动终 端。
[0020] 在之前所述任一实施例的WebApp的防篡改方法中,所述WebApp可以为用于移动 支付的WebApp。
[0021] 本发明的技术效果是,该WebApp防篡改方法的防篡改机制中,对元数据的非对称 加密,防止了元数据文件被重写,也防止了非授权应用被安装和应用入口被劫持;对执行 文件进行校验值计算,确认应用安全;并且,仅在少数步骤使用加解密操作,最大程度地提 升了 WebApp应用的运行效率,用户体验好。即使用户终端20被获取根权限,也可以保证 WebApp的安全运行,因此,其尤其适合于安全性要求高的移动支付的WebApp。

【专利附图】

【附图说明】
[0022] 从结合附图的以下详细说明中,将会使本发明的上述和其他目的及优点更加完整 清楚,其中,相同或相似的要素采用相同的标号表示。
[0023] 图1是按照本发明一实施例的WebApp的防篡改方法的流程示意图。

【具体实施方式】
[0024] 下面介绍的是本发明的多个可能实施例中的一些,旨在提供对本发明的基本了 解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。容易理解,根据本 发明的技术方案,在不变更本发明的实质精神下,本领域的一般技术人员可以提出可相互 替换的其他实现方式。因此,以下【具体实施方式】以及附图仅是对本发明的技术方案的示例 性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
[0025] 图1所示为按照本发明一实施例的WebApp的防篡改方法的流程示意图。该防篡 改方法至少需要后在后台服务器10和用户终端20中运行实现,因此,其包括在后台服务器 10中运行的部分和在用户终端20中运行的部分。在该实施例中,以用户终端选择为移动终 端为示例进行说明,并且该WebApp为用于移动支付的WebApp。但是,用户终端以及WebApp 的具体类型不是限制性的,例如,用户终端还可以为非移动的计算终端,WebApp也可以任何 的需要良好安全防范机制的应用。为提高WebApp的启动效率和运行速度,并且节省移动终 端的流量开销,需要将WebApp从后台服务器10下载进行本地存储。需要理解的是,在本文 中,"本地"的概念是相对用户终端20来定义的,表示其在用户终端20。
[0026] 在后台服务器10执行的部分中,也即后台服务器10的准备过程中,执行如图1所 示的步骤S110和S120。其中,S110中,利用后台私钥A为表征WebApp元数据的XML文件 加密,生成供下载的密文文件,即加密的WebApp元数据文件;S120中,计算WebApp中所有 需要离线存储的执行文件的MD5校验值,并将所有校验值排序拼接,计算出最终的MD5校验 值,该MD5校验值可以存储至校验服务器作为WebApp ID键对应的值,以方便其后的比对步 骤;具体地,在计算校验值的过程中,可以采用公钥B来计算。其中,执行文件可以但不限于 为HTML、JS和/或CSS类型的执行文件。
[0027] 以上步骤S110和步骤S120之间的顺序关系不是限制性的,也可以先执行步骤 S120再执行步骤S110,亦或步骤S110和S120同时执行。因此,权利要求中的非对称加密 元数据的步骤(即对应S110)和计算校验值步骤(即对应S120)之间的文字先后描述关系并 不限制二者之间的执行顺序关系。
[0028] 在用户终端20执行的部分中,其包括首次按照使用WebApp的情形和启动已经安 装的WebApp的情形。
[0029] 具体地,如图1所示,首次安装WebApp的过程中,包括以下步骤。
[0030] S210,用户选取需要安装的WebApp应用地址,从而发起安装。
[0031] S220,执行下载流程,如图1所示,从后台服务器10下载经过步骤S110处理后的 加密的WebApp元数据文件(XML文件)至本地。
[0032] S230,对该加密的WebApp元数据文件进行解析,并且还可以从解析的XML文件读 取该WebApp应用的入口,还读取图标等信息。在解析的过程中,采用相应的公钥进行解密。 因此,步骤S110中是采用了非对称加密方式对WebApp的元数据进行加密,这样,可以防止 非授权的WebApp应用被安装在移动终端,也可以防止应用入口被劫持,确保用户启动的 WebApp应用的入口正常。
[0033] 以上过程中,还可以包括在步骤S230之后的步骤:记录该WebApp元数据文件的位 置信息并将其记录为已安装的WebApp。
[0034] 具体地,在用户终端启动已安装的WebApp操作过程中,主要包括以下步骤。
[0035] 步骤S240,首先根据已安装的WebApp的位置信息(其已经被记录),读取相应的 WebApp元数据文件并从其中解析相应的入口信息(读取后利用公钥来解析,使其称为明文 入口信息);然后根据所述相应的入口信息,从用户终端本地启动页面,判断用户终端20本 地离线存储中是否存储有相应的执行文件。
[0036] 如果没有存储,则直接进入步骤S280,基于网络远程从后台服务器10读取(例如, 根据入口信息从网络获取)相应的WebApp的执行文件,并执行步骤S290,启动该WebApp应 用。
[0037] 如果判断为存储有相应的执行文件,进入步骤S250。 步骤S250,读取已安装的WebApp所对应的、用户终端所离线存储的WebApp的执行文 件,例如,读取后缀名为HTML/JS/CSS的执行文件。具体地,在计算校验值的过程中,可以采 与步骤S120中相同的公钥B来计算。
[0038] 进一步,步骤S255,计算读取的执行文件的校验值;在该实施例中,计算每个执行 文件的MD5校验值,并将所有校验值排序拼接,计算出最终的MD5校验值,该MD5校验值也 可以提交存储至校验服务器。
[0039] 进一步,步骤S260,比对校验值;在该步骤中,比对步骤S255获得的MD5校验值和 步骤S120中获取的MD5校验值,从而可以发现执行文件是否在用户终端被篡改,从而可以 确保诸如交易流程无篡改。具体地,该比对过程可以在安全服务器中完成。如果比对结果 为二者相互匹配,则表示执行文件与服务器原始的相应执行文件相同,未被篡改,进入步骤 S280,直接从用户终端20本地启动该WebApp应用。如果比对结果为二者相互不匹配,则进 入步骤S270。
[0040] 进一步,步骤S270,清空用户终端本地存储的执行文件。这样,被篡改后的执行文 件被清空,其可以通过清除本地所有缓存的方式实现。
[0041] 进一步,步骤S280,本地的执行文件被清空后,只能基于网络远程从后台服务器 10读取(例如,根据入口信息从网络获取)相应的WebApp的执行文件。
[0042] 最后,启动该WebApp应用(S290)。
[0043] 从上可知,本发明实施例的WebApp防篡改方法的防篡改机制中,对元数据的非对 称加密,防止了元数据文件被重写,也防止了非授权应用被安装和应用入口被劫持;对执行 文件进行校验值计算,确认应用安全;并且,仅在少数步骤使用加解密操作,最大程度地提 升了 WebApp应用的运行效率,用户体验好。即使用户终端20被获取根权限,也可以保证 WebApp的安全运行。因此,其尤其适合于安全性要求高的移动支付的WebApp,可以防范应 用钓鱼、木马篡改等主要风险,为持卡人进行移动支付业务提供一个安全的环境。
[0044] 以上例子主要说明了本发明的WebApp防篡改方法。尽管只对其中一些本发明的 实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与 范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制 性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖 各种的修改与替换。
【权利要求】
1. 一种WebApp的防篡改方法,其特征在于, 在后台服务器的准备过程中,主要包括步骤: 对WebApp元数据进行非对称加密,生成加密的WebApp元数据文件; 计算WebApp中需要离线存储的执行文件的第一校验值; 在用户终端首次安装WebApp的过程中,主要包括步骤: 需要安装的WebApp的地址被选取并下载相应的所述加密的WebApp元数据文 件; 对所述加密的WebApp元数据文件进行解析; 在用户终端启动已安装的WebApp操作过程中,主要包括步骤: 读取已安装的WebApp所对应的、用户终端所离线存储的WebApp的执行文件,并 计算其第二校验值; 比对第一校验值和第二校验值; 如果匹配,则直接从用户终端本地启动该WebApp应用; 如果不匹配,则基于网络远程从所述后台服务器读取相应的WebApp的执行文件 并启动该WebApp应用。
2. 如权利要求1所述的WebApp的防篡改方法,其特征在于, 在计算所述第一校验值过程中,首先计算每个执行文件的信息摘要算法(MD5)校验值, 然后将所有MD5校验值拼接以计算出最终的MD5第一校验值; 在计算所述第二校验值过程中,首先计算离线存储的每个执行文件的信息摘要算法 (MD5)校验值,然后将所有MD5校验值拼接以计算出最终的MD5第二校验值。
3. 如权利要求1或2所述的WebApp的防篡改方法,其特征在于,所述第一校验值和所 述第二校验值被存储至安全服务器,并且通过所述安全服务器进行所述比对的判断。
4. 如权利要求1或2所述的WebApp的防篡改方法,其特征在于,所述执行文件为包括 HTML、JS和/或CSS执行文件。
5. 如权利要求1所述的WebApp的防篡改方法,其特征在于,在对WebApp元数据进行非 对称加密的过程中,采用私钥对WebApp元数据进行加密; 在对所述加密的WebApp元数据文件进行解析的过程中,采用公钥对所述加密的 WebApp元数据文件进行解密。
6. 如权利要求1所述的WebApp的防篡改方法,其特征在于,如果不匹配,同时清空用户 终端本地存储的所述执行文件。
7. 如权利要求1所述的WebApp的防篡改方法,其特征在于,在用户终端首次安装该 WebApp的过程中: 在解析所述加密的WebApp元数据文件后,从该WebApp元数据文件读取相应的入口 信息; 记录该WebApp元数据文件的位置信息并将其记录为已安装的WebApp。
8. 如权利要求7所述的WebApp的防篡改方法,其特征在于,在用户终端启动已安装的 WebApp操作过程中,还包括在所述读取步骤之前的步骤: 根据已安装的WebApp的所述位置信息,读取相应的WebApp元数据文件并从其 中解析相应的入口信息; 根据所述相应的入口信息,从用户终端本地启动页面;以及 判断用户终端本地是否存储有该WebApp对应的执行文件,如果判断为"是",则进入 所述读取步骤。
9. 如权利要求8所述的WebApp的防篡改方法,其特征在于,如果判断用户终端本地不 存储该WebApp对应的执行文件,则基于网络远程从所述后台服务器读取相应的WebApp的 执行文件并启动该WebApp应用。
10. 如权利要求1所述的WebApp的防篡改方法,其特征在于,所述用户终端为移动终端。
11. 如权利要求9所述的WebApp的防篡改方法,其特征在于,所述WebApp为用于移动 支付的WebApp。
【文档编号】H04L29/06GK104219198SQ201310208412
【公开日】2014年12月17日 申请日期:2013年5月30日 优先权日:2013年5月30日
【发明者】岳钢, 王海冰, 何朔 申请人:中国银联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1