阻斷服務(DDoS)攻擊。 [0044] 此外,根據本發(fā)明的實施例,可將終端的認證及會話密鑰的生成所需的通信次數(shù) 最少可由兩通道(pass)構成,由此可最小化認證過程中的通信量負荷。
【附圖說明】
[0045] 圖1是用于說明根據本發(fā)明的一個實施例的基于認證信息的認證系統(tǒng)100的框 圖。
[0046] 圖2是用于說明根據本發(fā)明的一個實施例的基于認證信息的認證算法200的整個 步驟的流程圖。
[0047] 圖3是用于詳細說明根據本發(fā)明的一個實施例的基于認證信息的認證算法200的 認證及密鑰交換過程206的流程圖。
[0048] 符號說明:
[0049] 100 :基于用戶認證信息的密鑰交換系統(tǒng)
[0050] 102 :終端
[0051] 104:服務器
[0052] 106 :密鑰分發(fā)裝置
【具體實施方式】
[0053] 以下,將參照附圖對本發(fā)明的【具體實施方式】進行描述。然而,這只不過是示例,并 且本發(fā)明不限于此。
[0054] 在對本發(fā)明進行描述時,在對與本發(fā)明相關聯(lián)的公知技術的具體描述被認為有可 能會使本發(fā)明的主旨不清楚的情況下,省略其詳細描述。并且,后述的術語作為考慮本發(fā)明 中的功能而定義的術語,可根據使用者、運用者的意圖或者慣例等而不同。因此,其定義應 基于貫穿整個本說明書的內容而做出。
[0055] 本發(fā)明的技術構思由權利要求書確定,并且以下的實施例只是用于高效地將本發(fā) 明的技術思想解釋給本發(fā)明所屬的技術領域中具有普通的知識的技術人員的一種方式而 已。
[0056] 圖1是用于說明根據本發(fā)明的一個實施例的基于認證信息的認證系統(tǒng)100的框 圖。如圖所示,根據本發(fā)明的一個實施例的基于認證信息的認證系統(tǒng)1〇〇包括終端102、服 務器104及密鑰分發(fā)裝置106。
[0057] 終端102選擇終端側隨機數(shù)(x),并利用所述終端側隨機數(shù)(x)及服務器104的 ID (身份標識號碼)(IDs)來生成與終端102用戶的認證信息對應的基于ID的密文(X,W)。 本發(fā)明的實施例中,服務器104的ID(IDs)作為為了在網絡上識別服務器104而被賦予的 信息,例如可以是服務器104的MAC地址或者IP地址等。此外,終端102用戶的認證信息 可包括用戶的密碼、指紋信息等認證所述用戶所需的所有種類的信息。
[0058] 如果生成所述基于ID的密文(X,W),則終端102將所述基于ID的密文(X,W)發(fā)送 至服務器104以請求認證。
[0059] 終端104存儲及管理終端102用戶的認證信息。此時,所述認證信息可包括所述 用戶的密碼、指紋信息等認證所述用戶所需的所有信息。在一個實施例中,所述終端102用 戶可設定自己的ID (IDc)及密碼(pw)并將其注冊到服務器104。此時,雖然終端102的用 戶可直接注冊所述密碼(pw),但是為了提高安全性,可代替所述密碼(pw)而注冊所述密碼 的單向哈希值(H(pw))或者利用專門的硬件安全模塊(HSM)來計算出的消息認證碼(MAC: message authentication code)值(MACk(pw))。以下的說明中,為了便利性將所述認證信 息假設為密碼的單向哈希值(H(pw))。
[0060] 服務器104利用與所述服務器ID (IDs)對應的服務器側私鑰(Ks)來對從所述終 端接收的所述基于ID的密文(X,W)進行解密以恢復所述認證信息,并且將恢復的所述認證 信息與由用戶已登記到服務器104的認證信息進行比較以認證終端102。即,服務器104可 通過從終端102接收到的基于ID的密文(X,W)所包含的終端102的認證信息來直接認證 終端。此外,由于所述基于ID的密文(X,W)的解密只可以在服務器104進行,因此在所述 認證過程中終端102還會隱式認證(implicit authentication)服務器104。
[0061] 在終端102的認證中獲得成功時,服務器104生成用于與認證的終端102進行通 信的會話密鑰(sk)。此外,在此過程中,服務器104選擇服務器側隨機數(shù)(y)并將通過它來 生成的第二會話密鑰元素(Y)發(fā)送至終端102,并且接收該第二會話密鑰元素(Y)的終端 102利用所述第二會話密鑰元素(Y)及在認證過程中使用的信息來生成與服務器104相同 的會話密鑰(sk)。
[0062] 密鑰分發(fā)裝置(私鑰產生器(Private Key Generator)) 106從服務器104接收服 務器104的ID (IDs),并且分發(fā)與所述ID (IDs)對應的服務器側私鑰(Ks)。所存儲的所述 服務器側私鑰(Ks)用于在之后的認證過程中對從終端102接收到的基于ID的密文(X,W) 進行解密。
[0063] 在一個實施例中,密鑰分發(fā)裝置106可基于與已設定的系統(tǒng)參數(shù)和自己的主密鑰 以及陷講門離散對數(shù)(Trapdoor discrete logarithm)群有關的預先計算數(shù)據來計算與所 述服務器ID (IDs)對應的服務器側私鑰(Ks)。對于具體的服務器側私鑰(Ks)生成方法將 在后面進行描述。
[0064] 以下,對具有上述構成的基于認證信息的認證系統(tǒng)100中的具體認證方法進行 說明。如圖2所示,根據本發(fā)明的實施例的基于認證信息的認證方法200可被劃分為如 下三個步驟:設置(Setup)202、服務器側私鑰分發(fā)(Key extract)204及密鑰交換(Key Exchange)206。其中,在設置步驟202中,定義整個系統(tǒng)的構成要素,在服務器側私鑰分 發(fā)步驟204中,根據服務器104的請求,由密鑰分發(fā)裝置106基于主密鑰而生成與服務器 ID (IDs)對應的服務器側私鑰(Ks)。在密鑰交換步驟206中,執(zhí)行終端102及服務器104 之間的認證并由此生成會話密鑰(sk)。
[0065] 設置 202
[0066] 本發(fā)明的實施例中,設置步驟是對用于終端102和服務器104之間的認證及密鑰 交換的參數(shù)及主密鑰進行定義的步驟。
[0067] 首先,通過分別滿足p三3(mod 4)、q三3(mod 4)并且作為B平滑(B smooth)的 大小差不多的兩個大素數(shù)P、q來計算N = pq。此時,p和q是滿足與給定的安全性參數(shù)有 關的安全強度(security level)并且密碼學角度上安全的素數(shù)。安全性參數(shù)是指用來確定 針對加密算法的基本攻擊的時間和費用的算法的要素。此時,基本攻擊是指直到發(fā)現(xiàn)滿足 給定的數(shù)據(明文和密文)的密鑰為止檢索所有可能的候選密鑰的窮舉搜索(Exhaustive Search)方式的攻擊。由于窮舉搜索所需的時間依賴于可能的密鑰的數(shù)量,而密鑰的數(shù)量根 據密鑰的長度來確定,因此在此情況下安全性參數(shù)是指密鑰的長度。此外,B值可根據所述 安全強度而被適當?shù)卦O定。
[0068] 接下來,定義哈希函數(shù)H及隨機哈希函數(shù)h。將有限的群ZN = {0, 1,2, . . .,N-1} 的最大循環(huán)子群(maximal cyclic subgroup)的生成元(generator)表示為_gQ.現(xiàn)在,將由 生成元g = g2生成的循環(huán)子群定義為G,由此哈希函數(shù)H被定義為如數(shù)學式1所示。
[0069] [數(shù)學式1]
[0070] H:{0,1}*_>G
[0071] (其中,{〇, 1}$是由0和1組成的任意的有限的位串(bit string))
[0072] 即,所述哈希函數(shù)H被定義為在將給定的ID作為輸入值時使得該輸出值成為群G 的元素。例如,在存在如下的隨機哈希函數(shù)h' : {0, l:T->Zn時,哈希函數(shù)H可被定義為如數(shù) 學式2所示。
[0073] [數(shù)學式2]
[0074] H(ID) = h,(ID)2
[0075] 此外,哈希函數(shù)h被定義為如數(shù)學式3所示。
[0076] [數(shù)學式3]
[0077] h: {0, 1} *_>{0, l}n
[0078](其中,{0, l}n是指由0或者1中的任意比特構成的n比特的字符串)
[0079] 作為所述隨機哈希函數(shù)例如可使用SHA1、SHA-256、SHA-512等,但是本發(fā)明不限 于特定的函數(shù)。
[0080] 通過如上所述的過程導出的系統(tǒng)參數(shù)(param)及主密鑰(mk)如下。
[0081] param = {N, G, g, H, h}
[0082] mk = (p, q)
[0083] 服備器側私鑰分發(fā)204
[0084] 本步驟是密鑰分發(fā)裝置106基于從服務器104接收到的服務器ID (IDs)來分發(fā)服 務器側私鑰(Ks)的步驟。密鑰分發(fā)裝置106基于與所述系統(tǒng)參數(shù)(param)及主密鑰(mk) 以及陷阱門離散對數(shù)CTDL)群有關的預先計算數(shù)據