基于rsa算法的动态双身份认证的设计与实现

基于rsa算法的动态双身份认证的设计与实现

ID:19972891

大小:49.50 KB

页数:4页

时间:2018-10-08

基于rsa算法的动态双身份认证的设计与实现_第1页
基于rsa算法的动态双身份认证的设计与实现_第2页
基于rsa算法的动态双身份认证的设计与实现_第3页
基于rsa算法的动态双身份认证的设计与实现_第4页
资源描述:

《基于rsa算法的动态双身份认证的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于RSA算法的动态双身份认证的设计与实现曹锦梅(新疆医科大学高等职业技术学院,新疆830000)摘要:针对网络通信中相互身份认证困难的问题,提出一种基于RSA算法的动态双身份认证方案,比其他基于公钥体制的身份认证方案相比,具有安全性更高、方便简洁、认证时间少等优点,并通过VC++实现了基于该方案的系统。关键词:密码体制;RSA算法;身份认证;公钥1、RSA加密算法及身份认证目前网络通信主要提供五种安全服务,即身份认证服务、访问控制服务、机密性服务、完整性服务和抗否认性服务。其中,身份认证作为安全应用系统的

2、第一道防线,是最重要的安全服务,所有其它的安全服务都依赖于该服务,它的失败可能导致整个系统的失败。网络应用系统中通信双方的身份认证问题,传统的做法是采用用户名加口令来验证登录用户的身份,但是由于口令在使用过程中很容易被窃取、暴力攻击和猜测,存在较大的安全隐患;另外这种认证方式只能完成单方面的身份认证,即只能解决服务器验证客户端身份的问题,无法解决客户端验证服务器身份的问题,因此不能完全满足互联网业务应用的需要。公钥加密算法的安全性主要是基于复杂的数学难题。目前比较流行的主要有两类[2]:一类是基于大整数因子

3、分解系统,以RSA为典型代表,它是目前被研究和应用得最为广泛的公钥算法,经过长年的攻击考验,该算法已被普遍认为是目前最优秀的公钥方案之一。2、RSA工作原理[1]如下:(1)任意选取两个不同的大质数p和q,计算乘积r=p*q;(2)任意选取一个大整数e,e与(p-1)*(q-1)互质,整数e用做加密密钥。注意e的选取是很容易的,例如所有大于p和q的质数都可用.;(3)确定解密密钥d,由d*e=1mod((p-1)*(q-1)),根据e,p和q可以容易地计算出d;(4)公开整数r和e,但是不公开d;(5)将明

4、文P(假设P是一个小于r的整数)加密为密文C,计算方法为C=Pemodr;(6)将密文C解密为明文P,计算方法为P=cdmodr;然而,只根据r和e(不是p和q)要计算出d是不可能的,因此,任何人都可对明文进行加密,但只有授权用户(知道d)才可对密文解密。为了保证RSA的有效性,通常找两个非常的大质数p和q。3、基于RSA双身份认证方案的设计4为了实现信息的网络化管理,系统采用VC.NET结合SQLServer2000数据库的解决方案,即将用户数字证书等有关信息存放在SQLServer数据库中。Window

5、s2000中包括一个完整的PKI系统,文献[3]给出了具体的设计及部署的过程。3.1方案体系结构系统采用B/S/D(Browser/Server)三层体系结构,即表示层(Browser)、功能层(WebService)和数据服务层(DataBaseService);VC.NET通过ADO.NET访问数据库。对数据库的访问在Web服务器端完成,客户端通过浏览器访问Web服务器并运行其程序。3.2方案的实现过程3.2.1建立数字证书选取两个大素数p和q,并且两数的长度相等,以获取最大程度的安全性。计算两数的乘积

6、n=p*q;随机选取加密密钥d,为满足ed=1mod(p-1)(q-1),则d=e-1mod((p-1)(q-1)),d和n也互素;e是公钥,d是私钥,n是公开的。两个素数p和q不再需要,可以被舍弃,但决不能泄露。假设生成了用户A的密钥对(eA,dA)和用户B的密钥对(eB,dB)。用户将私钥d秘密保存,公钥e交给一个管理仲裁机构认证中心,获得自己的数字证书,然后将数字证书保存在自己的机器上,同时认证中心将合法用户的数字证书保存在数据库中,以便用户查询。用户当与网络上某个用户通信需要进行身份认证时,将自己的

7、数字证书发送给通信的对方。对方收到数字证书后,首先通过认证中心验证其合法性。如果是合法的,就可以从证书中获得需要的用户公钥,然后利用该公钥验证对方的身份;如果不合法,就可以终止通信。3.2.2进行身份认证第一步:用户A对用户B的认证第二步:用户B对用户A的认证A与B相互认证过程如图1所示:4产生随机数RB用户B分组明文B加密后消息签名组合签名A用B公钥加密B用私钥解密得RB/A身份被确认用户A发送用户A身份IDAA对B身份验证分离B加密后的消息A用私钥解密A对B身份验证拒绝访问问分离A身份标识符IDA/和随

8、机数IDA=IDA/B身份确认,并加密随机数RB=RB/NN拒绝访问YY图13.3方案的实验3.3.1运行环境:硬件与网络环境:服务器能运行WindowsXP、WindowsNT4.0+ServicePack6及以上操作系统,建议使用586或以上的计算机。系统软件:操作系统Windows2000、XP及以上版本,SQLServer2000。运行环境:MicrosoftVisualC++6.0,浏览器使用IE5.5

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。