Scorpio, вы не в том направлении двигаетесь.
Свзяка должна быть такой:
esp8266 - отправляет данные -> внешний публичный mqtt сервер
телефон или компьютер - подключается -> внешний публичный mqtt сервер
так "внешний публичный mqtt сервер" выступит в роли прокси сервера для ваших данных.
безопасность настраивается на уровне логина пароля подключения к mqtt серверу
Я уже давал ссылку
http://esp8266.ru/iot-manager-for-diy/там рекомендуют "CloudMQTT.com" в качестве бесплатного публичного mqtt сервера.
всё что вам нужно написано в приведённой статье.
Я тут подразумеваю что ваш локальный роутер разрешает исходящую связь для любого внутреннего ip (обычный домашний роутер)
Если не доверяете внешнему серверу, то кроме логина и пароля можно ещё дополнительно шифровать передаваемые данные, например через строковое значение.
Правда я не знаю как у esp с шифрованием, но для начала можно сделать без шифрования.