DNSCrypt如何通过输入24小时有效期来解决过期的证书问题



过去,证书经常过期,因为必须手动对其进行更新。 人们只是忘了这样做。 随着“加密”的出现和自动更新过程的出现,该问题似乎已解决。 但是,最近有关Firefox的故事表明,它实际上仍然有意义。 不幸的是,证书继续过期。

如果有人错过了这个故事,几乎所有Firefox扩展程序都会在2019年5月4日午夜突然停止工作。

事实证明,由于Mozilla已使用于签署扩展名的证书过期,导致了一次巨大的失败。 因此,它们被标记为“无效”并且没有通过测试( 技术细节 )。 在解决方案上,我们建议您在论坛上通过about:config或通过翻译系统时钟来禁用扩展签名验证。

Mozilla迅速发布了Firefox 66.0.4补丁程序,该补丁程序使用无效的证书解决了该问题,并且所有扩展名均恢复为正常形式。 开发人员建议安装它, 不要使用任何解决方法来绕过签名验证,因为它们可能与补丁程序冲突。

但是,这个故事再次表明,证书的过期仍然是当今的紧迫问题。

在这方面,有趣的是以一种非常原始的方式来看待DNSCrypt协议的开发人员如何应对这一任务。 他们的解决方案可以分为两部分。 首先,这些是短期证书。 其次,警告用户长期使用权即将到期。

DNS加密


DNSCrypt-DNS流量加密协议。 它可以保护DNS通信免受拦截和MiTM的侵害,还可以让您绕过DNS查询级别的阻止。

该协议采用UDP和TCP传输协议,以加密设计包装客户端和服务器之间的DNS通信。 要使用它,客户端和DNS解析器都必须支持DNSCrypt。 例如,自2016年3月以来,已在其DNS服务器和Yandex浏览器中启用了该功能。 其他一些提供商宣布了支持,其中包括Google和Cloudflare。 不幸的是,它们并不多(官方网站上列出了152个公共DNS服务器)。 但是dnscrypt-proxy程序可以在Linux,Windows和MacOS下的客户端上手动安装。 有服务器实现



DNSCrypt如何工作? 简而言之,客户端使用选定提供者的公钥,并在其帮助下检查其证书。 已经有用于会话的短期公共密钥和密码套件的标识符。 建议客户端为每个请求生成一个新密钥,并且建议服务器每24小时更改一次密钥。 交换密钥时,使用X25519算法,使用EdDSA进行签名,使用XSalsa20-Poly1305或XChaCha20-Poly1305进行块加密。

协议开发人员之一Frank Denis 写道 ,每24小时自动更换可以解决证书过期的问题。 原则上,dnscrypt-proxy参考客户端接受具有任何有效期的证书,但如果有效期超过24小时,则会显示警告“此服务器的dnscrypt-proxy密钥期太长”。 同时,发布了一个Docker映像,其中他们实现了密钥(和证书)的快速更改。

首先,它对安全性非常有用:如果服务器受到威胁或密钥泄漏,那么昨天的流量将无法解密。 密钥已更改。 这对于实施“春季法律”可能是一个问题,该法律迫使提供商存储所有流量,包括加密流量。 可以理解,以后可以根据需要通过从站点请求密钥来解密它。 但是在这种情况下,该站点将无法提供它,因为它使用短期密钥,删除了旧密钥。

但最重要的是,Denis写道,短期密钥迫使服务器从一开始就配置自动化。 如果服务器连接到网络,并且密钥更改脚本未配置或不起作用,则将立即检测到该情况。

当自动化每隔几年更改一次密钥时,您就不能依靠它,而人们可能会忘记证书的有效期。 每天更改一次密钥,即可立即检测到。

同时,如果自动化配置正常,则更改密钥的频率无关紧要:每年,每季度或每天更改三次。 弗兰克·丹尼斯(Frank Denis)写道,如果一切工作超过24小时,它将永远有效。 据他介绍,建议在协议的第二版本中每日更改密钥,以及实现该协议的现成的Docker映像,有效减少了带有过期证书的服务器数量,同时提高了安全性。

但是,出于某些技术原因,一些提供商仍然决定将证书有效期设置为24小时以上。 此问题主要通过dnscrypt-proxy中的几行代码解决:用户在证书过期30天之前收到一条信息性警告,在证书过期7天之前收到另一条具有更高严重性级别的消息,以及一条仍然存在的严重消息少于24小时。 这仅适用于最初具有较长有效期的证书。

此类消息使用户能够在证书过期之前通知DNS运营商即将过期的证书。

也许如果所有Firefox用户都收到了这样的消息,则可能有人会通知开发人员,并且他们将不允许证书过期。 “我不记得在过去两三年中证书过期的公共DNS服务器列表中的单个DNSCrypt服务器,” Frank Denis写道。 无论如何,最好先警告用户,不要在没有警告的情况下关闭扩展名。





Source: https://habr.com/ru/post/zh-CN451506/


All Articles