我们已经创建了示例web api并托管在azure中。因为我们有很多get和Post方法。我们必须通过传递一些敏感数据(如SSN等)来通过API获得响应。我们认为第三方可以查看查询参数值。 SSL可以解决问题吗?还是有一些方法可以解决这个问题?
答案 0 :(得分:1)
如果您已经拥有 HTTPS(HTTP + SSL),为什么要实施新的解决方案?请求正文默认是加密的。您可以停用较弱的密码套件,只允许更高的 TLS 版本。您可能还希望在执行此操作时考虑客户端兼容性,因为并非所有客户端都支持所有密码套件& TLS 协议版本。
您可以通过禁用其他 SSL / TLS 协议版本为客户端强制执行TLS 1.2。与其前身相比,它的实现更加严格。您可以在此处阅读:Major Differences from TLS 1.1
您尚未提及您的网络API是否托管在 Azure VM /云服务/ Azure应用服务上。您无法在Azure App Service中控制服务器上的TLS / SSL配置。
注意:启用 HTTPS 或实施加密并不能保证一个万无一失的解决方案。您应该确保安全地存储秘密,并且如@ Panagiotis 所指出的那样,您还必须确保不在服务器/应用程序日志中存储任何敏感信息。 安全性是一个更广泛的概念, HTTPS 解决了其中一项要求。