IPFS官方:将取消对SECIO安全传输的支持!

来源:IPFS官方 作者:Filecoin官方 阅读: 2020-11-06 14:24

  我们正在删除IPFS和libp2p中对SECIO安全传输的支持。您可以通过更新到最新版本来减轻对您的分布式存储节点的影响。当支持被移除时,新节点应该不会经历任何明显的变化,但老节点将开始经历性能下降。请继续阅读以了解更多细节。

IPFS官方

  什么是安全传输?

  安全传输是libp2p的组件,它在网络上发送数据时对数据进行加密。Libp2p提供了在建立连接后协商安全传输的能力,使节点能够支持多个安全传输。一旦安全传输被协商,所有发送和接收的数据都会被加密,只有预定的对等体才能解密。

  简要历史

  SECIO是一种类似于TLS的安全传输,是在2014年为IPFS和libp2p开发的,以缓解与TLS1.2需要证书授权的差距。由于其底层算法得到广泛支持,SECIO一直是所有libp2p实现的主要安全传输。2019年5月,go-ipfs0.4.21增加了对TLS1.3的支持,在2020年4月的go-ipfs0.5中,它成为默认的安全传输。然而TLS1.3仍在获得libp2p实现的支持,并且在浏览器上下文中无法访问,因此并非所有libp2p实现都能将其作为默认安全传输。虽然网络浏览器已经引入了对TLS1.3的支持,但我们没有办法为libp2p附加必要的身份信息。Go-ipfs0.6还增加了对QUIC传输的支持,它内部使用TLS1.3。QUIC也还没有得到广泛的支持,所以我们仍然存在和TLS1.3本身一样的问题。那么,如果我们不能处处支持TLS1.3或QUIC,如何才能成功废弃SECIO,转而使用更现代、更广泛的安全传输呢?答案是:Noise安全传输(https://github.com/libp2p/specs/tree/master/noise),它是利用Noise协议框架创建的。(https://noiseprotocol.org/noise.html)Noise提供了一套用于组成广泛支持的加密基元的模式,这使得我们可以更容易地在各种libp2p实现中添加支持。在go-ipfs 0.6、js-ipfs 0.47中增加了对Noise的支持,并在主要的IPFS网络基础设施中进行了更新。SECIO从来就不是为了成为一个永久的安全传输。现在我们有了Noise的广泛支持,有了TLS1.3的支持,SECIO是时候被废弃了。

  什么时候发生?

  SECIO将在0.7版本中从go-ipfs中移除,你可以在Github问题中追踪(https://github.com/ipfs/go-ipfs/issues/7560)该版本暂定于 8 月 25 日发布。我们也将在同一时间协调发布 js-ipfs,以移除 SECIO。

相关推荐