Нет, этот протокол небезопасен.
Человек в середине может перехватить данные, отправленные клиентом, и отправить на сервер все, что он хочет, так как вы не указали какой-либо механизм для сервера для аутентификации клиента или проверки целостности сообщений, которые он получает.
Конечно, вы могли бы вылечить свой протокол, чтобы исправить эти явные проблемы, но были бы другие. Если вы когда-нибудь исправите их все, у вас будет что-то, сопоставленное с TLS или SSH, так почему бы просто не начать там?
@ Petoj & ndash; проблема, на которой я сосредоточился, заключалась в том, что сервер доверял полученным сообщениям; ваше предложение не обеспечивает никакой безопасности там. Однако, если вы беспокоитесь о конфиденциальности, у вас все еще есть проблема, потому что MITM может передавать сообщения назад и вперед без изменений, пока он не увидит, что хочет найти, потому что у вас нет конфиденциальности в клиентских сообщениях.
Похоже, что ваше предложение направлено на обеспечение целостности сообщений от клиента. Вы разработали протокол до такой степени, что клиент не может различить атаку и сбой сети. Вместо того, чтобы пытаться помочь клиенту определить, действовал ли сервер с подделанным сообщением, позвольте серверу проверить целостность сообщения, прежде чем действовать на него.