[發明專利]一種驗證軟件保護裝置合法性的方法及系統有效
| 申請號: | 201010268693.4 | 申請日: | 2010-08-31 |
| 公開(公告)號: | CN101916344A | 公開(公告)日: | 2010-12-15 |
| 發明(設計)人: | 孫吉平;韓勇 | 申請(專利權)人: | 北京深思洛克軟件技術股份有限公司 |
| 主分類號: | G06F21/00 | 分類號: | G06F21/00 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 謝安昆;宋志強 |
| 地址: | 100086 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 驗證 軟件 保護裝置 合法性 方法 系統 | ||
1.一種驗證軟件保護裝置合法性的方法,其特征在于,該方法包括:
A、軟件執行裝置在執行軟件時獲取存儲于軟件中的第一數據并生成隨機數,發送隨機數至軟件保護裝置;所述第一數據為固化于軟件保護裝置中的第一子數據和與所述軟件綁定的第二子數據合并獲得的第三子數據經固化于軟件保護裝置的加密算法加密后生成的數據;
B、軟件保護裝置利用固化于軟件保護裝置中的私鑰對固化于軟件保護裝置中的第一數據和接收到的隨機數進行運算,生成第一簽名信息,輸出第一簽名信息至軟件執行裝置;
C、軟件執行裝置利用固化于軟件執行裝置中的公鑰、存儲于軟件中的第一數據和生成的隨機數對接收到的第一簽名信息進行簽名驗證,根據簽名驗證結果判斷軟件保護裝置是否合法。
2.根據權利要求1所述的方法,其特征在于,步驟B所述軟件保護裝置利用固化于軟件保護裝置中的私鑰對固化于軟件保護裝置中的第一數據和接收到的隨機數進行運算生成第一簽名信息包括:
B1、將軟件執行裝置發送的隨機數和固化于軟件保護裝置中的第一數據合并成為第二數據;
B2、用固化于軟件保護裝置中的的私鑰對第二數據進行簽名生成第一簽名信息。
3.根據權利要求1所述的方法,其特征在于,所述步驟C包括:
C1、將生成的隨機數和存儲于軟件中的第一數據合并獲得第二數據;
C2、利用固化于軟件執行裝置中的公鑰和第二數據對軟件保護裝置輸出的第一簽名信息進行簽名驗證,若驗證通過,則軟件保護裝置是合法的,否則,軟件保護裝置不合法。
4.根據權利要求1所述的方法,其特征在于,所述第一數據為具有固定字節長度的加密的字符串。
5.根據權利要求1所述的方法,其特征在于,步驟A所述固化于軟件保護裝置中的第一子數據由軟件保護裝置的提供商提供;步驟A所述與所述軟件綁定的第二子數據為由除軟件保護裝置的提供商之外的另一方提供的與所述軟件具有一一對應關系的數據。
6.一種驗證軟件保護裝置合法性的系統,其特征在于,該系統包括:固化有公鑰的軟件執行裝置和連接于軟件執行裝置固化有第一子數據、加密算法、第一數據和私鑰的軟件保護裝置;
所述軟件保護裝置利用固化的私鑰對固化的第一數據和接收到的隨機數進行運算生成第一簽名信息,輸出第一簽名信息至所述軟件執行裝置;所述第一數據為固化于軟件保護裝置中的第一子數據和與所述軟件綁定的第二子數據合并獲得的第三子數據經固化于軟件保護裝置的加密算法加密后生成的數據;
所述軟件執行裝置在執行軟件時獲取存儲于軟件中的第一數據并生成隨機數,輸出隨機數至軟件保護裝置;利用固化的公鑰、生成的隨機數和存儲于軟件中的第一數據對所述軟件保護裝置輸出的第一簽名信息進行簽名驗證,根據簽名驗證結果判斷軟件保護裝置是否合法。
7.根據權利要求6所述的系統,其特征在于,所述軟件保護裝置包括:
第一存儲單元,用于固化私鑰、第一數據、第一子數據和加密算法;
第一接口單元,用于連接軟件執行裝置,且在連接到軟件執行裝置時輸出第一連接信號,將隨機數輸出至第一控制單元;
第一控制單元,根據第一連接信號從第一存儲單元讀取私鑰和第一數據,將第一數據和接收到的隨機數合并獲得第二數據,利用私鑰對第二數據進行簽名生成第一簽名信息,通過第一接口單元輸出第一簽名信息至軟件執行裝置。
8.根據權利要求6所述的系統,其特征在于,所述軟件執行裝置包括:
第二存儲單元,用于固化公鑰;
軟件執行單元,用于運行軟件,且在運行軟件時輸出從軟件中獲取的第一數據至第二控制單元;
第二接口單元,用于連接軟件保護裝置,且在連接了軟件保護裝置后輸出第二連接信號至第二控制單元,將第一簽名信息輸出至第二控制單元;
第二控制單元,接收到第二連接信號及第一數據,生成隨機數,通過第二接口單元輸出隨機數至軟件保護裝置;將隨機數與軟件執行單元輸出的第一數據進行合并獲得第二數據;利用從第二存儲單元讀取的公鑰、及合并獲得的第二數據對第一簽名信息進行簽名驗證,若驗證通過,則軟件保護裝置為合法的,否則,軟件保護裝置不合法。
9.根據權利要求7所述的系統,其特征在于,所述軟件保護裝置還包括一與第一控制單元連接的數據生成單元:
所述第一接口單元還用于將外部輸入的加密控制指令和與所述軟件綁定的第二子數據輸出至所述第一控制單元;所述與所述軟件綁定的第二子數據為由除軟件保護裝置提供商之外的另一方提供的與所述軟件具有一一對應關系的數據;所述加密控制指令為由與提供第二子數據相同的一方提供的用以計算第一數據的控制指令;
所述第一控制單元還根據加密控制指令,從所述第一存儲單元讀取第一子數據和加密算法,將第一子數據、加密算法和第二子數據輸出至所述數據生成單元;還用于根據加密完成指令將第一數據輸出至所述第一存儲單元保存,將第一數據通過所述第一接口單元輸出;
所述數據生成單元將第一子數據和第二子數據合并獲得第三子數據,利用加密算法加密第三子數據生成第一數據,輸出第一數據及加密完成指令至所述第一控制單元。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京深思洛克軟件技術股份有限公司,未經北京深思洛克軟件技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010268693.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:碳納米管膜的制備方法
- 下一篇:輸液管





