我的网络应用程序将通过现有的胖客户端应用程序启动。启动时,将生成HTTP POST请求,包括userID和其他上下文信息(基本上类似于目标用户的姓名,生日等)。
我的身份验证计划是在数据库中有一个查找表。如果用户名已经存在,则自动登录用户,但如果数据库中没有条目,则将用户重定向到初始登录页面,该页面将用于创建该数据库条目。
我的问题是如何确保这对MITM和其他安全漏洞。如何通过胖客户端生成的请求在SSL连接上?是否必须首先使用用户名(和密码)验证SSL连接?如果是这样,在用户登录之前,是否会公开其他上下文信息?
很抱歉,如果这是一个基本的安全问题101。关于在何处阅读安全基础知识的参考资料也将不胜感激。
答案 0 :(得分:2)
不,SSL不需要任何用户名或密码。 SSL仅加密客户端和服务器之间的数据。您可以通过SSL为完全匿名访问的站点提供服务。大多数情况下,人们将SSL和登录等同起来,因为您要加密登录凭据以及使用这些凭据访问的任何信息。
如果您想使用您的方法,只需将用户ID和其他信息发布到您的SSL站点即可。帖子和任何回复都将被加密。如果使用网页,它看起来就像这样。
<form method="POST" action="https://mysite.com/login">
从应用程序生成,只需在创建要发布到的URL时使用https://。
关于任何其他安全问题,我们没有足够的信息来讨论您计划部署的整体安全性,但上述内容应该会考虑您关于SSL和加密的初步问题。