0 / 0 / 0
Регистрация: 29.07.2013
Сообщений: 14
|
|
1 | |
Защищенность данных через https29.07.2013, 15:10. Показов 3870. Ответов 13
Метки нет (Все метки)
Здравствуйте. Пришел к Вам на форум в надежде найти вопрос на один ответ.
Я получаю доступ в интернет через компьютер (прокси) – стоящий в соседней комнате. Меня интересует следующий момент. При отправке логина и пароля на сайт следующего формата https://www.site.net есть возможность перехватить логин и пароль на компьютере-прокси?
0
|
29.07.2013, 15:10 | |
Ответы с готовыми решениями:
13
не заходит через https Отправка данных JSON через POST-запрос на сервер https Проверить txt файл на защищённость Защищенность дорожки на плате от помех. |
Ушел с форума
|
|
29.07.2013, 15:37 | 2 |
Нет. SSL-трафик шифруется ДО прокси. На прокси он уже приходит шифрованным.
Прокси может выдать себя за сервер, для клиента, и за клиента, для сервера, но для этого ему нужно будет выполнить махинацию с сертификатами. Не имея настоящего SSL-сертификата, установленного в браузер пользователя, это приведет к выдаче соответствующего предупреждения. А некоторые программные интерфейсы вообще по умолчанию отвергают HTTPS-сессию, если используется неизвестный SSL-сертификат. Несколько путано, но надеюсь, объяснил понятно.
0
|
0 / 0 / 0
Регистрация: 29.07.2013
Сообщений: 14
|
|
29.07.2013, 16:30 [ТС] | 3 |
Большое спасибо за развернутый ответ. В целом некоторые моменты прояснились. Осталось еще два вопроса. 1. Во сколько балов (по 10-ти бальной шкале) вы бы оценили сохранность логина/пароля при авторизации на сайт по обычному http и по https? (при использовании прокси сервера как связующее звено между компьютером и интернетом) 2. После авторизации на сайт в прокси сервере сохраняются данные о сертификате. Эти данные в дальнейшем могут быть использованы для описанной Вами подмены "клиент сервер"? скажем на следующий день
0
|
Ушел с форума
|
|
29.07.2013, 17:44 | 4 |
HTTP - 0 баллов.
HTTPS - 8 баллов (1 балл на теоретическую возможность подмены сертификата, и еще один на атаку самого сервера). Не могут. Сам сертификат никакой ценности не представляет. В установке SSL-сессии используется ассиметричная криптография - одна часть ключа шифрования находится на клиенте (он извлекает ее из SSL-сертификата), вторая держится на сервере в строгом секрете. Ключи криптографически связаны: если есть два связанных ключа А и B, то данные, зашифрованные ключом А, могут быть расшифрованы только ключом B. И наоборот. Но практически невозможно за разумное время найти такой ключ C, который мог бы расшифровывать данные, зашифрованные ключом А или B. Если прокси захочет обмануть клиента и выдать себя за сервер, ему нужно будет на лету шифровать и дешифровать трафик, используя оба ключа. Но ему доступен только один - открытый, который зашит в SSL-сертификате. Поэтому все, что может сделать прокси - это отдать клиенту другой, самопальный сертификат, с заранее сгенерированными открытым и закрытым ключами, обыграв дело так, как будто это реальный сертификат сервера. Но такой сертификат не является доверенным (не установлен в браузеры) и любой нормальный браузер сразу определит его как поддельный и выдаст предупреждение. Это все очень примерное описание того, как работает SSL/TLS/HTTPS. Лучше Вам обратиться к более четким источникам.
0
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
30.07.2013, 06:46 | 5 |
0
|
Ушел с форума
|
|
30.07.2013, 10:43 | 6 |
0
|
0 / 0 / 0
Регистрация: 29.07.2013
Сообщений: 14
|
|
30.07.2013, 11:35 [ТС] | 7 |
Мне подсказали одну статью на тему безопасности шифрования (ссылка http://habrahabr.ru/post/46321/). Там есть такой абзац:
0
|
Ушел с форума
|
|
30.07.2013, 11:40 | 8 |
Есть софт, который ставит свои сертификаты в браузеры. Так действует Fiddler, например.
И когда он перехватывает HTTPS, в браузере предупреждений нет.
1
|
0 / 0 / 0
Регистрация: 29.07.2013
Сообщений: 14
|
|
19.08.2013, 12:27 [ТС] | 9 |
Извините, что поднимаю данную тему еще раз, но у меня возник еще один вопрос.
Зайдя на сайт через https можно получить информацию о сертификате (в хроме – клик по зеленому значку замка, слева от адресной строки). Открыв «информацию о сертификате» и перейдя во вкладку «состав» можно увидеть много полей, например: - Версия - Серийный номер - Действителен с - Действителен по - Идентификатор ключа - Отпечаток И т.д. Многие из этих полей (или может быть все) имеют постоянные данные, которые не меняются при повторном открытие сайта. Собственно сам вопрос: При «фальсификации» сертификата промежуточный компьютер (прокси сервер) сможет подделать сертификат так что он ничем не будет отличаться от оригинального? Или если знать какие данные забиты в ключевых полях оригинального сертификата то можно, сравнив вручную, определить «подделку»?
0
|
Ушел с форума
|
|
19.08.2013, 13:10 | 10 |
Сообщение было отмечено как решение
Решение
Я уже отвечал на этот вопрос выше.
Поищите в интернете информацию о том, как работает ассиметричная криптография и почему ей "можно доверять". И как построена система доверия сертификатов, что такое центры сертификации, цепочки сертификатов и т.д. Добавлено через 7 минут Подслушать защищенный трафик можно двумя способами. 1) Получить доступ к секретному ключу сервера. Как Вы понимаете, похищение секретного ключа от gmail, к примеру, крайне маловероятно. 2) В момент установки соединения (SSL Handshake) дать клиенту свой сертификат, выдав его за сертификат сервера. Пункт 2 - это единственная практическая возможность, по сути. Но она упирается в то, что доверия самопальным сертификатам нет. Сертификаты проверяются клиентами (т.е. браузерами), факт установки соединения с сервером, который использует неизвестный сертификат, элементарно отслеживается. Все нормальные (да и ненормальные тоже) браузеры выдают предупреждение. А если вы сделаете точно такой же сертификат, как у google, байт в байт, то не сможете расшифровывать трафик, т.к. вам нужен будет точно такой же секретный ключ, как у сервера google. Потому что открытый и закрытый ключи криптографически связаны.
3
|
0 / 0 / 0
Регистрация: 29.07.2013
Сообщений: 14
|
|
19.08.2013, 14:34 [ТС] | 11 |
Еще раз извините, что мусолю одно и то же, скорее всего вы уже дали ответ на вопрос который меня интересует, но я просто его еще не осознал.
Если у вас еще есть немного терпения, то давайте на простом примере. Есть «компьютер А» с выходом в интернет через провайдера которому я ПОЛНОСТЬЮ доверяю. Есть «компьютер Б» который может быть подвержен атаке «человек посередине» (Man in the middle). На «компьютере А» я захожу на сайт где вводится логин и пароль. Вручную открываю данные о сертификате и переписываю поле «серийный номер» сертификата. Далее захожу с «компьютера Б». Открываю тот же сайт и опять же вручную открываю данные о сертификате. В случае атаки «человек посередине» (Man in the middle): Будет ли совпадать серийный номер сертификата на компьютере А с серийным номером на компьютере Б? Возможно ли при атаке «человек посередине» (Man in the middle) сделать фальшивый сертификат с таким же серийным номером как и у настоящего сертификата?
0
|
Ушел с форума
|
|
19.08.2013, 15:18 | 12 |
Серийный номер может быть точно таким же. Как и остальные данные.
Эта информация ничем не защищена. Вы можете встретить поддельный сертификат, который на 99% идентичен оригинальному. Но одна деталь не может быть такой же, как у оригинала. Это открытый ключ. Как я уже писал, открытый и закрытый ключи криптографически связаны. Если данные зашифрованы первым ключом, их можно расшифровать только вторым. И наоборот. Но практически невозможно за разумное время найти третий ключ, которым можно было бы заменить один из ключей из этой пары, также как и невозможно, зная один ключей из пары, найти второй. Именно по этой причине злоумышленник не может использовать открытый ключ из оригинального сертификата - он не знает второй "половинки" ключа, а без нее все бессмысленно. Ему придется сделать сертификат со своей парой ключей, но насколько бы не был такой сертификат схож с оригиналом, это уже будет другой сертификат, и браузеры его сразу же отвергнут. Даже если в свойствах будет сказано "мамой клянусь, выдан Symantec". Так что проверять доверие сертификата по серийному номеру точно также ненадежно, как и по его названию. А вот проверка ключа или, что еще проще, отпечатка (thumbprint, это просто sha-1 хэш самого сертификата) - да, определенную защиту гарантирует. Упоминавшиеся в тексте "невозможно" следует относить к практической невозможности на сегодняшний день, с использованием текущих вычислительных технологий. Не исключено, что через несколько десятков лет или даже раньше эти утверждения не будут истинными.
1
|
0 / 0 / 0
Регистрация: 29.07.2013
Сообщений: 14
|
|
19.08.2013, 15:31 [ТС] | 13 |
Только что проверил следующие поля сертификата:
Открытый ключ RSA (2048 Bits) Алгоритм отпечатка sha1 Отпечаток При обновлении окна – данные в этих полях не меняются, то есть они постоянные. Я правильно понял что если вышеперечисленные три поля будут по содержанию совпадать на доверенном (компьютер А) и на подозрительном (компьютер Б) то это означает что нету атаки «человек по середине» и в открывшемся окне можно вводит логин/пароль без опасения что он попадет в третьи руки?
0
|
Ушел с форума
|
|
19.08.2013, 15:47 | 14 |
Да, правильно.
Но при одном условии: компьютер А не должен быть скомпрометирован и злоумышленник не должен иметь к нему доступа (физически или удаленно). Добавлено через 2 минуты Хотите наглядный эксперимент ? Зайдите на какой-нибудь защищенный сайт и запишите параметры сертификата, который он выдает. А затем поставьте Fiddler (сниффер HTTPS), зайдите на этот сайт снова и сравните параметры.
1
|
19.08.2013, 15:47 | |
19.08.2013, 15:47 | |
Помогаю со студенческими работами здесь
14
Защищённость Windows 7 находится под вопросом WSDL через HTTPS Регистрация через HTTPS Подключение по https через IdSSLIOHandlerSocketOpenSSL Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |