Pull to refresh

Comments 54

Очень просто и понятно, спасибо!
При чем тут HTTPS? Пост можно было назвать «Объяснение асимметричного шифрования на почтовых голубях»

"ассиметричное шифрование" — это два слова, 24 буквы и слишком заумно звучит. а про https сейчас даже в телевизоре говорят!

IMHO до асимметричного шифрования тут не дошло. Дошло только до trusted certificates.
Боб в ответ отправляет ключ и подписанную шкатулку Иваном

Светлана же сможет сделать дубликат ключа, о чем вы сделали оговорку:

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


Гораздо проще объяснить на примере замков, которые может закрыть любой а открыть только владелец ключа. Причем эти замки многие видели, раньше даже в двери ставили (печально было, если вышел и забыл ключ дома).

Боб отправлят только шкатулку, которую любой может захлопнуть, но сможет открыть только Боб тем ключом, который оставляет у себя и никому не передает.
Ну тут вроде как перевод, так что к автору претензий нет)
Как раз к автору должны быть претензии. В оригинале Боб отправляет секретный ключ симметричного шифрования в закртытой замком Алисы шкатулке.
UFO just landed and posted this here

Довольно наглядно, но русский язык подтянуть не помешало бы :)


Можно сколько угодно закидывать меня тапками, но читать "Боб и Алиса придумали новую и более ЛУЧШУЮ систему." без слёз сложно.

UFO just landed and posted this here
Не в курсе. Можно «более лучшие» подробности? =)
Прелесть криптографии в том что «шкатулку» вообще нельзя открыть за разумное время, ну если очень, очень, очень, очень сильно не повезет. Да и не такая там уж и сложная математика, что бы прибегать к таким аналогиям
Да уж, хотя бы Боба на Бориса заменили бы.
В школьных задачах обычно бывали Петя и Вася, если нужно — Тима.
С Алисой и Бобом прелесь в том, что они начинаются с A и B. Петя и Вася не так хороши для этого. Ну и интрига — интереснее учиться на примере тайн Алисы и Боба. А Петя и Вася — что они интересного могут скрывать?
Да, почти как в том анекдоте:
Преподаватель:
— Возьмем коэффициент «K»… Нет, «K» — мало, возьмем «N».
Если они собираются шифровать «Я тебя люблю» (как в тексте), то они скрывают чуть больше, чем Алиса и Боб :)
Это тогда, теперь в тренде Вова и Лёша (если нужно — Дима).
Т.е. появление Светы вас не смутило? )
В детской книжке, изданной в СССР в 1988 г., такое объяснение асимметричного шифрования «на шкатулках с ключиками» уже было. Только голубей там не было.
(Скан нужной страницы я найти не смог; может быть, сообщество поможет?)
Что-то с этими шкатулками не так.

Что же мешает любопытной шпионке Свете, будучи посередине, перехватить шкатулку Бобика, отослать Але свою шкатулку со своим ключом, получить от Али обратное сообщение в своей шкатулке, которую открыть ей как два байта переслать, прочесть, изменить, если нужно, положить уже в шкатулку Боба и отослать наивному Бобу его собственную шкатулку с прочтённым/изменённым письмом Али.
А?
Мешает то, что шкатулка Боба подписана Иваном именно, как шкатулка Боба. Поэтому Алиса в состоянии обнаружить подмену.
Тогда Свете надо встать ещё и между Бобом и Иваном, да?
Потому что в реальности сам Иван не подписывает сообщения от Алисы и Боба. Иван подписывает «подписывалку» Алисы и «подписывалку» Боба. А саму подпись Ивана Алиса с Бобом получили заранее.

Алиса подписывает свои сообщения своей «подписывалкой», которую до того подписал Иван.
А Боб, имея образец подписи Ивана, может проверить сначала «подписывалку» Алисы, а потом и саму подпись Алисы.
Чёрт, этой Свете тогда придётся встать между всеми возможными участниками конфликта писанины? И мы даже знаем такую Свету. Например, ею легко может оказаться Микрософт :o) И что тогда?
Свете придется или стать Иваном, или убедить Ивана что она Алиса, или подменить публичный ключ Ивана на машинах Алисы и Боба.
Тут много что не так. В оригинале там, где мы еще не используем CA
Alice sends the pigeon back carrying a box with an open lock, but keeping the key.

То есть Алиса отправляет шкатулку с открытым замком, оставив ключ себе. Таким образом любой, кто получит шкатулку, сможет отправить секретное сообщение Алисе.
На втором шаге можно обойтись и без Ивана — когда сертификат самоподписаный. Только ему наверно приходится говорить «Верь мне, я Боб, все будет хорошо». Тут уже Алиса может и не поверить, сказав что без контроля Ивана ничего не получится
Ещё баянистых видео

Обмен ключами по протоколу Диффи-Хеллмана


Как работает RSA

представим ситуацию, Света перехватывает голубя Алисы,

Стойте-стойте! Этим же всегда Ева занималась! :)
У нее появилась конкурентка? )

UFO just landed and posted this here
Так работает HTTP. Написали сообщение, отправили, адресат получил.

В вашей реализации это больше UDP напоминает :) Ведь адресат не подтвердил получение :)
А вдруг голубя сожрал хищный птиц? :)
а разве http требует именно tcp под собой? можно же и поверх udp слать http запросы/ответы
можно конечно, реализаций «http over XXX» много.
Просто, по стандарту, протокол хттп всё равно работает по принципу «запрос+ответ», и в ответ на полученную информацию получатель все равно должен отправить код подтверждения-выполнения (ну, или ошибки).
Спасибо за перевод статьи!
Пытался разобраться с принципом работы сертификатов, но не понимаю один из этапов в разделе Обезопасить шкатулку (в оригинальном тексте не нашёл его).
Вот этот:
Боб проверяет печать и подпись Боба

Разве на этом этапе Боб проверяет свой сертификат? Или от Certification Authority?
В ответ Алиса пишет на листочке бумаги ключ для шифрования сообщений, закрывает его ключом и отправляет Бобу.
Боб проверяет печать и подпись Боба


это ошибка в тексте. Видимо имеется ввиду, что Алиса отправляет в сообщении свой клиентский сертификат Бобу и Боб проверяет его.
Спасибо, а Боб в состоянии проверить его, потому что её сертификат подписан CA?
Боб запрашивает клиентский сертификат Алисы (опциональный шаг). В запросе на клиентский сертификат Боб указывает список CA, которыми может быть подписан клиентский сертификат Алисы. Корневые сертификаты CA уже есть в хранилище у Боба, поэтому когда Алиса присылает свой клиентский сертификат, Боб проверяет с помощью имеющихся CA, что он действительно ими подписан.

Если на практике то с помощью утилиты openssl подлинность серверного сертификата (server.crt) можно проверить с помощью CA (cacert.pem) так:

$ openssl verify -verbose -CAfile cacert.pem server.crt
server.crt: OK

Благодарю за подробный ответ!
Переведенная статья хорошая и понятная но в ней много неточностей и моментов вводящих в заблуждение читателей.

Но представим ситуацию, Света перехватывает голубя Алисы, меняет сообщение и отправляет его Бобу. У Боба нет механизма узнать, было ли сообщение перехвачено и изменено.
Это явный минус HTTP. Его можно перехватить и изменить в процессе передачи.


Явный минус HTTP в том, что злоумышленник может просто банально прочитать перехваченное сообщение. Возможность изменения сообщения это уже вторично.

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

Вот такой метод перехвата, дешифровки, чтения, изменения, и отправки вновь зашифрованного сообщения называется Man in the Middle Attack или атака “Человек посередине”.


Вот такой описанный метод перехвата не называется атакой Man in the Middle. Ключ передается в зашифрованном виде поэтому Света не может его прочитать. Света вступает в диалог с А и Б, представляясь от их лица, это дает ай возможность в расшифровке ключей

Боб и Алиса придумали новую и более лучшую систему.
1. Когда Алиса хочет отправить сообщение, она отправляет пустого голубя без сообщения. Чтобы Боб узнал о начале переписки.
2. Боб отправляет в ответ настоящий ключ и шкатулку
3. Алиса пишет сообщение, кладёт в шкатулку, закрывает ключом и отправляет только шкатулку
4. Боб открывает шкатулку своим дубликатом ключа.

Очень плохой пример вводящий в заблуждение. Луше сказать, что Боб отправляет шкатулку с не вскрываемым замком (открытый ключ). После того как Алиса закроет замок, открыть его никто не сможет, только Боб своим ключом (секретный ключ), который есть только у него. Соответственно мастер Светы не может по замку восстановить ключ.

Для защиты от подделок шкатулок, Боб и Алиса договорились их подписывать и ставить на них печать


Шкатулка и так уже защищена замком. Печать (сертификат) нужен для того, чтобы подтвердить подлинность отправителя или получателя сообщений, а не защитить шкатулку.
Грубо говоря Иван выдает цифровые паспорта всем кто хочет общаться друг с другом, предварительно проверяя, что они те за кого себя выдают. В любой момент Алиса и Боб могут обратиться с полученным от отправителя паспортом к Ивану и проверить, что это действительный документ.

Одну неизвестную среднестатистическому современному человеку тему объясняют на примере другой неизвестной среднестатистическому современному человеку темы (причем я почти наверняка уверен, что объясняющий сам особо не в курсе, как в реальности работала голубиная почта). Даже не знаю, что тут сказать, кроме как фейспалм сделать.

Знать, как в реальности работала голубиная почта, примерно так же важно, как знать, как именно обедали философы.

Если вы соберетесь "обед философов" использовать в качестве базы для аналогии, это внезапно станет важным. Если, конечно, цель — найти общий язык с собеседником, а не выпендриться.

Станет важным, как в реальности обедали философы? Вроде того, что Кант не пил пива?
Не могу с этим согласиться!

Очень доходчиво написано на ярких примерах, после чего создаётся впечатление, что ты что-то понял.
Но как большинство подобных рассказов-аналогий совершенно не имеет ничего общего ни с ассиметричным шифрованием, ни тем более с HTTPS. Тут даже ассиметричности никакой нет.
Sign up to leave a comment.

Articles