Juk*_*ela 7 security mpi openmpi mpich
当我通过TCP/IP套接字在进程之间发送MPI消息时,OpenMPI和MPICH如何处理安全性?
特别是,它们如何阻止同一网络的其他用户连接到侦听套接字并发送伪MPI消息?
具体方案如下:
J Teller的权利; MPI并没有真正做到这一点,它不应该这样做.这是基于MPI用例的设计决策.
MPI用户是那些为亚微秒延迟的互连支付大量资金的人.某种加密签名消息的开销对于这个社区来说是完全不可接受的.
无论如何它都无济于事.MPI的使用方式是作为受控环境中的消息传输接口 - 受限访问集群中的节点,或者计算实验室中的计算机.如果恶意用户获得对这些节点之一的足够控制以干扰MPI通信,则有更容易的方法来破坏通信而不是嗅探数据包,计算出正在进行的计算的哪个阶段,以及做某种类型的man-in-中间的攻击.可以只改变正在运行的作业的内存,或者更容易,只是覆盖共享文件系统上的结果.(注意简单地发送伪造的MPI消息可能会被注意到,因为"真实"消息会堆积起来,使用资源并可能使作业崩溃;类似地,拦截消息而不中继它们几乎肯定会导致死锁).
当然,这些论点并不适用于分布式计算,比如BOINC风格:但MPI并不适合这种用途.
当然,没有任何东西可以阻止具有这种安全性要求的MPI用户简单地将pgp样式的签名与每条消息一起发送并将其合并到他们的代码中; 但是这样做的机制本身并不是MPI的一部分,这当然是正确的决定.