身份与口令相融合的邮件系统双向身份认证方法

文档序号:7895568阅读:447来源:国知局
专利名称:身份与口令相融合的邮件系统双向身份认证方法
技术领域
本发明涉及计算机网络安全技术领域,特别涉及一种需要高度保密的邮件系统下的身份认证方法,尤指一种身份与口令相融合的邮件系统双向身份认证方法。
背景技术
电子邮件的广泛应用,涉及到国家经济、军事、政治的方方面面,对国家网络安全有极其深刻的影响。然而目前广泛应用的电子邮件系统中,多数都缺少完整的安全机制,例如在用户登录电子邮箱时仅使用用户口令的散列值向邮件服务器进行认证,而对于固定的口令,其对应的散列值是固定的,如果有攻击者希望获得该用户的口令,只需使用简单的离线字典攻击即可。基于口令的密码系统在公钥密码诞生之前一直是进行身份验证的主流技术,著名的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日
发明者初剑峰, 李宏图, 林海群, 胡亮, 袁巍 申请人:吉林大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1