【问题标题】:How secure is inter-app communication in iOS?iOS 中的应用程序间通信有多安全?
【发布时间】:2011-03-29 06:56:40
【问题描述】:

我看过几篇关于 iOS 上的应用间通信的文章,例如“2-way app integration on the iPhone: How it works”和“Apple Approved iPhone Inter-process Communication”。本质上,他们使用自定义 URL 方案进行通信。我的问题是,如果我要传递一些敏感数据(例如登录凭据),会有哪些安全问题?

【问题讨论】:

    标签: iphone security url-scheme


    【解决方案1】:

    不要对任何敏感数据使用 URL 方案。它们绝不是为了安全而设计的。

    相反,您应该使用专门为此目的而设计的 iOS 中的 Keychain 机制。

    【讨论】:

    • 您能告诉我一个使用 URL 方案可能不安全的场景吗?
    • 它在进程之间以未加密方式传递。此外,您无法控制接收者,因此任何恶意进程都可以注册相同的 url-scheme 并拦截凭据
    • 我知道。但是对于一部未越狱的手机,难道不是只有预期的应用才能看到吗?
    • 如果您想要的应用程序没有安装在 iPhone 上,而是另一个应用程序注册了相同的 url-scheme,那么您可能会无意中将 url 发送到错误的应用程序。这些方案没有内置保护,也无法检查哪个应用注册了自定义方案。
    • Claus, the iOS documentation for SecItemAdd 解释说,您可以在钥匙串项目上使用 kSecAttrAccessGroup 属性来指定可以访问该项目的钥匙串访问组。这不是同样不安全吗?流氓应用程序不能简单地声明相同的钥匙串访问组权利并访问敏感数据吗?
    猜你喜欢
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    相关资源
    最近更新 更多