对于正在开发的嵌入式设备,我们需要登录其网站,而无需以明文形式发送用户凭据。
登录表单的外观应该是可自定义的,因此无法进行摘要式身份验证。我们看到的唯一剩下的选择是使用带SSL的HTTPS。
该设备通常通过其IP地址从本地网络访问,但也可以从互联网访问。
我的问题是:是否有可能阻止"无法认证"浏览器警告,没有为本地访问的设备分配DNS名称?在我看来,SSL证书必须绑定到DNS名称并在证书颁发机构认证,以便浏览器完全接受证书。
我完全清楚,如果没有经过认证的认证,浏览器就无法对Web服务器进行身份验证,这可能会导致“中间人”问题。攻击。
当设备完全配置时,它只能很少访问,但应该很容易访问。
答案 0 :(得分:7)
HTTPS允许将证书颁发给IP地址而不是主机名。实际上,HTTPS规范(RFC 2818)规定“在某些情况下,URI被指定为IP地址而不是主机名。在这种情况下,iPAddress subjectAltName必须存在于证书中,并且必须与URI中的IP完全匹配。“
因此,如果您可以从绑定到设备IP地址的CA获取SSL / TLS证书,则连接到它的客户端应该接受它为有效,因为(1)用于访问设备的URI是与证书中包含的IP地址匹配的IP地址,以及(2)证书由客户端设备信任的CA链发布。
如果您只需要使用您控制的客户端访问此设备,则可以使用自签名,绑定到您生成的IP地址,证书,但是您需要配置将明确访问它的每个客户端信任该证书,因为它不会由受信任的CA颁发。