首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android -安全存储

Android -安全存储
EN

Stack Overflow用户
提问于 2011-03-04 10:11:08
回答 4查看 18.1K关注 0票数 11

我如何在android设备中存储密钥,唯一的可能性是使用密钥,而不是检索密钥。例如:我从应用程序导入一个私有/生成RSA密钥对或对称密钥到这个“安全存储”。现在,应该没有人能够检索到密钥,即使是原始应用程序也不能。(密钥的非机密部分- RSA密钥对的公钥-但不是对称密钥的一部分-应该仍然是可检索的,特别是如果密钥是在安全存储中生成的)

密钥库现在应该充当一个黑盒,为加密数据提供输入,为解密数据提供输出,例如,我提供我想要解密的加密值,并获得解密的值。

这是一个很大的优势,如果这是在android设备的硬件安全芯片中实现的,比如智能卡芯片,它是防篡改的,即使设备是根植和克隆的,它也会保持密钥的安全。

有没有想到哪款安卓手机,有这样一个防篡改的芯片?对如何使用这样的存储有什么想法吗?

找到一个类似的问题:Android Secure Storage,但这不能回答我的问题。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-07-11 12:30:41

我会有保留地回答这个问题。

https://developer.android.com/training/articles/keystore.html

“密钥材料可以绑定到安卓设备的安全硬件(例如,可信执行环境(TEE)、安全元件(SE))。当为密钥启用此功能时,其密钥材料永远不会暴露在安全硬件之外。”

因此,您需要为密钥启用该功能。然而,

“如果安卓操作系统被攻破或攻击者可以读取设备的内部存储,攻击者可能能够在安卓设备上使用任何应用程序的安卓密钥库密钥,但不能从设备中提取它们。”

这是因为Android允许在没有秘密的情况下使用密钥,这本质上是不安全的。所以我有保留意见。

在回答带有安全芯片的安卓设备时,我会说是搜索。看起来TEE socs已经存在一段时间了。

秘诀:______________

票数 7
EN

Stack Overflow用户

发布于 2014-03-06 12:34:44

了解了在Android上获得安全存储所需的操作:

您需要购买一张符合ASSD规范(高级安全SD)的安全MicroSD卡。这是一个包含安全元素的PKI卡,通常是一个MicroSD解决方案,您可以在卡上生成私钥,这样私钥就不可能被提取出来,但是公钥可以被提取出来,并用它来加密只有MicroSD卡才能解密的东西。

两个例子是CertGate MicroSD (称为"SmartCard-HSM Android“的消费版)和G&D移动安全卡(G&D Mobile Security Card )。

这使得它成为一个安全的存储,不能被扎根的手机破解,也不能被复制,根据定义是不可能的。如果命中正确,唯一的方法是使用公钥来暴力强制私钥作为验证。但是如果你使用RSA-2048,这在技术上也是不可能的。

原因是手机制造商似乎将内置的手机安全元素锁定到制造商批准的应用程序,因此您不能随意使用它。唯一的方法实际上是以MicroSD卡的形式向手机添加一个安全元素。

(此答案仅适用于安卓5.0之前的版本)

票数 5
EN

Stack Overflow用户

发布于 2011-03-04 10:58:33

你可以看看CertStoreKeyStore,尽管我不知道它们是如何在安卓上实现的。我做了一些搜索,但没有找到任何有希望的例子,实际上在安卓-安全-讨论组中找到了一个post,表明这可能在安卓上不起作用。

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

https://stackoverflow.com/questions/5188934

复制
相关文章

相似问题

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