首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android应用程序中ECC密钥的保护

Android应用程序中ECC密钥的保护
EN

Stack Overflow用户
提问于 2019-02-20 15:08:57
回答 1查看 778关注 0票数 2

我使用ECC密钥对完成了一个Android应用程序。当我去年开发它时,我想在Android中创建ECC键。不幸的是,多亏了ECDH,这个ECC密钥被用来生成会话密钥,而ECDH不受Android的支持(这就是我在这里所说的:Android密钥存储中的带密钥ECDH )。

我遵循了建议:我在Android KeyStore中创建了一个AES密钥,并且在将它存储到SharedPreferences中之前,我使用它来加密ECC密钥。Android KeyStore确保不能提取AES密钥,并且只有我的应用程序可以使用它解密ECC密钥。

我现在有一个关心的问题,我想听听你的建议:

如果有人在根手机上安装我的应用程序,获取APK,卸载并修改它,以便在读取和解密后打印ECC密钥,该怎么办?我没有这个技能,但我想有些黑客会这么做。如果这是可行的,那就意味着我所使用的保护是没有效率的。

在我的例子中,使用ECDH是不可协商的,所以我有什么解决方案来保护我的ECC密钥对?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-02-21 15:59:18

除非有安全的硬件支持,否则无法确保密钥是不可提取的。

对于有根的电话,攻击者不需要修改和重新安装您的APK才能使用您的密钥。该设备上任何具有根权限的应用程序都可以与您的应用程序挂钩,并表现得像它一样。即使在受信任的环境中,他们也可以使用您的硬件后台密钥。他们唯一不能做的就是从设备中提取钥匙。

您可能想读一篇关于TEE和AndroidKeyStore:http://www.cs.ru.nl/~joeri/papers/spsm14.pdf的相对较旧的论文。特别是“设备绑定结果概述”。

为了减少攻击面,您可以:

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

https://stackoverflow.com/questions/54789464

复制
相关文章

相似问题

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