#android #certificate
#Android #сертификат
Вопрос:
Я подумываю об использовании центра сертификации для аутентификации через https с моим приложением на моем веб-сервере.
Мой вопрос: насколько легко хакеру было бы украсть этот сертификат с телефона?
Сценарий таков: каждый пользователь моего приложения использует один и тот же сертификат, который поставляется в комплекте с приложением, кто-то извлекает его из телефона (каким-то образом?), размещает в Интернете, и теперь веб-сервер подвергается ddos-атаке. Затем мне приходится аннулировать сертификат, но тогда я аннулирую всех своих пользователей.
Насколько сложно хакеру будет это сделать? Если это просто, то, возможно, вообще не стоит заводить сертификат.
Комментарии:
1. Я бы даже не назвал это взломом…
Ответ №1:
Я бы сказал, тривиально извлечь его из приложения. Существует две части: сертификат (который по сути является открытым ключом) и секретный ключ.
Для HTTPS сертификат представлен в формате clear on the wire и используется для установления зашифрованного сеанса.
Но это не тот сертификат, о котором вы беспокоитесь — он общедоступен и должен быть — это другая половина, секретный ключ. Для работы HTTPS вам необходимо выполнить часть начальной последовательности установки с секретным ключом.
Важнейшая часть сертификата и секретного ключа одинаковы. Набор байтов, известный как модуль. Возьмите это из wire (поскольку оно там будет), найдите в изображении вашего приложения тот же модуль, и ваш хакер получит секретную часть поблизости и сможет подделывать сколько душе угодно.
Плохая идея, на самом деле.