- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在寻找一种在两个应用程序之间传递数据的安全方式(尝试为 IOS 应用程序实现安全的 OAuth 提供程序)。这是我对安全的定义和一些额外的假设/要求:
最初,我考虑过使用一些基于方案的方法,但这并不安全,因为如果应用程序 C 可以 register for the same scheme作为A和B,然后拦截消息(违反要求1)。
检查重复意图也是不够的,因为如果用户没有安装应用程序 A,攻击者可以注册应用程序 A 的方案并绕过此检查(违反要求 2)。
我查看了 Facebook 的 IOS OAuth,他们似乎要求应用在向 Facebook 注册时输入其“bundle ID”。我非常肯定 Facebook 在某种检查中使用了这个 bundle ID,但不确定是什么。
感谢任何帮助。
最佳答案
除了 url schemes 之外,没有其他方法可以让一个应用程序直接调用另一个应用程序,因此如果您希望应用程序 A 直接调用应用程序,您别无选择,只能使用这种方法,然后找到一种让您满意的方法B.
如果您绝对不能使用 url 方案,那么唯一的其他选择就是一些复杂的机制,例如应用程序 A 和应用程序 B 通过远程服务器间接通信。
当应用程序在设备上调用 Facebook 时,该应用程序已注册并获取,然后在其中硬编码了一个 facebook token ,该 token 可能以某种方式用于确保身份验证 - 因此必须有 3 个实体在进行(应用程序、Facebook 应用程序和 Facebook 服务器)。
但是我认为,如果您将 url 方案与 key 存储结合使用,您可以使两个应用之间的数据共享安全 - 应用 A 将一些加密数据发布到 key 存储,然后通过 url 方案通知应用 B 它可用,然后应用 B 从 keystore 中检索它。
如果应用 A 和应用 B 知道如何加密数据,那么应用 C 是否知道那里有数据并可以访问它并不重要。 (实际上,我认为有一种使用钥匙串(keychain)的方法可以用来将应用程序 C 排除在外,甚至无法访问它,但目前没有该信息可以确认)。即使应用程序 C 可以访问钥匙串(keychain)中的数据,您肯定可以找到一种保护它的方法,以便应用程序 C 无法对其进行解码。
我会首先对 iOS 的钥匙串(keychain)进行大量研究,然后看看它能为您提供什么。
关于ios - 如何在IOS中实现安全的应用程序间消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21997777/
根据 Android docs ,activity生命周期如下: onCreate() onStart() onResume() onPause() onStop() onDestroy() 问题是,
我有一门类(class)有很多专栏,但这个问题只需要其中三个: ---------------------------------------- | start_date | start_time
给定在同一个 Tomcat 6 上运行的两个 Web 应用程序。如果您从一个应用程序到另一个应用程序进行 http 调用,Tomcat 是否会“短路”此调用,或者它会在调用之前一直在 interweb
我是一名优秀的程序员,十分优秀!