我有个问题。我已经开发了一个使用WebRtc的网络应用程序,用于通过浏览器使用WebRtc与节点js上的信令服务器进行一对一的视频通话(例如侦听8181端口)。
现在,我将实施MITM攻击。我当时在想,Peer_1应该调用两个rtc对等连接,一个用于第二个对等(Peer_2),一个连接到MITM。第二个伙伴也是如此。
现在,我认为对于从两个对等方收到的每个rtc对等方连接,信令服务器都需要侦听另一个端口(例如,Peer_1为8282,Peer_2为8383)。
我对吗?我认为这是因为信令服务器的实现是一对一通信。
这样,端口8181上的信令服务器允许Peer_1和Peer_2进行端到端通信,在8282上有Peer_1和MITM的信令路径,在8383上有MITM和Peer_2的信令路径。
我说的对吗?感谢您的支持。
最佳答案
中间的人指的是传输过程中的拦截,WebRTC本身可以防止使用DTLS和密钥交换,因此弱点通常是由应用程序选择的信令服务器。
但是,您所描述的听起来像两端都是男人。您必须信任服务(服务器)以确保您与之连接。如果该服务器受到攻击,或者任何一个客户端受到攻击(例如通过注入),那么就无法保证您正在与谁谈话,因为客户端可以轻松地将传输转发给另一方。