我有一个ASP.Net Web API(v2),对它的所有调用都需要SSL,无一例外。该系统没有登录名,而是计划为用户提供可以识别他们的秘密密钥代码。所有未来的基于请求将包括该密钥键代码,以此来识别和验证用户是谁。
我的问题是SSL是否足以确保此安全?假设从不存在包含密钥的不安全连接,我是否需要经过其他长度来加密或保护它?我已经阅读过对称,不对称和哈希方法,但似乎只有在整个过程中都使用SSL的情况下,这才可能是多余的。
这似乎太简单了,我想念什么?
其他一些说明,秘密密钥代码不是由用户手动输入的。它要么存储在系统应用程序中(已加密),要么由与我们联系的另一家公司的API使用。
我猜这取决于您所说的“安全”是指安全运输吗?使用SSL,您所获得的只是从应用程序到服务器的安全通道,以及服务器的身份验证。如果您已经在各处使用SSL,那么我建议的唯一额外保护是证书固定,它可以防止流氓CA(此处提供更多信息和代码示例:https : //www.owasp.org/index.php/Certificate_and_Public_Key_Pinning) 。此外,请确保服务器上的SSL堆栈符合规范并禁用弱密码/易受攻击的密码。我认为,如果用户不输入任何内容进行身份验证,则对密钥代码进行其他操作(加密,签名)不会为您带来很多好处。
我将更关注您将密钥代码存储在应用程序中的位置,以及如何为用户提供密钥代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句