[發明專利]智能密碼鑰匙密碼驗證提取方法在審
| 申請號: | 201410315542.8 | 申請日: | 2014-07-04 |
| 公開(公告)號: | CN105227312A | 公開(公告)日: | 2016-01-06 |
| 發明(設計)人: | 潘理;周志洪;章文康;夏正敏;汪圣蒞 | 申請(專利權)人: | 上海交通大學深圳研究院;上海鵬越驚虹信息技術發展有限公司 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 智能 密碼 鑰匙 驗證 提取 方法 | ||
技術領域
本發明提供一種智能密碼鑰匙USBKey密碼信息的提取與驗證方法,這里的密碼信息指的是存儲在智能密碼鑰匙中的會話密鑰信息,而不是用戶通常輸入的PIN碼。利用本發明可以對智能密碼鑰匙的算法正確性進行檢測。本發明屬于信息安全領域。
背景技術
智能密碼鑰匙作為用戶身份認證的工具之一,在目前有著非常廣泛的應用。在某些特殊情況下,比如對智能密碼鑰匙進行合規性檢測時,需要對智能密碼鑰匙中存儲的密鑰信息進行讀取并得到全部的明文數據,以進行之后的驗證等工作。微軟制定的的CryptoAPI是目前比較通用的對智能密碼鑰匙進行管理的接口標準,基于CryptoAPI接口標準與智能密碼鑰匙,能夠實現各種安全認證技術與系統。
經過對現有技術的資料檢索發現,CryptoAPI并不提供直接對智能密碼鑰匙所存儲的密鑰信息的明文導出的方法。只有在微軟的幫助和支持網站上(http://support.microsoft.com/kb/228786/en-us),提供了一種基于“指數1”密鑰的會話密鑰信息導入與導出的方法。這種方法雖然能夠進行密鑰的導出和導入,但是操作復雜,需要巧妙地產生出一個“指數1”密鑰對智能密碼鑰匙的會話密鑰信息進行加密或解密。這在很大程度上會影響檢測系統的性能,而且在生成“指數1”密鑰時,一般需要輸入智能密鑰鑰匙的PIN碼才能得到相應的權限,這是上述方法所受到的限制條件。
發明內容
本發明針對現有技術的不足,提供一種基于CryptoAPI接口的智能密碼鑰匙密鑰信息提取并驗證智能密碼鑰匙加密算法正確性的方法。這種方法在讀取會話密鑰信息時,不需要輸入PIN碼即可進行提取。因此這種方法的限制條件較少,在不知道PIN碼的情況下也可以提取會話密鑰信息。
本發明是通過以下技術方案來實現的,本發明首先通過CryptoAPI的CryptExportKey方法得到密鑰的KEYBLOB文件塊信息,其次對KEYBLOB文件塊信息進行相應的數據處理,最后得到密鑰的明文信息。在得到密鑰的明文信息以后,利用其它加密工具對智能密碼鑰匙的算法進行正確性測試。由于普通的會話密鑰信息可以直接以PLAINTEXTKEYBLOB方式導出,在這種方式下,不需要產生其它密鑰對會話密鑰信息進行額外的加密操作,因此也不會產生輸入PIN碼的操作。從而簡化了提取密鑰信息的過程。
本發明包括如下步驟:
步驟一,獲得智能密碼鑰匙密鑰句柄,密鑰句柄可通過CryptGenKey或CryptGetUserKey方法獲得,會話密鑰句柄在CryptoAPI中以HCryptKey類型存儲。
步驟二:利用CryptExportKey方法導出智能密碼鑰匙存儲的會話密鑰的KEYBLOB文件塊。KEYBLOB文件塊是對密鑰數據進行封裝后的數據包,根據密鑰的類型以及導出方法參數的設置,存在多種類型的KEYBLOB文件塊。如果采用非明文方式導出,則需要指定加密密鑰數據的密鑰。
步驟三:根據KEYBLOB文件塊的類型,解封KEYBLOB塊頭部信息,解密KEYBLOB數據信息,得到密鑰的明文信息。如果KEYBLOB文件塊的類型是PLAIBTEXTKEYBLOB,那么數據信息無需進行解密,去除頭部信息后得到的就是密鑰明文信息;如果KEYBLOB文件塊是其他類型,如SIMPLEBLOB,那么在去除頭部信息以后,還需要對數據進行解密,解密的密鑰來自于步驟二中導出KEYBLOB時所使用的密鑰。
步驟四:前三個步驟已經完成了密鑰信息的提取,本步驟對智能密碼鑰匙的加密算法進行驗證。使用智能密碼鑰匙對指定明文進行加密,同時利用其它加密工具對相同的明文進行加密,比較加密后得到的結果。
本發明所述方法通過分析KEYBLOB數據塊結構對智能密碼鑰匙的密鑰信息進行提取和驗證,對于普通的會話密鑰,實現了在不輸入PIN碼的情況下就能進行密鑰信息的提取。在此基礎上實現了對智能密碼鑰匙加密算法正確性檢驗的系統。
附圖說明
圖1:智能密碼鑰匙密碼提取與驗證流程圖。
圖2:PLAINTEXTKEYBLOB數據解封流程。
圖3:SIMPLEBLOB數據解封流程。
具體實施方式
下面結合附圖對本發明的實施例作詳細說明。本發明所述智能密碼鑰匙提取密碼信息的方法,是利用CryptoAPI接口將密碼信息導出成KEYBLOB數據,再對KEYBLOB數據解封得到智能密碼鑰匙中密鑰的明文信息,并在此基礎上實現對密碼算法的驗證。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學深圳研究院;上海鵬越驚虹信息技術發展有限公司,未經上海交通大學深圳研究院;上海鵬越驚虹信息技術發展有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410315542.8/2.html,轉載請聲明來源鉆瓜專利網。





