2011-10-06 67 views
2

我想知道是否有人在部署在Tomcat上的Java Web服务以及在Amazon的EC2中运行的安全性方面的经验,涉及到通过iOS设备访问Web服务。 REST和SOAP。针对iOS消费的Web服务(亚马逊)安全性

是否有任何有关Web服务如何验证调用者的最佳实践或指南,以确保它是从应该调用它的应用程序(和用户)调用的,而不是从任何其他程序调用?你会推荐哪些类/组件,协议或技术? AWS Identity and Access Management是一个选项,如果您将如何使用它?

感谢您的分享和任何提示!

回答

1

我明白你的问题是你想让你的iOS应用成为利用Web服务(通过REST/SOAP的Tomcat)的应用。你不希望有人写一些假装成你的应用程序的自定义程序。

最好的方法是确保您的iOS应用验证SSL连接域名和证书,以防止某人收听并抓取任何“这是实际应用”标识符。

我曾经用来帮助鼓励只有iOS应用程序(而不是一些自定义程序)的一些常用技术是沟通的一个方法是让它包含平台名称和版本以及自定义标识符字符串,如“MyApp ABC123F3 “嵌入在程序代码中。另一种选择是发送只有服务器可以验证的旋转密钥号的数学例程。另一个选择仍然是嵌入到应用程序中的客户端SSL证书,但这可能更容易找到。

当然,如果有人拿二进制文件并反向工程师他们,他们总是可以得到秘密字符串/算法,并模拟它。除了耗费时间和难度之外,你可以做的并不多。