CN104219198B - 一种WebApp的防篡改方法 - Google Patents

一种WebApp的防篡改方法 Download PDF

Info

Publication number
CN104219198B
CN104219198B CN201310208412.XA CN201310208412A CN104219198B CN 104219198 B CN104219198 B CN 104219198B CN 201310208412 A CN201310208412 A CN 201310208412A CN 104219198 B CN104219198 B CN 104219198B
Authority
CN
China
Prior art keywords
webapp
tamper resistant
user terminal
resistant method
check value
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
Application number
CN201310208412.XA
Other languages
English (en)
Other versions
CN104219198A (zh
Inventor
岳钢
王海冰
何朔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201310208412.XA priority Critical patent/CN104219198B/zh
Publication of CN104219198A publication Critical patent/CN104219198A/zh
Application granted granted Critical
Publication of CN104219198B publication Critical patent/CN104219198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

一种WebApp的防篡改方法
技术领域
本发明属于WebApp的安全机制技术领域,涉及采用对元数据进行非对称加密、并采用校验值比对确认应用安全的WebApp防篡改方法。
背景技术
近年来,伴随无线通信技术的发展,移动互联网热潮席卷全球,电子商务媒介从传统互联网逐渐向移动设备过渡。同时,伴随HTML5技术的日趋成熟,其为受到操作系统碎片化、开发成本高、周期长等困扰的移动应用开发者提供了一种低成本、高灵活度的替代方案。
WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能,其可以运行在高端的移动终端中,当然也可以运行在非移动的计算机等用户终端中。HybirdApp是一种移动应用的形式,其由与移动设备相关的原生代码与具有移动设备无关性的Web代码组合形成应用,具有跨平台、高开发效率等优秀特性,因此被广泛使用。
然而,由于WebApp在移动终端或者其他用户终端中明文存储,在用户终端被获取根权限(即被Root)后,WebApp容易受到篡改攻击。例如, Hybrid App中Web部分在移动设备中明文集中存储,其易于受到篡改攻击。
这种篡改攻击严重影响到WebApp的安全性,需要尽量防范,尤其在金融应用领域,例如在移动支付的客户端中,WebApp的防篡改机制显得极为重要。
当前,在移动支付客户端中,不少公司都采用搭建平台、吸引商户组建商圈的策略运营。出于跨平台、应用开发成本、维护成本等原因,一般采用HTML来编写业务应用,并通过客户端平台进行下载、安装、启停、管理等操作。基于流量开销、启动效率等考虑,需要采用Offline技术将HTML、JS、资源等文件缓存在本地,主要的操作步骤如下:
1.持卡人选中客户端中某个WebApp业务,点击下载;
2.客户端从后台获取该WebApp业务的元数据,并进行解析,获取WebApp业务入口页面;
3.在首次访问时从后台拉取页面,并存储到本地;
4.在再次访问时从本地存储拉取页面,执行WebApp业务。
因此,本地存储的WebApp存在以下问题:(1)由于WebApp元数据明文存在,在下载后会存储在移动终端本地,如果移动终端被获取根权限后,存在被木马篡改的风险,可能启动钓鱼应用;(2)执行脚本和页面以明文形式存储在本地,如果移动设备被获取根权限后存在被木马篡改的风险,直接执行应用可能导致交易过程被劫持。
为解决以上问题,现有技术中,提出页面加密的方式防止WebApp被篡改、保障交易安全,但是,由于加解密过程耗时非常高,降低整体程序运行效率,也大大降低用户体验。
发明内容
本发明的目的之一在于,提供一种本地存储的WebApp的相对完善的、高效的防篡改机制。
为实现以上目的或者其他目的,本发明提供一种WebApp的防篡改方法,其中,在后台服务器的准备过程中,主要包括步骤:
对WebApp元数据进行非对称加密,生成加密的WebApp元数据文件;
计算WebApp中需要离线存储的执行文件的第一校验值;
其中,在用户终端首次安装WebApp的过程中,主要包括步骤:
需要安装的WebApp的地址被选取并下载相应的所述加密的WebApp元数据文件;
对所述加密的WebApp元数据文件进行解析;
其中,在用户终端启动已安装的WebApp操作过程中,主要包括步骤:
读取已安装的WebApp所对应的、用户终端所离线存储的WebApp的执行文件,并计算其第二校验值;
比对第一校验值和第二校验值;
如果匹配,则直接从用户终端本地启动该WebApp应用;
如果不匹配,则基于网络远程从所述后台服务器读取相应的WebApp的执行文件并启动该WebApp应用。
按照本发明一实施例的WebApp的防篡改方法,其中,
在计算所述第一校验值过程中,首先计算每个执行文件的信息摘要算法(MD5)校验值,然后将所有MD5校验值拼接以计算出最终的MD5第一校验值;
在计算所述第二校验值过程中,首先计算离线存储的每个执行文件的信息摘要算法(MD5)校验值,然后将所有MD5校验值拼接以计算出最终的MD5第二校验值。
优选地,所述第一校验值和所述第二校验值被存储至安全服务器,并且通过所述安全服务器进行所述比对的判断。
进一步具体地,所述执行文件可以为包括HTML、JS和/或CSS执行文件。
按照本发明又一实施例的WebApp的防篡改方法,其中,在对WebApp元数据进行非对称加密的过程中,采用私钥对WebApp元数据进行加密;
在对所述加密的WebApp元数据文件进行解析的过程中,采用公钥对所述加密的WebApp元数据文件进行解密。
优选地,如果不匹配,同时清空用户终端本地存储的所述执行文件。
按照本发明还一实施例的WebApp的防篡改方法,其中,在用户终端首次安装该WebApp的过程中:
在解析所述加密的WebApp元数据文件后,从该WebApp元数据文件读取相应的入口信息;
记录该WebApp元数据文件的位置信息并将其记录为已安装的WebApp。
进一步,在用户终端启动已安装的WebApp操作过程中,还包括在所述读取步骤之前的步骤:
根据已安装的WebApp的所述位置信息,读取相应的WebApp元数据文件并从其中解析相应的入口信息;
根据所述相应的入口信息,从用户终端本地启动页面;以及
判断用户终端本地是否存储有该WebApp对应的执行文件,如果判断为“是”,则进入所述读取步骤。
进一步地,如果判断用户终端本地不存储该WebApp对应的执行文件,则基于网络远程从所述后台服务器读取相应的WebApp的执行文件并启动该WebApp应用。
在之前所述任一实施例的WebApp的防篡改方法中,所述用户终端可以为移动终端。
在之前所述任一实施例的WebApp的防篡改方法中,所述WebApp可以为用于移动支付的WebApp。
本发明的技术效果是,该WebApp防篡改方法的防篡改机制中,对元数据的非对称加密,防止了元数据文件被重写,也防止了非授权应用被安装和应用入口被劫持;对执行文件进行校验值计算,确认应用安全;并且,仅在少数步骤使用加解密操作,最大程度地提升了WebApp应用的运行效率,用户体验好。即使用户终端20被获取根权限,也可以保证WebApp的安全运行,因此,其尤其适合于安全性要求高的移动支付的WebApp。
附图说明
从结合附图的以下详细说明中,将会使本发明的上述和其他目的及优点更加完整清楚,其中,相同或相似的要素采用相同的标号表示。
图1是按照本发明一实施例的WebApp的防篡改方法的流程示意图。
具体实施方式
下面介绍的是本发明的多个可能实施例中的一些,旨在提供对本发明的基本了解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。容易理解,根据本发明的技术方案,在不变更本发明的实质精神下,本领域的一般技术人员可以提出可相互替换的其他实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
图1所示为按照本发明一实施例的WebApp的防篡改方法的流程示意图。该防篡改方法至少需要后在后台服务器10和用户终端20中运行实现,因此,其包括在后台服务器10中运行的部分和在用户终端20中运行的部分。在该实施例中,以用户终端选择为移动终端为示例进行说明,并且该WebApp为用于移动支付的WebApp。但是,用户终端以及WebApp的具体类型不是限制性的,例如,用户终端还可以为非移动的计算终端,WebApp也可以任何的需要良好安全防范机制的应用。为提高WebApp的启动效率和运行速度,并且节省移动终端的流量开销,需要将WebApp从后台服务器10下载进行本地存储。需要理解的是,在本文中,“本地”的概念是相对用户终端20来定义的,表示其在用户终端20。
在后台服务器10执行的部分中,也即后台服务器10的准备过程中,执行如图1所示的步骤S110和S120。其中,S110中,利用后台私钥A为表征WebApp元数据的XML文件加密,生成供下载的密文文件,即加密的WebApp元数据文件;S120中,计算WebApp中所有需要离线存储的执行文件的MD5校验值,并将所有校验值排序拼接,计算出最终的MD5校验值,该MD5校验值可以存储至校验服务器作为WebApp ID键对应的值,以方便其后的比对步骤;具体地,在计算校验值的过程中,可以采用公钥B来计算。其中,执行文件可以但不限于为HTML、JS和/或CSS类型的执行文件。
以上步骤S110和步骤S120之间的顺序关系不是限制性的,也可以先执行步骤S120再执行步骤S110,亦或步骤S110和S120同时执行。因此,权利要求中的非对称加密元数据的步骤(即对应S110)和计算校验值步骤(即对应S120)之间的文字先后描述关系并不限制二者之间的执行顺序关系。
在用户终端20执行的部分中,其包括首次按照使用WebApp的情形和启动已经安装的WebApp的情形。
具体地,如图1所示,首次安装WebApp的过程中,包括以下步骤。
S210,用户选取需要安装的WebApp应用地址,从而发起安装。
S220,执行下载流程,如图1所示,从后台服务器10下载经过步骤S110处理后的加密的WebApp元数据文件(XML文件)至本地。
S230,对该加密的WebApp元数据文件进行解析,并且还可以从解析的XML文件读取该WebApp应用的入口,还读取图标等信息。在解析的过程中,采用相应的公钥进行解密。因此,步骤S110中是采用了非对称加密方式对WebApp的元数据进行加密,这样,可以防止非授权的WebApp应用被安装在移动终端,也可以防止应用入口被劫持,确保用户启动的WebApp应用的入口正常。
以上过程中,还可以包括在步骤S230之后的步骤:记录该WebApp元数据文件的位置信息并将其记录为已安装的WebApp。
具体地,在用户终端启动已安装的WebApp操作过程中,主要包括以下步骤。
步骤S240,首先根据已安装的WebApp的位置信息(其已经被记录),读取相应的WebApp元数据文件并从其中解析相应的入口信息(读取后利用公钥来解析,使其称为明文入口信息);然后根据所述相应的入口信息,从用户终端本地启动页面,判断用户终端20本地离线存储中是否存储有相应的执行文件。
如果没有存储,则直接进入步骤S280,基于网络远程从后台服务器10读取(例如,根据入口信息从网络获取)相应的WebApp的执行文件,并执行步骤S290,启动该WebApp应用。
如果判断为存储有相应的执行文件,进入步骤S250。
步骤S250,读取已安装的WebApp所对应的、用户终端所离线存储的WebApp的执行文件,例如,读取后缀名为HTML/JS/CSS的执行文件。具体地,在计算校验值的过程中,可以采与步骤S120中相同的公钥B来计算。
进一步,步骤S255,计算读取的执行文件的校验值;在该实施例中,计算每个执行文件的MD5校验值,并将所有校验值排序拼接,计算出最终的MD5校验值,该MD5校验值也可以提交存储至校验服务器。
进一步,步骤S260,比对校验值;在该步骤中,比对步骤S255获得的MD5校验值和步骤S120中获取的MD5校验值,从而可以发现执行文件是否在用户终端被篡改,从而可以确保诸如交易流程无篡改。具体地,该比对过程可以在安全服务器中完成。如果比对结果为二者相互匹配,则表示执行文件与服务器原始的相应执行文件相同,未被篡改,进入步骤S280,直接从用户终端20本地启动该WebApp应用。如果比对结果为二者相互不匹配,则进入步骤S270。
进一步,步骤S270,清空用户终端本地存储的执行文件。这样,被篡改后的执行文件被清空,其可以通过清除本地所有缓存的方式实现。
进一步,步骤S280,本地的执行文件被清空后,只能基于网络远程从后台服务器10读取(例如,根据入口信息从网络获取)相应的WebApp的执行文件。
最后,启动该WebApp应用(S290)。
从上可知,本发明实施例的WebApp防篡改方法的防篡改机制中,对元数据的非对称加密,防止了元数据文件被重写,也防止了非授权应用被安装和应用入口被劫持;对执行文件进行校验值计算,确认应用安全;并且,仅在少数步骤使用加解密操作,最大程度地提升了WebApp应用的运行效率,用户体验好。即使用户终端20被获取根权限,也可以保证WebApp的安全运行。因此,其尤其适合于安全性要求高的移动支付的WebApp,可以防范应用钓鱼、木马篡改等主要风险,为持卡人进行移动支付业务提供一个安全的环境。
以上例子主要说明了本发明的WebApp防篡改方法。尽管只对其中一些本发明的实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。

Claims (11)

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。
CN201310208412.XA 2013-05-30 2013-05-30 一种WebApp的防篡改方法 Active CN104219198B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310208412.XA CN104219198B (zh) 2013-05-30 2013-05-30 一种WebApp的防篡改方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310208412.XA CN104219198B (zh) 2013-05-30 2013-05-30 一种WebApp的防篡改方法

Publications (2)

Publication Number Publication Date
CN104219198A CN104219198A (zh) 2014-12-17
CN104219198B true CN104219198B (zh) 2018-04-27

Family

ID=52100338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310208412.XA Active CN104219198B (zh) 2013-05-30 2013-05-30 一种WebApp的防篡改方法

Country Status (1)

Country Link
CN (1) CN104219198B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988789B (zh) * 2015-02-09 2020-08-28 腾讯科技(深圳)有限公司 第三方应用呼起方法、呼起平台和终端
CN105554091A (zh) * 2015-12-11 2016-05-04 电子科技大学 一种移动终端中web应用来源安全的保障方法
CN107659532A (zh) * 2016-07-24 2018-02-02 平安科技(深圳)有限公司 Html5文件的处理方法及终端、服务器
CN106850609A (zh) * 2017-01-24 2017-06-13 北京奇虎科技有限公司 一种文件的校验方法和装置
CN109308421B (zh) * 2017-07-28 2023-01-24 腾讯科技(深圳)有限公司 一种信息防篡改方法、装置、服务器和计算机存储介质
CN108932405A (zh) * 2018-07-11 2018-12-04 深圳市思迪信息技术股份有限公司 移动平台本地资源防篡改方法及装置
CN109684839A (zh) * 2018-12-19 2019-04-26 Oppo广东移动通信有限公司 自定义模型防篡改方法、装置、终端设备及存储介质
CN110308924A (zh) * 2019-05-24 2019-10-08 平安银行股份有限公司 应用程序更新方法、装置、电子设备及存储介质
CN112800004B (zh) * 2019-10-28 2023-06-16 浙江宇视科技有限公司 一种车牌算法库的控制方法、装置、设备和介质
CN114528529A (zh) * 2022-02-15 2022-05-24 广州经传多赢投资咨询有限公司 一种内存xml文件加密方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042720A (zh) * 2006-03-22 2007-09-26 富士通株式会社 具有启动验证功能的信息处理装置
CN101615230A (zh) * 2009-08-07 2009-12-30 浪潮电子信息产业股份有限公司 一种文件可信执行和可信保护的方法
EP2414965A1 (en) * 2009-04-03 2012-02-08 Google, Inc. Architectural pattern for persistent web application design
CN102624931A (zh) * 2012-04-21 2012-08-01 华为技术有限公司 Web客户端与服务器交互的方法、装置及系统
CN102804194A (zh) * 2009-05-12 2012-11-28 诺基亚公司 用于提供应用安全性的方法、装置和计算机程序

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042720A (zh) * 2006-03-22 2007-09-26 富士通株式会社 具有启动验证功能的信息处理装置
EP2414965A1 (en) * 2009-04-03 2012-02-08 Google, Inc. Architectural pattern for persistent web application design
CN102804194A (zh) * 2009-05-12 2012-11-28 诺基亚公司 用于提供应用安全性的方法、装置和计算机程序
CN101615230A (zh) * 2009-08-07 2009-12-30 浪潮电子信息产业股份有限公司 一种文件可信执行和可信保护的方法
CN102624931A (zh) * 2012-04-21 2012-08-01 华为技术有限公司 Web客户端与服务器交互的方法、装置及系统

Also Published As

Publication number Publication date
CN104219198A (zh) 2014-12-17

Similar Documents

Publication Publication Date Title
CN104219198B (zh) 一种WebApp的防篡改方法
US10218790B2 (en) Providing access to a resource for a computer from within a restricted network
US8739298B2 (en) Method and system for enforcing a license dependency rule for a software application
TWI650669B (zh) 惡意程式清除之行動內容資料管理裝置和方法
US10341303B2 (en) Automating the creation and maintenance of policy compliant environments
WO2015121418A2 (fr) Procédé de déploiement d'un ensemble d'application(s) logicielle(s)
CN103620556A (zh) 将应用绑定到设备能力
EP3313041B1 (en) Application download method and device
US10148621B2 (en) Provisioning proxy for provisioning data on hardware resources
US11138343B2 (en) Multiple signatures in metadata for the same data record
US20140201316A1 (en) Streaming zip
CN106059772A (zh) 一种自主电子取证的方法及系统
CN103685194A (zh) 一种能力调用方法、装置及终端
CN114041134A (zh) 用于基于区块链的安全存储的系统和方法
CN110389859A (zh) 用于复制数据块的方法、设备和计算机程序产品
CN112131041A (zh) 用于管理数据放置的方法、设备和计算机程序产品
CN103177211A (zh) 软件的用户端注册方法及系统
CN102859512A (zh) 可远程处理的项目
US9064134B1 (en) Method and apparatus for mitigating software vulnerabilities
CN115129275A (zh) 一种数字文件打印方法、装置、电子设备及存储介质
CN106156625A (zh) 一种插件签名的方法及电子设备
CN112559484A (zh) 用于管理数据对象的方法、设备和计算机程序产品
CN108304729A (zh) 一种客户端上报日志的方法以及电子设备
CN108920172A (zh) 用于语音对话平台的程序发布和调用方法及系统
US20230275757A1 (en) Systems and methods for facilitating secure blockchain operations in decentralized applications using cryptography-based, storage applications in computer networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant