[发明专利]一种动态非对称加解密的JavaScript代码混淆方法与系统在审
申请号: | 202110230035.4 | 申请日: | 2021-03-02 |
公开(公告)号: | CN113010856A | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 肖东爽;肖铮;陈树华 | 申请(专利权)人: | 北京顶象技术有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/60 |
代理公司: | 北京云科知识产权代理事务所(特殊普通合伙) 11483 | 代理人: | 张飙 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 对称 解密 javascript 代码 混淆 方法 系统 | ||
本发明公开了一种动态非对称加解密的JavaScript代码混淆方法和系统,所述方法包括以下步骤:步骤A,用户访问业务系统,浏览器端混淆SDK向业务系统请求JavaScript文件;步骤B,业务系统将源文件发送至混淆服务器,混淆服务器使用非对称加密的方式对代码进行动态混淆,生成混淆后的文件和token,并返回给浏览器端混淆SDK,使得每次访问返回的文件内容都不同;步骤C,浏览器端混淆SDK动态解密混淆后的文件并执行。所述方法和系统使得浏览器端无法获知原始文件内容,每次访问返回的混淆文件内容都在变化,保障了混淆的解密流程无法被伪造绕过,防止文件被分析逆向。
技术领域
本发明涉及计算机与通信领域,具体涉及一种动态非对称加解密的JavaScript代码混淆方法与系统。
背景技术
随着互联网客户端技术的迅速发展,客户端的各种技术越来越丰富,功能也越来越复杂,但由于客户端代码是运行在用户终端上的,攻击者很容易阅读、分析和破解,给系统带来各种风险。目前各种客户端如浏览器、Hybrid AP、小程序等,主要通过解释JavaScript代码来运行,所以需要对JavaScript代码进行保护,避免暴露业务逻辑,防止作品被复制篡改等。
目前的混淆手段主要是静态混淆,混淆后上传文件到服务器,不同用户从服务器下载到的文件是同样的静态文件。静态混淆技术主要可以分为混淆控制流和混淆数据结构两大类,静态混淆在JAVA、NET等虚拟机语言上起到很好的效果,由于这类代码并不是被编译成二进制机器码,而是以中间代码的形式在运行时被解释执行,二这种中间代码非常容易被逆向,所以不得不进行混淆。类似的还有对JavaScript等脚本语言的混淆保护,这类保护方案都是在源码的基础上进行的。
静态混淆后的文件,只要攻击者花费一定时间和成本,都可以进行逆向。一旦文件被逆向,业务逻辑就已经暴露,即使后续定期更新混淆后的文件,只要业务逻辑没有发生变化,风险依旧存在。
发明内容
针对现有技术存在的问题,本发明的目的在于解决现有技术中混淆后的文件容易被逆向的技术问题,提供一种动态混淆技术,使得浏览器端无法获知原始文件内容,每次访问返回的混淆文件内容都在变化,保障了混淆的解密流程无法被伪造绕过,防止文件被分析逆向。
根据本发明的一种动态非对称加解密的JavaScript代码混淆方法,包括以下步骤:
步骤A,用户访问业务系统,浏览器端混淆SDK向业务系统请求JavaScript文件;
步骤B,业务系统将源文件发送至混淆服务器,混淆服务器使用非对称加密的方式对代码进行动态混淆,生成混淆后的文件和token,并返回给浏览器端混淆SDK,使得每次访问返回的文件内容都不同;
步骤C,浏览器端混淆SDK动态解密混淆后的文件并执行。
进一步,步骤A中,在接收到用户对JavaScript源文件进行访问的请求信息后,业务服务器根据该请求信息获取发出该请求信息的发出端的特征值,根据获取到的特征值,判断该请求信息是否合法,如果合法,则允许该请求信息的发出端对JavaScript源文件进行访问,如果不合法则拒绝该请求信息的发出端对JavaScript源文件进行访问。
进一步,步骤B中包括:
步骤B1,混淆服务器使用非对称加密算法,生成公钥和私钥,传入私钥对源文件进行混淆,并返回混淆后的文件和token至业务服务器;
其中混淆程序的混淆方式是解析源代码生成AST,对代码中的基础数据类型进行加密,替换为加密后的内容,同时在AST中插入解密代码,解密代码需要公钥作为参数才能正常返回原始数据,否则可以在浏览器中执行但无法得到正常结果。然后将混淆后的AST转换为新的JavaScript代码返回;
token可以用来向混淆服务器请求公钥信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京顶象技术有限公司,未经北京顶象技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110230035.4/2.html,转载请声明来源钻瓜专利网。