虚拟Token安全认证方案在.NET下使用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
虚拟Token安全认证方案在.NET下使用

虚拟Token安全认证方案在.NET下使用   摘要:本文分析了使用Token进行身份认证的方法。提出一种在.NET环境下使用虚拟Token的身份认证方案,并结合实际的系统分析了该方案在实践运行中的结果。   关键词:身份认证;虚拟Token;.Net;网络;通信;安全   中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)08-1pppp-0c      1 前言      随着网络技术的广泛应用,越来越多的应用系统通过网络传输和处理信息,随之而来的是信息的安全性令人忧虑。一个突出的事实是:许多最具有危害性的犯罪都是绕过密码保护以获取对信息或资金的访问权限。简单的“用户名+口令”的身份认证方式已经远远不能满足很多系统的安全性要求。   .NET环境下,对用户的权限分配和用户角色的管理都有较完善的方案。用户认证的方法也有对称密钥、非对称密钥等多种方案可以选择。但客户端提交自己的用户名和密码还是明文,所有的安全工作都在服务器端完成。这种情况下,网络监听和抓包工具可以很方便地还原相应的用户名和密码。当然使用SSL可以保证信息的加密和传输的安全,但设置繁杂、维护成本高,在中小型的系统中应用较少。为此,基于双因素用户认证的Token应运而生。其基本思路是,用户成功登录要有两个因素:一个是只有他知道的口令,另一个是他拥有的,即Token。Token根据其特有的根和时间,每分钟产生一个无法预知的编码,该编码和用户口令构成了用户的通行码。要登录的机器和该用户的Token共享一个秘密。即Token的根;同时使用和Token相同的编码生成函数。机器除检查用户的口令外,还在一个小的时间片内逐个生成Token编码,并和用户输入的编码做比较,若有一个匹配,则用户的身份得到确认。显然双因索的用户认证要比单一的口令更安全。   目前常规的做法是使用昂贵的硬件Token,一般经过三个回合的信息交换。我们提出一种更高效更经济的方案,在.NET环境下使用动态口令技术通过两个回合的信息交换用虚拟Token完成整个认证过程。      2 挑战/应答式的身份认证方式      挑战/应答机制身份认证属于动态身份认证。在挑战/应答机制中,每个系统用户都持有相应的挑战应答Token。Token内置种子密钥和加密算法。用户访问系统时,认证系统提示输入用户名和静态口令,认证通过后,系统下传一个中心系统随机生成的挑战数,用户将挑战数输入到挑战应答Token中,挑战应答Token利用内置的种子密钥和加密算法计算出相应的应答数。用户将该应答数上传给认证中心。认证中心根据该用户在认证中心保存的种子密钥和同样的加密算法计算出同样的应答数,并和用户上传的应答数进行比较。由于每个用户的种子密钥不同,不同用户对同样的挑战数可以计算出不同的应答数,只有用户持有指定的挑战应答Token才能计算出正确的应答数,同时该应答数只能网络中身份认证技术的研究在本次挑战应答过程中有效,不担心被他人截取,因此能保证很高的安全性。这种方式是可靠有效的认证方法。这种身份认证方法是基于物理硬件设备Token实现的。但价格昂贵,限制了技术的推广与应用。      3 虚拟Token的安全性分析      3.1 虚拟Token身份认证方式   本系统的身份认证采用了安全性较高的挑战/应答式的身份认证模式。   在认证过程中,系统将时间作为挑战数。客户使用通用的虚拟Token,用时间片和用户身份的种子算出应答数。再将应答数提交到系统进行验证。验证操作主要有2个步骤:   第一、验证应答数是否在允许的时间片段内。第二、由服务器端预存的用户身份种子和时间片再次生成验证码,将验证码与应答数进行比较,通过后可登录系统。   这种方式下,时间作为挑战数是一次性的,对于相同的用户身份种子加上不同的时间片在虚拟Token中运算得到的应答数是不同的,这样就可以有效防止回放攻击。   这种方式提供了一种通用的虚拟Token,比静态口令安全性更高。   3.2 安全通信:虚拟Token在防侦听中的作用   在整个通信过程中,在网络中传输的是加密的应答数,加密算法选择了单向散列函数SHA-1。单向函数计算起来非常容易,但是对其求逆却异常困难。也就是说已知x,很容易计算f (x),但己知f (x),却难以计算出x。(1) (2) (3)这里所说的“难以计算”在密码学中的含义就是:即使世界上所有的计算机都用来计算,f (x)计算出x也要花费数百万年的时间。散列函数把可变输入长度的串(叫做预映射)转换成固定长度的输出串(叫做散列值)的一种函数。散列函数是典型的多到一的函数,因为不同的预映射可能会得到相同的散列值。不能用散列函数来确定两个串一定相同,但是却可以用作校验预

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档