Как защитить ключи API в приложении

Как защитить ключи API в приложении

Protecting secrets in an Android project — статья о том, как правильно хранить секреты, например ключи API, в своем приложении.

Все секретные строки лучше вынести в отдельный файл, который хранится вне системы контроля версий. Это позволит избежать недоразумений, когда разработчик заливает код в открытый репозиторий и таким образом выставляет ключи на всеобщее обозрение. Также такой подход позволяет расшаривать ключи между несколькими приложениями. Секреты можно хранить, например, в файле ~/.gradle/gradle.properties:

Чтобы сделать их доступными в исходном коде, можно использовать приблизительно такой трюк (пример для скрипта Gradle на Kotlin):

Чтобы защитить секреты не только от утечек, но и от реверса приложения, их стоит зашифровать. Для этого необходимо поместить ключи в конфиг Gradle уже в зашифрованной форме и расшифровывать их с помощью ключа, тоже записанного в конфиг Gradle. Чтобы затруднить жизнь взломщику, ключ можно обфусцировать. Например, добавить к нему случайные данные или перемешать части ключа и уже в коде приложения привести его в нужный вид.

РЕКОМЕНДУЕМ:
Хорошие и плохие приемы программирования на Kotlin

На этом все. Как видите, защита API мобильного приложения от несанкционированного доступа штука совсем не сложная.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий