科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道XP系统登陆原理及其验证机制概述(4)

XP系统登陆原理及其验证机制概述(4)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在“交互式登录”过程中,Winlogon调用了GINA组文件,把用户提供的帐号和密码传达给GINA,由GINA负责对帐号和密码的有效性进行验证,然后把验证结果反馈给Winlogon程序。

作者:亚洲技术社区 来源:亚洲技术社区 2007年12月14日

关键字: 验证 登陆 Windows Windows xp

  • 评论
  • 分享微博
  • 分享邮件

 四、想登录,也要过GINA这一关

  在“交互式登录”过程中,Winlogon调用了GINA组文件,把用户提供的帐号和密码传达给GINA,由GINA负责对帐号和密码的有效性进行验证,然后把验证结果反馈给Winlogon程序。在与Winlogon.exe对话时,GINA会首先确定winlogon.exe的当前状态,再根据不同状态来执行不同的验证工作。通常Winlogon.exe有三中状态:

  1、已登录状态

  顾名思义,用户在成功登录后,就进入了“已登录状态”。在此状态下,用户可以执行有控制权限的任何操作。

  2、已注销状态

  用户在已登录状态下,选择“注销”命令后,就进入了“已注销状态”,并显示Winlogon桌面,而由GINA负责显示登录对话框或欢迎屏幕。

  3、已锁定状态

  当用户按下“Win+L”键锁定计算机后,就进入了“已锁定状态”。在此状态下,GINA负责显示可供用户登录的对话框。此时用户有两种选择,一种是输入当前用户的密码返回“已登录状态”,另一种是输入管理员帐号和密码,返回“已注销状态”,但原用户状态和未保存数据丢失。

  五、登录到本机的过程

  1、用户首先按Ctrl+Alt+Del组合键。

  2、winlogon检测到用户按下SAS键,就调用GINA,由GINA显示登录对话框,以便用户输入帐号和密码。

  3、用户输入帐号和密码,确定后,GINA把信息发送给LSA进行验证。

  4、在用户登录到本机的情况下,LSA会调用msv1_0.dll这个验证程序包,将用户信息处理后生成密钥,同SAM数据库中存储的密钥进行对比。

  5、如果对比后发现用户有效,SAM会将用户的SID(Security IdentifIEr——安全标识),用户所属用户组的SID,和其他一些相关信息发送给LSA。

  6、LSA将收到的SID信息创建安全访问令牌,然后将令牌的句柄和登录信息发送给winlogon.exe。

  7、winlogon.exe对用户登录稍作处理后,完成了整个登录过程。

  六、登录到域的过程

  登录到域的验证过程,对于不同的验证协议也有不同的验证方法。如果域控制器是Windows NT 4.0,那么使用的是NTLM验证协议,其验证过程和前面的“登录到本机的过程”差不多,区别就在于验证帐号的工作不是在本地SAM数据库中进行,而是在域控制器中进行;而对于Windows2000和Windows2003域控制器来说,使用的一般为更安全可靠的Kerberos v5协议。通过这种协议登录到域,要向域控制器证明自己的域帐号有效,用户需先申请允许请求该域的TGS(Ticket-Granting Service——票据授予服务)。获准之后,用户就会为所要登录的计算机申请一个会话票据,最后还需申请允许进入那台计算机的本地系统服务。

  其过程如下:

  1、用户首先按Ctrl+Alt+Del组合键。

  2、winlogon检测到用户按下SAS键,就调用GINA,由GINA显示登录对话框,以便用户输入帐号和密码。

  3、用户选择所要登录的域和填写帐号与密码,确定后,GINA将用户输入的信息发送给LSA进行验证。

  4、在用户登录到本机的情况下,LSA将请求发送给Kerberos验证程序包。通过散列算法,根据用户信息生成一个密钥,并将密钥存储在证书缓存区中。

  5、Kerberos验证程序向KDC(Key Distribution Center——密钥分配中心)发送一个包含用户身份信息和验证预处理数据的验证服务请求,其中包含用户证书和散列算法加密时间的标记。

  6、KDC接收到数据后,利用自己的密钥对请求中的时间标记进行解密,通过解密的时间标记是否正确,就可以判断用户是否有效。

  7、如果用户有效,KDC将向用户发送一个TGT(Ticket-Granting Ticket——票据授予票据)。该TGT(AS_REP)将用户的密钥进行解密,其中包含会话密钥、该会话密钥指向的用户名称、该票据的最大生命期以及其他一些可能需要的数据和设置等。用户所申请的票据在KDC的密钥中被加密,并附着在AS_REP中。在TGT的授权数据部分包含用户帐号的SID以及该用户所属的全局组和通用组的SID。注意,返回到LSA的SID包含用户的访问令牌。票据的最大生命期是由域策略决定的。如果票据在活动的会话中超过期限,用户就必须申请新的票据。

  8、当用户试图访问资源时,客户系统使用TGT从域控制器上的Kerberos TGS请求服务票据(TGS_REQ)。然后TGS将服务票据(TGS_REP)发送给客户。该服务票据是使用服务器的密钥进行加密的。同时,SID被Kerberos服务从TGT复制到所有的Kerberos服务包含的子序列服务票据中。

  9、客户将票据直接提交到需要访问的网络服务上,通过服务票据就能证明用户的标识和针对该服务的权限,以及服务对应用户的标识。

  七、我要偷懒——设置自动登录

  为了安全起见,平时我们进入WindowsXP时,都要输入帐号和密码。而一般我们都是使用一个固定的帐号登录的。面对每次烦琐的输入密码,有的朋友干脆设置为空密码或者类似“123”等弱口令,而这些帐号也多数为管理员帐号。殊不知黑客用一般的扫描工具,很容易就能扫描到一段IP段中所有弱口令的计算机。

  所以,还是建议大家要把密码尽量设置得复杂些。如果怕麻烦,可以设置自动登录,不过自动登录也是很不安全的。因为自动登录意味着能直接接触计算机的人都能进入系统;另一方面,帐号和密码是明文保存在注册表中的,所以任何人,只要具有访问注册表的权限,都可以通过网络查看。因此如果要设置登录,最好不要设置为管理员帐号,可以设置为USERS组的用户帐号。设置自动登录的方法是:运行“control userpassWords2”,
  

  在“用户帐户”窗口中取消“要使用本机,用户必须输入用户名和密码”选项,确定后会出现一个对话框,输入要自动登录的帐号和密码即可。注意,这里不对密码进行验证,用户要确保密码和帐号的正确性。

 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章