DCW
Technology Analysis
技术分析
81
数字通信世界
2023.05
1  小程序基本框架
小程序采用JavaSBridge 框架搭建,其较为“特殊”开发语言和文件基于的开发商腾讯公司自主定义的WXML/WXSS 和JS 开发语言标准。其中,小程序的视图层和逻辑层由两个运行在WebView 的线程组成。从本质上来讲,小程序这种架构设计依旧依赖于WebView ,但首屏渲染模式在双线程的管理模式下进行了加速,避免了单线程下JS 运行造成页面的加载和渲染阻塞。
1.1 视图层View
视图层由WXML 与WXSS 编写,通过组件进行展
原生安卓app开发
示。WXML (WeiXin Markup Language ,标记语言)是一套用来描述网页的架构,其以框架作为基础设计而成的标签语言与XML 格式相似,并支持数据绑定、条件渲染、列表渲染、自定义模板、事件回调以及
外部引用等;WXSS (WeiXin Style Sheet ,样式表)用于对WXML 组件样式的描述,类似于网页开发的CSS ,组件为框架所提供的系列基础模块和视图层基本构成单位,其包含了表单组件、导航、地图和媒体组件等常见要素[1-2]。
1.2 逻辑层App Service
小程序框架中逻辑层通过JavaScript 引擎来开发,其数据传输的主要流程如下:首先,视图层要接收一个来自逻辑层已经处理加载完毕事件的数据;其次,在页面上显示给逻辑层的数据,而逻辑层则会把从视图层中接收到数据的加载事件反馈到后台,便于用户调用。小程序框架下极其丰富的原生API ,不仅能够便捷地调取所提供的由用户授予许可的用户头像、昵称和本地存储等信息,还能够实现扫一扫、支付等功能,其强大的模块化功能,使得每一个页面都具有一个独立作用域。
小程序安全问题浅析
黄    铄,林    锴,戚耀中,黄浩贤,陈源濠
(广东白云学院,广东  广州  510450)
摘要:
小程序作为依附于框架上的应用,在上有着广阔的应用前景及优质用户,流量巨大,方便快捷,但也存在着源代码泄露、用户信息泄露等安全问题,只有从根本上解决这些问题,才能让用户对小程序用得舒心,用得放心。文章通过对小程序框架的概述,浅析小程序现有的安全问题,提出用RSA算法进行同态加密的创新性想法,探讨RSA加密算法优点,对小程序的安全问题提出相应的解决办法。
关键词:
小程序;安全性分析;加密算法doi:
10.3969/J.ISSN.1672-7274.2023.05.025中图分类号:
TP 311.56              文献标示码:A              文章编码:1672-7274(2023)05-0081-03Analysis of WeChat Applet Security
HUANG Shuo, LIN Kai, QI Yaozhong, HUANG Haoxian, CHEN Yuanhao
(Guangdong Baiyun University, Guangzhou 510450, China)
Abstract: As an application attached to the WeChat framework, WeChat applets have broad application prospects and high-quality users on WeChat, with huge traffic and convenience, but there are also security problems such as source code disclosure and user information disclosure. Only by fundamentally solving these problems can users use WeChat applets comfortably and safely. This paper summarizes the framework of WeChat applets, analyzes the existing security problems of WeChat applets, puts forward the innovative idea of homomorphic encryption using RSA algorithm, discusses the advantages of RSA encryption algorithm, and puts forward corresponding solutions to the security problems of WeChat applets.
Key words: WeChat applet; safety analysis; encryption algorithm
基金项目:本文系广东白云学院2022年广东省科技创新战略专项资金(“攀登计划”专项资金)资助“i 树洞——从心出发,包容你的治愈与致郁”专项调研课
题,项目编号:pdjh2022b0585。作者简介:黄  铄(2002-),男,汉族,广东汕头人,本科在读,研究方向为软件工程。
Copyright ©博看网. All Rights Reserved.
I G I T C W
技术  分析Technology Analysis
82DIGITCW
2023.05
2  小程序应用前景
小程序自问世之初就被寄予了“方便、快捷、即开即用、用完就走、不需要下载冗余App 、降低内存占用”等殷切期望。“粤省事”小程序作为国内第一个整合各个部门民生服务的移动平台,自2018年5月推出以来,已经整合各级部门高频政务服务事项400余件,实名注册用户规模已经突破1.64亿,日均办理业务规模已超4亿件,日在线访问用户规模已超过1 500万人次。“粤省事”已发展成为目前全国用户体规模最大,业务集成度、服务便捷度和应用活跃度等均雄居国内市场之首的移动政务服务应用。在广东省平均4人就会有1人在使用“粤省事”,很显然,在当前这个讲究便捷的时代,越来越多的小程序逐渐走进平常百姓的生活中,有着极大的发展前景以及广泛的应用场景。
3  小程序存在的问题及解决办法
3.1 Web接口漏洞
如今小程序用户与日俱增,同时也存在着一
些漏洞。第一,XSS 攻击,是指恶意攻击者将脚本代码插入网页当中,当用户浏览网页时,会自动执行网页中嵌入的脚本代码,从而对用户进行恶意攻击。第二,CSRF 攻击,是指使用户对当前登录的Web 应用程序执行非本意操作的攻击方法。第三,各类越权漏洞,指服务器对客户端的数据操作请求过度信任,从而忽略了判断用户操作的权限,允许该用户修改相关参数,使其可以使用添加、删除、检查和修改其他账户的功能,从而导致越权漏洞。
3.2 业务逻辑漏洞
业务逻辑漏洞是指后端服务本身的业务逻辑漏
洞。例如,任意修改订单金额、手机验证码回传、检索密码设计缺陷。
3.3 业务方面的解决办法
也在查补漏洞产生上做出了努力,小程序不同于H5,重复提交需要重复审核,这在一定程度上减少了恶意小程序攻击的机会。传统的App 直接运行在安卓系统或者IOS 系统上,而小程序依附于
的基本框架,相当于手机上的一个应用,攻击小程序需要透过框架,因此攻击小程序的难度巨大,同时开发的腾讯公司作为中国高新技术中的龙头,在处理公司皇冠级产品时,不敢有任何疏漏,在小程序开发、测试、上线等步骤中设置了许多规定,以提高小程序的安全性。2001年4月,腾讯安全应急中心在官方账号上正式宣布,腾讯将
开放可疑黑灰产账号反馈入口,且反馈入口将永
久免费使用。腾讯将积极配合第三方平台检测风险信息,协调安全问题,保护用户财产和人身安全。小程序只能在生态下运行,不能向个人开放(需要企业认证)。此外,小程序不允许跳转到外部网站。小程序发布前,官方会对小程序进行审核,审核通过后才能上线。可见,腾讯在确保小程序的安全性上也下了很大的功夫。
4  算法方面的解决方案
4.1 RSA算法介绍
RSA 安全系数高,使用场景丰富,如网上银行用户身份验证、网上交易加密连接、智能手机、各种信用卡使用的数字证书以及存储卡的验证功能芯片等,大部分都是采用RSA 技术进行加密。RSA 算法作为一种不对称加密算法,不仅适用于数据加密,还能用于数字签名,自1977年以来,经历了各种各样的测试,仍未被完全攻破,被誉为地球上最安全的加密算法,更因其
操作方便和容易理解,被许多大公司采用[3-4]
4.2 RSA算法的应用4.2.1 实现数字签名
实现身份认证作为数字签名的重要手段,不仅可以确定签名者唯一的信息标识,还可以通过第三方验证,避免争端的出现,例如,使用报文摘要的数字签名技术,信息发送方截取报文摘要用作自己的私钥加密,将加密摘要和报文同时发送给信息接收方[5]。
4.2.2 应用于数字签名技术中的RSA算法
通过RSA 私钥和消息进行输入,数据分组和签名生成输出。通过RSA 算法对其进行改进,可以缩短数字签名的时间,同时在一定程度上提高了信息的安全性[6]。
4.2.3 加密系统模型设计
随着密码技术的不断进步,各种密码技术的应用越来越广泛,应用场景也越来越丰富,但单纯采用同一种信息加密技术无法保证用户大量数据在传输过程中能够被完整接收。在保证网络信息安全的前提下,既要对已有的RSA 算法进行改进,又要将对称加密方式和公开密钥加密方式同时用于保护用户的数据安
全,设计出更加难以破解的加密模式。在这种思路下,信息安全保密系统分为登录、加密、解密三大模块。加密和解密模块分别提供IDEA 、RSA 、Md5,以及综合加密和解密功能[7]。
4.2.4 系统通信协议设计
在数据传输过程中,要制定好数据包格式、总长
Copyright ©博看网. All Rights Reserved.
DCW
Technology Analysis
技术分析
83
数字通信世界
2023.05
度、类型、加密的对称会话密码及加密报文等。规范好各个字段的顺序,接收方则按设定好的顺序进行解密,并验证信息传输方的身份和信息的完整性。
4.3 RSA算法的实现
RSA 公钥密码的基本原理是数论欧拉定理,其大
数因子分解困难是保证RSA 加密安全的重要因素[8]。下面是一个详细的加密-解密算法的流程。
(1)随机选择两个素数p 和q ,并且保密。(2)通过计算p 和q 的乘积n ,并将n 独立分开。(3)通过计算(p -1)与(q -1)进行乘积运算,得出其结果为φ(n ),并保密φ(n )这一结果。(4)从整数中随机抽取一个满足大于1且小于φ(n ),与φ(n )互为质数这两个条件,命名为e 的整数并公开e 这一整数作为公钥。
(5)根据e *d =1mod(φ(n ))即d *e 与1关于φ(n )同余求出d ,并对d 进行保密。(6)设明文为A 且小于n ,密文为B ,则加密算法:B =A e modn
(7)解密算法则为A  = B d modn 。(8)图1为RSA 加密算法具体流程图。
n 的一个正整数中,n 的互素数的数目被表示为φ(n )。)
5  同态加密
在云计算或者外包计算方面,开发人员往往会将
大量的用户数据外包到云服务供应商进行计算,可以充分利用云服务供应商的庞大计算资源,实现数据存储、托管和处理等多种目的,从而节约成本。但将明文数据交给云服务器,又不通过任何的加密处理,这无异于把数据放在一个未上锁的箱子里,毫无安全性可言,我们可以先对用户所产生的大量数据进行加密处理再上传至云服务提供商。传统的算法是将密文掌握在开发者手里,这样也导致了无法对用户数直接计算,所以如何在保证数据的保密性的同时,又能够兼顾对用户数据进行计算,成了一个难题,而时同态加密
这一方法便可以很好地解决这方面问题[9-10]
6  结束语
小程序因方便快捷并且实用性强而深受大众
欢迎,具有极高的用户流量,因此,保护好用户数据安全对于小程序来说非常重要。本文通过对小程序安全性的探讨,介绍了目前小程序的基本框架结构。腾讯公司开发团队对于小程序的相关安全措施,主要依靠官方团队提供的源码上线审核等一系列措施进行技术防护,还有开发者对数据库信息调用接口,以及在各个有信息传输的位置采取一些算法的加密来维护安全。■
参考文献
[1] 马涛.安卓平台的小程序安全性研究与实现[D].北京:北京邮电大
学,2001.
[2] 郭晟南,蒋学勤.基于RSA 信息安全加密系统的研究与实现[J].网络安
全技术与应用,2018(1):35,38.
[3] 杨建才.对计算机网络安全中应用信息加密技术的研究[J].计算机光盘
软件与应用,2001(3):18-19.
[4] 王佳煜.有关信息加密技术在计算机网络安全中的应用研究[J].计算机
光盘软件与应用,2001(3):22-23.
[5] 陈智罡,王箭,宋新霞.全同态加密研究[J].计算机应用研究,
2014(6):1624-1631.
[6] 纪淑君,单磊敬,赵振华.信息加密技术在计算机网络安全中的应用探
讨[J].中国新通信,2019,21(16):144.
[7] 徐康庭.网络安全与网络信息加密技术分析[J].数字通信世界,
2018(2):102.
[8] 常晓伟.计算机网络安全应用信息加密技术在石油行业中的运用[J].科
技创新与应用,2016(24):116.
[9] 代嘉翊.新时代背景下网络安全与网络信息加密技术分析[J].电子元器
件与信息技术,2022,6(2):238-240.
[10] 汪茹洋,戴祥华.关于网络信息加密技术的运用研究[J].中国信息
化,
2018(6):66-67.
图1 RSA 加密算法具体流程图
由上述演算方法可知,对于RSA 算法来说,加密
密钥是Ke=<n,e>,而解密密钥与多数的加密算法是相同的,它是不公开的。(注:在本文中,φ(n )表达的含义是一种数论函数,也称欧拉函数。在演示RSA算法的过程中,在小于
Copyright ©博看网. All Rights Reserved.