app教程网 学习教程 简述iis6.0中基本身份验证的含义(简述iis的身份验证方式)

简述iis6.0中基本身份验证的含义(简述iis的身份验证方式)

IIS服务器具有身份验证功能,可以通过以下方式进行验证:

匿名访问

该方法不验证访问用户的身份,并且客户端不需要提供任何身份验证凭据。服务器将此类访问视为匿名访问,并将所有此类访问用户映射到一个服务器帐户,通常为IUSER_MACHINE。

您可以修改映射到的用户:

集成windows身份验证

这种验证方法也分两种情况。

NTLM验证

这种验证方式需要将用户的用户名和密码发送到服务器,服务器验证用户名和密码是否与该用户在服务器中的密码一致。用户名以明码形式传输,但密码经过处理后得到一个8字节的密钥加密挑战码,然后再传输。

Verification of security authentication system developed by MIT

这种身份验证方法只将客户端访问IIS的身份验证票发送到IIS服务器。当IIS收到此票证时,它可以确定客户端的身份,而无需传输用户的密码。需要kerberos身份验证的用户必须是域用户。

每个登录用户在登录验证后,都会由域内的验证服务器生成一张票授权票(TGT),作为该用户访问其他服务的票授权票(这是为了实现所谓的一次登录即可访问域内所有需要验证的资源的单点登录SSO功能)。

访问IIS服务器的身份验证票是通过该用户的票授权票(TGT)从IIS获得的。之后,此客户端将在访问此IIS时使用此身份验证票。类似地,对需要验证的其他服务的访问也基于该TGT来获得该服务的验证票。

下面是kerberos更详细的原理。

Kerberos原则介绍:

工作站正在运行名为Kinit的票证授权服务,该服务专门用于工作站和认证服务器Kerberos之间的认证。

1.用户开始登录,输入用户名,验证服务器收到用户名,在用户数据库中查找用户,找到用户。

2.认证服务器生成在认证服务器和登录用户之间共享的会话密钥。该密码仅用于认证服务器和登录用户之间的相互认证。

同时,认证服务器为这个登录的用户生成一个授票票,以后工作站可以凭这个授票票向认证服务器请求其他票,而不需要再次验证其身份。

认证服务器使用登录用户的密码对{ session key+Ticket-Granting Ticket }进行加密,并将其发送回工作站。

3.工作站用自己的密码解密验证服务器返回的数据包。如果解密正确,则验证成功。解密后,可以获得由登录用户和认证服务器共享的会话密钥和票据授予票据。此时此刻,

登录的用户没有在网络上发送密码,认证服务器使用用用户密码加密认证授权票的方法对用户进行认证。用户和认证服务器之间的关系被建立,相应的身份证书也被保存在工作站上。将来,如果使用网络中的其他服务,

可以通过这个身份证书向验证服务器申请相应服务器的服务票,获得相应的服务认证。

4.如果用户第一次访问IIS服务器,工作站的kinit会检查本机没有访问IIS服务器的认证票,于是kinit会向认证服务器发送请求,请求访问IIS服务的认证票。Kinit首先需要生成一个验证器。

验证器是这样的:{用户名:工作站地址}用验证器和服务器之间的会话密钥加密。Kinit将验证器、票证授权票证、您的姓名、您的工作站地址和IIS服务名称发送到验证服务器,

认证服务器验证授权票是真实有效的,然后用与你共享的会话密钥解锁认证器,获得用户名和地址,并与发送请求的用户和地址进行比较。如果一致,说明认证通过,请求合法。

5.认证服务器生成这个用户和IIS服务器之间的会话密钥密码,然后根据用户的请求生成IIS服务器的认证票,是这样的:{会话密码:用户名:用户机器地址:服务名:有效期:时间戳},

这个身份验证票用IIS服务器的密码加密(身份验证服务器知道所有授权服务的密码)以形成最终的身份验证票。最后,认证服务器{会话密码+加密认证票}用用户密码加密并发送给用户。

6.工作站接收认证服务器返回的数据包,用自己的密码解密,获得与IIS服务器的会话密钥和与IIS服务器的认证票。

7.工作站kinit还需要生成一个验证器,验证器是这样的:{用户名:工作站地址}在工作站和IIS服务器之间用会话密钥加密。将身份验证器和IIS身份验证票一起发送到IIS服务器。

8.IIS服务器首先用自己的服务器密码解密IIS身份验证票。如果解密成功,就意味着认证票是真实有效的。然后,它检查认证票据是否在有效期内。在有效期内,它用身份验证票中携带的会话密码解密验证者,以获得用户名和工作站地址。

如果它与验证票中的用户名和地址匹配,则意味着发送此验证票的用户是验证票的所有者,从而验证此请求是有效的。

基本认证

这种验证方式完全是将用户名和明文以明文的形式传输到服务器进行验证(base64编码,但base64编码是不加密的,转换后可以转换成原始明文)。

服务器直接验证用户和客户端提供的本地用户名和密码是否匹配,如果匹配则验证通过。

本文来自网络,不代表本站立场,转载请注明出处:https: