ero*_*ppa 9 security iphone https http
我正在为我的iPhone应用程序编写一个非常简单的Web服务.假设这是一个http页面,它在http:// mysite/getRand上返回一个随机数.如何确保此页面只能从我的iPhone应用程序访问而不能从其他客户端访问?我曾想过做一些简单的密码机制,但很容易通过捕获我的应用程序发送的内容来嗅探.
这样做的原因是通过仅允许合法请求来降低我的服务器的负载.
Sim*_*son 11
你真的不能这样做.您的应用程序可以被反汇编,二进制文件中的任何秘密都可以在恶意应用程序中复制.
您应该注意的另一个攻击是人们将hosts文件设置为他们控制的位置,然后安装允许他们为该域提供签名的根证书.你的申请会带着秘密来发帖,他们只能读出这个秘密.他们可以通过这种方式从二进制文件中的任何复杂加密系统中提取密码.
此线程中的大多数想法都容易受到此攻击.
也就是说,有人关心拆解你的应用程序的可能性可能相当遥远.
我只是保持简单.拥有一个硬编码到您的应用程序的密码.为了防止有人只是查看资源并尝试每个字符串,请将其作为两个字符串的XOR或特定固定字符串的AES解密结果.
显然,您应该通过SSL执行请求,否则攻击者可以嗅探流量.
是的,一个坚定的攻击者会绕过这个计划,但就像任何DRM计划一样,情况总是如此.诀窍是让它付出太多努力才值得.
我不确定您使用的是什么 Web 技术,但如果您使用 Ruby on Rails,它会在所有控制器中使用秘密身份验证令牌来确保恶意代码不会访问破坏性方法(通过 PUSH、POST 或删除)。您需要在请求正文中将该身份验证令牌发送到服务器以允许其执行。这应该能达到我认为你正在寻找的目标。
如果您没有使用 Ruby on Rails,那么无论您使用什么技术,这种代码身份验证方法都可能是您自己研究和实现的好方法。
查看Rails 安全指南,特别是第 3.1 节(CSRF 对策)。
| 归档时间: |
|
| 查看次数: |
1856 次 |
| 最近记录: |