Я делаю настольное приложение (python), которое может взаимодействовать с приложением для Android, используя оба клиента mqtt. Я хочу знать, как защитить или скрыть мои данные mqtt (имя пользователя, пароль, ip, порт) от всех, кто продолжает искать приложение для настольного компьютера.
В настоящее время у меня есть данные сервера mqtt (имя пользователя, пароль, IP, порт) в файле config.ini, который доступен всем, кто хочет посмотреть. Я подумал о шифровании конфигурационного файла или о жестком кодировании деталей в самом коде и преобразовании кода в exe или его запутывание. Но, просматривая всю информацию в Интернете, кажется, что если кто-то серьезно пытается, обфускацию или упаковку кода можно легко реконструировать, и любое шифрование небезопасно, так как опять же, ключ шифрования может быть получен и из кода, созданного обратным способом.
Способ, который был предложен в разных ссылках для другого (но похожего) сценария, заключался в том, чтобы вообще не включать подробности на стороне клиента, а сохранять их на стороне сервера и извлекать их с помощью вызова API. Я тоже могу это сделать. Но я не уверен, что это послужит цели, так как если кто-то может прочитать код, он также может вызвать этот API и получить подробности mqtt.
Так как с этим справиться? Если можно обеспечить защиту на основе API, то как это сделать?