gpt4 book ai didi

java - Xamarin KeyStore 密码保护字段

转载 作者:行者123 更新时间:2023-11-30 01:56:20 25 4
gpt4 key购买 nike

我正在利用 JAVA KeyStore 类来存储用户的 OAUTH token ,例如 Dropbox。

它可以正常工作,但我担心它的安全性,因为我对它的存储方式或存储位置知之甚少。

http://www.howtobuildsoftware.com/index.php/how-do/ZPR/c-android-xamarin-monodroid-sqlcipher-correct-way-to-store-encryption-key-for-sqlcipher-database

我的代码基于上面的示例,但未提供的一件事是为什么密码字段为空。

所以我的问题是,这应该为空吗?或者它是否应该包含我的应用程序特有的密码,如果是后者,我将在哪里保护我的应用程序密码,因为我在这里有点先有鸡还是先有蛋的情况。

尼克。

最佳答案

one thing that is not provided is why the Password field is null.

该实现中的问题是应该使用什么“密码”。

I'm in a bit of a chicken and an egg scenario here.

如果密码在应用程序中被硬编码,您也可以使用 null (恕我直言...但我与安全研究人员合作过,并且看到了他们的工具包和提供给方法的硬编码密码他们破解这个调用的时间不到 2 分钟,所以我想黑客可以在更短的时间内获得它 😉),就像通过非网络从 Web API 动态检索“密码”一样安全通道。

注意:我并不是说使用空/空白密码就可以,我,请继续阅读。

在每次使用 keystore 之前提示用户输入密码(以刷卡模式、密码、PIN 等形式)将使该实现方式“更安全”,但会以应用程序|用户可用性为代价,只有您和您的用户才能确定应用程序的用例。就我个人而言,我喜欢当我的银行应用程序提示我输入 PIN 码并通过短信和另一个 PIN 码验证访问权限时,但这可能只是我一个人的情况。 😂

仅供引用:对于大多数黑客和研究人员来说,仅通过一个应用程序和密码就能够窃取多个站点的用户 OAUTH token ,这将是相当有吸引力的。

It's working as it is, but I'm concerned about the security

你应该如此。 😜

恕我直言,您所指的实现非常薄弱。如果应用程序至少在 API 级别 18 上运行,则至少应该检查并使用 Android Keystone 提供程序 (AndroidKeyStore)。如果您的应用程序仅支持 18+(或在 18+设备),您不应该维护自己的 keystore 文件(恕我直言……但我无法想象安全研究人员会不同意,但如果他们认为您应该这样做,我很想听听他们的论点)。

使用 keystore 提供程序可以使您和您的应用程序免于像操作系统那样创建/维护/保护该 keystore 文件,并且它使用用户的 token /密码/密码/锁定模式/等...来保护实际的文件存储本身。 不再有鸡生蛋蛋生鸡的问题。

当然,这不包括您的应用程序检查 root 设备执行、恶意应用程序安装、当前安全漏洞测试、未修补和/或缺少安全补丁等...但至少这是一个开始😎。 (我曾在一些非常安全的 DevOps 环境中工作过)。

此外,该实现不会检查安全硬件; IE。 KeyInfo.IsInsideSecurityHardware、KeyInfo.IsUserAuthenticationRequirementEnforcedBySecureHardware 等...

Google 有一些很好的 keystore 培训 Material ,涵盖 keystore 提供商等主题:

https://developer.android.com/training/articles/keystore#java

关于java - Xamarin KeyStore 密码保护字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54386766/

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