J Теллер справа; MPI на самом деле этого не делает, и не должен. Это проектное решение, основанное на сценарии использования MPI.
Пользователи MPI - это те люди, которые платят много денег за межсоединения с задержкой менее микросекунды. Затраты на какое-либо криптографическое подписание сообщений были бы совершенно неприемлемыми для этого сообщества.
И это не очень поможет. MPI используется в качестве интерфейса передачи сообщений в контролируемой среде - узлах в кластере с ограниченным доступом или, возможно, машинах в вычислительной лаборатории. Если злонамеренный пользователь получает достаточный контроль над одним из этих узлов, чтобы помешать обмену данными MPI, есть гораздо более простые способы прервать обмен данными, чем перехватывать пакеты, выяснить, какая стадия вычисления находится в стадии выполнения, и выполнить какую-то работу человека. средняя атака. Можно просто изменить память запущенного задания или, проще, просто перезаписать результаты в общей файловой системе. (можно просто заметить, что отправка поддельных сообщений MPI может произойти, поскольку «реальные» сообщения будут накапливаться, используя ресурсы и, возможно, сбивая задание; аналогично, перехват сообщений без их передачи почти наверняка приведет к тупику).
Эти аргументы не слишком применимы к распределенным вычислениям, конечно, скажем, в стиле BOINC, но MPI в любом случае не очень подходит для такого рода использования.
Ничто, конечно, не останавливает пользователя MPI, у которого есть такого рода требования безопасности, от простой отправки подписи в стиле pgp вместе с каждым сообщением и включения ее в свой код; но механизм для этого сам по себе не является частью MPI, и это, безусловно, правильное решение.