常用认证技术

常用认证技术

基本认证、数字认证、NTLM认证、证书认证、Microsoft Passport认证、表单认证

本认证(basic)

基本模型:

l  客户端必须使用用户标识和口令(使用base64编码和SSL加密)来向服务器说明自己的身份。

l  为了得到授权,客户端发送凭据,凭据由用户标识和口令组成,中间使用冒号(:)分隔,之后使用BASE64进行编码。

n  客户端浏览器缓冲所提供的用户名和口令,并与认证域(Authentication Realm)存储在一起,这样,如果从相同域中请求其他资源时,能够把相同的用户名和口令提供给服务器来认证请求,而无需用户重复地输入它们

n  HTTP协议是一种无状态协议,因此每一个请求都以相同方式处理,即使这些请求来自同一个客户端

缺点:

l  基本认证不应该被认为是安全的

l  以明文形式进行传输,易于被窃听、易于受到重放攻击

数字散列认证(digest)

l  基本模型

n  用户发出不带认证凭据的请求,Web服务器回应一个指示凭据的WWW认证头。

n  取代发送用户名和口令,服务器使用一个随机值询问客户端。

u  在可选头中服务器指定用于创建检查和/或摘要的算法,默认时使用MD5算法

n  客户端使用用户名/口令的消息摘要应答服务器。有效回应中包含了用户名、口令、给定唯一值、HTTP方法、所请求URL的检查和(默认时,为MD5检查和)。

n  服务器使用从客户端得到的“消息摘要应答”进行验证

http://new.51cto.com/files/uploadimg/20080721/133904755.jpg

l  口令从来也不通过网络以明文形式传输,而总是传输用户口令的MD5摘要

l  不能通过嗅探网络来获取用户口令。

l  数字散列认证模式并没有彻底回应安全需求,它没有对消息内容进行加密。它的目标旨在避免基本认证存在的大多数严重缺陷

l  基于Challenge/Response认证模型

l  与基本认证模式相同,预先必须定义用户名和口令。这是一个基于口令的系统,面临着所有基于口令系统相同的问题

l  尽管在这种认证模式中没有实际发送口令,但发送了它的消息摘要,黑客能够利用生成的消息摘要来获取对内容的访问,原因在于口令摘要是访问这样的网站所需唯一信息

NTLM认证(Ntlm)

l  认证模型

n  基于Challenge/Response认证模型

n  微软专用协议

n  不需要在网络上发送口令或散列的口令

l  认证过程

n  在认证过程开始时,用户的系统(客户端)向telnet服务器发送一条登录请求,服务器使用随机生成的令牌(挑战值)应答客户端客户端使用挑战值散列当前登录用户加密保护的口令,并把散列结果发送给服务器

n  服务器收到挑战散列的响应之后,将它与已知的正确响应相比较。如果两者匹配,那么用户成功得到认证

l  Digest的区别

n  Ntlm:客户端使用挑战值散列当前登录用户加密保护的口令,并把散列结果发送给服务器

n  Digest使用摘要和算法散列用户名、密码等,然后把散列结果发送给服务器

数字证书认证(Certification)

l  数字证书是一个电子文档,它包含了身份信息、公钥、使用认证中心私钥签署的数字签名。希望发送加密消息的个体向认证中心(CACertificate Authority)申请数字证书。认证中心是一个签署证书的权威机构,它能够担保证书持有人的身份。CA发行的加密数字证书中包含了申请人的公钥及其他各种身份信息(类似身份证)CA通过印刷媒体或互联网公布自己的公钥

l  数字证书最广泛使用的标准是X.509

l  数字证书认证比其他形式的认证更健壮

l  数字证书认证使用了公开密钥密码学,数字证书能够存储在智能卡上,从而进一步提高安全性。

l  目前尚不知道存在针对PKI安全的攻击

l  认证过程:

n  当用户连接到服务器上进行认证时,他向服务器提供自己的数字证书

n  服务器首先验证证书上的签名是否有效、是否由受信任CA生成

n  服务器使用公开密钥加密算法(利用服务端的私钥)认证用户,证实其确实拥有与该证书相关联的公钥

n  得到包含在证书中的发送方的公钥和身份信息。利用这些信息,接收方可以发送一个加密应答

n  案例

u  电子邮件:很多人使用数字证书来加密电子邮件(提供机密性)或签署电子邮件(证实身份)。

u  网络安全:很多机构(包括一些网上银行)都部署了使用数字证书的智能卡或其他安全技术,以此作为提高他们的计算机网络安全性的一种途径

Microsoft Passport认证 (Passport)

l  支持SSO

l  登录商业网站时到login页面,输入email和密码

l  操作系统上的passport服务,得到商业网站的URL以及email和密码,重定向到passport网站

l  passport网站得到商业网站的信息和URL上的信息,在passport网站上进行验证

l  passport验证结束后,生成“电子凭据”,写到客户端的“cookie”中,客户端的passport服务记录这个“电子凭据”

Microsoft Passport认证是Microsoft Passport Network采用的一种认证方式,微软使用它提供了一种单一登录服务,允许用户使用一个账户就可以登录多个Web网站,包括Hotmail.NET Messenger ServiceMSN subscriptions等,其他一些与微软交往密切的公司也使用了这个认证,如RadioShackHotmailMSN用户自动拥有与他们的账户相对应的Microsoft Passport

Passport认证消息以电子凭据的形式传递,用于通知站点该用户已经成功登录。凭据是一小段数据,包含了登录时间、上次用户登录时间及其他一些认证过程中需要的信息。Passport系统内部,这些凭据以cookies的形式存在

为了得到一个凭据,拥有Passport账户的用户需要登录网站或访问网站中受保护的页面(即在访问前要求进行认证的页面)这一操作将把用户重定向到Passport.com的特定页面上该页面得到商业站点添加到URL上的信息,并进行处理,这样Passport服务就能够知道用户是从哪一个商业网站转过来的。在信息处理完毕之后,Passport将用户重定向到Passport.net上的一个页面。

一旦用户输入了他的凭据,用户就被带到Passport.com域。在这个域中验证用户后,Passport在用户浏览器中写入一个cookie,该cookie保存了本次登录的信息。这个cookie称为凭据授权cookie”,它用于以后的用户登录。之后,Passport将用户带回到原来的网站。

当用户返回到商业站点时,它们携带了两个附加在查询字符串上的信息包。安装在商业认证服务器上的、称之为Passport Manager的软件读取这些信息包,并以加密cookies的形式保存在商业站点域中

第一个cookie包含了认证凭据信息。第二个凭据包含了用户选择的、用于共享的任何配置信息,以及操作信息和唯一标识符。这些数据包使用Passport与商业站点共享的唯一密钥进行加密。这样确保只有这个商业站点能够解密这些消息。

之后,商业站点得到用户信息,并使用这些信息构造自己的cookies。由于这些cookies由商业站点自己发出,因此它能够访问它们。商业站点能够使用Passport User ID在自己的数据库中查找用户并完成授权任务。

当用户导航到另一个Passport参与站点时,新站点在处理如何认证这个用户方面有几种选择。当用户单击登录按钮时,他们像第一次登录那样被重定向到Passport服务上,差别在于这一次浏览器中已经保存了一个Passport能够读取的凭据授权cookie。由于该凭据中包含了凭据的发出时间,因此它允许引用站点决定如何刷新cookie。如果该凭据满足引用站点选择的规则,那么用户被带回到引用站点,同时携带了加密后的凭据和配置cookies。如果该凭据已经时间过久,那么它将提示用户重新输入凭证。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值