0

我有多组传感器网络将数据发送到 .net web api。不知何故,我需要保护 API 的一些端点(以便我可以确定发送到 API 的信息确实来自传感器)。基本身份验证和 SSL 似乎是一种方法。问题是我无法理解 SSL 部分。

到目前为止,我已经创建了一个存储在传感器上的客户端证书,可以通过 Request.GetClientCertificate() 方法在 API 中检索证书的信息。当我只想使用基本身份验证来保护我的 Api 时,这是否有点矫枉过正?也就是说,仅通过 https 发送数据而不提供证书,通信是否安全?

我不需要使用证书进行身份验证(因为这是通过基本身份验证完成的)。

4

1 回答 1

5

基本身份验证是将 HTTP 授权标头中的用户名和密码作为纯文本(base64 编码但未加密)发送。出于这个原因,您需要使用带有基本身份验证的 HTTPS,这样中间的人就不会看到客户端发送的用户名和密码。

说到 HTTPS,有一个服务器证书和一个客户端证书。服务器将服务器证书发送给客户端,以便客户端可以确定它是它正在连接的正确服务器。类似地,客户端可以向服务器发送客户端证书,以便服务器可以确定是否是真实的客户端正在与它交谈。

客户端证书部分在 HTTPS 中是可选的。因此,您可以在不使用客户端证书的情况下使用基本身份验证。如果您使用客户端证书,它已经是一个凭证并且您不需要使用基本身份验证,除非您想使用双因素身份验证。TFA 是不是矫枉过正 - 由您决定。

于 2013-06-12T06:54:54.493 回答