首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android数据加密困境

Android数据加密困境
EN

Stack Overflow用户
提问于 2010-08-20 09:08:26
回答 2查看 1.2K关注 0票数 0

我正在创建一个应用程序,该应用程序使用用户每次登录应用程序时创建的密钥加密数据。但是,有时会通过需要加密的BroadcastReceiver接收数据,但用户没有登录,因此加密密钥不可用。安全性是非常重要的,因此使用存储在代码中的密钥来加密数据,直到用户下一次登录是不可能的,就像将一个密钥存储在应用程序DB中一样,尽管它位于应用程序沙箱中。我一直在搜索Android文档,并获得API的提示,以解决这种情况,但还没有找到明确的解决方案。有人知道这个问题的通常解决办法吗?我预计它会在软件开发中大量出现。

EN

回答 2

Stack Overflow用户

发布于 2010-08-21 08:47:57

让我看看..。

设置:创建一个RSA。加密私钥。存储未加密的公钥。

广播接收:生成一个随机的AES-128密钥/IV。用RSA公钥加密密钥。用密钥/iv加密付费广告。存储加密密钥、iv和加密的有效载荷。

登录:解密私钥。使用私钥解密AES密钥。使用AES密钥解密有效负载。

因为这是我想到的第一个想法,我不能担保它的安全特性。

我也不知道你在寻找什么安全属性--你想要防御什么攻击?为什么攻击者不能直接拦截广播呢?你不担心它在其他进程的记忆中徘徊吗?

票数 1
EN

Stack Overflow用户

发布于 2010-08-20 09:14:10

有两个想法:

  • BroadcastReceiver获取加密数据,通过存储的凭据进行登录,并获得解密数据的密钥。
  • You只存储加密数据并通知用户,因此用户登录以获取解密数据。

我不知道你的应用程序做什么,所以这只是猜测什么是可能的.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3529524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档