Node.js 用于服务器到服务器通信的SSL证书替代方案

Node.js 用于服务器到服务器通信的SSL证书替代方案,node.js,ssl,express,ssl-certificate,Node.js,Ssl,Express,Ssl Certificate,我正在开发一个基于Express框架的Node.js应用程序。在后端,我需要让服务器相互通信(即,服务器1向服务器2发出请求) 放弃DNS a记录而只使用服务器的IP地址可以吗 在这种情况下,如何对服务器和“客户机”(又名服务器)进行身份验证。我在考虑要求服务器和“客户机”各自传递一个安全cookie及其请求和响应。然后,在采取任何其他操作之前,将验证安全cookie。使用IP可能比DNS更安全(例如,没有DNS欺骗),但它仍然允许ARP欺骗,例如,某些其他计算机声称拥有此IP。如果两台计算机不

我正在开发一个基于Express框架的Node.js应用程序。在后端,我需要让服务器相互通信(即,服务器1向服务器2发出请求)

放弃DNS a记录而只使用服务器的IP地址可以吗


在这种情况下,如何对服务器和“客户机”(又名服务器)进行身份验证。我在考虑要求服务器和“客户机”各自传递一个安全cookie及其请求和响应。然后,在采取任何其他操作之前,将验证安全cookie。

使用IP可能比DNS更安全(例如,没有DNS欺骗),但它仍然允许ARP欺骗,例如,某些其他计算机声称拥有此IP。如果两台计算机不在同一个网络中,也有办法劫持路由器中的请求等

安全cookie是一个共享秘密。与基于公钥的身份验证(例如,使用证书)相反,共享机密的缺点是,您需要以安全的方式分发它们,以便其他人无法访问它们


我不认为您的想法比使用证书的SSL更容易处理,因此我不认为创建自己的安全协议有什么好处。历史告诉我们,这种自主开发的协议提供的安全性通常比现有的解决方案差。

如果您不关心安全性(这些主机位于您的网络上,您可以信任这些主机),就不用担心自主开发的cookie

如果您确实关心安全性,请获取(或生成您自己的)证书并使用SSL

我在考虑要求服务器和“客户机”各自传递一个安全cookie及其请求和响应。然后,在采取任何其他操作之前,将验证安全cookie

这根本不安全!位于客户机和服务器之间的适当网络上的任何人都可以看到“安全cookie”,以及任何后续通信。这将允许他们自己重用cookie来模拟客户机或服务器,并公开在exchange中发送的任何敏感信息


使用SSL。它已经解决了所有这些问题,还有更多问题。

说清楚一点,我将始终使用SSL。这个问题涉及到验证每台服务器是否是他们所说的服务器(即共享机密、SSL证书等)