Nex*_*Nex 5 security iphone backend
我不太介意盗版等等,但我想确保后端(基于Rails)不对可以DOS等的自动化服务开放.因此我想确保所有访问后端的权限(这将是对GET和PUT数据的一些REST查询)将通过有效的iPhone应用程序,而不是在机器上运行的某些脚本.
我想避免使用帐户,以便用户体验无缝.
我的第一个目的是将UDID和秘密一起散列,并通过HTTPS连接向服务器提供(和UDID).这将允许创建经过身份验证的会话或返回错误.
如果被窃听,那么攻击者可以获取哈希并重播它,使该方案可以重放攻击.但是,HTTPS连接不应该保护我免受窃听?
谢谢!
就像bpapa说的那样,它可能是欺骗性的,但是,就像你说的那样,你并不担心这一点,就像任何人一样,只是连续向服务器发送一千个请求,而你的服务器必须处理每一个.
你对哈希的想法是一个好的开始.从那里,您还可以将当前时间戳附加到预哈希值,并将其发送.如果给定的时间戳与服务器的当前时间不同超过1天,则禁止访问.无论如何,这会在一天以后停止重播攻击.
另一种选择是使用随机数.任何人都可以从您的服务器请求一个nonce,但是在将哈希发送到服务器之前,设备必须将其附加到预哈希数据.生成的nonce必须存储,或者可能只是服务器的当前时间戳.然后,设备必须将服务器的时间戳而不是其自己的时间戳附加到预先散列的数据,从而允许比重播攻击发生的整整一天短得多的时间段.
| 归档时间: |
|
| 查看次数: |
1786 次 |
| 最近记录: |