智能密碼鑰匙的驗(yàn)證方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種智能密碼鑰匙的驗(yàn)證方法及系統(tǒng),所述方法包括以下步驟:發(fā)送獲取密鑰材料指令到智能密碼鑰匙,并接收所述智能密碼鑰匙返回的密鑰材料;采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)解析所述密鑰材料,獲得所述隨機(jī)數(shù);采用用戶私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名,得到第二數(shù)字簽名,并根據(jù)所述隨機(jī)數(shù)、第二數(shù)字簽名生成認(rèn)證信息并發(fā)送到所述智能密碼鑰匙;接收所述智能密碼鑰匙返回的認(rèn)證響應(yīng)信息。本發(fā)明的智能密碼鑰匙的驗(yàn)證方法及系統(tǒng),實(shí)現(xiàn)了雙向認(rèn)證,有效提高了智能密碼鑰匙的安全性;并且由于實(shí)現(xiàn)了雙向驗(yàn)證,極大地減少了智能密碼鑰匙傳輸過(guò)程中串貨的可能性。
【專利說(shuō)明】智能密碼鑰匙的驗(yàn)證方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,特別是涉及一種智能密碼鑰匙的驗(yàn)證方法以及一種智能密碼鑰匙的驗(yàn)證系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)及業(yè)務(wù)系統(tǒng)應(yīng)用的逐步深入,網(wǎng)上信息及業(yè)務(wù)系統(tǒng)的安全防護(hù)問(wèn)題日益突出。為了保證網(wǎng)絡(luò)平臺(tái)和系統(tǒng)平臺(tái)的安全運(yùn)行,智能密碼鑰匙的作用越來(lái)越重要。
[0003]智能密碼鑰匙是一種基于USB接口的智能存儲(chǔ)身份認(rèn)證設(shè)備,內(nèi)置智能卡CPU、存儲(chǔ)器、芯片操作系統(tǒng)和安全文件系統(tǒng),用于在服務(wù)器和用戶之間進(jìn)行身份認(rèn)證。智能密碼鑰匙的安全體系主要是對(duì)所傳送的信息進(jìn)行安全性檢查和處理,防止非法竊聽(tīng)或侵入。所述安全體系包括三部分:安全狀態(tài)、安全屬性和安全機(jī)制。安全狀態(tài)是指當(dāng)前智能密碼鑰匙所處的一種系統(tǒng)狀態(tài),這種安全狀態(tài)是在智能密碼鑰匙完成復(fù)位應(yīng)答或完成某個(gè)命令后得到的;安全屬性是智能密碼鑰匙執(zhí)行特定的命令所需要的安全條件,只有滿足了這個(gè)安全條件,命令才能執(zhí)行;安全機(jī)制是指安全狀態(tài)實(shí)現(xiàn)轉(zhuǎn)移所采取的方法和手段,它是與安全狀態(tài)和安全屬性相聯(lián)系的,為了保護(hù)智能密碼鑰匙上的數(shù)據(jù),要保證只有經(jīng)過(guò)授權(quán)的用戶才能訪問(wèn)某些數(shù)據(jù)并進(jìn)行相關(guān)操作,這就是安全機(jī)制。所有的操作都必須通過(guò)權(quán)限檢查才能進(jìn)行,權(quán)限檢查的內(nèi)容是對(duì)比執(zhí)行操作的當(dāng)前用戶的狀態(tài)和操作對(duì)象的安全屬性,如果符合,權(quán)限檢查成功,否則失敗。而當(dāng)前用戶狀態(tài)的改變只能通過(guò)身份驗(yàn)證來(lái)改變,文件的安全屬性只有通過(guò)驗(yàn)證的用戶才能改變,從而保證數(shù)據(jù)的安全性。
[0004]傳統(tǒng)智能密碼鑰匙的驗(yàn)證方法是共享密鑰,預(yù)先在智能密碼鑰匙和服務(wù)器中存儲(chǔ)一個(gè)證明用戶身份的密鑰,當(dāng)需要驗(yàn)證用戶身份時(shí),先由客戶端向服務(wù)器發(fā)出一個(gè)驗(yàn)證請(qǐng)求;服務(wù)器接到此請(qǐng)求后生成一個(gè)隨機(jī)數(shù)回傳給客戶端PC上插著的智能密碼鑰匙;智能密碼鑰匙使用該隨機(jī)數(shù)與存儲(chǔ)在智能密碼鑰匙中的密鑰進(jìn)行密碼運(yùn)算,得到一個(gè)運(yùn)算結(jié)果作為認(rèn)證證據(jù)傳送給服務(wù)器;與此同時(shí),服務(wù)器使用該隨機(jī)數(shù)與存儲(chǔ)在服務(wù)器數(shù)據(jù)庫(kù)中的該客戶密鑰進(jìn)行密碼運(yùn)算,如果服務(wù)器的運(yùn)算結(jié)果與客戶端傳回的響應(yīng)結(jié)果相同,則認(rèn)為客戶端是一個(gè)合法用戶。
[0005]然而,傳統(tǒng)智能密碼鑰匙的驗(yàn)證方法過(guò)于依賴共享密鑰的安全性,而智能密碼鑰匙的廠家和用戶都可能單方面泄露密鑰,密鑰一旦泄露,智能密碼鑰匙將不再安全。
【發(fā)明內(nèi)容】
[0006]基于此,本發(fā)明提供一種智能密碼鑰匙的驗(yàn)證方法及系統(tǒng),能夠提高智能密碼鑰匙的安全性。
[0007]為實(shí)現(xiàn)上述目的,本發(fā)明采用如下的技術(shù)方案:
[0008]一種智能密碼鑰匙的驗(yàn)證方法,包括以下步驟:
[0009]發(fā)送獲取密鑰材料指令到智能密碼鑰匙,并接收所述智能密碼鑰匙返回的密鑰材料;所述密鑰材料中包括:所述智能密碼鑰匙根據(jù)所述獲取密鑰材料指令所生成的隨機(jī)數(shù)、所述智能密碼鑰匙采用廠家私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名后得到的第一數(shù)字簽名;
[0010]采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)解析所述密鑰材料,獲得所述隨機(jī)數(shù);
[0011 ] 采用用戶私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名,得到第二數(shù)字簽名,并根據(jù)所述隨機(jī)數(shù)、第二數(shù)字簽名生成認(rèn)證信息并發(fā)送到所述智能密碼鑰匙;
[0012]接收所述智能密碼鑰匙返回的認(rèn)證響應(yīng)信息;所述認(rèn)證響應(yīng)信息中包括第一驗(yàn)證成功信息或驗(yàn)證失敗信息;所述第一驗(yàn)證成功信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較一致的情況下,采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)所返回的信息。
[0013]與上述的一種智能密碼鑰匙的驗(yàn)證方法相對(duì)應(yīng),本發(fā)明還提供一種智能密碼鑰匙的驗(yàn)證系統(tǒng),包括用戶端,所述用戶端包括:
[0014]密鑰材料獲取模塊,用于發(fā)送獲取密鑰材料指令到智能密碼鑰匙,并接收所述智能密碼鑰匙返回的密鑰材料;所述密鑰材料中包括:所述智能密碼鑰匙根據(jù)所述獲取密鑰材料指令所生成的隨機(jī)數(shù)、所述智能密碼鑰匙采用廠家私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名后得到的第一數(shù)字簽名;
[0015]驗(yàn)證與解析模塊,用于采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)解析所述密鑰材料,獲得所述隨機(jī)數(shù);
[0016]認(rèn)證模塊,用于采用用戶私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名,得到第二數(shù)字簽名,并根據(jù)所述隨機(jī)數(shù)、第二數(shù)字簽名生成認(rèn)證信息并發(fā)送到所述智能密碼鑰匙;
[0017]認(rèn)證響應(yīng)信息接收模塊,用于接收所述智能密碼鑰匙返回的認(rèn)證響應(yīng)信息;所述認(rèn)證響應(yīng)信息中包括第一驗(yàn)證成功信息或驗(yàn)證失敗信息;所述第一驗(yàn)證成功信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較一致的情況下,采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)所返回的信息。
[0018]本發(fā)明還提供另外一種智能密碼鑰匙的驗(yàn)證方法,包括以下步驟:
[0019]智能密碼鑰匙接收到用戶端發(fā)送的獲取密鑰材料指令后,生成隨機(jī)數(shù),并采用廠家私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名,得到第一數(shù)字簽名,然后將包括所述隨機(jī)數(shù)、第一數(shù)字簽名的密鑰材料返回給所述用戶端;
[0020]所述智能密碼鑰匙接收所述用戶端發(fā)送的認(rèn)證信息;所述認(rèn)證信息包括:所述用戶端采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名并在驗(yàn)證時(shí)通過(guò)解析所述密鑰材料所獲得的隨機(jī)數(shù)、所述用戶端采用用戶私鑰對(duì)該隨機(jī)數(shù)進(jìn)行簽名后得到的第二數(shù)字簽名;
[0021]所述智能密碼鑰匙將所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)進(jìn)行比較,并判斷比較結(jié)果是否一致;
[0022]若是,所述智能密碼鑰匙采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)返回第一驗(yàn)證成功信息給所述用戶端。
[0023]對(duì)應(yīng)的,本發(fā)明還提供另外一種智能密碼鑰匙的驗(yàn)證系統(tǒng),包括智能密碼鑰匙端,所述智能密碼鑰匙端包括:
[0024]密鑰材料發(fā)送模塊,用于在接收到用戶端發(fā)送的獲取密鑰材料指令后,生成隨機(jī)數(shù),并采用廠家私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名,得到第一數(shù)字簽名,然后將包括所述隨機(jī)數(shù)、第一數(shù)字簽名的密鑰材料返回給所述用戶端;[0025]認(rèn)證信息接收模塊,用于接收所述用戶端發(fā)送的認(rèn)證信息;所述認(rèn)證信息包括:所述用戶端采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名并在驗(yàn)證時(shí)通過(guò)解析所述密鑰材料所獲得的隨機(jī)數(shù)、所述用戶端采用用戶私鑰對(duì)該隨機(jī)數(shù)進(jìn)行簽名后得到的第二數(shù)字簽名;
[0026]判斷模塊,用于將所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)進(jìn)行比較,并判斷比較結(jié)果是否一致;
[0027]第一驗(yàn)證成功信息返回模塊,用于在所述判斷模塊的判斷結(jié)果為是的情況下,采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)返回驗(yàn)證成功信息給所述用戶端。
[0028]由以上方案可以看出,本發(fā)明的智能密碼鑰匙的驗(yàn)證方法及系統(tǒng),廠家和用戶各為智能密碼鑰匙生成一對(duì)公私鑰,通過(guò)智能密碼鑰匙和用戶使用自己的私鑰各自對(duì)消息簽名來(lái)實(shí)現(xiàn)雙向認(rèn)證,不僅智能密碼鑰匙驗(yàn)證用戶,用戶也驗(yàn)證智能密碼鑰匙,這樣一來(lái)就算廠家或用戶單方面泄露密鑰也不會(huì)對(duì)智能密碼鑰匙內(nèi)數(shù)據(jù)的安全性造成不利影響,有效提高了智能密碼鑰匙的安全性;并且由于實(shí)現(xiàn)了雙向驗(yàn)證,極大地減少了智能密碼鑰匙傳輸過(guò)程中串貨的可能性。
【專利附圖】
【附圖說(shuō)明】
[0029]圖1為本發(fā)明實(shí)施例一中的一種智能密碼鑰匙的驗(yàn)證方法的流程示意圖;
[0030]圖2為本發(fā)明實(shí)施例二中的一種智能密碼鑰匙的驗(yàn)證方法的流程示意圖;
[0031]圖3為本發(fā)明實(shí)施例三中的一種智能密碼鑰匙的驗(yàn)證方法的流程示意圖;
[0032]圖4為本發(fā)明實(shí)施例中的一種智能密碼鑰匙的驗(yàn)證系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0033]下面結(jié)合附圖以及具體的實(shí)施例,對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步的描述。
[0034]實(shí)施例一
[0035]圖1中示出了本發(fā)明的智能密碼鑰匙的驗(yàn)證方法實(shí)施例一的流程示意圖。在該實(shí)施例一中,是以用戶端的處理過(guò)程為例進(jìn)行說(shuō)明。
[0036]參見(jiàn)圖1所示,一種智能密碼鑰匙的驗(yàn)證方法,包括以下步驟:
[0037]步驟S101,發(fā)送獲取密鑰材料指令到智能密碼鑰匙,并接收所述智能密碼鑰匙返回的密鑰材料;所述密鑰材料中包括:所述智能密碼鑰匙根據(jù)所述獲取密鑰材料指令所生成的隨機(jī)數(shù)、所述智能密碼鑰匙采用廠家私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名后得到的第一數(shù)字簽名。即本發(fā)明實(shí)施例中,智能密碼鑰匙在接收到用戶端發(fā)送過(guò)來(lái)的獲取密鑰材料指令后,將隨機(jī)生成一個(gè)隨機(jī)數(shù),并采用廠家私鑰對(duì)該隨機(jī)數(shù)進(jìn)行簽名,得到所述第一數(shù)字簽名,然后智能密碼鑰匙再將包括所述隨機(jī)數(shù)、第一數(shù)字簽名的密鑰材料返回給用戶端。
[0038]需要說(shuō)明的是,本發(fā)明實(shí)施例中,廠家和用戶各為智能密碼鑰匙生成了一對(duì)公私鑰,為便于區(qū)分,分別記為:廠家公鑰、廠家私鑰、用戶公鑰、用戶私鑰。
[0039]步驟S102,采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)解析所述密鑰材料,獲得所述隨機(jī)數(shù)。
[0040]步驟S103,采用用戶私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名,得到第二數(shù)字簽名,并根據(jù)所述隨機(jī)數(shù)、第二數(shù)字簽名生成認(rèn)證信息并發(fā)送到所述智能密碼鑰匙。
[0041]步驟S104,接收所述智能密碼鑰匙返回的認(rèn)證響應(yīng)信息。本發(fā)明實(shí)施例中,所述認(rèn)證響應(yīng)信息中包括第一驗(yàn)證成功信息或驗(yàn)證失敗信息等,即根據(jù)該認(rèn)證響應(yīng)信息即可以知道驗(yàn)證成功還是驗(yàn)證失敗。需要說(shuō)明的是,所述第一驗(yàn)證成功信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較一致的情況下,采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)所返回的信息。即智能密碼鑰匙收到用戶端發(fā)送的認(rèn)證信息后,會(huì)將認(rèn)證信息中的隨機(jī)數(shù)與步驟SlOl中生成并緩存下來(lái)的隨機(jī)數(shù)進(jìn)行比較,在比較(的結(jié)果)一致的情況下,采用用戶公鑰來(lái)驗(yàn)證所述第二數(shù)字簽名;若驗(yàn)證通過(guò),則返回給用戶端的信息即稱之為“第一驗(yàn)證成功信息”。
[0042]在接收到第一驗(yàn)證成功信息之后,則說(shuō)明用戶獲得對(duì)智能密碼鑰匙的操作權(quán)限,此時(shí)可對(duì)智能密碼鑰匙內(nèi)的文件進(jìn)行創(chuàng)建或刪除等操作。
[0043]作為一個(gè)較好的實(shí)施例,所述驗(yàn)證失敗信息可以包括第一驗(yàn)證失敗信息或第二驗(yàn)證失敗信息;
[0044]所述第一驗(yàn)證失敗信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較不一致的情況下所返回的信息;
[0045]所述第二驗(yàn)證失敗信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較一致的情況下,采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證未通過(guò)時(shí)所返回的信息。
[0046]作為一個(gè)較好的實(shí)施例,所述廠家私鑰及用戶公鑰可以存放在所述智能密碼鑰匙的特殊區(qū)域(非揮發(fā)性存儲(chǔ)區(qū)),且不允許通過(guò)任何對(duì)外讀取的指令。由于該區(qū)域的數(shù)據(jù)不會(huì)因?yàn)閯h除主文件而被清除,也不會(huì)因?yàn)樵O(shè)備掉電而被清除,這樣一來(lái)可以保證廠家私鑰及用戶公鑰不會(huì)因?yàn)閯h除智能密碼鑰匙的主文件或掉電而被清除。智能密碼鑰匙的私鑰不可導(dǎo)出和復(fù)制提高了認(rèn)證介質(zhì)的安全系數(shù)。
[0047]實(shí)施例二
[0048]本發(fā)明還提供一種智能密碼鑰匙的驗(yàn)證方法,其能在實(shí)現(xiàn)智能密碼鑰匙的雙向驗(yàn)證的同時(shí)生成會(huì)話密鑰。在該實(shí)施例二中,仍以用戶端的處理過(guò)程為例進(jìn)行說(shuō)明。
[0049]如圖2所示,一種智能密碼鑰匙的驗(yàn)證方法,包括如下步驟:
[0050]步驟S201、發(fā)送獲取密鑰材料指令到智能密碼鑰匙,并接收所述智能密碼鑰匙返回的密鑰材料;所述密鑰材料中包括:所述智能密碼鑰匙根據(jù)所述獲取密鑰材料指令所生成的隨機(jī)數(shù)、所述智能密碼鑰匙根據(jù)所述獲取密鑰材料指令所生成的并采用用戶公鑰進(jìn)行加密的密鑰種子、所述智能密碼鑰匙采用廠家私鑰對(duì)所述隨機(jī)數(shù)、加密的密鑰種子進(jìn)行簽名后得到的第一數(shù)字簽名;
[0051]步驟S202、采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)解析所述密鑰材料,獲得所述隨機(jī)數(shù);
[0052]步驟S203、采用所述用戶私鑰對(duì)所述加密的密鑰種子進(jìn)行解密;
[0053]步驟S204、生成一個(gè)擾碼,根據(jù)所述擾碼及密鑰種子生成會(huì)話密鑰;具體的,可以通過(guò)將擾碼和密鑰種子按照預(yù)定的某個(gè)算法進(jìn)行計(jì)算來(lái)得到所述會(huì)話密鑰;
[0054]步驟S205、對(duì)所述會(huì)話密鑰進(jìn)行哈希運(yùn)算,得到校驗(yàn)碼;
[0055]步驟S206、采用所述廠家公鑰對(duì)所述擾碼進(jìn)行加密;
[0056]步驟S207、采用所述用戶私鑰對(duì)所述隨機(jī)數(shù)、校驗(yàn)碼、加密的擾碼進(jìn)行簽名,得到所述第二數(shù)字簽名;[0057]步驟S208、根據(jù)所述隨機(jī)數(shù)、校驗(yàn)碼、加密的擾碼、第二數(shù)字簽名生成所述認(rèn)證信息,并將生成的認(rèn)證信息發(fā)送到所述智能密碼鑰匙;該認(rèn)證信息中包括:隨機(jī)數(shù)、校驗(yàn)碼、加密的擾碼、第二數(shù)字簽名等信息;
[0058]步驟S209、接收所述智能密碼鑰匙返回的認(rèn)證響應(yīng)信息。所述認(rèn)證響應(yīng)信息與實(shí)施例一相同,根據(jù)該認(rèn)證響應(yīng)信息即可以知道驗(yàn)證成功還是驗(yàn)證失敗。以返回第一驗(yàn)證成功信息為例:智能密碼鑰匙收到用戶端發(fā)送的認(rèn)證信息后,將認(rèn)證信息中的隨機(jī)數(shù)與步驟S201中生成并緩存下來(lái)的隨機(jī)數(shù)進(jìn)行比較,在比較(的結(jié)果)一致的情況下,采用用戶公鑰來(lái)驗(yàn)證所述第二數(shù)字簽名;若驗(yàn)證通過(guò),則返回第一驗(yàn)證成功信息給用戶端。
[0059]作為一個(gè)較好的實(shí)施例,在上述采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名并通過(guò)之后,還可以包括如下步驟:
[0060]a)、控制所述智能密碼鑰匙采用所述廠家私鑰對(duì)所述擾碼進(jìn)行解密,并根據(jù)該解密的擾碼及所生成的密鑰種子生成會(huì)話密鑰,計(jì)算所述會(huì)話密鑰的哈希值,并判斷該哈希值與所述認(rèn)證信息中的校驗(yàn)碼是否一致;
[0061]b)、若是,則控制所述智能密碼鑰匙返回一個(gè)驗(yàn)證成功信息給用戶端;本發(fā)明中,為了便于與上述的“第一驗(yàn)證成功信息”相區(qū)分,將此處所返回的驗(yàn)證成功信息命名為“第二驗(yàn)證成功信息”;
[0062]C)、若否,則控制所述智能密碼鑰匙返回一個(gè)驗(yàn)證失敗信息給用戶端;本發(fā)明中,為了便于與上述的“第一驗(yàn)證失敗信息”、“第二驗(yàn)證失敗信息”相區(qū)分,將此處所返回的驗(yàn)證失敗信息命名為“第三驗(yàn)證成功信息”。
[0063]若驗(yàn)證通過(guò),則用戶獲得對(duì)智能密碼鑰匙的操作權(quán)限,可以對(duì)智能密碼鑰匙內(nèi)的文件進(jìn)行創(chuàng)建或刪除等操作;并且除此之外,由于本發(fā)明實(shí)施例中還生成了會(huì)話密鑰,因此用戶端和智能密碼鑰匙之間傳送數(shù)據(jù)可以采用會(huì)話密鑰來(lái)進(jìn)行保護(hù)。
[0064]下面給出一個(gè)本發(fā)明的具體實(shí)施方案:
[0065]智能密碼鑰匙出廠時(shí)應(yīng)具有一定的權(quán)限,出廠前將用戶提供的固定RSA1024公鑰(Ps)以及廠家自己生成的固定RSA1024私鑰(Dc)存放在智能密碼鑰匙的特殊區(qū)域(非揮發(fā)性存儲(chǔ)區(qū))。該區(qū)域的數(shù)據(jù)不會(huì)因?yàn)閯h除主文件而被清除,也不會(huì)因?yàn)樵O(shè)備掉電而被清除,公鑰及廠家私鑰不能被刪除或更新,不允許通過(guò)任何對(duì)外讀取的指令。智能密碼鑰匙的揮發(fā)性存儲(chǔ)區(qū)域提供16字節(jié)的會(huì)話密鑰寄存器,會(huì)話密鑰寄存器在設(shè)備上電時(shí)不存在,設(shè)備運(yùn)行時(shí),僅“認(rèn)證指令”可以創(chuàng)建會(huì)話密鑰寄存器。
[0066]1、獲取密鑰材料指令。
[0067]
【權(quán)利要求】
1.一種智能密碼鑰匙的驗(yàn)證方法,其特征在于,包括以下步驟: 發(fā)送獲取密鑰材料指令到智能密碼鑰匙,并接收所述智能密碼鑰匙返回的密鑰材料;所述密鑰材料中包括:所述智能密碼鑰匙根據(jù)所述獲取密鑰材料指令所生成的隨機(jī)數(shù)、所述智能密碼鑰匙采用廠家私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名后得到的第一數(shù)字簽名; 采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)解析所述密鑰材料,獲得所述隨機(jī)數(shù); 采用用戶私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名,得到第二數(shù)字簽名,并根據(jù)所述隨機(jī)數(shù)、第二數(shù)字簽名生成認(rèn)證信息并發(fā)送到所述智能密碼鑰匙; 接收所述智能密碼鑰匙返回的認(rèn)證響應(yīng)信息;所述認(rèn)證響應(yīng)信息中包括第一驗(yàn)證成功信息或驗(yàn)證失敗信息;所述第一驗(yàn)證成功信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較一致的情況下,采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)所返回的信息。
2.根據(jù)權(quán)利要求1所述的智能密碼鑰匙的驗(yàn)證方法,其特征在于,所述驗(yàn)證失敗信息包括第一驗(yàn)證失敗信息或第二驗(yàn)證失敗信息; 所述第一驗(yàn)證失敗信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較不一致的情況下所返回的信息; 所述第二驗(yàn)證失敗信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較一致的情況下,采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證未通過(guò)時(shí)所返回的信息。
3.根據(jù)權(quán)利要求1所述的智能密碼鑰匙的驗(yàn)證方法,其特征在于,所述密鑰材料中還包括所述智能密碼鑰匙根據(jù)所述獲取密鑰材料指令所生成的、并采用用戶公鑰進(jìn)行加密的密鑰種子;所述第一數(shù)字簽名的對(duì)象還包括所述加密的密鑰種子; 所述生成認(rèn)證信息的過(guò)程包括: 采用所述用戶私鑰對(duì)所述加密的密鑰種子進(jìn)行解密; 生成一個(gè)擾碼,根據(jù)所述擾碼及密鑰種子生成會(huì)話密鑰; 對(duì)所述會(huì)話密鑰進(jìn)行哈希運(yùn)算,得到校驗(yàn)碼; 采用所述廠家公鑰對(duì)所述擾碼進(jìn)行加密; 采用所述用戶私鑰對(duì)所述隨機(jī)數(shù)、校驗(yàn)碼、加密的擾碼進(jìn)行簽名,得到所述第二數(shù)字簽名; 根據(jù)所述隨機(jī)數(shù)、校驗(yàn)碼、加密的擾碼、第二數(shù)字簽名生成所述認(rèn)證信息。
4.根據(jù)權(quán)利要求3所述的智能密碼鑰匙的驗(yàn)證方法,其特征在于,在采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名并通過(guò)之后,還包括步驟: 控制所述智能密碼鑰匙采用所述廠家私鑰對(duì)所述擾碼進(jìn)行解密,并根據(jù)該解密的擾碼及所生成的密鑰種子生成會(huì)話密鑰,計(jì)算所述會(huì)話密鑰的哈希值,并判斷該哈希值與所述認(rèn)證信息中的校驗(yàn)碼是否一致; 若是,則控制所述智能密碼鑰匙返回第二驗(yàn)證成功信息; 若否,則控制所述智能密碼鑰匙返回第三驗(yàn)證失敗信息。
5.根據(jù)權(quán)利要求1-4任意一項(xiàng)所述的智能密碼鑰匙的驗(yàn)證方法,其特征在于,所述廠家私鑰及用戶公鑰存放在所述智能密碼鑰匙的非揮發(fā)性存儲(chǔ)區(qū),且不允許通過(guò)任何對(duì)外讀取的指令。
6.一種智能密碼鑰匙的驗(yàn)證方法,其特征在于,包括以下步驟: 智能密碼鑰匙接收到用戶端發(fā)送的獲取密鑰材料指令后,生成隨機(jī)數(shù),并采用廠家私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名,得到第一數(shù)字簽名,然后將包括所述隨機(jī)數(shù)、第一數(shù)字簽名的密鑰材料返回給所述用戶端; 所述智能密碼鑰匙接收所述用戶端發(fā)送的認(rèn)證信息;所述認(rèn)證信息包括:所述用戶端采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名并在驗(yàn)證時(shí)通過(guò)解析所述密鑰材料所獲得的隨機(jī)數(shù)、所述用戶端采用用戶私鑰對(duì)該隨機(jī)數(shù)進(jìn)行簽名后得到的第二數(shù)字簽名; 所述智能密碼鑰匙將所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)進(jìn)行比較,并判斷比較結(jié)果是否一致; 若是,所述智能密碼鑰匙采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)返回第一驗(yàn)證成功信息給所述用戶端。
7.根據(jù)權(quán)利要求6所述的智能密碼鑰匙的驗(yàn)證方法,其特征在于,若比較結(jié)果不一致,則所述智能密碼鑰匙返回第一驗(yàn)證失敗信息給所述用戶端; 或,所述智能密碼鑰匙采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名未通過(guò)時(shí),返回第二驗(yàn)證失敗信息給所述用戶端。
8.根據(jù)權(quán)利要求6所述的智能密碼鑰匙的驗(yàn)證方法,其特征在于,所述密鑰材料中還包括根據(jù)所述獲取密鑰材料指令所生成的、并采用用戶公鑰進(jìn)行加密的密鑰種子;所述第一數(shù)字簽名的對(duì)象還包括所述加密的密鑰種子; 所述認(rèn)證信息還包括:對(duì)生成的會(huì)話密鑰進(jìn)行哈希運(yùn)算后得到的校驗(yàn)碼、生成后采用所述廠家公鑰進(jìn)行加密的擾碼;所述 會(huì)話密鑰根據(jù)生成的擾碼及采用所述用戶私鑰進(jìn)行解密的密鑰種子來(lái)計(jì)算獲得; 所述第二數(shù)字簽名的對(duì)象還包括所述校驗(yàn)碼、加密的擾碼。
9.根據(jù)權(quán)利要求8所述的智能密碼鑰匙的驗(yàn)證方法,其特征在于,在采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名并通過(guò)之后,還包括步驟: 所述智能密碼鑰匙采用廠家私鑰對(duì)所述擾碼進(jìn)行解密,并根據(jù)該解密的擾碼及所生成的密鑰種子生成會(huì)話密鑰,計(jì)算所述會(huì)話密鑰的哈希值,并判斷該哈希值與所述認(rèn)證信息中的校驗(yàn)碼是否一致; 若是,則所述智能密碼鑰匙返回第二驗(yàn)證成功信息給用戶端; 若否,則所述智能密碼鑰匙返回第三驗(yàn)證失敗信息給用戶端。
10.一種智能密碼鑰匙的驗(yàn)證系統(tǒng),其特征在于,包括用戶端,所述用戶端包括: 密鑰材料獲取模塊,用于發(fā)送獲取密鑰材料指令到智能密碼鑰匙,并接收所述智能密碼鑰匙返回的密鑰材料;所述密鑰材料中包括:所述智能密碼鑰匙根據(jù)所述獲取密鑰材料指令所生成的隨機(jī)數(shù)、所述智能密碼鑰匙采用廠家私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名后得到的第一數(shù)字簽名; 驗(yàn)證與解析模塊,用于采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)解析所述密鑰材料,獲得所述隨機(jī)數(shù); 認(rèn)證模塊,用于采用用戶私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名,得到第二數(shù)字簽名,并根據(jù)所述隨機(jī)數(shù)、第二數(shù)字簽名生成認(rèn)證信息并發(fā)送到所述智能密碼鑰匙;認(rèn)證響應(yīng)信息接收模塊,用于接收所述智能密碼鑰匙返回的認(rèn)證響應(yīng)信息;所述認(rèn)證響應(yīng)信息中包括第一驗(yàn)證成功信息或驗(yàn)證失敗信息;所述第一驗(yàn)證成功信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較一致的情況下,采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)所返回的信息。
11.根據(jù)權(quán)利要求10所述的智能密碼鑰匙的驗(yàn)證系統(tǒng),其特征在于,所述驗(yàn)證失敗信息包括第一驗(yàn)證失敗信息或第二驗(yàn)證失敗信息; 所述第一驗(yàn)證失敗信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較不一致的情況下所返回的信息; 所述第二驗(yàn)證失敗信息為所述智能密碼鑰匙在所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)比較一致的情況下,采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證未通過(guò)時(shí)所返回的信息。
12.根據(jù)權(quán)利要求10所述的智能密碼鑰匙的驗(yàn)證系統(tǒng),其特征在于,所述密鑰材料中還包括所述智能密碼鑰匙根據(jù)所述獲取密鑰材料指令所生成的、并采用用戶公鑰進(jìn)行加密的密鑰種子;所述第一數(shù)字簽名的對(duì)象還包括所述加密的密鑰種子; 所述認(rèn)證模塊包括: 密鑰種子解密模塊,用于采用所述用戶私鑰對(duì)所述加密的密鑰種子進(jìn)行解密; 會(huì)話密鑰生成模塊,用于生成一個(gè)擾碼,并根據(jù)所述擾碼及密鑰種子生成會(huì)話密鑰; 校驗(yàn)碼計(jì)算模塊,用于對(duì)所述會(huì)話密鑰進(jìn)行哈希運(yùn)算,得到校驗(yàn)碼; 擾碼加密模塊,采用所述廠家公鑰對(duì)所述擾碼進(jìn)行加密; 簽名模塊,用于采用所述用戶私鑰對(duì)所述隨機(jī)數(shù)、校驗(yàn)碼、加密的擾碼進(jìn)行簽名,得到所述第二數(shù)字簽名; 認(rèn)證信息生成模塊,用于根據(jù)所述隨機(jī)數(shù)、校驗(yàn)碼、加密的擾碼、第二數(shù)字簽名生成所述認(rèn)證信息。
13.根據(jù)權(quán)利要求12所述的智能密碼鑰匙的驗(yàn)證系統(tǒng),其特征在于,所述用戶端還包括: 第一控制模塊,用于在采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名并通過(guò)之后,控制所述智能密碼鑰匙采用所述廠家私鑰對(duì)所述擾碼進(jìn)行解密,并根據(jù)該解密的擾碼及所生成的密鑰種子生成會(huì)話密鑰,計(jì)算所述會(huì)話密鑰的哈希值,并判斷該哈希值與所述認(rèn)證信息中的校驗(yàn)碼是否一致; 第二控制模塊,用于在所述會(huì)話密鑰的哈希值與所述認(rèn)證信息中的校驗(yàn)碼一致的情況下,控制所述智能密碼鑰匙返回第二驗(yàn)證成功信息; 第三控制模塊,用于在所述會(huì)話密鑰的哈希值與所述認(rèn)證信息中的校驗(yàn)碼不一致的情況下,控制所述智能密碼鑰匙返回第三驗(yàn)證失敗信息。
14.根 據(jù)權(quán)利要求10-13任意一項(xiàng)所述的智能密碼鑰匙的驗(yàn)證系統(tǒng),其特征在于,所述廠家私鑰及用戶公鑰存放在所述智能密碼鑰匙的非揮發(fā)性存儲(chǔ)區(qū),且不允許通過(guò)任何對(duì)外讀取的指令。
15.一種智能密碼鑰匙的驗(yàn)證系統(tǒng),其特征在于,包括智能密碼鑰匙端,所述智能密碼鑰匙端包括: 密鑰材料發(fā)送模塊,用于在接收到用戶端發(fā)送的獲取密鑰材料指令后,生成隨機(jī)數(shù),并采用廠家私鑰對(duì)所述隨機(jī)數(shù)進(jìn)行簽名,得到第一數(shù)字簽名,然后將包括所述隨機(jī)數(shù)、第一數(shù)字簽名的密鑰材料返回給所述用戶端; 認(rèn)證信息接收模塊,用于接收所述用戶端發(fā)送的認(rèn)證信息;所述認(rèn)證信息包括:所述用戶端采用廠家公鑰驗(yàn)證所述第一數(shù)字簽名并在驗(yàn)證時(shí)通過(guò)解析所述密鑰材料所獲得的隨機(jī)數(shù)、所述用戶端采用用戶私鑰對(duì)該隨機(jī)數(shù)進(jìn)行簽名后得到的第二數(shù)字簽名; 判斷模塊,用于將所述認(rèn)證信息中的隨機(jī)數(shù)與所生成的隨機(jī)數(shù)進(jìn)行比較,并判斷比較結(jié)果是否一致; 第一驗(yàn)證成功信息返回模塊,用于在所述判斷模塊的判斷結(jié)果為是的情況下,采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名,并在驗(yàn)證通過(guò)時(shí)返回驗(yàn)證成功信息給所述用戶端。
16.根據(jù)權(quán)利要求15所述的智能密碼鑰匙的驗(yàn)證系統(tǒng),其特征在于,所述智能密碼鑰匙端還包括: 第一驗(yàn)證失敗信息返回模塊,用于在所述判斷模塊的判斷結(jié)果為否的情況下,返回第一驗(yàn)證失敗信息給所述用戶端; 第二驗(yàn)證失敗信息返回模塊,用于在采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名未通過(guò)時(shí),返回第二驗(yàn)證失敗信息給所述用戶端。
17.根據(jù)權(quán)利要求15所述的智能密碼鑰匙的驗(yàn)證系統(tǒng),其特征在于,所述密鑰材料中還包括根據(jù)所述獲取密鑰材料指令所生成的、并采用用戶公鑰進(jìn)行加密的密鑰種子;所述第一數(shù)字簽名的對(duì)象還包括所述加密的密鑰種子; 所述認(rèn)證信息還包括:對(duì)生成的會(huì)話密鑰進(jìn)行哈希運(yùn)算后得到的校驗(yàn)碼、生成后采用所述廠家公鑰進(jìn)行加密的擾碼;所述會(huì)話密鑰根據(jù)生成的擾碼及采用所述用戶私鑰進(jìn)行解密的密鑰種子來(lái)計(jì)算獲得; 所述第二數(shù)字簽名的對(duì)象還包括所述校驗(yàn)碼、加密的擾碼。
18.根據(jù)權(quán)利要求17所述的智能密碼鑰匙的驗(yàn)證系統(tǒng),其特征在于,所述智能密碼鑰匙端還包括: 校驗(yàn)碼判斷模塊,用于在采用用戶公鑰驗(yàn)證所述第二數(shù)字簽名并通過(guò)之后,采用廠家私鑰對(duì)所述擾碼進(jìn)行解密,并根據(jù)該解密的擾碼及所生成的密鑰種子生成會(huì)話密鑰,計(jì)算所述會(huì)話密鑰的哈希值,并判斷該哈希值與所述認(rèn)證信息中的校驗(yàn)碼是否一致; 第二驗(yàn)證成功信息返回模塊,用于在所述會(huì)話密鑰的哈希值與所述認(rèn)證信息中的校驗(yàn)碼一致的情況下,返回第二驗(yàn)證成功信息給用戶端; 第三驗(yàn)證失敗信息返回模塊,用于在所述會(huì)話密鑰的哈希值與所述認(rèn)證信息中的校驗(yàn)碼不一致的情況下,返回第三驗(yàn)證失敗信息給用戶端。
【文檔編號(hào)】H04L9/32GK103634114SQ201310612122
【公開(kāi)日】2014年3月12日 申請(qǐng)日期:2013年11月26日 優(yōu)先權(quán)日:2013年11月26日
【發(fā)明者】張永強(qiáng), 王勝男, 劉磊, 廖衛(wèi)民 申請(qǐng)人:廣東數(shù)字證書認(rèn)證中心有限公司