Self-signed certificates for Android OS
Self-Signed Certificates
Users have a need to add self-signed certificates for Android OS.
This process is relatively simple, but it also has its own features and nuances.
General Information
Terminology
A self-signed certificate is a digital certificate that is not issued or verified by a third party, such as a Certificate Authority (CA). Instead, it is created and signed by the user or organization that uses it.
Simply put, it is a certificate created by the user or organization that uses it.
Необходимость
Использование самоподписанных сертификатов чаще всего используются для:
- Тестирование приложений
Разработчики часто используют самоподписанные сертификаты для тестирования приложений перед их публикацией. Это позволяет им создать безопасное соединение, например, между приложением и сервером, без необходимости покупки сертификата от удостоверяющего центра.
- Внутреннее использование.
В некоторых компаниях самоподписанные сертификаты используются во внутренних сетях для шифрования данных и обеспечения безопасности.
Риски и ограничения
Использование самоподписанных сертификатов несет в себе определенные риски и трудности в их использовании. К ключевым рискам можно отнести такие как: Недоверие со стороны систем.
- Поскольку самоподписные сертификаты не проверяются и не выдаются удостоверяющими центрами, они часто вызывают предупреждения о безопасности в браузерах и приложениях. Это может насторожить пользователей.
- Уязвимость каждого сертификата.
Использование самоподписных сертификатов может увеличить риск таких атак, как "man-in-the-middle"(MITM), где злоумышленник может перехватывать данные между двумя сторонами.
Возможные взаимодействия с сертификатами
Создание сертификатов
С алгоритмом действия для создания самоподписанного сертификата можно в отдельной инструкции: Создание самоподписанных сертификатов SSL с помощью инструмента OpenSSL на Ubuntu
Добавление сертификатов
Если пользователю для работы приложения необходим сертификат, он может установить его сам, вручную. Созданные сертификат будет подтверждать, что приложению разрешен доступ к конкретным функциям и данным.
Алгоритм установки сертификата
- На устройстве необходимо открыть "Настройки".
- Необходим перейти в раздел: "Безопасность и конфиденциальность" > "Дополнительные настройки безопасности" > "Шифрование и учетные данные".
- Далее необходимо выбрать раздел "Установка сертификатов" > "Сертификат WI-FI".
- Находим и нажимаем на иконку меню, в виде трех горизонтальных полосок.
- Выбираем место, где был сохранён сертификат.
- Нажимаем на файл. Возможно, нужно будет ввести пароль к хранилищу ключей и нажимаем "ОК".
- Вводим название сертификата.
- Нажимаем "ОК"
Удаление сертификатов
Каждый пользователь может удалить самоподписанный сертификат, найдя его в списке сертификатов. Для этого необходимо:
- Открыть приложение "Настройки".
- Нажать: "Безопасность и конфиденциальность" > "Дополнительные настройки безопасности" "Шифрование и учетные данные".
- Необходимо перейти в раздел "Хранилище учетных данных".
Таким образом попав в хранилище сертификатов, можно делать уже следующие действия с ними:
- (Не рекомендуется) Для удаления всех сертификатов на устройстве необходимо нажать "Очистить все учетные данные" > "ОК".
- (Рекомендуется) Для удаление конкретных сертификатов на устройстве необходимо нажать "Учетные данные пользователя" > выбрать нужные учетные данные для удаления.
Примечания
Использование сети WI-FI, защищенную WPA-Enterprise. Можно при подключении использовать настройки WPA/WPA2/WPA3-Enterprise для дополнительной защиты. Чтобы это сделать, нужно:
- Открыть приложение "Настройки".
- Нажать на раздел "Сеть и интернет" > "Интернет" > "Добавить сеть ", с помощью иконки "+"
- Ввести данные, полученные у администратора сети.
Настройки "Не проверять".
Сохраненные настройки Enterprise, которые отключают проверку подлинности сертификата сервера, не затрагиваются. Однако вы не можете изменять их и создавать новые.
Настройки WPA/WPA2/WPA3-Enterprise доступны как пользователям частным лицам, так пользователям сотрудникам организаций.
Тонкости и нюансы
Проработка проблемы с коллизией между сервером и клиентом.
В данном случае необходимо вводить доменное имя не в полном формате, а с использованием "*".
"abcdef.technomedia.ru"- неправильно
"*.technomedia.ru"- правильно
Итоговый результат
Пользователи умеют создавать и взаимодействовать с самоподписанными сертификатами.