專利名稱:認(rèn)證方法和認(rèn)證系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及利用對身份認(rèn)證的技術(shù)領(lǐng)域,特別是一種對客戶端進(jìn)行身份認(rèn)證的認(rèn)證方法和認(rèn)證系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,人們可以利用互連網(wǎng)從事各種各樣的操作,其中許多操作需要對用戶進(jìn)行身份認(rèn)證。例如,當(dāng)用戶利用互聯(lián)網(wǎng)上的銀行網(wǎng)站對銀行帳戶進(jìn)行操作時,銀行網(wǎng)站需要對請求操作的用戶進(jìn)行身份認(rèn)證,從而確保網(wǎng)上操作的安全性。
為了解決互聯(lián)網(wǎng)上的身份認(rèn)證問題,出現(xiàn)了一些USB密鑰(USB-KEY)形式的客戶端設(shè)備。這種USB-KEY設(shè)備采用USB接口與計算機(jī)相連接,并且通過互聯(lián)網(wǎng)與服務(wù)器交互,從而完成用戶身份的認(rèn)證過程。
按照USB-KEY設(shè)備中保存的密鑰與服務(wù)器上保存的密鑰是否一致,可以將現(xiàn)有的USB-KEY認(rèn)證技術(shù)分為兩類。一類叫非對稱式USB-KEY技術(shù),此時USB-KEY設(shè)備中保存的密鑰與服務(wù)器上保存的密鑰不同,即USB-KEY設(shè)備中保存的是私鑰(private_key),而服務(wù)器上保存的是公鑰(public_key)。另一類叫對稱式USB-KEY技術(shù),此時USB-KEY設(shè)備中保存的密鑰和服務(wù)器上保存的密鑰一致。
下面首先參照圖1描述非對稱式USB-KEY技術(shù)中USB-KEY設(shè)備與服務(wù)器的認(rèn)證交互流程。如圖1所示,該流程包括以下步驟步驟101,USB-KEY設(shè)備通過互聯(lián)網(wǎng)向服務(wù)器發(fā)起身份認(rèn)證的請求。
步驟102,服務(wù)器收到請求后,向USB-KEY設(shè)備發(fā)送挑戰(zhàn)(challenge)m。挑戰(zhàn)m中可能包含時間、會話標(biāo)識(SESSION-ID)和一些隨機(jī)數(shù)。
步驟103,USB-KEY設(shè)備利用自身保存的private_key并采用非對稱加密算法對挑戰(zhàn)m加密,得到密文c。
如果以y=E(p1,x)表示加密函數(shù),以x=D(p2,y)表示解密函數(shù),其中p1、p2為密鑰,則本步驟中的加密可以表示為c=E(private_key,m)。
步驟104,USB-KEY設(shè)備將密文c發(fā)送給服務(wù)器。
步驟105,服務(wù)器接收到密文c后,利用自身的public_key對c解密,得到解密后的明文m′=D(public_key,c)。
步驟106,服務(wù)器比較m與m′是否相同,如果兩者相同,則表示認(rèn)證成功,否則認(rèn)證失敗。
步驟107,服務(wù)器向USB-KEY設(shè)備返回認(rèn)證成功或者失敗的結(jié)果。
采用非對稱式USB-KEY技術(shù)時,如果服務(wù)器上的數(shù)據(jù)庫泄漏導(dǎo)致服務(wù)器保存的公鑰泄漏,由于通過公鑰無法算出私鑰,因此他人也就無法復(fù)制出用戶的私鑰,從而在一定程度上保證了USB-KEY設(shè)備與服務(wù)器之間交互的安全。但是,另一方面,由于非對稱加密技術(shù)所采用的公鑰密碼算法(RSA)、橢圓曲線加密(ECC)等非對稱算法比較復(fù)雜,需要使用專用芯片才能及時完成運(yùn)算,而專用芯片的價格比較昂貴,這導(dǎo)致了非對稱式USB-KEY技術(shù)使用時的成本比較高,難于推廣應(yīng)用。
為了降低成本,業(yè)界提出了對稱式USB-KEY技術(shù)。下面參照圖2描述對稱式USB-KEY技術(shù)中USB-KEY設(shè)備與服務(wù)器的認(rèn)證交互流程。如圖2所示,該流程包括以下步驟步驟201,USB-KEY設(shè)備通過互聯(lián)網(wǎng)向服務(wù)器發(fā)起身份認(rèn)證的請求。
步驟202,服務(wù)器收到請求后,向USB-KEY設(shè)備發(fā)送挑戰(zhàn)m。挑戰(zhàn)m中可能包含時間、SESSION-ID和一些隨機(jī)數(shù)。
步驟203,USB-KEY設(shè)備利用自身保存的key,采用對稱加密算法對挑戰(zhàn)m加密,得到密文c,即c=E(key,m)。
步驟204,USB-KEY設(shè)備將密文c發(fā)送給服務(wù)器。
步驟205,服務(wù)器接收到密文c后,利用自身與USB-KEY設(shè)備相同的key對c解密,得到解密后的明文m′=D(key,c)。
步驟206,服務(wù)器比較m與m′是否相同,如果兩者相同,則表示認(rèn)證成功,否則認(rèn)證失敗。
步驟207,服務(wù)器向USB-KEY設(shè)備返回認(rèn)證成功或者失敗的結(jié)果。
與非對稱式USB-KEY技術(shù)相比,對稱式USB-KEY技術(shù)所采用的數(shù)字加密標(biāo)準(zhǔn)(DES)算法、微型加密算法(TEA)算法等對稱加密算法復(fù)雜度較低,可以采用普通的運(yùn)算器件來實現(xiàn),從而降低了成本。但是,由于USB-KEY設(shè)備中保存的密鑰與服務(wù)器上保存的密鑰一樣,一旦服務(wù)器上的密鑰泄露,那么他人就可以利用該密鑰冒充真正的用戶進(jìn)行網(wǎng)絡(luò)操作,大大降低了安全性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提出了一種認(rèn)證方法,用以在確保安全性的同時降低使用成本。本發(fā)明還提出了一種認(rèn)證系統(tǒng)。
根據(jù)上述目的,本發(fā)明提供了一種認(rèn)證方法,該方法包括服務(wù)器向客戶端發(fā)送挑戰(zhàn);客戶端利用散列函數(shù)從自身的第一密鑰變換得到第二密鑰,利用第二密鑰加密第一密鑰和挑戰(zhàn)得到密文,并將該密文發(fā)送給服務(wù)器;服務(wù)器利用自身的第二密鑰解密所述密文得到解密的第一密鑰和挑戰(zhàn),利用與客戶端所述散列函數(shù)相同的散列函數(shù)從解密的第一密鑰變換得到第二密鑰,并比較解密的挑戰(zhàn)與所發(fā)送的挑戰(zhàn)以及變換得到的第二密鑰與自身的第二密鑰是否相同。
該方法進(jìn)一步包括客戶端利用一般變換函數(shù)從自身的初始密鑰變換得到第一密鑰的步驟。
服務(wù)器向客戶端發(fā)送的挑戰(zhàn)包括時間、和/或SESSION-ID、和/或隨機(jī)數(shù)。所述客戶端利用第二密鑰加密第一密鑰和挑戰(zhàn)的步驟為利用第二密鑰加密時間、SESSION-ID和隨機(jī)數(shù)中的任意一個或它們的任意組合以及第一密鑰。
所述散列函數(shù)為MD5或者SHA1。
該方法中所述加密和解密采用DES算法或者TEA。
本發(fā)明還提供了一種認(rèn)證系統(tǒng),該系統(tǒng)包括服務(wù)器和客戶端,其中所述客戶端用于在收到服務(wù)器的挑戰(zhàn)之后,利用散列函數(shù)從自身的第一密鑰變換得到第二密鑰,利用第二密鑰加密第一密鑰和挑戰(zhàn)得到密文,并將該密文發(fā)送給服務(wù)器;所述服務(wù)器用于向客戶端發(fā)送挑戰(zhàn),以及在收到客戶端的密文之后,利用自身的第二密鑰解密密文得到解密的第一密鑰和挑戰(zhàn),利用與客戶端所述散列函數(shù)相同的散列函數(shù)從解密的第一密鑰變換得到第二密鑰,并比較解密的挑戰(zhàn)與所發(fā)送的挑戰(zhàn)以及變換得到的第二密鑰與自身的第二密鑰是否相同。
所述客戶端包括客戶端存儲單元、計算單元和客戶端接口單元,其中所述客戶端存儲單元用于存儲第一密鑰、散列函數(shù)以及加密函數(shù);所述計算單元用于在收到服務(wù)器的挑戰(zhàn)之后,利用散列函數(shù)從所述客戶端存儲單元中的第一密鑰變換得到第二密鑰,利用第二密鑰加密第一密鑰和挑戰(zhàn)得到密文,并通過客戶端接口單元將密文發(fā)送給服務(wù)器;所述接口單元用于接收所述挑戰(zhàn)并提供給所述計算單元,以及向所述服務(wù)器發(fā)送所述密文。
另一方面,所述客戶端包括客戶端存儲單元、計算單元和客戶端接口單元,其中所述客戶端存儲單元用于存儲初始密鑰、一般變換函數(shù)、散列函數(shù)以及加密函數(shù);所述計算單元用于在收到服務(wù)器的挑戰(zhàn)之后,利用一般變換函數(shù)從客戶端存儲單元中的初始密鑰轉(zhuǎn)換得到第一密鑰,利用散列函數(shù)從第一密鑰變換得到第二密鑰,利用第二密鑰和加密函數(shù)加密第一密鑰和挑戰(zhàn)得到密文,并通過客戶端接口單元將密文發(fā)送給服務(wù)器;所述客戶端接口單元用于接收所述挑戰(zhàn)并提供給所述計算單元,以及向服務(wù)器發(fā)送所述密文。
所述客戶端為USB密鑰設(shè)備。
所述服務(wù)器包括服務(wù)器存儲單元、驗證單元、服務(wù)器接口單元,其中所述服務(wù)器存儲單元用于存儲第二密鑰、散列函數(shù)以及解密函數(shù);所述驗證單元用于通過服務(wù)器接口單元向客戶端發(fā)送挑戰(zhàn),以及在接收到客戶端的密文之后,利用服務(wù)器存儲單元中的第二密鑰解密密文得到解密的第一密鑰和挑戰(zhàn),利用所述散列函數(shù)從解密的第一密鑰變換得到第二密鑰,并比較解密的挑戰(zhàn)與所發(fā)送的挑戰(zhàn)以及變換得到的第二密鑰與服務(wù)器存儲單元中的第二密鑰是否相同;所述服務(wù)器接口單元用于向客戶端發(fā)送所述挑戰(zhàn),以及接收所述密文并提供給所述驗證單元。
從上述方案中可以看出,如果服務(wù)器保存的第二密碼泄漏,他人得到了第二密碼,但是僅憑第二密碼而沒有初始密碼或第一密碼還無法完成在客戶端的加密,所以本發(fā)明實施例的方案可以做到即使服務(wù)器上的密鑰泄露也不會發(fā)生安全問題,從而確保了安全性。另一方面,客戶端要實現(xiàn)的算法為一般變換函數(shù)、散列函數(shù)以及對稱加密函數(shù)。由于這幾種算法都是很簡單的,完全可以在客戶端控制芯片自帶的微型片內(nèi)處理單元(MCU)中完成,不需要價格昂貴的專門芯片,所以本發(fā)明實施例的方案還大大降低了硬件成本。
圖1為現(xiàn)有技術(shù)中非對稱式USB-KEY技術(shù)中認(rèn)證交互的流程示意圖;圖2為現(xiàn)有技術(shù)中對稱式USB-KEY技術(shù)中認(rèn)證交互的流程示意圖;圖3為本發(fā)明實施例中認(rèn)證交互的流程示意圖;圖4為本發(fā)明實施例中認(rèn)證系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,以下舉實施例對本發(fā)明進(jìn)一步詳細(xì)說明。
在本發(fā)明實施例中,對于密鑰p0,采用一個一般變換函數(shù)y=F(x)對p0進(jìn)行變換得到p1=F(x),然后再采用一個單相散列函數(shù)y=H(x)對p1進(jìn)行變換得到p2=H(p1)。
其中,一般變換函數(shù)y=F(x)只需要保證對于一個x有且只有一個y與之對應(yīng),例如y=x、y=x3等。
單向散列函數(shù)y=H(x)的特點是,通過x可以得到y(tǒng),但通過y卻無法還原出x。例如,目前通用的報文摘要算法(MD5)、安全散列算法(SHA1)等。對于單相散列函數(shù)來說,由兩個不同的x生成相同的y的情況叫做“碰撞”,由于實際應(yīng)用中碰撞的概率非常小,可以忽略不計。因此,在實際應(yīng)用中,可以簡單地認(rèn)為只要x不同,y也會不同。
在本發(fā)明實施例中,在客戶端保存有密鑰p0、一般變換函數(shù)、散列函數(shù)、對稱加密函數(shù)等,在服務(wù)器保存有密鑰p2、散列函數(shù)、對稱解密函數(shù)等,客戶端和服務(wù)器可以預(yù)先確定p0、一般變換函數(shù)、散列函數(shù)、p2、加密以及解密函數(shù)等。
圖3是本發(fā)明實施例的流程示意圖。參照圖3,本發(fā)明實施例的流程包括以下步驟步驟301,客戶端通過互聯(lián)網(wǎng)向服務(wù)器發(fā)起身份認(rèn)證的請求。
步驟302,服務(wù)器收到請求后,向客戶端發(fā)送挑戰(zhàn)m,并記錄挑戰(zhàn)m。挑戰(zhàn)m中可能包含時間、SESSION-ID和一些隨機(jī)數(shù)。
步驟303,客戶端利用自身保存的p0利用一般函數(shù)y=F(x)變換得到p1=F(p0),再利用散列函數(shù)y=H(x)變換得到p2=H(p1)。
步驟304,客戶端利用p2作為密鑰采用對稱加密算法加密m和p1,得到密文c=E(p2,(p1,m))。
步驟305,客戶端將密文c發(fā)送給服務(wù)器。
步驟306,服務(wù)器接收到密文c后,利用自身保存的密鑰p2采用對稱解密算法對c解密,得到解密后的p1′和m ′,即(p1′,m′)=D(p2,c)。
步驟307,服務(wù)器比較m′和m是否相同,以及利用散列函數(shù)對p′進(jìn)行計算得到p2′,即計算p2′=H(p1′),并比較p2′與p2是否相同。
如果m′和m相同并且p2′與p2相同,則認(rèn)證成功,否則認(rèn)證失敗。
步驟308,服務(wù)器向客戶端返回認(rèn)證成功或者失敗的結(jié)果。
進(jìn)一步,在客戶端也可以預(yù)先保存有p1,而不是保存p0并通過一般變換函數(shù)計算得到p1,那么在上述流程中就可以省略從p0到p1的變換,從而可以降低計算量。
根據(jù)本發(fā)明實施例的上述方案,如果服務(wù)器保存的p2泄漏,他人得到了p2,但是僅憑p2而沒有p0、p1還是無法完成在客戶端的加密,所以本發(fā)明實施例的方案可以做到即使服務(wù)器上的密鑰泄露也不會發(fā)生安全問題,從而確保了安全性。
另一方面,客戶端要實現(xiàn)的算法為變換函數(shù)F、散列函數(shù)H以及對稱加密函數(shù)E。由于這幾種算法都是很簡單的,完全可以在USB控制芯片自帶MCU中完成,不需要價格昂貴的專門芯片,所以本發(fā)明實施例的方案還大大降低了硬件成本。
圖4是本發(fā)明實施例中認(rèn)證系統(tǒng)的結(jié)構(gòu)示意圖。
如圖4所示,本發(fā)明實施例的認(rèn)證系統(tǒng)包括服務(wù)器和客戶端。其中,客戶端用于向服務(wù)器發(fā)起認(rèn)證請求,然后在收到服務(wù)器的挑戰(zhàn)m之后,利用單向散列函數(shù)y=H(x)從自身保存的p1變換得到p2,利用p2加密p1和挑戰(zhàn)m得到密文c,并將密文c發(fā)送給服務(wù)器;服務(wù)器用于在收到認(rèn)證請求后向客戶端發(fā)送挑戰(zhàn)m,以及在收到客戶端的密文c之后,利用自身保存的p2解密密文c得到解密的p1′和挑戰(zhàn)m′,利用散列函數(shù)從解密的p1′變換得到p2′,并比較解密的挑戰(zhàn)m′與所發(fā)送的挑戰(zhàn)m以及變換得到的p2′與自身的p2是否相同。
繼續(xù)參考圖4,客戶端包括客戶端存儲單元、計算單元和客戶端接口單元。其中,客戶端存儲單元用于存儲p1、散列函數(shù)以及加密函數(shù)。計算單元用于在收到服務(wù)器的挑戰(zhàn)m之后,利用散列函數(shù)從客戶端存儲單元中的p1變換得到p2,利用p2加密p1和挑戰(zhàn)m得到密文c,并通過客戶端接口單元將密文c發(fā)送給服務(wù)器??蛻舳私涌趩卧糜诮邮仗魬?zhàn)m并將該挑戰(zhàn)m提供給計算單元,以及用于向服務(wù)器發(fā)送密文c。
另一方面,客戶端存儲單元用于存儲p0、一般變換函數(shù)、散列函數(shù)以及加密函數(shù)。計算單元用于在收到服務(wù)器的挑戰(zhàn)m之后,利用一般變換函數(shù)從客戶端存儲單元中的p0轉(zhuǎn)換得到p1,利用散列函數(shù)從p1變換得到p2,利用p2和加密函數(shù)加密p1和挑戰(zhàn)m得到密文c,并通過客戶端接口單元將密文c發(fā)送給服務(wù)器。接口單元用于接收挑戰(zhàn)m,并將該挑戰(zhàn)m提供給計算單元,以及用于向服務(wù)器發(fā)送密文c。
上述的客戶端為USB-KEY設(shè)備,也可以其它形式的設(shè)備,例如計算機(jī)、移動終端、藍(lán)牙設(shè)備等等。
繼續(xù)參照圖4,服務(wù)器包括服務(wù)器存儲單元、驗證單元、服務(wù)器接口單元。其中,服務(wù)器存儲單元用于存儲p2、散列函數(shù)以及解密函數(shù)。驗證單元用于通過服務(wù)器接口單元向客戶端發(fā)送挑戰(zhàn)m,以及在接收到客戶端的密文c之后,利用服務(wù)器存儲單元中的p2解密密文c得到解密的p1和挑戰(zhàn)m,利用散列函數(shù)從解密的p1變換得到p2,并比較解密的挑戰(zhàn)m與所發(fā)送的挑戰(zhàn)m以及變換得到的p2與服務(wù)器存儲單元中的p2是否相同;如果相同則說明認(rèn)證通過,否則沒有通過,驗證單元還可以進(jìn)一步通過服務(wù)器接口單元將認(rèn)證結(jié)果發(fā)送給客戶端。服務(wù)器接口單元用于接收接收來自客戶端的密文,并將該密文提供給驗證單元,以及用于向客戶端發(fā)送挑戰(zhàn)m。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種認(rèn)證方法,其特征在于,該方法包括服務(wù)器向客戶端發(fā)送挑戰(zhàn);客戶端利用散列函數(shù)從自身的第一密鑰變換得到第二密鑰,利用第二密鑰加密第一密鑰和挑戰(zhàn)得到密文,并將該密文發(fā)送給服務(wù)器;服務(wù)器利用自身的第二密鑰解密所述密文得到解密的第一密鑰和挑戰(zhàn),利用與客戶端所述散列函數(shù)相同的散列函數(shù)從解密的第一密鑰變換得到第二密鑰,并比較解密的挑戰(zhàn)與所發(fā)送的挑戰(zhàn)以及變換得到的第二密鑰與自身的第二密鑰是否相同。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括客戶端利用一般變換函數(shù)從自身的初始密鑰變換得到第一密鑰的步驟。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,服務(wù)器向客戶端發(fā)送的挑戰(zhàn)包括時間、和/或會話標(biāo)識SESSION-ID、和/或隨機(jī)數(shù);所述客戶端利用第二密鑰加密第一密鑰和挑戰(zhàn)的步驟為利用第二密鑰加密時間、SESSION-ID和隨機(jī)數(shù)中的任意一個或它們的任意組合以及第一密鑰。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述散列函數(shù)為報文摘要算法MD5或者安全散列算法SHA1。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法中所述加密和解密采用數(shù)字加密標(biāo)準(zhǔn)DES算法或者微型加密算法TEA。
6.一種認(rèn)證系統(tǒng),其特征在于,該系統(tǒng)包括服務(wù)器和客戶端,其中所述客戶端用于在收到服務(wù)器的挑戰(zhàn)之后,利用散列函數(shù)從自身的第一密鑰變換得到第二密鑰,利用第二密鑰加密第一密鑰和挑戰(zhàn)得到密文,并將該密文發(fā)送給服務(wù)器;所述服務(wù)器用于向客戶端發(fā)送挑戰(zhàn),以及在收到客戶端的密文之后,利用自身的第二密鑰解密密文得到解密的第一密鑰和挑戰(zhàn),利用與客戶端所述散列函數(shù)相同的散列函數(shù)從解密的第一密鑰變換得到第二密鑰,并比較解密的挑戰(zhàn)與所發(fā)送的挑戰(zhàn)以及變換得到的第二密鑰與自身的第二密鑰是否相同。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述客戶端包括客戶端存儲單元、計算單元和客戶端接口單元,其中所述客戶端存儲單元用于存儲第一密鑰、散列函數(shù)以及加密函數(shù);所述計算單元用于在收到服務(wù)器的挑戰(zhàn)之后,利用散列函數(shù)從所述客戶端存儲單元中的第一密鑰變換得到第二密鑰,利用第二密鑰加密第一密鑰和挑戰(zhàn)得到密文,并通過客戶端接口單元將密文發(fā)送給服務(wù)器;所述客戶端接口單元用于接收所述挑戰(zhàn)并提供給所述計算單元,以及向所述服務(wù)器發(fā)送所述密文。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述客戶端包括客戶端存儲單元、計算單元和客戶端接口單元,其中所述客戶端存儲單元用于存儲初始密鑰、一般變換函數(shù)、散列函數(shù)以及加密函數(shù);所述計算單元用于在收到服務(wù)器的挑戰(zhàn)之后,利用一般變換函數(shù)從客戶端存儲單元中的初始密鑰轉(zhuǎn)換得到第一密鑰,利用散列函數(shù)從第一密鑰變換得到第二密鑰,利用第二密鑰和加密函數(shù)加密第一密鑰和挑戰(zhàn)得到密文,并通過客戶端接口單元將密文發(fā)送給服務(wù)器;所述客戶端接口單元用于接收所述挑戰(zhàn)并提供給所述計算單元,以及向服務(wù)器發(fā)送所述密文。
9.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述客戶端為USB密鑰設(shè)備。
10.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述服務(wù)器包括服務(wù)器存儲單元、驗證單元、服務(wù)器接口單元,其中所述服務(wù)器存儲單元用于存儲第二密鑰、散列函數(shù)以及解密函數(shù);所述驗證單元用于通過服務(wù)器接口單元向客戶端發(fā)送挑戰(zhàn),以及在接收到客戶端的密文之后,利用服務(wù)器存儲單元中的第二密鑰解密密文得到解密的第一密鑰和挑戰(zhàn),利用所述散列函數(shù)從解密的第一密鑰變換得到第二密鑰,并比較解密的挑戰(zhàn)與所發(fā)送的挑戰(zhàn)以及變換得到的第二密鑰與服務(wù)器存儲單元中的第二密鑰是否相同;所述服務(wù)器接口單元用于向客戶端發(fā)送所述挑戰(zhàn),以及接收所述密文并提供給所述驗證單元。
全文摘要
本發(fā)明公開了一種認(rèn)證方法,該方法包括服務(wù)器向客戶端發(fā)送挑戰(zhàn);客戶端利用散列函數(shù)從自身的第一密鑰變換得到第二密鑰,利用第二密鑰加密第一密鑰和挑戰(zhàn)得到密文,并將該密文發(fā)送給服務(wù)器;服務(wù)器利用自身的第二密鑰解密密文得到解密的第一密鑰和挑戰(zhàn),利用與客戶端所述散列函數(shù)相同的散列函數(shù)從解密的第一密鑰變換得到第二密鑰,并比較解密的挑戰(zhàn)與所發(fā)送的挑戰(zhàn)以及變換得到的第二密鑰與自身的第二密鑰是否相同。本發(fā)明還提供了一種認(rèn)證系統(tǒng),該系統(tǒng)包括服務(wù)器和客戶端。本發(fā)明可以做到即使服務(wù)器上的密鑰泄露也不會發(fā)生安全問題,從而確保了安全性。本發(fā)明還大大降低了硬件成本。
文檔編號H04L9/32GK101075874SQ200710109500
公開日2007年11月21日 申請日期2007年6月28日 優(yōu)先權(quán)日2007年6月28日
發(fā)明者盧山 申請人:騰訊科技(深圳)有限公司