The Secure Remote Password Protocol
作者:Thomas Wu
发表:NDSS 1998
一、非对称密钥交换(AKE)
在介绍本文重点的SRP协议之前,首先先要从宏观的角度上介绍非对称密钥交换这种技术。
-
特点:AKE不需要加密任何协议数据流。可以抽象地理解为,交换密钥的双方互相共享一部分信息,然后利用共享的信息以及自己本身所具有的秘密可以得到一样的密钥,也就成为了他们之间唯一的会话密钥。具体地细节要通过具体协议和数学公式去理解。
-
优点:
- 简化协商加密算法的过程
- 避免加密算法本身脆弱性的影响
- 避免了加密算法使用权等问题
-
等式要求:从数学层面上讲,AKE协议应当满足以下数学等式的要求
( ∀ w , x , y , z ) S ( R ( P ( w ) , P ( x ) ) , Q ( y , z ) ) = S ( R ( P ( y ) , P ( z ) ) , Q ( w , x ) ) (\forall w,x,y,z)\ S(R(P(w),P(x)),Q(y,z))=S(R(P(y),P(z)),Q(w,x)) (∀w,x,y,z) S(R(P(w),P(x)),Q(y,z))=S(R(P(y),P(z)),Q(w,x))
其中w,x,y,z属于任意的参数;P(x)为单向验证生成函数;Q(x,y),R(x,y)公开、私有参数的混合参数;S(x,y)会话密钥生成函数;K会话密钥 -
协议交互:x和z属于Carol和Steve的长期秘密,在真实的协议中往往相当于口令,由Carol发给Steve P(x),Steve发给Carol P(z),此后再交换临时秘密w和y,生成会话密钥。
二、SRP:AKE的一种实施
(一)SRP定义规则
- 所有计算都在有限域GF(n)中进行
- P ( ) : P ( x ) = g x m o d n P():P(x)=g^x\ mod\ n P():P(x)=gx mod n
- Q ( ) : Q ( w , x ) = w + u x Q():Q(w,x)=w+ux Q():Q(w,x)=w+ux
- R ( ) : R ( w , x ) = w x u R():R(w,x)=wx^u R():R(w,x)=wxu
- S ( ) : S ( w , x ) = w x S():S(w,x)=w^x S():S(w,x)=