【问题标题】:Can an authentication via HTTP over IIS be encrypted (without SSL)?可以加密通过 IIS 上的 HTTP 进行的身份验证(没有 SSL)吗?
【发布时间】:2011-03-05 14:08:12
【问题描述】:

我已经习惯了 *nix 服务器,如果我们想要一个完全安全的登录屏幕,我们(据我所知)将通过 HTTPS 使用 SSL。我们在工作中的监督组织使用 Windows 服务器来提供网页服务。在一个这样的页面上,他们正在验证网络凭据。此页面使用 HTTP,显示是 SQL Server 报告管理器的基本身份验证(弹出对话框)。

他们说 Basic 在 IIS 中被禁用。

在我大学 IIS 的有限经验中,我(我想我)记得子域可以覆盖常规设置。他们认为它使用的是集成 Windows 身份验证。

所以...

  1. 在查看网页提示时,有没有办法区分基本身份验证和集成 Windows 身份验证,以及...

  2. 是否可以在身份验证过程中对计算机和服务器之间的通信进行加密,从而对发送的文本进行加密(无需 JS 解决方案)?

【问题讨论】:

    标签: http iis authentication encryption ssl


    【解决方案1】:

    您也可以使用HTTP Digest authentication,它将加密 HTTP 标头中的身份验证(即使没有 SSL)。这将显示一个对话框,类似于您使用 HTTP 基本身份验证获得的对话框。有几个缺点:

    • 大多数浏览器使用相同的 基本和摘要对话框 身份验证,因此作为用户,您 不知道是哪一个 使用。
    • 只有身份验证被加密, 一个能做到的中间人 拦截和更改交易所 可以替换的内容 使用这些凭据的请求。

    由于这些原因,SSL 更好(如前所述)。

    【讨论】:

    • 谢谢你,布鲁诺!当我在寻找一个完全安全的解决方案时,这是行不通的,但我非常感谢额外的信息并将其传递。再次感谢!
    【解决方案2】:

    基本身份验证和 Windows 集成身份验证都通过网络发送未加密的凭据。如果弹出登录框中有浏览器的名称,并且看起来像一个标准窗口,那么它是基本的或集成的。如果用于获得访问权限的用户名/密码与用户的域帐户相同,则它是 Windows 集成的。您可以通过使用 Fiddler 嗅探 HTTP 传输来确认。

    在没有 SSL 的情况下,都没有好的实用方法来加密这些凭据。 Here 是一篇很好的文章,说明了为什么自定义安全方法是一个坏主意,而 SSL 是要走的路。

    【讨论】:

    • 想要说明的是,集成身份验证不会通过网络传递凭据。来自 MSDN - 与 Basic 和 Digest 身份验证不同,加密的密码不会通过网络发送,这使得这种方法非常安全。
    猜你喜欢
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 2012-02-10
    相关资源
    最近更新 更多