我知道如何响应身份验证挑战 ,就像我们有 NTLM 身份验证 一样,因为有 3 个选项。
- 提供身份验证凭据。
- 尝试在没有凭据的情况下继续。
- 取消身份验证请求。
但只是想知道这里的想法,当我们选择第一个选项时 Provide authentication credentials 我们传递用户名和密码 URLCredential 是否有可能泄漏凭据,传递凭据是否安全,屏幕后面发生了什么? Apple 网络 API 如何将凭据发送到服务器?
是的,我们可以设置服务器域、失败计数等策略,但从安全的角度来看是否安全?来自 Man in Middle Attack (MIMA ) 或其他什么?
Best Answer-推荐答案 strong>
也许我发布问题的方式不清楚,但我从应用程序凭据安全的角度来看更多 NTLM Authentication经过大量谷歌搜索后,我发现 NTLM 是如何工作的,看到客户端不与服务器共享密码非常有趣。以下是步骤。
- 客户端向服务器发出请求。
- 服务器需要验证用户,因为没有身份,所以服务器生成称为挑战的 16 字节随机数并将其发送给客户端。
- 客户端使用用户密码对这个质询进行哈希处理,并将其返回给称为响应的服务器,它还包括作为纯文本的用户名和发送给客户端的质询。
- 服务器将所有内容发送到域 Controller ,它使用用户名从安全帐户管理器数据库中检索用户密码的散列值并散列挑战。
- 域 Controller 将响应共享回服务器,如果它们相同则身份验证成功,否则身份验证失败。
所以有趣的是,Network API 不会与服务器共享密码,这意味着它非常安全。
希望对其他人有所帮助,For More .
关于ios - 网址 session |身份验证质询响应 | NTLM,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/46703335/
|