1

我的 Web 应用程序将通过现有的胖客户端应用程序启动。启动时,将生成一个 HTTP POST 请求,其中包括用户 ID 和其他上下文信息(基本上是目标用户的姓名、生日等信息)等信息。

我的身份验证计划是在数据库中有一个查找表。如果用户名已经存在,则自动登录用户,但如果数据库中没有条目,则将用户重定向到初始登录页面,该页面将用于创建该数据库条目。

我的问题是如何保护它免受 MITM 和其他安全漏洞的影响。通过胖客户端生成的请求如何在 SSL 连接上?SSL 连接是否必须首先使用用户名(和密码)进行身份验证?如果是这样,在用户登录之前,额外的上下文信息会被公开吗?

抱歉,这是一个基本的安全 101 问题。关于在哪里阅读安全基础知识的参考资料也将不胜感激。

4

1 回答 1

2

不,SSL 不需要任何用户名或密码即可工作。SSL 只加密客户端和服务器之间的数据。您可以通过 SSL 为完全匿名访问的站点提供服务。大多数时候,人们将 SSL 和登录等同起来,因为您希望加密您的登录凭据以及使用这些凭据访问的任何信息。

如果您想使用您的方法,只需将用户 ID 和其他信息发布到您的 SSL 站点。帖子和任何回复都将被加密。如果使用网页,它看起来像这样。

<form method="POST" action="https://mysite.com/login">

从应用程序生成,只需在创建要发布到的 URL 时使用 https://。

关于任何其他安全问题,我们没有足够的信息来谈论您计划部署的整体安全性,但以上内容应该解决您最初关于 SSL 和加密的问题。

于 2010-07-13T13:56:42.173 回答