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

基于RSA算法的动态双身份认证的设计与实现摘要:针对网络通信中相互身份认证困难的问题,提出一种基于RSA算法的动态双身份认证方案,比其他基于公钥体制的身份认证方案相比,具有安全性更高、方便简洁、认证时间少等优点,并通过VC++实现了基于该方案的系统。
关键词:密码体制;RSA算法;身份认证;公钥1、RSA加密算法及身份认证目前网络通信主要提供五种安全服务,即身份认证服务、访问控制服务、机密性服务、完整性服务和抗否认性服务。
其中,身份认证作为安全应用系统的第一道防线,是最重要的安全服务,所有其它的安全服务都依赖于该服务,它的失败可能导致整个系统的失败。
网络应用系统中通信双方的身份认证问题,传统的做法是采用用户名加口令来验证登录用户的身份,但是由于口令在使用过程中很容易被窃取、暴力攻击和猜测,存在较大的安全隐患;另外这种认证方式只能完成单方面的身份认证,即只能解决服务器验证客户端身份的问题,无法解决客户端验证服务器身份的问题,因此不能完全满足互联网业务应用的需要。
公钥加密算法的安全性主要是基于复杂的数学难题。
目前比较流行的主要有两类[2]:一类是基于大整数因子分解系统,以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=1 mod((p-1)*(q-1)),根据e,p和q可以容易地计算出d;(4)公开整数r和e,但是不公开d;(5)将明文P(假设P是一个小于r的整数)加密为密文C,计算方法为C=Pe mod r;(6)将密文C解密为明文P,计算方法为P=cd mod r;然而,只根据r和e(不是p和q)要计算出d是不可能的,因此,任何人都可对明文进行加密,但只有授权用户(知道d)才可对密文解密。
一种实现双向认证动态口令身份认证措施

一种实现双向认证的动态口令身份认证方案来源:网店装修 摘要本文在分析现有动态身份认证系统的基础上,结合使用国际标准加密算法设计了双向通信协议、动态密码生成算法、以及动态重调机制,解决了目前动态身份认证系统只能实现服务器对客户端的单向认证的缺陷,和以牺牲口令随机度来解决“失步”问题的不足。
关键词双向身份认证、动态口令、同步重调,动态身份认证系统身份认证技术是信息安全理论与技术的一个重要方面,它是网络安全的第一道防线,用于限制非法用户访问受限的网络资源,是一切安全机制的基础。
这也就使之成为黑客攻击的主要目标。
因此使用一个强健有效的身份认证系统对于网络安全有着非同寻常的意义。
就国内外身份认证技术的发展情况来看,最传统的身份认证方式是帐号——口令方式;新兴的身份认证方式包括:生物特征识别法、动态口令<又称一次性口令)认证法等。
本文中主要展开对动态口令认证法的讨论和研究。
1 背景知识介绍 1.1 PKI体系PKI<Public Key Infrastructure 公共密钥基础设施)是一种遵循标准的密钥管理平台,它能够为所有网络应用透明的提供采用加密和数字签名等密码服务所必需的密钥和证书管理。
公共密钥基础设施则是希望从技术上解决网上身份认证、信息的保密性、信息的完整性和不可抵赖性等安全问题,为网络应用提供可靠的安全服务。
PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。
完整的PKI系统必须具有权威认证机构(CA>、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口<API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。
1.2 RSA加密算法RSA加密算法,又称非对称算法,采用公钥——私钥对来对信息进行加、解密。
RSA加密算法的过程如下:<1)取两个随机大素数p和q<保密)。
<2)计算公开的模数r=pq(公开>。
双重身份验证的数字签名系统的研究与实现

0.引言随着 Internet 的飞速发展, ( 9) 收件人用相同的信息摘要算法( MD5) 对收到的明文在进行一 次运算, 得到一个新的信息摘要。
( 10) 收件人将收到的信息摘要和新的信息摘要进行比较, 如果一 致则说明收到的信息没有被修改过。
此双重身份验证的数字签名系统的发收双方, 都要分别用自己的公钥和私钥对对方的身份进行确认, 从而加强文件的安全性。
以下是双重身份验证的数字签名系统的签名与验证过程的流程图:网络安全已经引起人们越来越大的关注。
如何安全的在网络上传输数据信息, 鉴别数据信息来源的真实性,确保信息的完整性和不可抵赖性成为人们研究的热点。
为了有效地提 高网络的安全性,对传输的内容进行加密及数字签名就成为了关键的技术。
“数字签名”是通过一个单向函数对要传送的报文进行处理得到的, 用以认证报文来源并核实报文是否发生变化的一个字母数字串[1]。
1.加密与解密数字签名[1]是通过复杂的加密技术而产生的, 采用加密技术可以隐蔽和保护需要保密的 信息。
通常把待加密的消息称为明文, 加密后 的消息称为密文。
加密就是从明文得到密文的 过程, 而合法地由密文恢复出明文的过程称为 解密。
1.1MD 5 报文摘要算法报文摘要法[1]也称 Hash 签名, 是最主要的 数字签名方法。
MD5 算法的作用是让大容量信息在进行数字签名前通过其不可 逆 的 字 符 串 变换算法“压缩”成一种 128 位长度的 MD5 报文信息摘要。
1.2 对称与非对称密码术密码体制[2]从原理上可分 为 两 大 类 : 对 称 密码( 单钥体制) 和非对称密码( 双钥体制) 。
对称密码术的加密密钥和解密密钥相同, 系统的保密性主要取决于密钥的安全性, 最著 名的对称加密算法是数据加密标准( DES ) 。
非对称密码术使用两把钥匙: 一把公开钥匙和一把秘密钥匙 , 两把密钥一对一的 相 匹 配, 分别用于加密和解密。
一种实现双向认证动态口令身份认证方案

一种实现双向认证动态口令身份认证方案摘要在分析现有动态身份认证系统的基础上,结合使用国际标准加密算法设计了双向通信协议、动态密码生成算法、以及动态重调机制,解决了目前动态身份认证系统只能实现服务器对客户端的单向认证的缺陷,和以牺牲口令随机度来解决“失步”咨询题的别脚。
关键词双向身份认证、动态口令、同步重调,动态身份认证系统,别可否认基于动态口令的身份认证系统给络安全带来了福音。
它的优点,如动态性、一次性、随机性、多重安全性等,从全然上有效修补了传统身份认证系统存在的一些安全隐患。
比如,能够有效防止重放攻击、窃听、推测攻击等。
但就目前的研究成果、使用事情来看,它同样也存在这别脚,以及技术上的难关。
现有的基于动态口令的身份认证系统都只能实现单向认证,即服务器对客户端的认证,如此就别能幸免服务器端的攻击。
随着络应用的多样性进展,越来越多的络应用要求可以实现双向认证以确保双发的利益,如电子商务、金融业务等,所以实现双向认证就成为了身份认证的一具必定趋势。
关于同步认证技术来说,保证服务器端和客户端的高度同步是必需的。
此时怎么保持服务器和众多客户端同步就成了一具技术难关。
基于同步认证技术的动态身份认证系统都存在“微小漂浮”咨询题,也即“失步”。
目前的解决方法往往是以牺牲口令的随机度来弥补那个缺陷。
这无疑给系统带来了很大的安全隐患。
固然异步认证技术别存在“极小”咨询题,但是它进行认证的过程比较繁琐,占用通讯时刻太长,效率比较低。
针对上面提到的动态口令认证系统的别脚和缺陷设计了一具新方案。
该方案采纳双向认证通信协议实现了双向认证,并设计了一种失步重调机制。
2.2改进方案2.2.1双向认证通信协议在那个协议中使用了直接信任模型,即客户端和服务器端经过注册时期而建立直接信任关系。
(直接信任是最简单的信任形式。
两个实体之间无须第三方介绍而直接建立起来的信任关系称为直接信任。
)协议中包括两个时期:注册时期、登陆时期。
1)注册时期注册时期是为了让Client和Server建立初始信任关系。
RSA SecurID身份认证

RSA双因素身份认证系统简介目录1. RSA SECURID双因素身份认证系统简介 (3)1.1.RSA提供完整的解决方案 (3)1.2.RSA S ECUR ID:强大的双因素认证系统 (3)1.3.RSA S ECUR ID双因素认证系统组件 (4)1.3.1.认证管理软件(Authentication Manager) (4)1.3.2.RSA SecurID双因素认证设备 (4)1.3.3.代理软件(AM/Agent) (5)2. 时间同步双因素技术及令牌原理简介 (5)2.1基于时间同步技术双因素身份认证架构图 (5)2.1.1RSA SecurID时间同步原理架构图 (5)2.1.3基于时间同步的双因素口令 (6)2.2RSA700型双因素令牌简介 (6)3. RSA强认证系统可以保护资源简介 (6)3.1对端口安全和无线网络的保护 (7)3.2RSA S ECUR ID可以提供对拨号/访问服务器的双因素身份认证 (7)3.3RSA S ECUR ID可以提供对路由器、交换机和防火墙等网络设备的双因素身份认证 (7)3.4RSA S ECUR ID可以提供对各种VPN的双因素身份认证 (7)3.5RSA S ECUR ID可以对UNIX、L INUX及W INDOWS等操作系统保护 (8)3.6RSA S ECUR ID可以提供对不同的W EB服务器的保护 (8)3.7RSA S ECUR ID对O RACLE数据库的保护 (8)3.8RSA S ECUR ID可以提供对若干应用的保护 (9)3.9RSA通过提供免费的API,从而提供对各种应用的保护 (9)4. RSA双因素身份认证系统中认证服务器的部分特性 (9)4.1容错与负载均衡 (9)4.2安装平台 (9)4.3客户管理及与LDAP的同步 (10)4.4日志、审计与报表 (10)4.5对微软服务器及桌面的保护 (10)5. 产品配置及配套第三方产品配置 (11)5.1RSA产品配置举例 (11)5.2配套的第三方产品配置举例 (11)6. RSA双因素身份认证设备简介 (11)1. RSA SecurID双因素身份认证系统简介1.1. RSA提供完整的解决方案在网络信息安全的五个功能中(身份认证、授权、保密性、完整性和不可否认),身份认证(Authentication)是最基本最重要的环节,即使将授权、保密性、完整性、不可否认等环节做得很完善,但如果盗用了合法的帐号和口令登录系统,系统仍然认为他是合法用户,给予他相应的访问权限,使系统处于危险状态。
RSA 双因素身份认证

RSA 双因素身份认证1\简单描述:RSA SecurID 是一种采用时间同步技术的双因素认证系统,它能够用强大的用户认证系统替代基本的口令安全机制,帮助消除因口令欺诈而导致的损失。
在进行安全方案设计时,一个层面必须依赖于另一个层面。
"安全金字塔"必须建立在管理策略和过程的基础上,而用户认证是整个金字塔的关键组成模块。
若不首先采用强力用户认证,其余的授权层面、加密层面和审计层面就会变得毫无意义。
因此无论是在VPN、在RAS、在Web电子商务,还是在企业网络应用中,都必须采用强力用户身份认证,确保网络资源访问的合法性。
2\身份认证现状分析2.1 目前身份认证的现状在计算机网络中,最常见而简单的访问控制方法是通过对静态口令的匹配来确认用户的真实性。
而调查表明,有60%的系统首先被攻击和突破的地方是口令。
许多最具危害性的犯罪都拥有共同的特点:即绕过密码保护以获取对信息或资金的访问权限。
信息安全的关键在于确切地了解谁正在访问您的最机密的网络信息资产。
不幸的是,事实证明,建立在静态口令之上的安全机制非常容易被黑客攻破。
2.2 传统身份认证方式存在的问题密码本身只能对真实性进行低级的认证。
静态密码存在很多缺陷,如:密码容易被人猜测或通过交际工程学、社会工程师等途径获取,输入密码时容易被人窥视,密码容易被很多工具破解,存在着没有被检测到的缺陷和漏洞,密码可以在网络离线时被窥测,密码和文件容易从PC和服务器上被转移等等。
虽然一次性密码比可重用的静态密码强壮,但它们仍存在能被利用的弱点(需要更多的技巧),其中包括中间人攻击和竞争攻击。
而且一次性密码依然是单因素认证,而不是我们所说的强力用户认证。
因此静态密码是最不安全、最弱的一种识别与身份认证手段。
2.3 解决办法因为静态密码存在以上诸多的缺陷,任何听到或窃取到密码的人都会显得完全真实。
因此有必要增加第二个物理认证因素,从而使认证的确定性按指数递增。
一种实现双向认证的动态口令身份认证方案

一种实现双向认证的动态口令身份认证方案来源:网店装修 摘要本文在分析现有动态身份认证系统的基础上,结合使用国际标准加密算法设计了双向通信协议、动态密码生成算法、以及动态重调机制,解决了目前动态身份认证系统只能实现服务器对客户端的单向认证的缺陷,和以牺牲口令随机度来解决“失步”问题的不足。
关键词双向身份认证、动态口令、同步重调,动态身份认证系统身份认证技术是信息安全理论与技术的一个重要方面,它是网络安全的第一道防线,用于限制非法用户访问受限的网络资源,是一切安全机制的基础。
这也就使之成为黑客攻击的主要目标。
因此使用一个强健有效的身份认证系统对于网络安全有着非同寻常的意义。
就国内外身份认证技术的发展情况来看,最传统的身份认证方式是帐号——口令方式;新兴的身份认证方式包括:生物特征识别法、动态口令(又称一次性口令)认证法等。
本文中主要展开对动态口令认证法的讨论和研究。
1 背景知识介绍1.1 PKI体系PKI(Public Key Infrastructure 公共密钥基础设施)是一种遵循标准的密钥管理平台,它能够为所有网络应用透明的提供采用加密和数字签名等密码服务所必需的密钥和证书管理。
公共密钥基础设施则是希望从技术上解决网上身份认证、信息的保密性、信息的完整性和不可抵赖性等安全问题,为网络应用提供可靠的安全服务。
PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。
完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。
1.2 RSA加密算法RSA加密算法,又称非对称算法,采用公钥——私钥对来对信息进行加、解密。
RSA加密算法的过程如下:(1)取两个随机大素数p和q(保密)。
(2)计算公开的模数r=pq(公开)。
(3)计算秘密的欧拉函数® =(p-1)(q-1)(保密),丢弃两个素数p和q。
RSA+SecurID身份认证解决方案

RSA SecurID 动态身份认证系统建议方案2014年3月目录1.身份认证需求........................................................ - 3 - 1.1.网络信息安全必须实现的五大需求.. (3)1.2.身份认证需求 (3)2.RSA AM 8.0结合VPN保护解决方案......................... 错误!未定义书签。
2.1.防火墙和VPN保护 (11)2.2.RSA AM8.0性能优势 (12)2.3.RSA AM8.0认证服务器部署要求......................... 错误!未定义书签。
3.RSA SECURID身份认证功能详解............................ 错误!未定义书签。
3.1.RSA S ECUR ID:强大的双因素认证系统 (11)3.2.RSA S ECUR ID双因素认证系统组件 (12)3.2.1. 认证服务器(ACE/Server).................................... - 13 -3.2.2. RSA SecurID认证令牌......................................... - 14 -3.2.3. 代理软件(ACE/Agent)....................................... - 14 -3.2.4. ACE/Server容错和负载均衡.................................... - 15 -3.2.5. 支持与目录服务器的资料自动同步.............................. - 15 -4.基于时间同步技术双因素身份认证架构图 (17)4.1. RSA SecurID时间同步原理架构图..................... 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于 RSA 算法的动态双身份认证的设计与实现
摘要:针对网络通信中相互身份认证困难的问题,提出一种基于 RSA 算法的动态双身份认证方案,比其他基于公钥体制的身份认证方案相比,具有安全性更高、方便简洁、认证时间少等优点,并通过 VC++实现了基于该方案的系统
关键词:密码体制;RSA 算法;身份认证;公
1、RSA 加密算法及身份认证
目前网络通信主要提供五种安全服务,即身份认证服务、访问控制服务、机密性服务、完整性服务和抗否认性服务。
其中,身份认证作为安全应用系统的第一道防线,是最重要的安全服务,所有其它的安全服务都依赖于该服务,它的失败可能导致整个系统的失败
网络应用系统中通信双方的身份认证问题,传统的做法是采用用户名加口令来验证登录用户的身份,但是由于口令在使用过程中很容易被窃取、暴力攻击和猜测,存在较大的安全隐患;另外这种认证方式只能完成单方面的身份认证,即只能解决服务器验证客户端身份的问题,无法解决客户端验证服务器身份的问题,因此不能完全满足互联网业务应用的需要。
公钥加密算法的安全性主要是基于复杂的数学难题。
目前比较流行的主要有两类[2] :一类是基于大整数因子分解系统,以 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=1 mod((p-1)*(q-1)),根据 e,p 和q 可以容易地计算出 d
(4)公开整数 r 和 e,但是不公开 d
(5)将明文 P(假设 P 是一个小于 r 的整数)加密为密文 C,计算方法为 C=Pe mod r
(6)将密文 C 解密为明文 P,计算方法为 P=cd mod r
然而,只根据 r 和 e(不是 p 和 q)要计算出 d 是不可能的,因此,任何人都可对明文进行
加密,但只有授权用户(知道 d)才可对密文解密。
为了保证 RSA 的有效性,通常找两个非
常的大质数 p 和q
3、基于 RSA 双身份认证方案的设
为了实现信息的网络化管理,系统采用 结合 SQL Server2000 数据库的解决方案,即将用户数字证书等有关信息存放在 SQL Server 数据库中。
Windows2000 中包括一个完整的 PKI 系统,文献 [3]给出了具体的设计及部署的过程
3.1方案体系结
系统采用 B/S/D(Browser/Server)三层体系结构,即表示层(Browser)、功能层(Web Service)和数据服务层(DataBase Service); 通过 访问数据库。
对数据库的访问在 Web 服务器端完成,客户端通过浏览器访问 Web 服务器并运行其程序
3.2方案的实现过
3.2.1建立数字证
选取两个大素数 p 和q,并且两数的长度相等,以获取最大程度的安全性。
计算两数的乘积 n=p*q;随机选取加密密钥 d,为满足 ed=1 mod(p-1)(q-1),则d=e-1 mod((p-1)(q- 1)),d 和n 也互素;e 是公钥,d 是私钥,n 是公开的。
两个素数 p 和q 不再需要,可以
被舍弃,但决不能泄露。
假设生成了用户 A 的密钥对(eA,dA)和用户 B 的密钥对(eB,dB)。
用户将私钥 d 秘密保存,公钥 e 交给一个管理仲裁机构认证中心,获得自己的数字证书
,然后将数字证书保存在自己的机器上,同时认证中心将合法用户的数字证书保存在数据库中,以便用户查询。
用户当与网络上某个用户通信需要进行身份认证时,将自己的数字证书发送给通信的对方。
对方收到数字证书后,首先通过认证中心验证其合法性。
如果是合法的,就可以从证书中获得需要的用户公钥,然后利用该公钥验证对方的身份;如果不合法,就可以终止通信
3.2.2进行身份认
第一步:用户 A 对用户 B 的认
第二步:用户 B 对用户 A 的认
A 与
B 相互认证过程如图 1 所示:
图
3.3方案的实
3.3.1运行环境:硬件与网络环境:服务器能运行 Windows XP、Windows NT
4.0+Service Pack6 及以上操作系统,建议使用 586 或以上的计算机
系统软件:操作系统 Windows 2000、XP 及以上版本,SQL Server2000
运行环境:Microsoft Visual C++6.0,浏览器使用 IE5.5 及以上版本
3.3.2代码实现:在认证过程使用的加密和解密算法相同,已利用 VisualC++6.0 实现,另外签名和验证的算法也和加密算法相同,只是每次利用的秘钥不同,这也是利用 RSA 算法进行认证的优势
4、结
RSA 算法自公布以来经过 20 多年的发展和考验,除了其速度稍慢之外至今尚未找到其它的缺陷,因此 RSA 算法的应用越来越广泛。
本文设计的是一种基于 RSA,并通过 VC++实现了基于该方案的系统,有效解决了身份认证困难复杂的问题,对具有该加密的身份认证系统类需求的应用有一定的实用价值
参考文献
[1] 郭拯危,缪亮. 一种改进的 RSA 算法的研究与实现.河南大学学报,2006,36(1)
:98~9
[2]王建兵.PKI 数字证书在 WEB 系统中的安全应用.信息技术,2005,(1):40~4
[3]高蕾,郑建德.基于 PKI 的高校安全教务管理研究.厦门大学学报,2006,5 月:305~30
[4]Matrix Security.200
[5]吕丽平.一种组合加密算法的设计与实现.青岛科技大学硕士论文,200。