存储 SSH 凭据的安全方式(MAUI / C# 应用程序)

问题描述 投票:0回答:1

我目前使用首选项来保存我在应用程序中重复使用的所有其他数据。那么,当涉及到 SSH 凭据时,主机/端口/用户名可以以纯文本形式存储,但密码怎么办?

        Preferences.Default.Set("hostname", entryHostname.Text);
        Preferences.Default.Set("port", int.Parse(entryPort.Text));
        Preferences.Default.Set("username", entryUsername.Text);

可以加密并存储为stringbyte数组吗?

也许序列化一个 ConnectionInfo 对象并将其保存为 .json 文件?

还有哪些其他选择?其他应用程序如何以安全的方式存储凭据?

c# ssh maui password-encryption password-storage
1个回答
0
投票

没有 100% 安全的方法可以在本地存储重要凭据而不存在被泄露的风险。即使您尝试加密这些值,只要它是在应用程序中完成并且是应用程序代码的一部分,它也不是完全安全的。您可以尝试将重要数据存储在云端,并将它们临时加载到内存中以供使用,但这种可能性取决于您的应用程序的上下文。

此外,操作系统也很重要。在 Android 和 iOS 中,使用应用程序或外部工具提取应用程序保存的数据通常比较困难。

© www.soinside.com 2019 - 2024. All rights reserved.