我正在使用Tomcat 7,jsp构建一个小型网站。我对安全性很陌生,这是一个学校项目,所以使用弹簧安全不是一种选择。我试图在客户端cookie中存储UUID和Open_id,以实现“记住我,用户登录”功能。然后只检查数据库中的这两个it,看看它是否存在。如果https也不是一个选项,那么对于一个小型网站来说,这是否足够安全?有什么指示吗?
发布于 2013-03-22 10:21:12
由于cookie没有加密,所以系统最容易受到中间人(MITM)的攻击。cookie可以在网络上被截获,然后以用户身份登录。将UUID和OpenID放入cookie中而不进行签名(通过盐渍HMAC-SHA1)是不好的。实际上,OpenID可以而且应该存储在数据库中,而签名的cookie将只包含“用户id”(-be it UUID )或单调递增的整数,这只是对users表中数据库记录的引用。在“真实世界”中是这样做的:“登录”表单设置了这样的cookie,“注销”表单删除了它(确保它们都只在HTTP上工作,并且不要忘记CSRF保护)。
即使攻击者能够通过MITM攻击拦截这种签名的cookie,他也无法改变它。也就是说,你将能够发现这样的篡改,你将能够拒绝接受这样的曲奇。
使用HTTPS将减少MITM攻击,因此使用HTTPS + cookie签名。
https://security.stackexchange.com/questions/32964
复制相似问题