适用于 iOS 消费的 Web 服务(在 Amazon 上)安全性

Posted

技术标签:

【中文标题】适用于 iOS 消费的 Web 服务(在 Amazon 上)安全性【英文标题】:Web service (on Amazon) security for iOS consumption 【发布时间】:2011-10-06 17:40:02 【问题描述】:

我想知道,在通过 ios 设备访问 Web 服务时,在安全性方面,是否有人对部署在 Tomcat 上并在 Amazon 的 EC2 中运行的 Java Web 服务有经验。 REST 和 SOAP。

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

感谢分享和任何提示!

【问题讨论】:

【参考方案1】:

我理解您的问题是您只希望您的 iOS 应用程序成为使用 Web 服务(通过 REST/SOAP 的 Tomcat)的应用程序。您不希望有人编写一些自定义程序来伪装成您的应用程序。

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

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

当然,如果有人获取二进制文件并对它们进行逆向工程,他们总能获得秘密字符串/算法并对其进行仿真。除了让它变得耗时且困难之外,您无能为力。

【讨论】:

以上是关于适用于 iOS 消费的 Web 服务(在 Amazon 上)安全性的主要内容,如果未能解决你的问题,请参考以下文章

适用于 iOS 的 RESTful Web 服务器库

适用于 Web 应用程序的亚马逊简单通知服务

从 ionic iOS 原生到 WP rest API 的 http 请求出错(适用于 web 视图和 DevApp)

无法从 Flutter Web 读取 Firestore 中的数据(适用于 iOS 和 android)

Xamarin Http 请求仅适用于 iOS 模拟器

Apple推出适用于macOS的Safari 14作为独立更新