身份與口令相融合的郵件系統雙向身份認證方法
2023-08-13 12:24:41 1
專利名稱:身份與口令相融合的郵件系統雙向身份認證方法
技術領域:
本發明涉及計算機網絡安全技術領域,特別涉及一種需要高度保密的郵件系統下的身份認證方法,尤指一種身份與口令相融合的郵件系統雙向身份認證方法。
背景技術:
電子郵件的廣泛應用,涉及到國家經濟、軍事、政治的方方面面,對國家網絡安全有極其深刻的影響。然而目前廣泛應用的電子郵件系統中,多數都缺少完整的安全機制,例如在用戶登錄電子郵箱時僅使用用戶口令的散列值向郵件伺服器進行認證,而對於固定的口令,其對應的散列值是固定的,如果有攻擊者希望獲得該用戶的口令,只需使用簡單的離線字典攻擊即可。基於口令的密碼系統在公鑰密碼誕生之前一直是進行身份驗證的主流技術,著名的Knight以及Kerberos等早期系統都使用口令進行用戶身份認證,這種技術簡單易理解,應用非常方便,在大多數的電子郵件系統中廣為使用。但也正是這種簡單性的特點使得攻擊者通過字典攻擊破解用戶密碼後可以冒充該用戶。同時現有的安全郵件系統由於其認證是逐級進行的,而多級之間的認證以及可能存在的交叉認證,使得當這類安全電子郵件系統規模擴大到一定程度之後管理開銷過於龐大,無法大規模應用。而有一些電子由P件系統如 PGP(Pretty Good Privacy)、S/MIME(Secure/Multipurpose Internet Mail Extensions)等考慮到電子郵件的安全問題,使用了某些安全機制,例如使用散列算法對郵件內容進行籤名、加密後作為特殊的附件傳送,使用公鑰和私鑰技術將發信人與收信人的公鑰公開並由權威的第三方進行籤名認證。所有下一級的組織和個人的認證證書由上一級的組織負責認證,最上一級的組織之間相互認證,使整個郵件系統形成一個樹狀的信任關係鏈。雖然這類系統可以達到保障郵件安全的目的,但由於脫離了口令機制,用戶使用不方便,需要重新熟悉使用方法。且由於認證是逐級進行的,多級之間的認證,以及可能存在的交叉認證,使得當這類安全電子郵件系統規模擴大到一定程度之後管理開銷過於龐大, 不利於大規模應用。而且在這類系統中,各個郵件伺服器之間的認證關係不平等,任何國家和組織不會放心的將認證的權力交由其他國家或組織。另外,在密文傳輸時,這類系統主要使用國外的商用對稱密鑰加密算法如AES等,而未使用我國已有的商密標準SMS4。所以這類安全電子郵件系統在我國一直沒有得到廣泛應用。現有的基於動態口令和數字證書的雙向身份認證方法,需要保存上一次的認證數據並且在認證過程中還需要傳輸證書鏈,佔據傳輸帶寬。
發明內容
本發明的目的在於提供一種身份與口令相融合的郵件系統雙向身份認證方法,克服現有的電子郵件系統中的身份認證缺陷,把雙向認證技術融入其中,使得伺服器本身不能得到用戶的口令和私鑰,並達到用戶與伺服器的雙向身份認證。從而郵件接收者與郵件伺服器、公鑰體系密鑰生成器之間擁有平等的信任關係,而不再是層次信任關係。本發明的上述目的通過以下技術方案實現
身份與口令相融合的郵件系統雙向身份認證方法,是將雙向認證技術融入現有的郵件系統中,使得伺服器本身不能得到用戶的口令,並達到用戶與伺服器的雙向身份認證, 其具體步驟如下1.伺服器初始化系統參數T = (p,a, b,g,Ppub,q,h,H,I,H1, I1),參數選取過程如下1. 1選取一個素數有限域Fp,選取域元素a,b e Fp滿足方程 E:y2 = x3+a · x+b(modp),其中 4 · a3+27 · b2 Φ 0 (mod ρ);1.2在曲線E (Fp)上選取一個基點g= (xg,yg),並計算g點的階q,h = #E (Fp)/q; 這些參數滿足如下條件#E(Fp)乒ρ ;pB乒1 (mod q),其中1彡B < 20 ;h彡4 ;p,q還必須滿足 ρ = 2 mod 3 並且 ρ = 6q-l ;1. 3生成一個隨機數s即為系統的主密鑰,並計算Ppub = s · g ;1.4 選擇四個哈希函數好^{0,1}", I {0,1}*-Fp, H1: {0,1}ηΧ {0,l}n-Fq, 11:{0,1}η— {0,1}η;2.選定伺服器標識IDs,生成伺服器標識IDs對應的私鑰ds,其步驟如下2. 1將IDs映射到橢圓曲線E (Fp)上的點Qs ;2. 2 計算私鑰ds = s · Qs ;3.用戶在郵件伺服器註冊,由用戶選定用戶的身份標識IDu以及用戶口令pwd ;由伺服器驗證用戶身份標識IDu的唯一性;伺服器端存儲用戶口令的Hash值h (pwd),h表示 Hash算法;並發放該用戶的私鑰dv,該私鑰Clu由伺服器生成;4用戶使用郵件伺服器的標識IDs對如下信息進行加密然後發送給郵件伺服器 一 xll/ll/你;其中I I表示連接,@表示異或,pwd表示用戶口令,h表示Hash算法,
g表示一個基礎點,Χ為一個隨機數,gx表示g的χ次方,IDu代表用戶U的標識;5.伺服器收到加密的信息後,首先用自己的私鑰ds進行解密,獲得消息
,然後根據資料庫中用戶IDu的密碼哈希值h(pwd)與/進行異或,獲得X,計算gx,並與收到的信息進行比對以確認用戶IDu的密碼pwd的正確性來驗證用戶身份;最後,郵件伺服器選擇一個一次性動態口令y,用該用戶的身份IDu加密消息M = x| Iy 並發送給該用戶;6.用戶解密x| Iy,並與他發送的χ進行對比,驗證伺服器身份。所述的步驟3中的用戶私鑰Clu由伺服器生成的步驟如下將IDu映射到橢圓曲線E (Fp)上的點Qu,即步驟(1.4)中的函數H1;計算私鑰=Clu= s · Quo所述的步驟4中的用戶使用郵件伺服器的標識IDs對信息進行加密的步驟如下將伺服器標識IDs映射到橢圓曲線E (Fp)上的一個q階的點Qs ;選擇一個隨機串σ,設置r = H1 ( ο,Μ),其中M為上述的消息 Af=/2(^0 十 x||gx|| TQ7;計算密文C =〈,Λσ十孖(&XM十/丨⑷〉;其中知=C(QsPpub) GFp2, e為一個weil 配對的雙線性映射函數。所述的步驟5中的郵件伺服器選擇一個一次性動態口令y,用該用戶的身份IDu加密消息M = x| |y並發送給該用戶的加密步驟如下將用戶的身份標識IDu映射到橢圓曲線E (Fp)上的一個q階的點% ;選擇一個隨機串。,設置r = H1 ( ο,M),其中M為上述的消息M = χ | | y ;計算密文C= (rP, σ 十 H(gr1D ),M 十 /丨(σ)),其中gID = e(Qv Ppub) e 弋2,e 為一個 we i 1 配對的雙線性映射函數。本發明與現有的郵件系統中的身份認證方法相比,本發明的優點和積極效果如下1.在用戶口令的傳輸中,採用_d) x的形式傳輸,儘管用戶的口令信息在伺服器資料庫中以Hash值的形式存在,但是在傳輸中卻是以用戶口令Hash值的變體,即通過與用戶選取的一個隨機數進行異或獲得,使得攻擊者無法通過字典攻擊等手段破譯用戶密碼。2.通過實現伺服器與用戶的雙向認證來確保在伺服器域名被劫持導致郵件伺服器被替換的情況下,用戶能夠識別假伺服器;也可使伺服器確認用戶身份並與用戶交換初始信息。
具體實施例方式下面進一步說明本發明的詳細內容及其具體實施方式
。本發明的身份與口令相融合的郵件系統雙向身份認證方法,是將雙向認證技術融入現有的郵件系統中,使得伺服器本身不能得到用戶的口令,並達到用戶與伺服器的雙向身份認證,其具體步驟如下1.伺服器初始化系統參數T = (p,a, b,g,Ppub,q,h,H,I,H1, I1),參數選取過程如下1. 1選取一個素數有限域Fp,選取域元素a,b e Fp滿足方程E y2三x3+a -x+b (mod P),其中 4 · a3+27 · b2 興 0 (mod ρ);1.2在曲線E (Fp)上選取一個基點g= (xg,yg),並計算g點的階q,h = #E (Fp)/q; 這些參數滿足如下條件#Εφρ)乒ρ ;ρΒ乒1 (mod q),其中1彡B < 20 ;h彡4 ;p,q還必須滿足 P = 2mod3 並且 ρ = 6q-l ;1. 3生成一個隨機數s即為系統的主密鑰,並計算Ppub = s · g ;1.4 選擇四個哈希函數好^{0,1}", I {0,1}*-Fp, H1: {0,1}ηΧ {0,l}n-Fq, 11:{0,1}η— {0,1}η;2.選定伺服器標識IDs,生成伺服器標識IDs對應的私鑰ds,其步驟如下2. 1將IDs映射到橢圓曲線E(Fp)上的點Qs,即1. 4中的函數H1 ;2. 2 計算私鑰ds = s · Qs ;3.用戶在郵件伺服器註冊,由用戶選定用戶的身份標識IDu以及用戶口令pwd ;由伺服器驗證用戶身份標識IDu的唯一性;伺服器端存儲用戶口令的Hash值h (pwd),h表示 Hash算法;並發放該用戶的私鑰ds,該私鑰ds由伺服器生成;具體生成步驟如下3. 1將IDu映射到橢圓曲線E(Fp)上的點Qu,即步驟1. 4中的函數H1 ;3. 2 計算私鑰=Clu = s · Quo
4.用戶使用郵件伺服器的標識IDs對如下信息進行加密然後發送給郵件伺服器 一 xll/ll/你;其中I I表示連接,@表示異或,pwd表示用戶口令,h表示Hash算法,
如SHA-256,MD2,MD4,MD5……,g表示一個基礎點,χ為一個隨機數,gx表示g的χ次方,IDu 代表用戶U的標識,加密步驟如下4. 1如步驟2. 1,將伺服器標識IDs映射到橢圓曲線E(Fp)上的一個q階的點Qs ;4.2選擇一個隨機串σ,設置r = H1O,M),其中M即為上述描述的消息 Af=/2(^0 十 x||gx|| TQ7;4. 3計算密文匸一叱口十孖^^,似十/加力,其中知=e(QsPpjGFp2,e為一個 weil配對的雙線性映射函數。5.伺服器收到加密的信息後,首先用自己的私鑰ds進行解密,獲得消息
,然後根據資料庫中用戶IDu的密碼哈希值h(pwd)與/進行異或,獲得X,計算gx,並與收到的信息進行比對以確認用戶IDu的密碼pwd的正確性來驗證用戶身份;為標記更加清楚,設密文形式為匸—叱口十孖^^,似十/如;^滬義巧,解密步驟如下5. 1 計算 Γ 十孖( /)) = σ;5. 2 計算爐十 (σ) = M ;SJr = H1O,Μ),驗證U與rP是否相等;如果不相等,則解密失敗並退出;否則輸出步驟5. 2中的明文M。若通過計算得出的gx與獲得消息中的gx相等,則說明伺服器對用戶的身份驗證成功;最後,郵件伺服器選擇一個一次性動態口令y,用該用戶的身份IDu加密消息M = χ I I y並發送給該用戶,加密步驟如下類似步驟2. 1,將用戶的身份標識IDu映射到橢圓曲線E (Fp)上的一個q階的點% ;選擇一個隨機串。,設置r = H1 ( ο,M),其中M即為上述描述的消息M = χ | | y ;計算密文C= (rP, σ 十 H(gr1D ),M 十 /丨(σ)),其中gID = e(Qv Ppub) e 弋2,e 為一個 we i 1 配對的雙線性映射函數;6.用戶解密χ I I y,並與他發送的χ進行對比,驗證伺服器身份。即用戶用自己的私鑰Clu解密獲得消息M = χ I I y,並與他發送的χ進行對比,驗證伺服器身份,並且在以後的消息交互中將消息y發送至伺服器,可進行伺服器對用戶身份的二次驗證;為標記清楚,設加密算法型式為匸—叱口十孖^^,似十/如力—^/義巧,解密步驟如下6. 1 計算 ΓΘ 孖 式,「;^口;6. 2 計算爐十Α(σ)=Μ ;6. 3r = H1O,M),驗證U與rP是否相等;如果不相等,則解密失敗並退出;否則輸出步驟6. 2中的明文M。
權利要求
1.一種身份與口令相融合的郵件系統雙向身份認證方法,是將雙向認證技術融入現有的郵件系統中,使得伺服器本身不能得到用戶的口令,並達到用戶與伺服器的雙向身份認證,其具體步驟如下(1)伺服器初始化系統參數T=( , 13,8,?_4,11,!1,1,!11,11),參數選取過程如下 (1. 1)選取一個素數有限域Fp,選取域元素a,b e Fp滿足方程E:y2 = x3+a · x+b(modp),其中 4 · a3+27 · b2 Φ 0 (modp);(1.2)在曲線E (Fp)上選取一個基點g= (Xg,yg),並計算g點的階q,h = #E(Fp)/q;這些參數滿足如下條件#E(Fp)乒ρ ;pB乒1 (mod q),其中1彡B < 20 ;h彡4 ;p,q還必須滿足 ρ = 2mod3 並且 ρ = 6q_l ;(1. 3)生成一個隨機數^<,s即為系統的主密鑰,並計算p_ = s.g; (1. 4)選擇四個哈希函數醜'-Fp2 -^{0,1}",I {0,1}* — Fp, H1: {0,1}ηΧ {0,1}η — Fq, 11:{0,1}η— {0,1}η;(2)選定伺服器標識IDs,生成伺服器標識IDs對應的私鑰ds,其步驟如下 (2. 1)將IDs映射到橢圓曲線E(Fp)上的點Qs ;(2. 2)計算私鑰:ds = s · Qs ;(3)用戶在郵件伺服器註冊,由用戶選定用戶的身份標識IDu以及用戶口令pwd;由伺服器驗證用戶身份標識IDu的唯一性;伺服器端存儲用戶口令的Hash值h(pwd),h表示 Hash算法;並發放該用戶的私鑰Clu,該私鑰Clu由伺服器生成;(4)用戶使用郵件伺服器的標識IDs對如下信息進行加密然後發送給郵件伺服器 一 xll/11/你;其中I I表示連接,@表示異或,pwd表示用戶口令,h表示Hash算法,g表示一個基礎點,χ為一個隨機數,gx表示g的χ次方,IDu代表用戶U的標識;(5)伺服器收到加密的信息後,首先用自己的私_ds進行解密,獲得消息 ,然後根據資料庫中用戶IDu的密碼哈希值h (pwd)與/進行異或,獲得X,計算gx,並與收到的信息進行比對以確認用戶IDu的密碼pwd的正確性來驗證用戶身份;最後,郵件伺服器選擇一個一次性動態口令y,用該用戶的身份IDu加密消息M = x| |y 並發送給該用戶;(6)用戶解密χI I y,並與他發送的χ進行對比,驗證伺服器身份。
2.根據權利要求1所述的身份與口令相融合的郵件系統雙向身份認證方法,其特徵在於所述的步驟(3)中的私鑰Clu由伺服器生成的步驟如下將IDu映射到橢圓曲線E (Fp)上的點%,即步驟(1.4)中的函數H1; 計算私鑰=Clu = s · Quo
3.根據權利要求1所述的身份與口令相融合的郵件系統雙向身份認證方法,其特徵在於所述的步驟中的用戶使用郵件伺服器的標識IDs對信息進行加密的步驟如下將伺服器標識IDs映射到橢圓曲線E(Fp)上的一個q階的點Qs ; 選擇一個隨機串σ,設置r = H1O,Μ),其中M為上述的消息^=/2(^/^111/11 ; 計算密文C = ^Ρ,σ Η{^10),Μ Ιχ{σ)、;其中知=e(QsPpub) e 弋2,e 為一個 weil 配對的雙線性映射函數。
4.根據權利要求1所述的身份與口令相融合的郵件系統雙向身份認證方法,其特徵在於所述的步驟(5)中的郵件伺服器選擇一個一次性動態口令y,用該用戶的身份IDu加密消息M = χ I I y並發送給該用戶的加密步驟如下將用戶的身份標識IDu映射到橢圓曲線E (Fp)上的一個q階的點% ; 選擇一個隨機串。,設置r = H1 ( ο,M),其中M為上述的消息Μ = χ I I y ;計算密文C = (rP,σ 十 HI^id⑷〉,其中gID 二 e(Qu Ppub) e 弋2,e 為一個 wei 1 配對的雙線性映射函數。
全文摘要
本發明涉及一種身份與口令相融合的郵件系統雙向身份認證方法,屬於計算機網絡安全技術領域。其技術方案可概括為採用身份的方式,結合動態隨機口令,在隱藏用戶口令的同時也互相驗證了用戶與伺服器的身份。本發明的有益效果是,解決了現有郵件系統中的雙向身份認證問題。把雙向認證技術融入其中,使得伺服器本身不能得到用戶的口令,並達到用戶與伺服器的雙向身份認證。
文檔編號H04L9/32GK102195782SQ20111015106
公開日2011年9月21日 申請日期2011年6月7日 優先權日2011年6月7日
發明者初劍峰, 李宏圖, 林海群, 胡亮, 袁巍 申請人:吉林大學