麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種接口庫與安全硬件安全通訊的實現(xiàn)方法

文檔序號:6519954閱讀:227來源:國知局
一種接口庫與安全硬件安全通訊的實現(xiàn)方法
【專利摘要】本發(fā)明公開了一種接口庫與安全硬件安全通訊的實現(xiàn)方法,具體步驟是:(1)將接口庫的源代碼分成多個子模塊;(2)將含有核心敏感代碼的子模塊設為模塊X進行編譯鏈接,并與安全硬件關(guān)聯(lián);(3)將模塊X通過加密和壓縮形成數(shù)組,并存儲在另一個模塊Y中;(4)模塊Y在調(diào)用加載時,重新分配一塊內(nèi)存,然后對模塊X做相應的動態(tài)加載工作;(5)模塊Y進行編譯連接,然后將該模塊通過加密和壓縮形成數(shù)組,并存儲在下一個子模塊的代碼中;(6)重復步驟(3)~步驟(5),直至所有子模塊依次都進行編譯;(7)將最后編譯的子模塊與被保護軟件相關(guān)聯(lián)。能有效防止破解者/黑客通過反編譯或者動態(tài)跟蹤的手段來破解軟件,保證軟件的安全性。
【專利說明】一種接口庫與安全硬件安全通訊的實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種接口庫與安全硬件安全通訊的實現(xiàn)方法,屬于軟件安全【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]隨著電腦的普及,各種各樣軟件越來越多,被破解的軟件也越來越多。通常軟件開發(fā)商使用兩種手段來保護自己的軟件;一種是在被保護軟件中調(diào)用安全方案供應商的接口庫,另外一種是使用外殼工具來對被保護軟件加殼。這兩種手段使用的技術(shù)完全不同,由于接口庫文件一般以(dll/obj/lib)的形式存在,一般不具有外殼防破解的功能;所以現(xiàn)有的接口庫,破解者/黑客通過反編譯或者動態(tài)跟蹤的手段來破解軟件,去除安全接口庫和安全硬件(比如說是加密鎖或者加密狗)的綁定關(guān)系,以達到非法使用軟件的目的。

【發(fā)明內(nèi)容】

[0003]針對上述現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種接口庫與安全硬件安全通訊的實現(xiàn)方法,能有效地防止破解者/黑客通過反編譯或者動態(tài)跟蹤的手段來破解軟件,保證軟件的安全性。
[0004]為了實現(xiàn)上述目的,本發(fā)明的具體步驟是:
[0005](I)將接口庫的源代碼分成多個獨立運行的子模塊,每個子模塊單獨編譯成dll文件;
[0006](2)將其中含有與安全硬件通訊的核心敏感代碼的子模塊設為模塊X進行編譯鏈接;
[0007](3)將模塊X通過加密和壓縮形成數(shù)組,并存儲在另一個子模塊的代碼中,另一個子模塊設為模塊Y ;
[0008](4)模塊Y在調(diào)用加載時,會重新分配一塊內(nèi)存,在內(nèi)存中進行解壓縮和解密,然后對加密和壓縮形成數(shù)組的模塊X做相應的動態(tài)加載工作;
[0009](5)模塊Y進行編譯連接,然后將該模塊通過加密和壓縮形成數(shù)組,并存儲在下一個子模塊的代碼中;
[0010](6)重復步驟(3)?步驟(5),直至所有子模塊依次都進行編譯;
[0011](7)將最后編譯的子模塊與被保護的軟件相關(guān)聯(lián)。
[0012]與現(xiàn)有技術(shù)相比,本發(fā)明采用迭代式的安全接口庫實現(xiàn)方式,使得解密過程環(huán)環(huán)相扣,能有效地防止破解者/黑客通過反編譯或者動態(tài)跟蹤的手段來破解軟件,無法去除安全接口庫和安全硬件(比如說是加密鎖或者加密狗)的綁定關(guān)系,保證軟件的安全性。
【專利附圖】

【附圖說明】
[0013]圖1是本發(fā)明的模塊調(diào)用的示意圖;
[0014]圖2是本發(fā)明的流程圖。【具體實施方式】
[0015]下面結(jié)合附圖和實施例對本發(fā)明作進一步說明。
[0016]實施例:以安全接口庫分成三個子模塊,分別為模塊A、模塊B和模塊C為例,進行描述(分成更多的子模塊的情況與其相似);
[0017]如圖1和圖2所示,具體步驟為:
[0018]( I)將接口庫的源代碼分成三個獨立運行的子模塊,分別為模塊A、模塊B和模塊C;
[0019](2)將其中含有與安全硬件通訊的核心敏感代碼的模塊C進行編譯鏈接,將模塊C通過安全通道的密鑰與安全硬件關(guān)聯(lián);
[0020](3)將模塊C通過加密和壓縮形成數(shù)組,并存儲在模塊B的代碼中;
[0021](4)模塊B在調(diào)用加載時,會重新分配一塊內(nèi)存,在內(nèi)存中進行解壓縮和解密,然后對加密和壓縮形成數(shù)組的模塊C做相應的動態(tài)加載工作;
[0022](5)模塊B進行編譯連接,然后將該模塊通過加密和壓縮形成數(shù)組,并存儲在模塊A的代碼中;
[0023]( 6 )模塊A在調(diào)用加載時,會重新分配一塊內(nèi)存,在內(nèi)存中進行解壓縮和解密,然后對加密和壓縮形成數(shù)組的模塊B做相應的動態(tài)加載工作;
[0024](7)將模塊A與被保護的軟件相關(guān)聯(lián)。
[0025]進一步,安全通道的密鑰為ECC非對稱算法的公鑰或AES算法的對稱密鑰,密鑰不會以明文存儲在可執(zhí)行文件當中被多個迭代保護層所保護。
[0026]進一步,加密和壓縮形成數(shù)組由加密密鑰、加密壓縮代碼數(shù)和代碼哈希值組成,哈希值是為了驗證其完整性,防止代碼被非法篡改。
[0027]上述方法的具體函數(shù)表示為:定義int a()、int b O和int c O分別表示模塊A、模塊B和模塊C:
[0028]
【權(quán)利要求】
1.一種接口庫與安全硬件安全通訊的實現(xiàn)方法,其特征在于,具體步驟是: (1)將接口庫的源代碼分成多個獨立運行的子模塊,每個子模塊單獨編譯成dll文件; (2)將其中含有與安全硬件通訊的核心敏感代碼的子模塊設為模塊X進行編譯鏈接; (3)將模塊X通過加密和壓縮形成數(shù)組,并存儲在另一個子模塊的代碼中,另一個子模塊設為模塊Y ; (4)模塊Y在調(diào)用加載時,會重新分配一塊內(nèi)存,在內(nèi)存中進行解壓縮和解密,然后對加密和壓縮形成數(shù)組的模塊X做相應的動態(tài)加載工作; (5)模塊Y進行編譯連接,然后將該模塊通過加密和壓縮形成數(shù)組,并存儲在下一個子模塊的代碼中; (6)重復步驟(3)?步驟(5),直至所有子模塊依次都進行編譯; (7)將最后編譯的子模塊與被保護的軟件相關(guān)聯(lián)。
2.根據(jù)權(quán)利要求1所述的一種接口庫與安全硬件安全通訊的實現(xiàn)方法,其特征在于,所述的安全通道的密鑰為ECC非對稱算法的公鑰或AES算法的對稱密鑰。
3.根據(jù)權(quán)利要求1所述的一種接口庫與安全硬件安全通訊的實現(xiàn)方法,其特征在于,所述的加密和壓縮形成的數(shù)組由加密密鑰、加密壓縮代碼和代碼哈希值組成。
【文檔編號】G06F21/62GK103839010SQ201310588951
【公開日】2014年6月4日 申請日期:2013年11月20日 優(yōu)先權(quán)日:2013年11月20日
【發(fā)明者】程玉虎, 王雪松, 程玉豹 申請人:中國礦業(yè)大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 方山县| 高陵县| 施秉县| 启东市| 左云县| 金门县| 大理市| 仙桃市| 南通市| 溧水县| 元江| 景洪市| 扶绥县| 永修县| 十堰市| 平乐县| 望奎县| 集安市| 兰西县| 遂昌县| 离岛区| 彭泽县| 潮安县| 高尔夫| 汝阳县| 泸定县| 错那县| 鹤峰县| 凤台县| 彰化市| 万全县| 宣威市| 牙克石市| 永胜县| 清徐县| 镇原县| 庆阳市| 建平县| 襄垣县| 怀仁县| 长海县|