基于cdma的鉴权码动态生成方法、系统和装置的制造方法_4

文档序号:9251364阅读:来源:国知局
[0095] ②容易计算:从原数据计算出MD5值很容易。
[0096] ③抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有 很大区别。
[0097] ④弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造 数据)是非常困难的。
[0098] ⑤强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。
[0099] 移动台生成私有密钥的过程可以如图4所示,其具体流程为:
[0100]A、移动台获取頂SI、ESN以及鉴权中心下发的RANDSSD。
[0101] B、计算出用于产生私有密钥Xa的一组数据TA
[0102]Ta=RANDSSD+ESN+IMSI。
[0103]C、利用MD5算法对数据Ta进行处理后生成私有密钥XA,具体为:对Ta进行数据填 充,然后分成四组并进行四轮循环运行,将运算结果级联获得128bits数据XA。
[0104] 鉴权中心生成私有密钥的的过程可以如图5所示,其具体流程为:
[0105]A、鉴权中心获取RANDSSD以及移动台的IMSI、ESN。
[0106]B、计算出用于产生私有密钥Xb的一组数据TB
[0107]Tb=RANDSSD-ESN-IMSI。
[0108]C、利用MD5算法对数据Tb进行处理后生成私有密钥XB,具体为:对Tb进行数据填 充,然后分成四组并进行四轮循环运行,将运算结果级联获得128bits数据XB。
[0109] 步骤S12:移动台和鉴权中心分别根据各自的私有密钥利用DH算法生成公开密 钥。
[0110] DH的全称为Diffie-Hellman,即非对称加密算法,是安全性基于在有限域中计算 离散对数的难度的一种加密算法,是一种密钥交换算法。DH密钥交换算法的有效性依赖于 计算离散对数的难度,简言之,可以如下定义离散对数:首先定义一个素数q的原根,为其 各次幂产生从1到q_l的所有整数根,也就是说,如果a是素数q的一个原根,那么数值 almodq,a2modq,? ? ?,aq-lmodq是各不相同的整数,并且以某种排列方式组成了从1到 q_l的所有整数。对于一个整数0和素数q的一个原根a,可以找到惟一的指数i,使得 0 =aimodq,其中0彡i彡(q_l),指数i称为0的以a为基数的模q的离散对数或者 指数。虽然计算以一个素数为模的指数相对容易,但计算离散对数却很困难。对于大的素 数,计算出离散对数几乎是不可能的,因此可以有效增加数据的安全性。
[0111] 根据DH算法,移动台选取一素数q和一整数a(可以预先存放于移动台),其中, 移动台的私有密钥XA〈q,a是(1的原根。移动台根据选取的两个数(1和a以及私有密钥 XA,利用DH算法计算出公开密钥丫众=aXAmodq。
[0112] 同样的,根据DH算法,鉴权中心选取与移动台相同的素数q和整数a(可以预先 存放于鉴权中心),其中,鉴权中心的私有密钥XB〈q,a是q的原根。鉴权中心根据选取的 两个数q和a以及私有密钥Xb,利用DH算法计算出公开密钥Yb =aXBmodq。
[0113] 步骤S13:移动台和鉴权中心互相交换公开密钥,获取对方的公开密钥。
[0114] 本步骤S13中,移动台和鉴权中心通过信令消息交换公开密钥,移动台获取鉴权 中心的公开密钥Yb,鉴权中心获取移动台的公开密钥Ya。
[0115] 步骤S14:移动台和鉴权中心分别根据各自的私有密钥和对方的公开密钥利用DH 算法生成鉴权码。
[0116]本步骤S14中,移动台和鉴权中心分别生成相同的唯一鉴权码值。具体的,移动台 根据DH算法生成鉴权码K= (YBXA)modq,其中,Yb为鉴权中心的公开密钥,XaS移动台 的私有密钥;鉴权中心根据DH算法生成鉴权码K= (YAXB)modq,其中,Ya为移动台的 公开密钥,Xb为鉴权中心的私有密钥。即,鉴权码K= (YBXA)modq= (YAXB)modq。 当生成鉴权码后,移动台和鉴权中心则利用生成的鉴权码进行下一轮的鉴权流程。
[0117] 本方法中移动台和鉴权中心的交互可以简单表示成图6那样。如图6所示,鉴权 中心向移动台下发RANDSSD消息,而后移动台和鉴权中心各自生成私有密钥XdPXb,接着 移动台和鉴权中心各自根据DH算法生成公开密钥\和Yb,最后移动台和鉴权中心各自根 据DH算法生成相同的鉴权码K。生成鉴权码后,则分别利用鉴权程序进行鉴权操作。
[0118] 参见图7,提出本发明基于CDM的鉴权码动态生成方法第二实施例,本实施例应 用于移动台侧,所述方法包括以下步骤:
[0119] 步骤S21:移动台根据頂SI、ESN和RANDSSD利用MD5算法生成私有密钥。
[0120] 本步骤S21中,移动台首先获取頂SI、ESN以及鉴权中心下发的RANDSSD;然后计 算出用于产生私有密钥Xa的一组数据TA,TA=RANDSSD+ESN+MSI;最后利用MD5算法对数 据1\进行处理后生成私有密钥Xa,具体为:对Ta进行数据填充,然后分成四组并进行四轮循 环运行,将运算结果级联获得128bits数据XA。
[0121] 步骤S22 :移动台根据私有密钥利用DH算法生成公开密钥。
[0122] 本步骤S22中,根据DH算法,移动台选取一素数q和一整数a(可以预先存放于 移动台),其中,移动台的私有密钥XA〈q,a是(1的原根。移动台根据选取的两个数(1和a 以及私有密钥Xa,利用DH算法计算出公开密钥Ya = (xXAmodq。
[0123] 步骤S23:移动台与鉴权中心互相交换公开密钥,获取鉴权中心的公开密钥。
[0124] 本步骤S23中,移动台和鉴权中心通过信令消息交换公开密钥,移动台获取鉴权 中心的公开密钥Yb。
[0125] 步骤S24:移动台根据私有密钥和鉴权中心的公开密钥利用DH算法生成鉴权码。
[0126] 本步骤S24中,移动台根据DH算法生成鉴权码K= (YBXA)rnodq,其中,Yb为鉴 权中心的公开密钥,XaS移动台的私有密钥。
[0127] 生成鉴权码后,移动台则与鉴权中心利用生成的鉴权码进行下一轮的鉴权流程。
[0128] 从而,本发明基于CDMA的鉴权码动态生成方法,在移动台与鉴权中心交互过程中 动态生成鉴权码,利用动态生成的而非固定的鉴权码进行鉴权,大大降低了鉴权码被盗用 的风险,大幅提尚了鉴权的安全性。
[0129] 参见图8,本发明进一步提供一种基于CDM的鉴权码动态生成系统,所述系统用 于实现前述方法,所述系统包括移动台和鉴权中心,其中:
[0130] 移动台:用于根据頂SI、ESN和RANDSSD利用MD5算法生成私有密钥,根据私有 密钥利用DH算法生成公开密钥,并与鉴权中心互相交换公开密钥,获取鉴权中心的公开密 钥,根据私有密钥和所述鉴权中心的公开密钥利用DH算法生成鉴权码。
[0131] 鉴权中心:用于根据MSI、ESN和RANDSSD利用MD5算法生成私有密钥,根据私有 密钥利用DH算法生成公开密钥,并与移动台互相交换公开密钥,获取移动台的公开密钥, 根据私有密钥和所述移动台的公开密钥利用DH算法生成鉴权码。
[0132] 本实施例中的移动台和鉴权中心,分别为前述方法实施例中涉及的移动台和鉴权 中心,前述方法实施例中的技术特征在本实施例中均对应适用,在此不再赘述。
[0133] 本发明基于CDMA的鉴权码动态生成系统,在移动台与鉴权中心交互过程中动态 生成鉴权码,利用动态生成的而非固定的鉴权码进行鉴权,大大降低了鉴权码被盗用的风 险,大幅提尚了鉴权的安全性。
[0134] 参照图9,进一步提出本发明基于CDM的鉴权码动态生成装置,所述装置应用于 移动台侧,前述移动终端即相当于移动台,现基于前述移动终端硬件结构以及通信系统,提 出本发明基于CDM的鉴权码动态生成装置一实施例。所述装置包括私有密钥生成模块、公 开密钥生成模块、公开密钥交换模块和鉴权码生成模块,其中,私有密钥生成模块、公开密 钥生成模块和公开密钥交换模块依次连接,鉴权码生成模块分别与私有密钥生成模块和公 开密钥交换模块连接。
[0135] 私有密钥生成模块:用于根据頂SI、ESN和RANDSSD利用MD5算法生成私有密钥。
[0136]具体的,私有密钥生成模块首先获取頂SI、ESN以及鉴权中心下发的RANDSSD;然 后计算出用于产生私有密钥Xa的一组数据TA,TA=RANDSSD+ESN+MSI;最后利用MD5算法 对数据Ta进行处理后生成私有密钥Xa,具体为:对Ta进行数据填充,然后分成四组并进行四 轮循环运行,将运算结果级联获得128bits数据XA。
[0137] 公开密钥生成模块:用于根据私有密钥利用DH算法生成公开密钥。
[0138] 具体的,根据DH算法,公开密钥生成模块选取一素数q和一整数a(可以预先存 放于公开密钥生成模块),其中,私有密
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1