[發明專利]一種動態非對稱加解密的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.szxzyx.cn/pat/books/202110230035.4/2.html,轉載請聲明來源鉆瓜專利網。





