2010-08-17 59 views
9

Im包装我的iPhone应用程序。我只是担心我们的Web服务器级别的安全性。数据通过网络服务被拉到iPhone应用程序。使Webservice安全

我可以把什么安全措施放在Web服务上,这样我就不会受到攻击?

感谢

+0

我已添加iPhone标签,以便有iPhone用户体验的人可以共享iPhone上允许的某些安全功能信息。 – 2010-08-17 22:55:16

+0

@拉迪斯拉夫 - 这超出了问题的范围。这是针对Web服务的。应该询问关于iPhone安全功能的单独问题。 – 2010-08-19 05:08:44

+0

@凯尔:我不同意。如果你想编写iPhone客户端使用的Web服务,你必须知道哪些安全特性很容易适用于客户端平台。我可以轻松开发您无法在iPhone上使用的安全服务。另外,我也看到很多针对iPhone上使用WS-Security服务的问题。 – 2010-08-19 07:27:47

回答

4

几个要点:

  • 使用RSA signed XML
  • 确保一切都在传递SSL
  • 加密所有数据流量验证从Web Service的所有请求。我建议查看DUKPT密钥管理系统,使用AES加密。
  • 使用WCF - 这是最新的标准(也是this
  • 使用某种Web服务身份验证。这可以像每个需要用户名和密码的请求一样简单。这会减慢直接呼叫尝试的速度,并且如果您获得了正确的加密权限,则不必使用纯XML格式的用户名和密码。
  • 最重要的是确保服务器本身是安全的。如果有人破解了服务器,那么你死在水中,而不会意识到你做了什么。

编辑:

看一看this question为iPhone到.NET互操作性AES。

+0

是否有标准加密?我的意思是在加密。在服务器的净水平比在苹果iphone水平上的xcode解密?希望这不是一个愚蠢的问题。 – Matt 2010-08-17 20:20:53

+0

@Tricky - 基本上你必须看看。 AES是一个标准,所以iPhone应该能够支持它。 – 2010-08-17 20:27:57

+0

你可能会受到iPhone方面的限制。 – 2010-08-17 20:35:53

1

如果您不使用Web服务有效负载来实现身份验证,则可以使用正常的HTTP身份验证SSL保护您的服务。你也是服务器端程序员吗?

0

如果您的WCF服务不安全,那么您“插入”WCF服务并不重要。您必须假设攻击者可以在没有iPhone客户端的情况下访问您的Web服务。您的Web服务容易受到sql注入的影响吗?您是否暴露了可能允许攻击者读取服务器上的文件或更改其他用户帐户的恶意功能?记住OWASP Injection flaws。使用HTTPS让您的客户免于泄漏信息。其余的应该确保你公开的功能是安全的。

攻击者将能够找到您尝试存储在iPhone二进制文件或内存中的任何密钥或密码。攻击者拥有比你更多的控制权,他可以入狱破坏设备,然后没有地方隐藏。