Я начинаю новый проект в ближайшие недели, но у меня есть некоторые вопросы, связанные с «дизайном» приложения.TLS - сервер Node.js для Android-приложения
Приложение будет сервером + база данных, которая разговаривает с Android-приложением, которое также имеет собственную базу данных (для использования в автономном режиме).
Соединение будет использоваться для обмена строками, которые зашифрованы с помощью специального «протокола» (протокол сетевой игры, инкапсулированный в TLS). Это означает, что приложение будет иметь два слоя защиты:
- TLS -> против MiTM атак
- Пользовательского протокола -> против «в игре хаки», как игра пакет фальсификации
Моего вопросы следующие:
- Возможно ли использовать TLS между node.js и Android? Есть ли хорошие ссылки на эту тему?
(я прочитал там были некоторые проблемы с форматом, который был сертификаты отличается в Java и Node.js. Это было связано с OpenSSL и функция EVP_BytesToKey
)
->Encrypt with Node.js Crypto module and decrypt with Java (in Android app)
->http://olabini.com/blog/tag/evp_bytestokey/
- есть ли способ запутывания исходного кода Android приложения, так что «протокол» пользовательский может быть расшифрована на стороне клиента безопасно? Или должно ли все волшебство иметь серверную сторону?
(я не хочу дешифрование исходного кода, чтобы быть видимыми для пользователей, чтобы рассекать собственный протокол и приступить к разработке хаков.)
- Любые советы или ссылки на повышение безопасности моего узла .js в целом?
(я слышал, некоторые люди говорят о Nginx прокси, но так как я не служу веб-страниц, это все еще имеет смысл? Не будет ли это перегрузить сервер?)
Спасибо много заранее!