專利名稱:多功能智能密鑰設(shè)備及其安全控制的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及身份認證和軟件保護領(lǐng)域,特別涉及一種多功能智能密鑰設(shè)備及其安全控制的方法。
背景技術(shù):
近幾年來,隨著互聯(lián)網(wǎng)技術(shù)與電子商務(wù)的快速發(fā)展,越來越多的商務(wù)活動轉(zhuǎn)移到網(wǎng)絡(luò)上開展,例如網(wǎng)上政府辦公,網(wǎng)上數(shù)字銀行,網(wǎng)上購物等。越來越多涉及個人隱私和商業(yè)秘密的數(shù)據(jù)信息需要通過網(wǎng)絡(luò)傳遞,數(shù)據(jù)信息的安全性和保密性日益受到人們的重視。
基于智能密鑰裝置的身份認證方式是近幾年發(fā)展起來的一種方便、安全的身份認證技術(shù),通常智能密鑰裝置是USB接口的,所以也稱USB KEY。USB KEY中存儲有PIN碼,在進行身份認證時將USB KEY與計算機相連,用戶在計算機上輸入PIN碼,USB KEY會自動校驗該PIN碼的正確性,只有當用戶輸入的PIN碼和USB KEY中保存的PIN碼完全相同時,才允許用戶操作USB KEY,用戶想進一步使用計算機上的文件時,還需經(jīng)過USB KEY中的算法運算。這種軟硬件相結(jié)合、一次一密的強雙因子認證模式,很好地解決了安全性與易用性之間的矛盾。個人身份認證設(shè)備可以實現(xiàn)密鑰對生成,數(shù)字證書保存,用戶權(quán)限設(shè)定等功能,并且保證用戶的私鑰永遠不離開硬件的特征,安全性極高。
軟件保護產(chǎn)品作為一種信息安全設(shè)備在軟件版權(quán)保護領(lǐng)域發(fā)揮著重要的作用,它保護軟件開發(fā)商的利益、增加收益,保護合法用戶的利益,還可以控制軟件分銷。軟件保護產(chǎn)品中設(shè)有加密鎖,加密鎖的專用芯片中存儲有加密軟件的校驗密碼,當用戶運行該加密軟件時,該加密軟件會自動搜索加密鎖中的密碼進行校驗,如果正確則用戶可以打開該加密軟件并使用,否則將無法運行該加密軟件。通過在軟件程序執(zhí)行過程中對加密鎖的訪問,使軟件程序運行帶有對加密鎖硬件的依賴性,利用加密鎖硬件專用芯片的不易復(fù)制性,使軟件也具有不易復(fù)制性,從而實現(xiàn)軟件保護的目的。目前軟件保護中使用的加密方式有兩種,即外殼加密和源代碼加密,外殼加密中用到的種子碼算法一般都是自定義的算法,對外是不公開的。公開的算法主要有MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES、ECC等。
在進行身份認證時,為了防止其它用戶不斷地嘗試攻擊,校驗PIN碼(個人識別碼,即個人密碼或口令)的次數(shù)是受限制的,這樣就保證了極高的安全性。用戶可以通過USB KEY自帶的軟件來修改PIN碼。在軟件保護過程中,同一主機中可能會安裝多個軟件(相應(yīng)的多個密碼不同的軟件加密鎖一般也是并存的),如果我們經(jīng)常需要運行其中的一個軟件,每運行一次該軟件,并存的軟件加密鎖就會被分別校驗一次口令,所以如果每個軟件加密鎖的校驗密碼次數(shù)是受限制的,就會出現(xiàn)因部分加密鎖校驗次數(shù)超限而導(dǎo)致相應(yīng)軟件不能使用的情形,所以軟件保護產(chǎn)品中校驗密碼的次數(shù)是不受限制的。無論是身份認證產(chǎn)品還是軟件保護產(chǎn)品,上述功能一般都是通過軟件中的安全控制模塊、存儲區(qū)管理模塊和算法模塊來完成的。
目前市場上的產(chǎn)品功能都是單一的,即或者只能用作軟件保護,或者只能用作身份識別,當用戶希望同時實現(xiàn)軟件保護和身份識別兩種功能時,就必須購買兩個產(chǎn)品,一個軟件保護產(chǎn)品和一個身份識別產(chǎn)品,這樣使用和攜帶都不方便。
發(fā)明內(nèi)容
為了解決現(xiàn)有的信息安全產(chǎn)品功能單一的問題,即一種產(chǎn)品或者只能用于身份認證,或者只能用于軟件保護的問題,本發(fā)明提供了一種多功能智能密鑰設(shè)備,包括命令解析模塊和存儲區(qū)管理模塊,還包括密碼屬性配置模塊,用于將存儲在多功能智能密鑰設(shè)備中的一個或多個密碼的屬性根據(jù)實際需要配置成校驗次數(shù)受限或校驗次數(shù)不受限;安全控制模塊,用于根據(jù)所述命令解析模塊發(fā)來的校驗命令并參照需校驗密碼的屬性進行密碼校驗。
所述密碼屬性配置模塊為單一密碼屬性配置模塊,用于將存儲在多功能智能密鑰設(shè)備中的唯一密碼的屬性配置成校驗次數(shù)受限并將該密碼用作身份認證,或?qū)⒋鎯υ诙喙δ苤悄苊荑€設(shè)備中的唯一密碼的屬性配置成校驗次數(shù)不受限并將該密碼用作軟件保護;相應(yīng)地所述安全控制模塊為單一密碼校驗?zāi)K,用于根據(jù)所述命令解析模塊發(fā)來的校驗命令當需校驗密碼的屬性為校驗次數(shù)受限時根據(jù)限定的最高次數(shù)進行校驗,當需校驗密碼的屬性為校驗次數(shù)不受限時直接進行校驗。
所述密碼屬性配置模塊還可以為多密碼屬性配置模塊,用于將存儲在多功能智能密鑰設(shè)備中的多個密碼的屬性配置成至少一個校驗次數(shù)受限,一個校驗次數(shù)不受限;相應(yīng)地所述安全控制模塊為多密碼校驗?zāi)K,用于根據(jù)所述命令解析模塊發(fā)來的校驗指定密碼的命令選擇相應(yīng)的密碼,再根據(jù)所選密碼的屬性進行校驗。
所述設(shè)備還包括運算模塊,用于根據(jù)接收到的所述命令解析模塊發(fā)來的運算命令使用公開的算法或自定義的算法進行加密或解密的運算。
所述公開的算法為MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC。
本發(fā)明還提供了一種多功能智能密鑰設(shè)備安全控制的方法,首先配置多功能智能密鑰設(shè)備中密碼的屬性,然后執(zhí)行以下步驟步驟A對多功能智能密鑰設(shè)備進行初始化;步驟B所述多功能智能密鑰設(shè)備接收計算機發(fā)來的校驗密碼的命令;步驟C所述多功能智能密鑰設(shè)備根據(jù)所述命令并參照需校驗密碼的屬性進行校驗并返回校驗的結(jié)果給所述計算機。
當所述多功能智能密鑰設(shè)備中存儲的密碼只有一個時,所述步驟A、步驟B和步驟C具體為步驟A1對多功能智能密鑰設(shè)備進行初始化;步驟B1所述多功能智能密鑰設(shè)備接收計算機發(fā)來的校驗密碼的命令;步驟C1判斷需校驗密碼的屬性是否為校驗次數(shù)受限,如果需校驗密碼的屬性為校驗次數(shù)受限,則校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機;如果不正確則判斷是否已達限定的最高次數(shù),如果是則返回當前校驗失敗且不能繼續(xù)校驗的結(jié)果給所述計算機,如果不是則返回當前校驗失敗的結(jié)果給所述計算機;如果需校驗密碼的屬性為校驗次數(shù)不受限,則校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機,否則返回失敗的結(jié)果給所述計算機。
當所述多功能智能密鑰設(shè)備中存儲的密碼有多個時,所述步驟A、步驟B和步驟C具體為步驟A2對多功能智能密鑰設(shè)備進行初始化;步驟B2所述多功能智能密鑰設(shè)備接收計算機發(fā)來的校驗指定密碼的命令;步驟C2根據(jù)所述命令選擇相應(yīng)的密碼,然后判斷所選密碼的屬性是否為校驗次數(shù)受限,如果所選密碼的屬性為校驗次數(shù)受限,則校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機;如果不正確則判斷是否已達限定的最高次數(shù),如果是則返回當前校驗失敗且不能繼續(xù)校驗的結(jié)果給所述計算機,如果不是則返回當前校驗失敗的結(jié)果給所述計算機;
如果所選密碼的屬性為校驗次數(shù)不受限,則校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機,否則返回失敗的結(jié)果給所述計算機。
所述方法還包括所述多功能智能密鑰設(shè)備根據(jù)接收到計算機發(fā)來的運算命令用公開的算法或自定義的算法進行運算并返回運算的結(jié)果給所述計算機的步驟。
所述公開的算法為MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC。
本發(fā)明的有益效果是在一種產(chǎn)品上實現(xiàn)身份認證和軟件保護的雙重功能,方便使用和攜帶。
圖1是本發(fā)明多功能智能密鑰設(shè)備的結(jié)構(gòu)示意圖;圖2是本發(fā)明單一密碼多功能智能密鑰設(shè)備安全控制方法的流程圖;圖3是本發(fā)明多密碼多功能智能密鑰設(shè)備安全控制方法的流程圖。
具體實施例方式
下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明,但不作為對本發(fā)明的限定。
實施例一參見圖1,本發(fā)明提供了一種多功能智能密鑰設(shè)備101,它包括命令解析模塊102、存儲區(qū)管理模塊103、密碼屬性配置模塊104和安全控制模塊105,多功能密鑰設(shè)備101通過USB接口與計算機107進行通訊。
命令解析模塊102用于接收計算機107發(fā)來的命令并解析該命令,還用于根據(jù)解析的結(jié)果將該命令發(fā)送給相應(yīng)的存儲區(qū)管理模塊103、密碼屬性配置模塊104或安全控制模塊105。
存儲區(qū)管理模塊103用于根據(jù)命令解析模塊102發(fā)來的讀寫命令對多功能智能密鑰設(shè)備101中的數(shù)據(jù)進行讀取和存儲的管理,并且能保證存儲后的數(shù)據(jù)掉電后不丟失。
密碼屬性配置模塊104,用于將存儲在多功能智能密鑰設(shè)備中的一個或多個密碼的屬性根據(jù)實際需要配置成校驗次數(shù)受限或校驗次數(shù)不受限。
安全控制模塊105,用于根據(jù)所述命令解析模塊102發(fā)來的校驗命令并參照需校驗密碼的屬性進行密碼校驗。
所述密碼屬性配置模塊104為單一密碼屬性配置模塊,用于將存儲在多功能智能密鑰設(shè)備中的唯一密碼的屬性配置成校驗次數(shù)受限并將該密碼用作身份認證,或?qū)⒋鎯υ诙喙δ苤悄苊荑€設(shè)備中的唯一密碼的屬性配置成校驗次數(shù)不受限并將該密碼用作軟件保護;相應(yīng)地所述安全控制模塊105為單一密碼校驗?zāi)K,用于根據(jù)所述命令解析模塊102發(fā)來的校驗命令當需校驗密碼的屬性為校驗次數(shù)受限時根據(jù)限定的最高次數(shù)進行校驗,當需校驗密碼的屬性為校驗次數(shù)不受限時直接進行校驗。
所述密碼屬性配置模塊104還可以為多密碼屬性配置模塊,用于將存儲在多功能智能密鑰設(shè)備中的多個密碼的屬性配置成至少一個校驗次數(shù)受限,一個校驗次數(shù)不受限;所述配置操作可以由廠商來執(zhí)行,則所有密碼的屬性在多功能智能密鑰設(shè)備出廠前就已經(jīng)被固化在所述設(shè)備中;所述配置操作也可以由開發(fā)商二次開發(fā)時執(zhí)行,則所有密碼的屬性在多功能智能密鑰設(shè)備出廠前并不被固化在所述設(shè)備中,而是在開發(fā)商將所述設(shè)備交給最終用戶之前才將其固化在所述設(shè)備中;相應(yīng)地所述安全控制模塊105為多密碼校驗?zāi)K,用于根據(jù)所述命令解析模塊102發(fā)來的校驗指定密碼的命令選擇相應(yīng)的密碼,再根據(jù)所選密碼的屬性進行校驗。
所述多功能智能密鑰設(shè)備101中還可以包括運算模塊106,用于根據(jù)命令解析模塊102發(fā)來的運算命令使用公開的算法或自定義的算法進行加密或解密的運算,公開的算法包括MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC等。
在實際應(yīng)用中多功能智能密鑰設(shè)備101還可以包括其它功能模塊,如格式化模塊,用于接收命令解析模塊102發(fā)來的格式化命令并執(zhí)行格式化的操作。
實施例二本發(fā)明提供了一種多功能智能密鑰設(shè)備安全控制的方法,在本實施例中多功能智能密鑰設(shè)備中存儲的密碼只有一個,在使用多功能智能密鑰設(shè)備進行安全控制之前首先需要做密碼屬性配置的工作,即將存儲在多功能智能密鑰設(shè)備中的唯一密碼的屬性配置成校驗次數(shù)受限并將該密碼用作身份認證,或?qū)⒋鎯υ诙喙δ苤悄苊荑€設(shè)備中的唯一密碼的屬性配置成校驗次數(shù)不受限并將該密碼用作軟件保護(此配置工作一般由開發(fā)商在二次開發(fā)時來做),參見圖2,然后執(zhí)行以下步驟步驟201對多功能智能密鑰設(shè)備進行初始化;步驟202多功能智能密鑰設(shè)備接收計算機發(fā)來的校驗密碼的命令;步驟203判斷所述密碼的屬性是否為校驗次數(shù)受限,如果是則執(zhí)行步驟204,否則執(zhí)行步驟205;步驟204校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機;如果不正確則判斷是否已達限定的最高次數(shù),如果是則返回當前校驗失敗且不能繼續(xù)校驗的結(jié)果給所述計算機,如果不是則返回當前校驗失敗的結(jié)果給所述計算機;步驟205校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機,否則返回失敗的結(jié)果給所述計算機。
實施例三本發(fā)明還提供了另外一種多功能智能密鑰設(shè)備安全控制的方法,在本實施例中多功能智能密鑰設(shè)備中存儲的密碼有多個,在使用多功能智能密鑰設(shè)備進行安全控制之前首先需要做密碼屬性配置的工作,即將一個密碼的屬性配置成校驗次數(shù)受限并指定最高的次數(shù),另一個密碼的屬性配置成校驗次數(shù)不受限,其余的密碼屬性配置成校驗次數(shù)受限的或不受限的(此配置工作可以由廠商在多功能智能密鑰設(shè)備出廠前就做好,也可以由開發(fā)商在二次開發(fā)時完成),參見圖3,然后執(zhí)行以下步驟步驟301對多功能智能密鑰設(shè)備進行初始化;步驟302多功能智能密鑰設(shè)備接收計算機發(fā)來的校驗一個密碼的命令,命令中的參數(shù)指定了需校驗的密碼的序號;步驟303根據(jù)所述命令中指定的序號選擇相應(yīng)的密碼;步驟304判斷該密碼的屬性是否為校驗次數(shù)受限,如果是則執(zhí)行步驟305,否則執(zhí)行步驟306;步驟305校驗所述密碼是否正確,如果正確則將返回成功的結(jié)果給所述計算機;如果不正確則將判斷是否已達限定的最高次數(shù),如果是則返回當前校驗失敗且不能繼續(xù)校驗的結(jié)果給所述計算機,如果不是則返回當前校驗失敗的結(jié)果給所述計算機;步驟306校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機,否則返回失敗的結(jié)果給所述計算機。
在實施例二和實施例三中,還可以增加運算的步驟多功能智能密鑰設(shè)備根據(jù)接收到的計算機發(fā)來的運算命令用公開的算法或自定義的算法進行運算并將運算的結(jié)果返回給所述計算機,其中公開的算法為MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC等。
還可以增加其它處理的步驟,如格式化的步驟多功能智能密鑰設(shè)備根據(jù)接收到計算機發(fā)來的格式化命令進行格式化操作。
以上所述的實施例,只是本發(fā)明較優(yōu)選的具體實施方式
的一種,本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進行的通常變化和替換都應(yīng)包含在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.一種多功能智能密鑰設(shè)備,包括命令解析模塊和存儲區(qū)管理模塊,其特征在于,所述設(shè)備還包括密碼屬性配置模塊,用于將存儲在多功能智能密鑰設(shè)備中的一個或多個密碼的屬性根據(jù)實際需要配置成校驗次數(shù)受限或校驗次數(shù)不受限;安全控制模塊,用于根據(jù)所述命令解析模塊發(fā)來的校驗命令并參照需校驗密碼的屬性進行密碼校驗。
2.根據(jù)權(quán)利要求1所述的多功能智能密鑰設(shè)備,其特征在于,所述密碼屬性配置模塊為單一密碼屬性配置模塊,用于將存儲在多功能智能密鑰設(shè)備中的唯一密碼的屬性配置成校驗次數(shù)受限并將該密碼用作身份認證,或?qū)⒋鎯υ诙喙δ苤悄苊荑€設(shè)備中的唯一密碼的屬性配置成校驗次數(shù)不受限并將該密碼用作軟件保護;所述安全控制模塊為單一密碼校驗?zāi)K,用于根據(jù)所述命令解析模塊發(fā)來的校驗命令當需校驗密碼的屬性為校驗次數(shù)受限時根據(jù)限定的最高次數(shù)進行校驗,當需校驗密碼的屬性為校驗次數(shù)不受限時直接進行校驗。
3.根據(jù)權(quán)利要求1所述的多功能智能密鑰設(shè)備,其特征在于,所述密碼屬性配置模塊為多密碼屬性配置模塊,用于將存儲在多功能智能密鑰設(shè)備中的多個密碼的屬性配置成至少一個校驗次數(shù)受限,一個校驗次數(shù)不受限;所述安全控制模塊為多密碼校驗?zāi)K,用于根據(jù)所述命令解析模塊發(fā)來的校驗指定密碼的命令選擇相應(yīng)的密碼,再根據(jù)所選密碼的屬性進行校驗。
4.根據(jù)權(quán)利要求1所述的多功能智能密鑰設(shè)備,其特征在于,所述設(shè)備還包括運算模塊,用于根據(jù)接收到的所述命令解析模塊發(fā)來的運算命令使用公開的算法或自定義的算法進行加密或解密的運算。
5.根據(jù)權(quán)利要求4所述的多功能智能密鑰設(shè)備,其特征在于,所述公開的算法為MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC。
6.一種多功能智能密鑰設(shè)備安全控制的方法,其特征在于,首先配置多功能智能密鑰設(shè)備中密碼的屬性,然后執(zhí)行以下步驟步驟A對多功能智能密鑰設(shè)備進行初始化;步驟B所述多功能智能密鑰設(shè)備接收計算機發(fā)來的校驗密碼的命令;步驟C所述多功能智能密鑰設(shè)備根據(jù)所述命令并參照需校驗密碼的屬性進行校驗并返回校驗的結(jié)果給所述計算機。
7.根據(jù)權(quán)利要求6所述的多功能智能密鑰設(shè)備安全控制的方法,其特征在于,當所述多功能智能密鑰設(shè)備中存儲的密碼只有一個時,所述步驟A、步驟B和步驟C具體為步驟A1對多功能智能密鑰設(shè)備進行初始化;步驟B1所述多功能智能密鑰設(shè)備接收計算機發(fā)來的校驗密碼的命令;步驟C1判斷需校驗密碼的屬性是否為校驗次數(shù)受限,如果需校驗密碼的屬性為校驗次數(shù)受限,則校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機;如果不正確則判斷是否已達限定的最高次數(shù),如果是則返回當前校驗失敗且不能繼續(xù)校驗的結(jié)果給所述計算機,如果不是則返回當前校驗失敗的結(jié)果給所述計算機;如果需校驗密碼的屬性為校驗次數(shù)不受限,則校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機,否則返回失敗的結(jié)果給所述計算機。
8.根據(jù)權(quán)利要求6所述的多功能智能密鑰設(shè)備安全控制的方法,其特征在于,當所述多功能智能密鑰設(shè)備中存儲的密碼有多個時,所述步驟A、步驟B和步驟C具體為步驟A2對多功能智能密鑰設(shè)備進行初始化;步驟B2所述多功能智能密鑰設(shè)備接收計算機發(fā)來的校驗指定密碼的命令;步驟C2根據(jù)所述命令選擇相應(yīng)的密碼,然后判斷所選密碼的屬性是否為校驗次數(shù)受限,如果所選密碼的屬性為校驗次數(shù)受限,則校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機;如果不正確則判斷是否已達限定的最高次數(shù),如果是則返回當前校驗失敗且不能繼續(xù)校驗的結(jié)果給所述計算機,如果不是則返回當前校驗失敗的結(jié)果給所述計算機;如果所選密碼的屬性為校驗次數(shù)不受限,則校驗所述密碼是否正確,如果正確則返回成功的結(jié)果給所述計算機,否則返回失敗的結(jié)果給所述計算機。
9.根據(jù)權(quán)利要求6所述的多功能智能密鑰設(shè)備安全控制的方法,其特征在于,所述方法還包括所述多功能智能密鑰設(shè)備根據(jù)接收到的計算機發(fā)來的運算命令用公開的算法或自定義的算法進行運算并將運算的結(jié)果返回給所述計算機的步驟。
10.根據(jù)權(quán)利要求9所述的多功能智能密鑰設(shè)備安全控制的方法,其特征在于,所述公開的算法為MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC。
全文摘要
本發(fā)明提供了一種多功能智能密鑰設(shè)備及其安全控制的方法,屬于身份認證和軟件保護領(lǐng)域。為了解決現(xiàn)有的信息安全產(chǎn)品功能單一的問題,即一種產(chǎn)品或者只能用于身份認證,或者只能用于軟件保護的問題,本發(fā)明通過配置存儲在多功能智能密鑰設(shè)備中的密碼的校驗次數(shù)為受限制或不受限制并進行相應(yīng)的校驗,從而實現(xiàn)了身份認證和軟件保護的雙重功能。
文檔編號H04L9/32GK1889431SQ20061008896
公開日2007年1月3日 申請日期2006年7月27日 優(yōu)先權(quán)日2006年7月27日
發(fā)明者陸舟, 于華章 申請人:北京飛天誠信科技有限公司