[發明專利]一種軟件保護方法無效
| 申請號: | 201210382964.8 | 申請日: | 2012-10-10 |
| 公開(公告)號: | CN102880818A | 公開(公告)日: | 2013-01-16 |
| 發明(設計)人: | 孫吉平;韓勇 | 申請(專利權)人: | 北京深思洛克軟件技術股份有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 王一斌;王琦 |
| 地址: | 100086 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 軟件 保護 方法 | ||
技術領域
本發明涉及信息安全技術,特別是涉及一種軟件保護方法。
背景技術
目前,軟件保護裝置是實現軟件安全保護和版權保護的主要手段。所謂的軟件保護裝置特指一種附加在計算機接口(如:USB接口、串口、并口等接口)上的硬件設備,對運行在計算機中的特定軟件進行安全保護和版權保護。采用軟件保護裝置進行軟件保護的常規方法是將其視作一個與受保護軟件并行的運算平臺,將軟件中的一部分功能移植到軟件保護裝置中實現,在軟件運行時調用這些功能。因為受保護軟件的運行依賴于軟件保護裝置提供的預算功能,而破解者又無法復制軟件保護裝置,因此可以很好的保護軟件。
軟件保護裝置中,加密鎖是最常用的一種。所謂加密鎖,是一種采用高強度智能卡芯片和先進的密碼學技術,具有一定的運算和存儲能力的硬件設備,同時難以被破解和復制,在高強度軟件版權保護中具有廣泛的應用。傳統的使用加密鎖的方式是將加密鎖插入計算機接口與受保護軟件建立連接,在需要運行被移植功能時向軟件保護裝置發出調用請求和相關數據,軟件保護裝置根據調用請求將處理后的結果返回,受保護軟件接收到數據后繼續運行。
但是,使用軟件保護裝置保護軟件時,通常都是受保護軟件與軟件保護裝置進行直接的數據通信,受保護軟件根據軟件運行的邏輯順序,實時地直接向軟件保護裝置獲取相應的處理結果,這樣,受保護軟件與軟件保護裝置之間交互信息的時機和順序和軟件運行有直接的對應關系,如此一來,黑客或病毒很容易通過截獲兩者之間交互的數據信息對軟件的執行進行攻擊,從而造成軟件的破壞或者數據的丟失與泄露,產生安全隱患。
發明內容
有鑒于此,本發明的主要目的在于提供一種軟件保護方法,該方法能提高軟件的安全性。
為了達到上述目的,本發明提出的技術方案為:
一種軟件保護方法,包括:
a、軟件運行時,建立專用于與軟件保護裝置進行交互的子進程或子線程;
b、當所述軟件需要軟件保護裝置進行數據處理時,利用所述子進程或子線程,采用異步方式與所述軟件保護裝置進行數據交互。
綜上所述,本發明提出的軟件保護方法,利用專用的子進程或子線程,使得軟件與軟件保護裝置之間采用異步通信的方式進行數據交互,可以提高第三方對軟件進行調試和分析的難度,進而可提高軟件的安全性。
附圖說明
圖1為本發明的流程示意圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖及具體實施例對本發明作進一步地詳細描述。
本發明的核心思想是:軟件運行時,通過異步方式與軟件保護裝置進行數據通信,軟件本身不直接訪問軟件保護裝置,這樣,通過異步通信可以使軟件保護裝置與軟件之間交互的數據包無法直接反映出軟件執行的實時性,從而增加黑客利用所截獲的數據包對軟件進行調試和分析的難度,從而可以降低其破壞軟件的可能性,提高軟件的安全性。
圖1為本發明的流程示意圖,如圖1所示,本發明主要包括:
步驟101、軟件運行時,建立專用于與軟件保護裝置進行交互的子進程或子線程。
這里,通過在本步驟中建立專用于與軟件保護裝置進行交互的子進程或子線程,可以確保軟件的主進程或主線程不直接與軟件保護裝置之間進行通信,實現軟件與軟件保護裝置的異步通信。
具體地,在實際應用中,可以由軟件的主進程創建專用于與軟件保護裝置進行交互的子進程;由軟件的主線程創建專用于與軟件保護裝置進行交互的子線程。
步驟102、當所述軟件需要軟件保護裝置進行數據處理時,利用所述子進程或子線程,采用異步方式與所述軟件保護裝置進行數據交互。
本步驟中,通過確保軟件采用異步方式與所述軟件保護裝置進行數據交互,可以使得兩者之間交互數據的時機與軟件的執行不同步,從而使得當第三方對所述交互的數據截獲后,難以根據該數據對軟件進行調試和分析,從而可以降低其破壞軟件的可能性,提高軟件的安全性。
較佳地,為了進一步確保數據交互的安全性,所述子進程或子線程與所述軟件保護裝置之間交互的數據可以為經過加密算法(如對稱算法或非對稱算法或其他加密算法等)加密后的數據,具體地,由主進程/主線程、子進程/子線程、軟件保護裝置加密皆可,即可以是在主進程/主線程與子進程/子線程之間對數據進行加密,或者在子進程/子線程與軟件保護裝置之間對數據進行加密。
較佳地,所述步驟102可采用下述方法實現:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京深思洛克軟件技術股份有限公司,未經北京深思洛克軟件技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210382964.8/2.html,轉載請聲明來源鉆瓜專利網。





