Мобильное приложение хранит эти секреты, а затем использует их для регистрации, запросов на вход в API.
Пожалуйста, не помещайте никаких секретов в ваше мобильное приложение, поскольку они могут быть легко восстановленыс такими фреймворками, как Xposed .
Мобильные приложения можно сделать более безопасными и сложными для обратного инжиниринга, используя некоторые методы для защиты секретов как в Mobile APP, так и на сервере API, например:
- Закрепление сертификата для защиты канала связи между мобильным приложением и API.
- Подписанные / зашифрованные сообщения HMAC.
- Подписанные токены JWT с зашифрованным содержимым.
- OAUTH2 как более безопасная альтернатива для аутентификации ваших пользователей.
- Продвинутые методы обфускации кода в коде мобильного приложения.
Вы можете узнать больше о том, как некоторые из этогометоды могут быть использованы и обойдены в этой статье .
Однако мне любопытно, что ВОЗ защитит регистрацию, API входа в системуот анонимных абонентов
Если вы прочитали статью, о которой я упоминал выше, о методах Mobile API, вы знаете, что вам нужно защитить все конечные точки API, даже те, которые стоят за аутентификацией, иначе вы будетев случае злоупотребления API ваших конечных точек автоматизированными скриптами, ботами, сканерами и любыми злоумышленниками, которые могут получить выгоду от вашего сервиса или данных.
Для усиления безопасности между вашим мобильным приложением и сервером API вы должны использоватьСлужба аттестации мобильных приложений, которая во время выполнения гарантирует, что ваше приложение не было взломано или не запущено на корневом устройстве с помощью встроенного в приложение SDK и службы аттестации, работающей в облаке, которая будет выдавать подписанный токен JWTчто сервер API может проверить, чтобы отличить действительный запрос от поддельного.
JWT Token
Аутентификация на основе токена
JSONWeb Tokens - это открытый промышленный стандарт RFC 7519 для представления заявок.безопасно между двумя сторонами.
Закрепление сертификата
Закрепление - это процесс связывания хоста с ожидаемым сертификатом X509 или открытым ключом.Когда сертификат или открытый ключ известен или виден для хоста, сертификат или открытый ключ связывается или «закрепляется» на хосте.Если допустимо более одного сертификата или открытого ключа, программа хранит набор выводов (по словам Джона Ларимера и Кенни Рута из Google I / O talk).В этом случае объявленное удостоверение должно соответствовать одному из элементов в наборе контактов.
OAUTH2
Среда авторизации OAuth 2.0 позволяет использовать третий-приложение приложения для получения ограниченного доступа к службе HTTP, либо от имени владельца ресурса, организуя взаимодействие утверждения между владельцем ресурса и службой HTTP, либо позволяя стороннему приложению получать доступ от своего имени.Эта спецификация заменяет и устаревает протокол OAuth 1.0, описанный в RFC 5849.