use*_*154 2 ruby authentication ruby-on-rails devise
我正在权衡使用"Scratch身份验证"(在此Railscast中实现)与使用Devise的优缺点.
我正在使用自定义数据存储区,因此使用Devise并不像遵循自述文件那么简单.这需要编写一个自定义的ORM adapto r,这远非微不足道.
鉴于这一切,Railscast Auth从头开始似乎更容易实现.
那有多安全呢?
更新:我应该指出我正在使用Parse.com作为我的数据存储区.这意味着它们会处理散列密码并限制用户名的唯一性.
他们都使用bcrypt来生成密码的盐渍哈希,唯一的区别是设计(默认情况下)使用更高的哈希成本(即需要更多的CPU周期来暴力破解它),但当然你可以轻松地将其添加到railscast代码中,因此在这方面大致相同.
railscast版本似乎很容易受到时间攻击的影响,因为只做==不会给你一个恒定的时间比较操作.简而言之,定时攻击是有效的,因为哈希完全错误的密码将比拒绝前一半字节正确的密码花费更少的时间来拒绝=(所以==在bailing之前必须考虑更多的字节).似乎任何这样的差异都会被网络延迟等变化引起的噪声所抹去,但是人们已经使用这些方法安装了真正的攻击来恢复密钥.
显然,您可以从设计中借用安全比较位,但它确实表明存在非明显的问题.
显然,设计为您提供的不仅仅是身份验证!
| 归档时间: |
|
| 查看次数: |
936 次 |
| 最近记录: |