将startActivityForResult()用于敏感数据是否安全?

时间:2019-07-16 13:19:27

标签: java android security

我正在考虑使用一些参数(敏感的会话)启动一个Activity(不同的应用程序),并且想知道这里最安全的方法是什么。例如,startActivityForResult()可能在Android上使用,我想知道是否还有其他应用程序可以看到此请求,或者是否需要root权限才能拦截此请求?因此,基本上,使用它是否安全?默认情况下,我们假设用户没有root权限。

1 个答案:

答案 0 :(得分:0)

  

我想知道是否有其他应用程序可以看到此请求

响应您的startActivityForResult()呼叫的应用可以看到请求。可能是:

  • 您希望将数据发送到的真正未修改的应用程序

  • 该应用程序的被黑版本

  • 一个完全独立的应用,恰好与您的Intent相匹配,特别是如果您使用的是隐式Intent

您可以尝试检查签名以确认其他应用是否确实是真正的未修改应用,因此可以避免后两种情况。

在旧版Android上,Intent对于其他应用程序来说是可见的,作为支持概述屏幕(最近任务列表)的数据的一部分。在4.x系列IIRC中的某个地方已经清除了该问题。

这是我所知道的针对无根设备的仅有的两种攻击。