gpt4 book ai didi

android - 在没有密码的情况下从 AndroidKeyStore 获取 AES key 是否不安全?

转载 作者:行者123 更新时间:2023-12-02 12:57:18 25 4
gpt4 key购买 nike

我正在创建一个小型 Android 应用程序(API > 23)并且必须在没有登录屏幕的情况下进行。尽管如此,用户的数据应该被加密,为此我从 AndroidKeyStore 生成或加载一个 AES key :

fun generateSymmetricKey(keyAlias: String): Key {
val keyStore = KeyStore.getInstance("AndroidKeyStore")
keyStore.load(null)
if (!keyStore.containsAlias(keyAlias)) {
val keyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore")
val keyGenParameterSpec =
KeyGenParameterSpec.Builder(
keyAlias,
KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT
)
.setBlockModes(KeyProperties.BLOCK_MODE_CBC)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
.build()
keyGenerator.init(keyGenParameterSpec)
return keyGenerator.generateKey()
}
return keyStore.getKey(keyAlias,null)
}

使用 getKey 方法,我在没有给定密码的情况下从 Keystore 加载存储的 key 。如果这会使 KeyStore 不安全,就会出现问题。或者Android自己在创建APK时是否为这个KeyStore设置了密码。

最佳答案

据我所知,只有同一个 App 可以访问其 KeyStore 对象。所以理论上,你应该是安全的。
但是请记住,当用户将您的应用程序安装在某种并行空间(例如 Parallels)中时,从操作系统的角度来看,该空间内的每个应用程序都是同一个应用程序。因此,这些应用程序也可以访问您的 KeyStore 条目。

关于android - 在没有密码的情况下从 AndroidKeyStore 获取 AES key 是否不安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59897945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com