cou*_*lix 4 architecture security encryption rest cryptography
我正在争论一个S3像aproach使用授权哈希与密钥作为种子和请求的一些数据作为使用hmac sha1(Amazon S3方式)签名的消息与其他开发人员支持使用密钥对数据进行symetric加密由发射器和服务器知道.
使用带有hmac sha1和symetric密钥的签名数据有什么好处,而不是使用前者,我们不需要加密用户名或密码.
什么是最难打破的?la S3中的symetric加密或sha1散列?
如果所有大型玩家都使用oauth和没有symetric键的类似玩家,那么肯定会有明显的优势,那些是什么?
hmac和对称密码不是相互排斥的想法.实际上,AES-CMAC既是MAC(非散列)又是对称密码,AES-CMAC是使WPA安全的加密原语.(虽然使用彩虹表仍然可以打破WPA ).
你不应该需要一个异国情调的认证系统.使用用户名和密码登录并使用cookie维护会话状态是常用的,因为它易于实现且安全.通过存储状态,就像一个cookie,它不再是技术上的RESTful,但没有什么能阻止你这样做.
但是,在身份验证方面,我认为像RSA这样的非对称加密是最安全的.(默认情况下,Amazon使用非对称加密技术进行ssh连接.)这使您只能存储公钥,这样,如果您的服务器受到攻击,则无法使用身份验证凭据.它还防御MITM攻击.在许多情况下,这可以通过REST非常容易地植入,因为HTTPS已经支持客户端证书.您可以免费签署客户证书,然后自行验证.
如果实施得当,hmac与对称密码的强度主要归结为秘密的强弱.如果您使用密码之类的秘密,那么两个系统同样非常弱.这些秘密必须是大的, 密码安全的伪随机数.另外要记住的是,对称密码很难正确实现.大多数程序员不理解这一点,并在使用流密码时最终重用PRNG,或者当使用块密码时,他们使用不正确的模式并使IV无效.相比之下,HMACS 非常容易实施,少可以出错.如果所有内容都通过HTTPS传输,并且您使用的是hmac,则可以轻松实现安全的身份验证系统.如果你真的想要实现一个对称密码,你必须得到一个Piratical Cryptography的副本,有几个章节专门讨论对称密码,因为这么多可能会出现可怕的错误.您还必须考虑密钥分发,ssl使用DH-Key Exchange作为其对称密钥.
确保阅读OWASP前10名,特别是破解身份验证和会话管理.这需要在整个会话中使用https ,大多数Web应用程序程序员都没有意识到这一点.
| 归档时间: | 
 | 
| 查看次数: | 2462 次 | 
| 最近记录: |