[發(fā)明專利]嵌入式系統(tǒng)程序的加密解密方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201810097186.5 | 申請(qǐng)日: | 2018-01-31 |
| 公開(公告)號(hào): | CN108334754B | 公開(公告)日: | 2020-12-08 |
| 發(fā)明(設(shè)計(jì))人: | 張光先;繆慶瑞;苗文玲;蔡一旺;劉明松 | 申請(qǐng)(專利權(quán))人: | 山東奧太電氣有限公司 |
| 主分類號(hào): | G06F21/12 | 分類號(hào): | G06F21/12 |
| 代理公司: | 濟(jì)南圣達(dá)知識(shí)產(chǎn)權(quán)代理有限公司 37221 | 代理人: | 李圣梅 |
| 地址: | 250101 山東*** | 國(guó)省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 嵌入式 系統(tǒng) 程序 加密 解密 方法 | ||
本發(fā)明公開了嵌入式系統(tǒng)程序的加密解密方法及系統(tǒng),根據(jù)文件格式列出可執(zhí)行程序二進(jìn)制文件的執(zhí)行視圖,從所述執(zhí)行視圖中選擇其中的結(jié)構(gòu)模塊中的開始加密的指定位置;根據(jù)執(zhí)行視圖提取信息用于計(jì)算上述選擇的結(jié)構(gòu)模塊的加密位置在文件中的偏移地址,采用加密算法對(duì)指定位置之后的若干字節(jié)進(jìn)行加密;加載加密處理后的文件,在文件代碼段映射之前添加寫權(quán)限,映射之后計(jì)算解密位置進(jìn)行解密。本發(fā)明實(shí)現(xiàn)在不影響程序正常功能的情況下,提升了用戶程序的安全性,保護(hù)了用戶的合法權(quán)益。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件安全技術(shù)領(lǐng)域,特別是涉及嵌入式系統(tǒng)程序的加密解密方法及系統(tǒng)。
背景技術(shù)
近年來伴隨系統(tǒng)控制、通信、傳感等技術(shù)的愈加成熟,嵌入式系統(tǒng)在消費(fèi)類電子、汽車、工業(yè)控制和通信等行業(yè)迅速普及。然而隨著反編譯和逆向工程等黑客技術(shù)的不斷發(fā)展,嵌入式系統(tǒng)所面臨的攻擊也越來越多,盜版產(chǎn)品層出不窮。如何在這些嵌入式系統(tǒng)中采用低成本、高可靠性的方法保護(hù)企業(yè)或個(gè)人的研發(fā)設(shè)計(jì)成果不被非法剽竊和抄襲,成為當(dāng)下嵌入式產(chǎn)品設(shè)計(jì)領(lǐng)域的一個(gè)重要問題。
現(xiàn)階段對(duì)嵌入式產(chǎn)品的加密,多是采用加密存儲(chǔ)芯片進(jìn)行硬件電路的加密和重要數(shù)據(jù)的認(rèn)證存儲(chǔ)。加密存儲(chǔ)芯片與主控芯片建立聯(lián)系,通過一定的數(shù)據(jù)交互,配合主控芯片程序的正常運(yùn)行。
通過這種外接加密芯片的方式,雖然可以在一定程度上防止程序被非法破解,但需要增加額外的硬件成本。且它所面向的嵌入式產(chǎn)品多為單片機(jī)裸機(jī)程序,對(duì)Linux系統(tǒng)應(yīng)用程序并不適用。最重要的是目前市場(chǎng)上的加密芯片多是采取對(duì)比認(rèn)證的加密方式,仍然無法避免逆向工程對(duì)認(rèn)證點(diǎn)的惡意修改,導(dǎo)致程序安全性得不到保障。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)的不足,本發(fā)明提供了嵌入式系統(tǒng)程序的加密解密方法及系統(tǒng),本發(fā)明采用純軟件的方式實(shí)現(xiàn)程序的加解密,實(shí)現(xiàn)在不影響程序正常功能的情況下,提升了用戶程序的安全性,保護(hù)了用戶的合法權(quán)益。
嵌入式系統(tǒng)程序的加密解密方法,包括:
根據(jù)文件格式列出可執(zhí)行程序二進(jìn)制文件的執(zhí)行視圖,從所述執(zhí)行視圖中選擇其中的結(jié)構(gòu)模塊中的開始加密的指定位置;
根據(jù)執(zhí)行視圖提取信息用于計(jì)算上述選擇的結(jié)構(gòu)模塊的加密位置在文件中的偏移地址,采用加密算法對(duì)指定位置之后的若干字節(jié)進(jìn)行加密;
加載加密處理后的文件,在文件代碼段映射之前添加寫權(quán)限,映射之后計(jì)算解密位置進(jìn)行解密。
進(jìn)一步的,所述執(zhí)行視圖的各個(gè)結(jié)構(gòu)模塊包括文件頭、程序頭部表、程序代碼段、節(jié)區(qū)頭部表,其中選擇程序代碼段main函數(shù)后的指定位置開始加密。
進(jìn)一步的,所述根據(jù)執(zhí)行視圖提取信息用于計(jì)算上述選擇的結(jié)構(gòu)模塊的加密位置在文件中的偏移地址,具體方式是:先獲得.text節(jié)區(qū)的偏移位置,再根據(jù).text節(jié)區(qū)的偏移位置得到main函數(shù)在文件中的偏移位置。
進(jìn)一步的,所述獲得.text節(jié)區(qū)的偏移位置:
根據(jù)文件頭的變量確定程序頭部表位置;
遍歷每一個(gè)表項(xiàng),找到第一個(gè)段類型符合設(shè)定要求的表項(xiàng),獲取指定表項(xiàng)參數(shù),該表項(xiàng)參數(shù)即表示代碼段加載到虛擬內(nèi)存空間的起始地址;
使用文件頭的變量減去表項(xiàng)參數(shù)得到.text節(jié)區(qū)距離代碼段起始地址的長(zhǎng)度,該長(zhǎng)度加上代碼段在文件中的偏移量即得.text節(jié)區(qū)在文件中的偏移地址。
進(jìn)一步的,所述根據(jù).text節(jié)區(qū)的偏移位置得到main函數(shù)在文件中的偏移位置:
根據(jù).text節(jié)區(qū)初始部分例程代碼確定指定的平臺(tái)架構(gòu)下例程的二進(jìn)制字節(jié)長(zhǎng)度以及存儲(chǔ)main函數(shù)內(nèi)存入口地址的字節(jié)在例程中的偏移量,得到main函數(shù)在文件中的偏移量。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于山東奧太電氣有限公司,未經(jīng)山東奧太電氣有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810097186.5/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>
- 加密裝置、加密系統(tǒng)、加密方法以及加密程序
- 移動(dòng)終端和方法
- 再加密方法、再加密系統(tǒng)以及再加密裝置
- 加密終端遠(yuǎn)程管理的方法、加密終端及管理器
- 數(shù)據(jù)加密的方法及裝置
- 流媒體數(shù)據(jù)加密、解密方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 加密裝置、加密系統(tǒng)和數(shù)據(jù)的加密方法
- 文件加密、解密方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)
- 一種車聯(lián)網(wǎng)數(shù)據(jù)加密方法及系統(tǒng)
- 一種服務(wù)數(shù)據(jù)共享云平臺(tái)的數(shù)據(jù)加密方法及系統(tǒng)





