[發明專利]前端代碼處理方法及裝置在審
| 申請號: | 202210238914.6 | 申請日: | 2022-03-11 |
| 公開(公告)號: | CN114826556A | 公開(公告)日: | 2022-07-29 |
| 發明(設計)人: | 朱磊 | 申請(專利權)人: | 無線生活(杭州)信息科技有限公司 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;H04L9/08;G06F21/60 |
| 代理公司: | 北京尚倫律師事務所 11477 | 代理人: | 趙昕 |
| 地址: | 311200 浙江省杭州市蕭山*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 前端 代碼 處理 方法 裝置 | ||
本發明是關于前端代碼處理方法及裝置,以降低密鑰暴露風險。該方法包括:獲取二次密鑰,其中,所述二次密鑰是根據真實密鑰、預設算法生成的;將所述二次密鑰引入到前端代碼中,并根據所述預設算法解密所述二次密鑰得到真實密鑰和版本號;若版本號校驗通過,根據所述真實密鑰對前端代碼中的待加密信息進行加密;對前端代碼進行深度混淆以生成供瀏覽器使用的前端代碼文件。
技術領域
本公開涉及前端技術領域,尤其涉及前端代碼處理方法及裝置。
背景技術
由于前端代碼在客戶端的瀏覽器中執行,屬于公開狀態,任何人都可以通過瀏覽器的開發者工具拿到前端代碼,從而導致前端代碼中包含的任何私密信息都有可能泄露出去,因此某些場景下需要在前端采用加密以提升數據的安全性。出于安全和性能的平衡,業界通常采用AES(Advanced Encryption Standard,高級加密標準)加密算法,但是如何提升AES密鑰的安全性,是保證前端加密安全的重點。業界通常有如下方式:
通過接口請求從服務端獲取密鑰。這種方式的本質是將密鑰存儲的服務端,需要的時候從服務端獲取。該方式的優點是保證了密鑰存儲的安全性,同時每次獲取密鑰時,服務端可生成新的密鑰進行下發,保證密鑰隨時更新。但是缺點也很明顯,首先服務端存儲雖然保證了密鑰存儲的安全性,但在密鑰傳輸過程中依然有泄露風險。攻擊者通過瀏覽器的開發者調試工具,可以輕松的獲取接口下發的密鑰。其次從服務端獲取密鑰會阻塞加密過程,客戶端必須等待接口下發成功以后才能進行加密,在很多時效性要求較高場景下,會降低頁面的響應速度,影響用戶體驗。
將密鑰存儲在本地客戶端緩存中,例如cookie(儲存在用戶本地終端上的數據),localstorage(本地存儲)等。這種方式的優點是不會阻塞加密流程,隨用隨取。但是缺點也比較明顯,攻擊者可以比較容易的從緩存中獲取密鑰,并且更新密鑰也會比較麻煩,需要修改客戶端代碼,重新發布。
將密鑰存儲在客戶端的混淆壓縮代碼中。通常的做法是將密鑰直接寫在前端代碼中,然后對前端代碼做壓縮混淆。這種方式攻擊者必須通過調試或分析前端代碼,才能在壓縮混淆后的代碼中找到密鑰。然而這種方式只是相對提升了破解密鑰的成本,熟悉瀏覽器開發者工具的攻擊者依然能比較容易的獲取密鑰。
發明內容
為克服相關技術中存在的問題,本公開的實施例提供一種前端代碼處理方法及裝置。技術方案如下:
根據本公開的實施例的第一方面,提供一種前端代碼處理方法,包括:
獲取二次密鑰,其中,所述二次密鑰是根據真實密鑰、預設算法生成的;
將所述二次密鑰引入到前端代碼中,并根據所述預設算法解密所述二次密鑰得到真實密鑰和版本號;
若版本號校驗通過,根據所述真實密鑰對前端代碼中的待加密信息進行加密;
對前端代碼進行深度混淆以生成供瀏覽器使用的前端代碼文件。
在一實施例中,根據真實密鑰、預設算法生成二次密鑰,包括:
根據真實密鑰生成多個混淆密鑰并組成混淆密鑰數組,其中,每個混淆密鑰是由與真實密鑰相同的字符集組成的字符串,并且長度與真實密鑰相同;
將真實密鑰隨機插入混淆密鑰數組中,將真實密鑰在混淆密鑰數組中的位置記錄為第一插入位置;
將預設的密鑰版本號插入混淆密鑰數組中,將密鑰版本號在混淆密鑰數組中的位置記錄為第二插入位置;
將所述第一插入位置和第二插入位置插入到混淆密鑰數組的預設位置;
以預設方式將混淆密鑰數組轉為字符串;
使用預設加密算法對字符串進行加密,得到二次密鑰。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于無線生活(杭州)信息科技有限公司,未經無線生活(杭州)信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210238914.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:自動打包運輸疊高流水線系統及其使用方法
- 下一篇:接觸式美容儀和美容儀操作頭





