ios - Bluemix Push 服务安全问题

标签 ios security sdk push-notification ibm-cloud

我们在我们的 Bluemix 应用程序(服务于 iOS 客户端)上使用 IBM Push-Notification 服务和 Mobile-App-Security。

为了发送推送通知,我们的服务器发送一个 POST 请求到:https://mobile.ng.bluemix.net/push/v1/apps/{application-id}/messages
使用 Ibm-Application-Secret header 中的应用程序 secret (按照说明 here )。

要在我们的应用程序中初始化 Mobile-App-Security SDK,您需要 application-id 和 application-secret - 这意味着应用程序本身必须包含这些值(作为常量参数或从服务器下载)。如果恶意用户使用简单的逆向工程获取这些值,他将能够发送相同的 POST 请求,即向其他客户端发送推送通知,对吗?

不应该有两个应用程序 secret 吗?应用程序的一个 secret (使伪造注册变得困难 - 即需要逆向工程)和服务器的一个 secret (允许发送通知并且永远不应该存储在客户端)。

是否可以在没有应用程序密码的情况下初始化 Mobile-App-Security iOS SDK?

最佳答案

我理解你的担心。要解决您的所有问题:
- 您必须在客户端拥有应用程序 secret 才能通过 MAS 进行身份验证并使用推送服务(推送依赖于 MAS 身份验证)
- 我们建议实现您自己的安全形式,以防止恶意用户轻松获取 App Secret。例如,加密存储应用程序 secret 的文件,或仅加密应用程序 secret 本身。

如果您正在寻找更强大的内置安全级别,我建议您使用更新的 MobileFirst Services Starter,它支持推送和高级移动访问服务 (AMA),目前仅适用于 iOS 8。

关于ios - Bluemix Push 服务安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30187954/

相关文章:

ios - 苹果推送通知的分发和开发的区别

PHP Securitywise 为什么 md5 不再被认为是安全的?

java - 在 Intellij : have to repeat this each time project is built? 中配置 groovy SDK

java - JVM内部是如何工作的

ios - 检索函数数据

Windows Azure SDK for Node.js 表存储批量更新

ios - 显示带有操作的搜索栏(栏项)

ios - 如何添加阴影平面以及苹果提供的和我们创建的.scn文件的区别

ios - 更新 flutter 后面临构建问题

security - PHP session 安全