Пока кто-то не исправит меня, я думаю, что нашел свое решение. Проблема использования самозаверяющих сертификатов с голыми IP-адресами снова похожа на ту, что мы видим с доменными именами. MITM может олицетворять IP-адрес так же, как и олицетворение домена. Поэтому очень важно либо использовать сертификаты CA, либо убедиться, что клиент уже знает, каким самоподписанным сертификатам ему нужно доверять.
Итак, проблема самозаверяющих сертификатов с голым IP решена. По сути, это так же уязвимо, как использование самозаверяющих сертификатов с любым другим доменным именем.
В моем случае у меня должен быть сертификат CA, поскольку я не могу контролировать сеть, из которой мои клиенты будут пытаться подключиться к моему серверу.