Тропинка через минное поле — Леонычев Юрий
-
Upload
yandex -
Category
Technology
-
view
668 -
download
4
description
Transcript of Тропинка через минное поле — Леонычев Юрий
Тропинка через минное поле
Юрий Леонычев
Я.Субботник, Нижний Новгород, 13.12
Элементы уравнения
Простая картина мира
3
Приложение Сервис
Канал связи
Операционная система
Ближе к реальности
4
Приложение
Мой сервис
Метрика
Карты
WebView
Хранилище сертификатов
Библиотека для SSL/TLS
Логи и крэшдампы Чужой сервис
Непонятное облако
Чужой сервис
Мой сайт
http://lurkmore.to/Файл:Spherical_Derpy.png
CA
Перечислим и задумаемся
5
1. Наше приложение
2. Наш сервис
3. Наш сайт
4. Сторонние сервисы и облака
5. Операционная система устройства
6. Летающий пони
Спасение утопающих…
Первые шаги
7
1. Только шифрование – только хардкор
2. (протокол) => (протокол)S
3. Никакой самодельной криптографии
Типичная ошибка
• Нет проверки сертификатов
NSMutableURLRequest *request = [self requestWithMethod:@"GET" path:requestURL parameters:nil];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.allowsInvalidSSLCertificate = YES;
Кто может перехватить трафик?
9
iOS
http://support.apple.com/en-us/ht5012
209 сертификатов всего
Ищем: “government”
Issuer: C=US, O=U.S. Government, OU=DoD, OU=PKI, CN=DoD CLASS 3 Root CA
China Information Center (?)
Android
http://kurrytran.blogspot.ru/2013/05/how-to-get-root-certification.html
Домашнее задание – проверить, сколько сертификатов и чьих в вашем устройстве
Чуть дороже
10
1. Пининг сертификатов (в данном случае своего CA)
2. Использование стойких криптоалгоримов (никакого SSLv3, стараемся использовать ECDSA)
Экстремальный вариант
11
1. Свой Intermediate CA
2. Несколько доверенных Intermediate CA с сертификатами на всех нужных платформах
3. Возможность динамического изменения списка «запиненных»
4. Черные и белые списки
Пони, пришло твое время
CA = Certificate Authority
13
• Для нас это тот, кто сделает нам сертификат
• А ещё тот, кто может его внезапно отозвать
• И тот, из-за кого может сломаться весь SSL
Цепочка сертификатов
14
Корневой сертификат
Промежуточный сертификат
Ваш сертификат
Устройство
Сервер
Требования к CA
15
1. Корневой сертификат на всех нужных устройствах
2. Короткая цепочка сертификатов
3. Современная криптография ECDSA
4. Возможность купить EV сертификат
«Чужие» проблемы
Сервисы третьей стороны
17
• Если они уже работают по SSL – всё нормально
• Если нет, то что делать?
Решение
18
• Всегда есть альтернатива
• Существуют возможности для тонкой настройки
• Пишем сами?
Полезные ссылки iOS
19
• Начать можно отсюда: https://clck.ru/9NAav
• Теория и практика: https://clck.ru/9NAbB
• Список корневых сертификатов: https://clck.ru/9NAYz
• Пининг сертификатов: https://clck.ru/9NAbV
Полезные ссылки Android
20
• Как готовить SSL: https://clck.ru/9NAXy
• Пининг сертификатов: https://clck.ru/9NAY4
• Как извлечь список корневых сертификатов: http://bit.ly/11P4NJa
Вопросы?