在钥匙串中存储用于加密密码的密钥的最佳位置在哪里

时间:2019-11-22 08:31:52

标签: ios swift xcode security encryption

我想实现第二项安全保护,因为当手机入狱时,钥匙串很脆弱,并且我不希望仅通过钥匙串来保护我的密码,这就是为什么我要在保存之前由我自己加密密码在钥匙串中。我要对其进行加密的原因是,用于登录的服务器接受未哈希的纯文本密码。我的想法是进行加密,当用户首次登录时,密码以纯文本形式发送,然后进行加密。加密发生在后端,后端可以对其进行解密。这是一个好主意吗,因为当用户更改通行证时,他需要以纯文本形式输入旧通行证,并且我拨打了我发送密码的加密路径,它用一个已加密的通行证回应了我,比较它们。因此,钥匙串中只有加密的。我想问一下,如果我正在加密设备上的密码,是否有更好的方法来存储密钥。如果它是静态的硬编码字段,那么它也不在钥匙串中也是可以的,并且在服务器上,可以为每个用户使用不同的加密密钥。最好的方法是什么。

1 个答案:

答案 0 :(得分:0)

该问题没有好的答案,因为威胁媒介太广泛了。即使设备安全受到威胁(电话用户已经越狱/被黑),您也希望保护一些秘密信息。关于此的最佳信息可以在本文中找到: https://nshipster.com/secrets/

TL; DR:“不要(但是,如果必须的话,混淆不会造成伤害)。”