MPK*_*ing 5 security passwords hash android
显而易见的答案是散列.我正在考虑使用SHA512来哈希一个盐渍密码.
我的问题是:我应该在哪里哈希密码?
我想过两种方法:
(1)我在应用程序中哈希它.这意味着哈希被传输到服务器.然后,服务器根据存储的哈希检查它,并在哈希匹配时登录用户.
(2)我在服务器上散列它.以相同的方式检查哈希.
我的问题是我觉得密码可能会被截获.在(1)中,哈希可以通过中间人攻击来提取.攻击者现在可以简单地使用该哈希来访问用户的信息.
在(2)中,攻击者可以拦截明文密码,并使用它来访问用户的帐户.
我需要在双方都需要哈希的解决方案吗?在客户端上使用salt哈希,然后在服务器端再次哈希?
我不知道该怎么办.我不希望访问用户的信息.
如果你也可以指出你的建议的好处,我会很感激.
让我们从头开始.
是否可以在服务器端生成盐(以确保它是唯一的),然后在密码被盐渍和散列之前发送到客户端?
您应该绝对执行salting服务器端,以确保您可以最大程度地控制此过程.绝不允许用户,客户或设备自己制作盐.
是否可以使用salt和hash来访问用户的帐户?加密通道是否意味着防止任何中间人攻击?
如果某人获得了所有存储的哈希值和盐的访问权限,他们可能会尝试进行暴力破解/字典攻击以尝试获取匹配的哈希,但他们只能非常缓慢地执行它们,因为每个哈希都有不同的盐.
请记住,如果一个人有密码短或弱,他们的密码仍然可以迅速破解.
如果它们都有相同的盐,当它们裂开时,它们基本上会破坏它们.
加密通道是为了防止人们收听客户端和服务器之间的通信.它不能保证它会阻止MITM攻击,但它应该增加一层保护,因为MITM无法验证自己作为您/您的组织.
如何确保Android应用和Google App Engine之间的通道安全?
这取决于,它是在网络上吗?使用HTTPS并使用SSL证书验证您的应用程序,如果它在您的预算范围内,则使用扩展验证.
| 归档时间: |
|
| 查看次数: |
1457 次 |
| 最近记录: |