Android: предотвращать обнюхивание (например, с помощью CharlesProxy) трафика SSL

Я использую Чарльз, чтобы проверить, какие данные отправляют, бросить мое приложение на HTTPS. Я установил сертификат Charles CA на свой телефон, и из-за этого я могу расшифровать каждый трафик SSL.

Но я нашел приложения, где невозможно увидеть трафик SSL. Как я могу реализовать это поведение в своем приложении? При этом ни один человек в средней атаке не будет возможен.

… Я установил сертификат Charles CA на свой телефон, и из-за этого я могу расшифровать каждый трафик SSL.

Но я нашел приложения, где невозможно увидеть трафик SSL. Как я могу реализовать это поведение в своем приложении? При этом ни один человек в средней атаке не будет возможен.

Это можно сделать с помощью присвоения сертификата / открытого ключа, когда вы не проверяете сертификат серверов на локальные корневые сертификаты, а вместо этого удостоверяетесь, что вы получаете только ожидаемый сертификат. См. OWASP для деталей и образцов кода.

Сертификат Pinning – это то, что вам нужно, но имейте в виду, что это не лишено недостатков и осложнений. Присвоение сертификата добавляет к вашей системе уровень сложности, что означает большую работу в день развертывания и еще одну вещь, которая может пойти не так.

Классическая ошибка, выполняемая с помощью сертификата Pinning, заключается в том, что бэкэнд-команда будет обновлять / изменять / настраивать сертификат сервера при выпуске обновления и забывать, что клиенты используют фиксацию сертификата, что в основном приведет к остановке всей вашей системы.

Причина, по которой большие мальчики используют это, заключается в том, чтобы замаскировать их api, чтобы хакерам / ликерам было сложно сделать незваные звонки в их бэкэнд.

Intereting Posts
Google-play-services_lib Не удалось разрешить целевой Android-9 ApplyTransformation метод, не вызываемый в пользовательской анимации В диалоговом окне Facebook Share всегда отображается Captcha только на Android Android: adbd не может работать как root в производственных сборках Очистить стек обратно, когда объект приложения будет убит системой Android Volley – изменения ориентации Как выпустить команду adb из встроенного пользовательского интерфейса eclipse в Android SDK Отображение экрана настройки только при первом запуске в android Какова наилучшая практика для обмена моделями между сервером WEB API и клиентским приложением Android Set Location Center of Map – GMaps v2 – Android Как загрузить изображение через байтовый массив с помощью Glide? Как кэшировать растровые изображения в родной памяти Ошибка загрузки с ошибкой подписи для новой версии приложения в Google Play Установка центра тяжести детского вида Изменение макета выравнивания другого дочернего вида в горизонтальной компоновке? Отправка html-адреса электронной почты в android с помощью <table> и т. Д. – действительно ли нет встроенного способа Intent?