專利名稱:一種為身份認證提供數(shù)據(jù)加密的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種為身份認證提供數(shù)據(jù)加密的裝置和方法。
背景技術(shù):
在許多網(wǎng)上業(yè)務中,采用優(yōu)盤進行身份認證已經(jīng)越來越普及。優(yōu)盤是一種采用通用串行總線(Universal Serial Bus,USB)與電腦相連的存儲設備,當其作用是進行身份認證時,在其中存儲了持有者的密鑰或數(shù)字證書。在一種典型的身份認證流程中,優(yōu)盤被接入到作為客戶端的聯(lián)網(wǎng)終端上,當客戶端向服務器請求以某一帳號登錄時,服務器向客戶端發(fā)出一個隨機序列;客戶端將該隨機序列通過USB接口傳到優(yōu)盤中;優(yōu)盤內(nèi)部的加密電路根據(jù)一定的加密算法將該隨機序列加密得到密文,并將密文返回給客戶端;客戶端將該密文傳給服務器;服務器利用事先存放在服務器上的,對應于該帳號的密鑰,對隨機序列按照同樣的加密算法進行加密得到另一份密文;服務器比較兩份密文是否一致,如果一致則允許該帳號登錄。與傳統(tǒng)的基于用戶名/密碼的身份驗證方式相比,采用基于優(yōu)盤的身份驗證方式的好處在于,優(yōu)盤中的密鑰或數(shù)字證書只能在優(yōu)盤內(nèi)部使用,不能被讀出,由此確保其不被竊?。欢鴤鹘y(tǒng)的用戶名/密碼方式中,用戶在輸入密碼的時候,鍵盤動作可能被特定的程序捕獲發(fā)送給竊取者。
在現(xiàn)有技術(shù)中,一個優(yōu)盤只能被用來提供對一個帳號進行身份認證時的數(shù)據(jù)加密。隨著網(wǎng)上業(yè)務越來越豐富,業(yè)務提供者往往同時提供多種服務,例如即時聊天、在線游戲、網(wǎng)上購物、論壇等等。對于某個使用這些服務的用戶來說,其在每個服務中使用的帳號往往并不是相同的。即使是相同的,用戶可能同時使用多種即時聊天軟件、玩多種在線游戲,這樣則必然擁有不同的帳號。這樣,為了對這些帳號進行基于優(yōu)盤的身份認證,用戶就必須擁有許許多多的優(yōu)盤。對于用戶來說,既不便于攜帶也不便于管理。同時用戶需要為每一個優(yōu)盤支付至少是等于制造成本的費用,也會對用戶造成經(jīng)濟上的浪費。
由此可見,現(xiàn)有技術(shù)的缺點是一個優(yōu)盤只能被用來對一個帳號的身份認證提供數(shù)據(jù)加密,如果需要對多個帳號進行身份認證就需要有對應數(shù)目的優(yōu)盤。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種使用一個優(yōu)盤為多個帳號的身份認證提供數(shù)據(jù)加密的方法以及采用該裝置和方法的即時通信系統(tǒng),以方便用戶在任何聯(lián)網(wǎng)終端都能進行多個帳號的身份認證,同時為用戶節(jié)約選擇基于優(yōu)盤的身份認證方式的成本,從而鼓勵更多的用戶選擇此種身份認證方式,提高身份認證的安全性。
為了達到上述目的,本發(fā)明提供了一種為身份認證提供數(shù)據(jù)加密的裝置,包括將數(shù)據(jù)輸入/輸出本裝置的通用串行總線接口模塊、根據(jù)預定的加密算法利用密鑰對數(shù)據(jù)進行加密的加密模塊以及對各個模塊進行控制的中央處理器模塊,該裝置進一步包含以下模塊密鑰存儲模塊,用于存儲至少兩個密鑰,并根據(jù)密鑰選擇信號將存儲區(qū)域中存儲的指定密鑰輸出給所述加密模塊。
該裝置進一步包括密鑰選擇模塊,用于產(chǎn)生密鑰選擇信號,并將該選擇信號提供給密鑰存儲模塊以指定所需密鑰。
其中,所述密鑰選擇信號是指示所需密鑰在密鑰存儲模塊中存儲地址的地址信號。
其中,所述密鑰選擇模塊是一組撥動開關(guān),其輸出連接到密鑰存儲電路的地址線。
其中,所述密鑰選擇模塊是一個地址譯碼電路,其輸入連接到中央處理器模塊上,輸出連接到密鑰存儲電路的地址線。
其中,所述密鑰存儲模塊是不能通過通用串行總線進行讀寫的非易失性存儲器。
為了達到上述目的,本發(fā)明還提出了一種為身份認證提供數(shù)據(jù)加密的方法,其技術(shù)方案是這樣實現(xiàn)的步驟A,選擇需要進行身份認證的帳號所對應的密鑰;步驟B,用該密鑰對待加密數(shù)據(jù)按照預定的算法進行加密,并將加密后的數(shù)據(jù)密文返回給認證方。
步驟B中所述的待加密數(shù)據(jù)是從認證方獲取的隨機數(shù)。
在步驟B之后進一步包括步驟C,認證方用預先存儲在認證方的與該帳號對應的密鑰對之前發(fā)送的隨機數(shù)進行加密運算,將運算結(jié)果和客戶端運算的結(jié)果進行比較,如果相同則認證通過,否則認證不通過。
其中,步驟B所述的選擇需要進行身份認證的帳號所對應的密鑰包括以下步驟步驟B11,通過設置存儲密鑰的便攜式設備上的撥動開關(guān)選擇所述密鑰;步驟B12,撥動開關(guān)的輸出信號作為地址信號輸出給存儲密鑰的便攜式設備內(nèi)部的密鑰存儲器;步驟B13,內(nèi)部密鑰存儲器根據(jù)該地址信號輸出存儲于相應存儲地址的密鑰。
其中,步驟B所述的選擇需要進行身份認證的帳號所對應的密鑰包括以下步驟步驟B21,在被認證方終端上的軟件所提供的界面上選擇需要進行身份認證的帳號;步驟B22,該軟件將選擇結(jié)果轉(zhuǎn)換成存儲密鑰的便攜式設備能夠識別的選擇信息;步驟B23,存儲密鑰的便攜式設備將選擇信息轉(zhuǎn)換成能夠驅(qū)動內(nèi)部存儲器的地址信息;步驟B24,存儲密鑰的便攜式設備的內(nèi)部存儲器根據(jù)地址信息輸出對應存儲單元的密鑰。
其中,所述的將與至少兩個帳號一一對應的密鑰存儲于同一便攜式設備中為將所述密鑰存儲在該便攜式設備內(nèi)部的不能通過通用串行總線進行讀寫的非易失性存儲器上。
為了達到上述目的,本發(fā)明還提供了一種即時通信系統(tǒng),包括即時通信系統(tǒng)服務器端和即時通信系統(tǒng)客戶端,該系統(tǒng)進一步包括為身份認證提供數(shù)據(jù)加密的裝置,包括用于存儲至少兩個密鑰,并根據(jù)密鑰選擇信號將存儲區(qū)域中存儲的指定密鑰輸出給所述加密模塊的密鑰存儲模塊;所述即時通信系統(tǒng)客戶端進一步用于與所述為身份認證提供數(shù)據(jù)加密的裝置通信以獲取即時通信系統(tǒng)服務器端身份驗證所需的加密數(shù)據(jù);所述即時通信系統(tǒng)服務器端進一步用于根據(jù)客戶端發(fā)送的加密數(shù)據(jù)對客戶端進行身份驗證。
采用以上為身份認證提供數(shù)據(jù)加密的裝置和方法以及采用該裝置和方法的即時通信系統(tǒng),可以用一個優(yōu)盤存儲多個帳號進行身份驗證所要用到的密鑰,用戶只需要攜帶該優(yōu)盤,就可以在任何聯(lián)網(wǎng)終端上對這些帳號進行基于優(yōu)盤的身份驗證,不必為每個帳號都購買和攜帶一個單獨的優(yōu)盤。同時,該裝置和方法能夠保證存儲于優(yōu)盤中的密鑰只能用作優(yōu)盤內(nèi)部加密電路使用,不能被聯(lián)網(wǎng)終端通過通用串行總線獲取,也就不能被網(wǎng)絡上的惡意終端獲取,從而保證了密鑰的安全性。
可見,本發(fā)明提出的為身份認證提供數(shù)據(jù)加密的裝置和方法以及采用該裝置和方法的即時通信系統(tǒng),其優(yōu)點在于用戶只需攜帶一個優(yōu)盤即可在任何聯(lián)網(wǎng)終端上進行多個帳號的身份驗證,既便于攜帶和管理,又節(jié)約了成本;保證了密鑰的安全,使其不能被竊取。
圖1是本發(fā)明提供的優(yōu)盤實施例一的方框圖。
圖2是本發(fā)明提供的優(yōu)盤實施例二的方框圖。
圖3是本發(fā)明提供的優(yōu)盤實施例一的工作流程圖。
圖4是本發(fā)明提供的優(yōu)盤實施例二的工作流程圖。
具體實施例方式
本發(fā)明所提供的為身份驗證提供數(shù)據(jù)加密的裝置和方法以及采用該裝置和方法的即時通信系統(tǒng),可以使用一個優(yōu)盤為多個帳號的身份驗證提供數(shù)據(jù)加密,具有便于管理、便于攜帶和成本低的優(yōu)點。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖及具體實施例對本發(fā)明作進一步地詳細描述。
請參考圖1,圖1是本發(fā)明提供的用于對多個帳號進行身份驗證的優(yōu)盤該優(yōu)盤包括以下模塊USB接口電路101,用于與聯(lián)網(wǎng)終端通過USB協(xié)議進行數(shù)據(jù)傳送;USB中央處理器(Central Processing Unit,CPU)102,用于對整個優(yōu)盤進行控制;撥動開關(guān)103,用于選擇要使用密鑰存儲電路中的哪個密鑰;密鑰存儲電路104,用于存放使用該優(yōu)盤進行身份驗證的多個帳號各自的密鑰;加密電路105,用于按照預定的算法,用某一密鑰對某一數(shù)據(jù)進行加密。
優(yōu)盤上的USB接口電路101一端連接到聯(lián)網(wǎng)終端上的USB接口電路,另一端連接到USB CPU 102。當聯(lián)網(wǎng)終端在對優(yōu)盤持有者的某個帳號進行身份驗證流程中,需要用到該帳號對應的密鑰對某個數(shù)據(jù)進行加密的時候,聯(lián)網(wǎng)終端通過其上的USB接口電路將數(shù)據(jù)發(fā)送給優(yōu)盤上的USB接口電路101,優(yōu)盤上的USB接口電路101將這組數(shù)據(jù)轉(zhuǎn)換成優(yōu)盤內(nèi)部通用的格式傳給USB CPU 102。
撥動開關(guān)103連到密鑰存儲電路104的地址線上。撥動開關(guān)103是一組二進制開關(guān),即每個開關(guān)撥到一頭則輸出高電平,撥到另一頭則輸出低電平。這一組開關(guān)輸出的信號作為密鑰存儲電路104的地址信號。優(yōu)盤持有者可以通過設置撥動開關(guān)103決定用密鑰存儲電路中的哪個密鑰。二進制開關(guān)的數(shù)目決定了最多能有多少個帳號使用這個優(yōu)盤進行身份認證。例如,3個二進制開關(guān)可以支持最多8個帳號的身份認證。當然,撥動開關(guān)也可以是其他類型的開關(guān)及附屬器件,只要其輸出是能夠?qū)嶋H驅(qū)動密鑰存儲電路的地址信號即可。
密鑰存儲電路104實際上是一個能夠根據(jù)輸入的地址信號輸出數(shù)據(jù)信號的非易失性存儲器。其地址線連接到撥動開關(guān)103,數(shù)據(jù)線連接到加密電路105的密鑰數(shù)據(jù)入口。根據(jù)不同的地址信息,輸出的是位于存儲器內(nèi)不同存儲單元的數(shù)據(jù),而每個存儲單元存放了一個密鑰,該密鑰是用于對特定的帳號進行身份認證的。同時,該存儲器的數(shù)據(jù)線僅僅連接到加密電路105的密鑰數(shù)據(jù)入口,連USB CPU 102都無法獲得密鑰數(shù)據(jù),這就保證了密鑰數(shù)據(jù)不可能被聯(lián)網(wǎng)終端上的任何軟件獲取。
加密電路105有兩個數(shù)據(jù)入口和一個數(shù)據(jù)出口。一個數(shù)據(jù)入口是密鑰入口,另外一個數(shù)據(jù)入口是待加密數(shù)據(jù)入口。數(shù)據(jù)出口輸出的是數(shù)據(jù)密文。加密過程是通過此模塊內(nèi)部的硬件連接實現(xiàn)的,而沒有任何的軟件流程,這就保證了密鑰數(shù)據(jù)不可能通過加密電路105被USB CPU 102獲取,也就無法被聯(lián)網(wǎng)終端上的任何軟件獲取。同時,當密鑰數(shù)據(jù)和待加密數(shù)據(jù)都在各自入口的鎖存器上準備好以后,加密/解密電路105會通知USB CPU 102。
USB CPU 102進行各模塊的工作狀態(tài)控制和數(shù)據(jù)的流向控制以及時序控制。其基本功能是將USB接口101傳來的待加密數(shù)據(jù)傳送到加密電路105;在確保密鑰數(shù)據(jù)和待加密數(shù)據(jù)都已經(jīng)在加密電路105的數(shù)據(jù)入口上準備好以后讓加密電路105開始工作;一定時間后從加密電路105的數(shù)據(jù)出口中讀取數(shù)據(jù)密文,傳送給USB接口電路101。
請參考圖2,圖2是本發(fā)明提供的用于對多個帳號進行身份驗證的優(yōu)盤該優(yōu)盤包括以下模塊USB接口電路201,用于與聯(lián)網(wǎng)終端通過USB協(xié)議進行數(shù)據(jù)傳送;USB CPU 202,用于對整個優(yōu)盤進行控制;地址譯碼電路203,用于將USB CPU 202傳過來的密鑰選擇信號轉(zhuǎn)換成密鑰存儲電路的地址信號;密鑰存儲電路204,用于存放使用該優(yōu)盤進行身份驗證的多個帳號各自的密鑰;加密電路205,用于按照預定的算法,用某一密鑰對某一數(shù)據(jù)進行加密。
實施例二與實施例一的不同之處在于,密鑰存儲電路204的地址線不是連接到物理上的撥動開關(guān),而是連接到一個地址譯碼電路203。地址譯碼電路203的另一端連接到USB CPU 202。在進行密鑰選擇時,用戶在聯(lián)網(wǎng)終端上通過為此優(yōu)盤專門安裝的驅(qū)動程序所提供的界面選擇要使用哪個密鑰。驅(qū)動程序?qū)⑦x擇結(jié)果通過聯(lián)網(wǎng)終端上的USB接口電路傳到優(yōu)盤上的USB接口電路201,進一步傳到USB CPU 202。USB CPU 202將密鑰選擇信號傳送給地址譯碼電路203。地址譯碼電路203將該選擇信號轉(zhuǎn)換成能夠?qū)嶋H控制密鑰存儲電路204的地址信號。地址譯碼的工作也可以由驅(qū)動程序完成,這樣通過USB接口電路傳到優(yōu)盤上的USB接口電路201的就不是密鑰選擇結(jié)果而是地址信號,該地址信號能夠?qū)嶋H控制密鑰存儲電路204。這種情況下優(yōu)盤上可以不包括地址譯碼電路。USB CPU 202直接連接到密鑰存儲電路204的地址信號接口。
USB CPU 202除了完成實施例一中的工作以外,還需要完成區(qū)別密鑰選擇數(shù)據(jù)和待加密數(shù)據(jù)的工作。進一步,還需要將密鑰選擇數(shù)據(jù)送到地址譯碼器而將待加密數(shù)據(jù)送到加密電路。區(qū)別的根據(jù)是聯(lián)網(wǎng)終端所送入的數(shù)據(jù)中的包頭。在聯(lián)網(wǎng)終端上,已經(jīng)事先安裝了專門為該優(yōu)盤設計的驅(qū)動程序,該驅(qū)動程序一方面提供界面讓用戶選擇需要用優(yōu)盤進行身份認證的帳號,另一方面提供數(shù)據(jù)接口給客戶端軟件。用戶做出選擇以后,該驅(qū)動程序?qū)⑦x擇數(shù)據(jù)前加上標識“密鑰選擇”的包頭;而對于從客戶端軟件送來的待加密的數(shù)據(jù)(待加密數(shù)據(jù)其具體的類型和格式是由客戶端和服務器之間的身份認證流程決定的),該驅(qū)動程序則在其前面加上標識“待加密”的包頭。驅(qū)動程序處理完數(shù)據(jù)后通過聯(lián)網(wǎng)終端上的USB接口將數(shù)據(jù)送入優(yōu)盤。USB CPU 202解析數(shù)據(jù)的包頭,并且根據(jù)包頭的類別分別將數(shù)據(jù)送入地址譯碼電路和加密電路。
在本實施例中,雖然密鑰選擇是由USB CPU完成的,但是由于密鑰本身仍然不會被USB CPU得到,因此也就無法被聯(lián)網(wǎng)終端上的任何軟件得到。
請參考圖3,圖3是本發(fā)明提供的優(yōu)盤實施例一的工作流程圖。
步驟301,設置撥動開關(guān)。根據(jù)需要進行身份驗證的帳號,將撥動開關(guān)中的二進制開關(guān)分別撥到一定的位置。
步驟302,將設置好的優(yōu)盤連接到聯(lián)網(wǎng)終端。
步驟303,在聯(lián)網(wǎng)終端上輸入該優(yōu)盤的PIN碼。如果輸入正確則可以使用該優(yōu)盤進行身份驗證,執(zhí)行步驟304,否則執(zhí)行步驟313。
步驟304,優(yōu)盤等待聯(lián)網(wǎng)終端將需要加密的數(shù)據(jù)送入。需要加密的數(shù)據(jù)其具體的類型和格式是由客戶端和服務器之間的身份認證流程決定的。如果有待加密數(shù)據(jù)送入則執(zhí)行步驟305,否則執(zhí)行步驟304。
步驟305,USB CPU從優(yōu)盤中的USB接口讀出待加密的數(shù)據(jù),并且送到加密電路。
步驟306,USB CPU等待加密電路返回加密數(shù)據(jù)準備好的消息從而判斷待加密數(shù)據(jù)是否已經(jīng)在加密電路中準備好。如果是則執(zhí)行步驟307,否則執(zhí)行步驟305。
步驟307,USB CPU讓密鑰存儲電路將完成本次加密用到的密鑰輸出給加密電路。密鑰存儲電路根據(jù)由撥動開關(guān)設置的地址線輸出對應存儲單元的存儲內(nèi)容。
步驟308,USB CPU等待加密電路返回密鑰數(shù)據(jù)準備好的消息從而判斷密鑰數(shù)據(jù)是否已經(jīng)在加密電路中準備好。如果是則執(zhí)行步驟309,否則執(zhí)行步驟307。
步驟309,USB CPU讓加密電路開始進行加密運算。此處的運算是由加密電路內(nèi)部的硬件連接完成的。
步驟310,USB CPU等待加密電路返回加密完成的消息從而判斷加密工作是否完成。是則執(zhí)行步驟311,否則繼續(xù)等待執(zhí)行步驟310.
步驟311,USB CPU從加密電路的數(shù)據(jù)出口取出數(shù)據(jù)密文。
步驟312,USB CPU將數(shù)據(jù)密文發(fā)送到優(yōu)盤上的USB接口。
步驟313,本次加密流程完成。
此處僅僅寫出了優(yōu)盤對數(shù)據(jù)進行加密的流程,在實際的身份認證流程中,還包括客戶端軟件和服務器交互的一些步驟,這些步驟都是現(xiàn)有技術(shù),在此不再贅述。
請參考圖4,圖4是本發(fā)明提供的優(yōu)盤實施例二的工作流程圖。
步驟401,將優(yōu)盤連接到聯(lián)網(wǎng)終端。
步驟402,在聯(lián)網(wǎng)終端上輸入該優(yōu)盤的PIN碼。如果輸入正確則可以使用該優(yōu)盤進行身份驗證,執(zhí)行步驟403,否則執(zhí)行步驟415。
步驟403,優(yōu)盤等待聯(lián)網(wǎng)終端通過USB接口輸入數(shù)據(jù)。有數(shù)據(jù)輸入則執(zhí)行步驟404,否則繼續(xù)等待執(zhí)行步驟403。
步驟404,USB CPU判斷送入數(shù)據(jù)是密鑰選擇數(shù)據(jù)還是待加密數(shù)據(jù),如果是密鑰選擇數(shù)據(jù)則執(zhí)行步驟405;如果是待加密數(shù)據(jù)則執(zhí)行步驟409。判斷的根據(jù)是聯(lián)網(wǎng)終端所送入的數(shù)據(jù)中的包頭。在聯(lián)網(wǎng)終端上,已經(jīng)事先安裝了專門為該優(yōu)盤設計的驅(qū)動程序,該驅(qū)動程序一方面提供界面讓用戶選擇需要用優(yōu)盤進行身份認證的帳號,另一方面提供數(shù)據(jù)接口給客戶端軟件。用戶做出選擇以后,該驅(qū)動程序?qū)⑦x擇數(shù)據(jù)前加上標識“密鑰選擇”的包頭;而對于從客戶端軟件送來的待加密的數(shù)據(jù)(待加密數(shù)據(jù)其具體的類型和格式是由客戶端和服務器之間的身份認證流程決定的),該驅(qū)動程序則在其前面加上標識“待加密”的包頭。驅(qū)動程序處理完數(shù)據(jù)后通過聯(lián)網(wǎng)終端上的USB接口將數(shù)據(jù)送入優(yōu)盤。優(yōu)盤中的USB CPU解析數(shù)據(jù)的包頭,并且根據(jù)包頭的類別分別將數(shù)據(jù)送入地址譯碼電路和加密電路。
步驟405,USB CPU去掉數(shù)據(jù)包頭后將數(shù)據(jù)送入地址譯碼電路。
步驟406,地址譯碼電路工作并且輸出能夠?qū)嶋H控制密鑰存儲電路的地址信號。
步驟407,密鑰存儲電路根據(jù)地址信號輸出對應存儲區(qū)域的密鑰至加密電路。
步驟408,USB CPU等待加密電路返回密鑰數(shù)據(jù)準備好的消息從而判斷密鑰數(shù)據(jù)是否已經(jīng)在加密電路中準備好。如果是則執(zhí)行步驟410,否則執(zhí)行步驟408。
步驟409,USB CPU去掉數(shù)據(jù)包頭后將數(shù)據(jù)送入加密電路。
步驟410,USB CPU等待加密電路返回待加密數(shù)據(jù)準備好的消息從而判斷待加密數(shù)據(jù)是否已經(jīng)在加密電路中準備好。如果是則執(zhí)行步驟411,否則執(zhí)行步驟410。
步驟411,USB CPU讓加密電路開始進行加密運算。此處的運算是由加密電路內(nèi)部的硬件連接完成的。
步驟412,USB CPU等待加密電路返回加密完成的消息從而判斷加密工作是否完成。是則執(zhí)行步驟411,否則繼續(xù)等待執(zhí)行步驟410.
步驟413,USB CPU從加密電路的數(shù)據(jù)出口取出數(shù)據(jù)密文。
步驟414,USB CPU將數(shù)據(jù)密文發(fā)送到優(yōu)盤上的USB接口。
步驟415,本次加密流程完成。
此處,在步驟描述上先判斷密鑰數(shù)據(jù)是否準備好再判斷待加密數(shù)據(jù)是否準備好,這是因為通常情況下總是先選擇要進行身份驗證的帳號,這時優(yōu)盤就可以根據(jù)選擇結(jié)果準備密鑰;而待加密數(shù)據(jù)要等到聯(lián)網(wǎng)終端上的客戶端軟件和服務器交互后才能得到,后于密鑰選擇數(shù)據(jù)進入優(yōu)盤。但是,實際上密鑰數(shù)據(jù)準備好和待加密數(shù)據(jù)準備好是加密電路開始工作的兩個必要條件,必須兩個條件都滿足加密電路才能開始工作,不存在先后問題。
此處僅僅寫出了優(yōu)盤對數(shù)據(jù)進行加密的流程,在實際的身份認證流程中,還包括客戶端軟件和服務器交互的一些步驟,這些步驟都是現(xiàn)有技術(shù),在此不再贅述。
本發(fā)明所提供的優(yōu)盤其密鑰存儲區(qū)域是非易失性存儲器。為了保證聯(lián)網(wǎng)終端上的任何軟件都無法從優(yōu)盤中讀取密鑰數(shù)據(jù),對該存儲器的讀寫是不能通過USB接口進行的,因此需要在優(yōu)盤投入使用之前用專門的燒錄器將密鑰和PIN碼寫入。并且,在優(yōu)盤內(nèi)部,也需要確保密鑰數(shù)據(jù)僅僅能被輸出到加密電路的密鑰數(shù)據(jù)入口,而不能由USB CPU通過某些指令加以讀取。這一點是通過兩個措施加以保證的,首先,在硬件連接上,密鑰存儲電路的輸出直接連接到加密電路的密鑰入口;其次,對待加密數(shù)據(jù)進行加密是通過加密電路內(nèi)部的硬件連接完成的,沒有任何軟件流程,這樣,在加密電路的數(shù)據(jù)出口只能出現(xiàn)加密后的數(shù)據(jù)密文。
用戶在獲取用于身份驗證的優(yōu)盤的時候,會同時獲取與該優(yōu)盤配套的一些配件。包括打印有優(yōu)盤上的密鑰安排(即,對于采用實施例一的優(yōu)盤來說,撥動開關(guān)處于什么位置對應哪個帳號;對于采用實施例二的優(yōu)盤來說,在為此優(yōu)盤專門安裝的驅(qū)動程序所提供的界面上進行什么選擇對應哪個帳號)的通知單以及打印有該優(yōu)盤序列號和PIN碼的密碼單。對于沒有物理撥動開關(guān)的優(yōu)盤,還需要交給用戶該優(yōu)盤的驅(qū)動程序安裝軟盤或光盤。
總之,以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種為身份認證提供數(shù)據(jù)加密的裝置,包括將數(shù)據(jù)輸入/輸出本裝置的通用串行總線接口模塊、根據(jù)預定的加密算法利用密鑰對數(shù)據(jù)進行加密的加密模塊以及對各個模塊進行控制的中央處理器模塊,其特征在于,該裝置進一步包含以下模塊密鑰存儲模塊,用于存儲至少兩個密鑰,并根據(jù)密鑰選擇信號將存儲區(qū)域中存儲的指定密鑰輸出給所述加密模塊。
2.根據(jù)權(quán)利要求1所述的為身份認證提供數(shù)據(jù)加密的裝置,其特征在于,該裝置進一步包括密鑰選擇模塊,用于產(chǎn)生密鑰選擇信號,并將該選擇信號提供給密鑰存儲模塊以指定所需密鑰。
3.根據(jù)權(quán)利要求1或2所述的為身份認證提供數(shù)據(jù)加密的裝置,其特征在于,所述密鑰選擇信號是指示所需密鑰在密鑰存儲模塊中存儲地址的地址信號。
4.根據(jù)權(quán)利要求1所述的為身份認證提供數(shù)據(jù)加密的裝置,其特正在于,密鑰選擇模塊是一組撥動開關(guān),其輸出連接到密鑰存儲電路的地址線。
5.根據(jù)權(quán)利要求1所述的為身份認證提供數(shù)據(jù)加密的裝置,其特征在于,密鑰選擇模塊是一個地址譯碼電路,其輸入連接到中央處理器模塊上,輸出連接到密鑰存儲電路的地址線。
6.根據(jù)權(quán)利要求1所述的為身份認證提供數(shù)據(jù)加密的裝置,其特征在于,密鑰存儲模塊是不能通過通用串行總線進行讀寫的非易失性存儲器。
7.一種為身份認證提供數(shù)據(jù)加密的方法,其特征在于,將與至少兩個帳號一一對應的密鑰存儲于同一便攜式設備中,該方法包括步驟A,選擇需要進行身份認證的帳號所對應的密鑰;步驟B,用該密鑰對待加密數(shù)據(jù)按照預定的算法進行加密,并將加密后的數(shù)據(jù)密文返回給認證方。
8.根據(jù)權(quán)利要求7所述的為身份認證提供數(shù)據(jù)加密的方法,其特征在于,步驟B中所述的待加密數(shù)據(jù)是從認證方獲取的隨機數(shù)。
9.根據(jù)權(quán)利要求7所述的為身份認證提供數(shù)據(jù)加密的方法,其特征在于,在步驟B之后進一步包括步驟C,認證方用預先存儲在認證方的與該帳號對應的密鑰對之前發(fā)送的隨機數(shù)進行加密運算,將運算結(jié)果和客戶端運算的結(jié)果進行比較,如果相同則認證通過,否則認證不通過。
10.根據(jù)權(quán)利要求7所述的為身份認證提供數(shù)據(jù)加密的方法,其特征在于,步驟B所述的選擇需要進行身份認證的帳號所對應的密鑰包括步驟B11,通過設置存儲密鑰的便攜式設備上的撥動開關(guān)選擇所述密鑰;步驟B12,撥動開關(guān)的輸出信號作為地址信號輸出給存儲密鑰的便攜式設備內(nèi)部的密鑰存儲器;步驟B13,內(nèi)部密鑰存儲器根據(jù)該地址信號輸出存儲于相應存儲地址的密鑰。
11.根據(jù)權(quán)利要求7所述的為身份認證提供數(shù)據(jù)加密的方法,其特征在于,步驟B所述的選擇需要進行身份認證的帳號所對應的密鑰包括以下步驟步驟B21,在被認證方終端上的軟件所提供的界面上選擇需要進行身份認證的帳號;步驟B22,該軟件將選擇結(jié)果轉(zhuǎn)換成存儲密鑰的便攜式設備能夠識別的選擇信息;步驟B23,存儲密鑰的便攜式設備將選擇信息轉(zhuǎn)換成能夠驅(qū)動內(nèi)部存儲器的地址信息;步驟B24,存儲密鑰的便攜式設備的內(nèi)部存儲器根據(jù)地址信息輸出對應存儲單元的密鑰。
12.根據(jù)權(quán)利要求7所述的為身份認證提供數(shù)據(jù)加密的方法,其特征在于,所述的將與至少兩個帳號一一對應的密鑰存儲于同一便攜式設備中為將所述密鑰存儲在該便攜式設備內(nèi)部的不能通過通用串行總線進行讀寫的非易失性存儲器上。
13.一種即時通信系統(tǒng),包括即時通信系統(tǒng)服務器端和即時通信系統(tǒng)客戶端,其特征在于,該系統(tǒng)進一步包括為身份認證提供數(shù)據(jù)加密的裝置,包括用于存儲至少兩個密鑰,并根據(jù)密鑰選擇信號將存儲區(qū)域中存儲的指定密鑰輸出給所述加密模塊的密鑰存儲模塊;所述即時通信系統(tǒng)客戶端進一步用于與所述為身份認證提供數(shù)據(jù)加密的裝置通信以獲取即時通信系統(tǒng)服務器端身份驗證所需的加密數(shù)據(jù);所述即時通信系統(tǒng)服務器端進一步用于根據(jù)客戶端發(fā)送的加密數(shù)據(jù)對客戶端進行身份驗證。
全文摘要
本發(fā)明公開了一種為身份認證提供數(shù)據(jù)加密的裝置,進一步包括密鑰存儲模塊,用于存儲至少兩個密鑰,并根據(jù)密鑰選擇信號將存儲區(qū)域中存儲的指定密鑰輸出給所述加密模塊。本發(fā)明還公開了一種為身份認證提供數(shù)據(jù)加密的方法,將與至少兩個帳號一一對應的密鑰存儲于同一便攜式設備中,在提供數(shù)據(jù)加密時首先選擇需要進行身份認證的帳號所對應的密鑰,其次用該密鑰對待加密數(shù)據(jù)按照預定的算法進行加密將加密后的數(shù)據(jù)密文返回給認證方。本發(fā)明最后提供了一種使用上述為身份認證提供數(shù)據(jù)加密的裝置和方法的即時通信系統(tǒng)。使用本發(fā)明所提供的技術(shù)方案,可以用一個便攜式設備為多個帳號的身份認證提供數(shù)據(jù)加密。
文檔編號H04L9/32GK1956374SQ20051011698
公開日2007年5月2日 申請日期2005年10月28日 優(yōu)先權(quán)日2005年10月28日
發(fā)明者文強, 梁柱 申請人:騰訊科技(深圳)有限公司