在应用程序中安全地保存密钥或字符串 - Xamarin 表单

Posted

技术标签:

【中文标题】在应用程序中安全地保存密钥或字符串 - Xamarin 表单【英文标题】:Save Key or String securely in app - Xamarin Form 【发布时间】:2021-09-02 01:00:06 【问题描述】:

我一直在关注有关储蓄的各种文章和答案 API 密钥/密码/字符串仍然没有得到我一直在搜索的具体信息。

这个想法是在 Xamarin.Form 中以字符串的形式保存 KEY 调试时可以访问 KEY 的位置 但如果对 APK 或 IPA 文件进行逆向工程,则不应暴露。

我的一位同事“Gradle”曾经在 android native 中做过类似的事情。 但我不确定它以及我在哪里可以在 Xamarin.Forms 中使用 ios 和 Android

任何相关的信息都会很有帮助

【问题讨论】:

如果我对你的理解正确..你想在你的应用程序中保存一些信息。以某种方式应用程序可以访问它,但任何有权访问该应用程序的人都没有? @FranzGleichmann 是的......完全正确!但如果逆向工程,我不希望通过 APK 或 IPA 文件公开字符串/密钥 这在逻辑上是不可能的。有权访问该应用程序的每个人都可以访问该应用程序可以访问的内容。想一想:无论密钥是多么隐藏和加密,在某个点,应用程序都需要将它作为纯文本,以便它可以实际使用它。你可以通过隐藏、加密和混淆来让攻击者更难对付,但你不能让它变得不可行。 【参考方案1】:

您最好使用SecureStorage,这将使用平台特定的安全存储来存储您提供的数据。

正如 cmets 中所指出的,您应该始终假设有人能够访问您的代码并对其进行逆向工程。使用每个平台的安全商店将要求访问该设备的任何人都能够通过 PIN 或生物识别技术将其解锁,具体取决于设备。

【讨论】:

感谢 Bijington 的更新,并为迟到的回复表示歉意,我已按照您提供的链接进行操作,但我的工作同事不接受该方法。我关注了已使用的论坛之一。 admcpr.com/…

以上是关于在应用程序中安全地保存密钥或字符串 - Xamarin 表单的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS/Cocoa 应用程序中安全地包含密钥/签名

如何在移动应用程序中进行客户端加密时以安全的方式存储我的加密密钥?

是否可以在客户端安全地验证离线许可证密钥?

有没有办法在 php 中隐藏加密密钥或算法?

使用 Ansible 生成密钥

在哪里/如何在 Google Colabs 中安全地存储 API 密钥?