我目前正在开发一个包含大量个人用户信息的应用程序——比如 Facebook 联系人等……现在,我想做的一件事(并且已经完成,非常有效)使用 Android 的内置进程间通信协议 (AIDL) 向“第 3 方”应用程序开放部分应用程序。到现在为止还挺好。
问题是:因为我们涉及处理大量个人信息,所以我们必须非常小心谁可以访问它,谁不能访问它;具体来说,只有“受信任”的应用程序才能这样做。因此,执行此操作的自然方法是在我们声明服务的 AndroidManifest.xml 文件中使用自定义权限。我的问题是:我希望能够制定签名级别的保护(类似于正常的“签名”权限级别),但有一点问题:
我不仅希望使用我们的内部签名签名的应用程序能够访问这些服务。我希望能够在运行时建立一个“可信签名”列表(或者如果有更好的方法,那么也许其他时间?)能够根据这个可信密钥列表检查传入的请求。
这将以与我认为的正常“签名”权限级别相同的方式满足安全约束 - 只有“受信任的密钥列表”上的程序才能访问服务,并且密钥很难被欺骗(如果可能的话? ) - 但额外的好处是,我们不必使用我们内部团队的密钥签署每个使用 API 的应用程序。
目前在Android中这可能吗?如果有,有什么特殊要求吗?
谢谢