Comments 24
В контексте Хабра целью является добыча кармы
Проще, конечно, но метод обладает кучей недостатков, которые я, среди прочего, описал в посте
Алиса размещает на продавательной площадке предмет, знакомый по фотографии Бобу. Отзывом служит предложенная Бобом цена. или интервал между сообщениями.
Кстати, когда вижу объявление вида "отдам бесплатно пластиковые бутылочки" с фотографиями, мне начинает казаться, что эта схема уже работает.
В данном же случае, понятно, вы продемонстрировали ещё один способ.
(кажется этот ответ не в ту ветку заслал ??)
Сайты знакомств, паблики и сообщества, форумы по интересам, посты на хабре… В конце-концов, мойщик окон может пойти купить себе мороженого
Вот уж что-что, а найти повод для начала общения в наше время крайне легко)
мы просто им не даем никакой явной информации друг о друге, никаких общих ключей
Боюсь, Боб заработает ангину прежде чем найдёт свою Алису… :)
Мойщик окон вполне может заказать у мороженщицы, которая по вечерам фрилансит артом, рекламный зонтик с надписью "ты туда не ходи, ты сюда ходи Обойдите это место стороной — вверху Боб моет окна, телефон 223-322-2323"
Автор придумал свой вариант пороговой схемы разделения секрета (2,2) и предлагает его использовать в двусторонней аутентификации.
Центр генерирует некоторый секрет и делит его по схеме на две части.
До обмена сообщениями первый участник (А) получает только свою часть, а второй (Б) свою часть и способ проверки (хэш).
Во время обмена Б отправляет А свою часть, А собирает секрет и отправляет его Б, Б проверяет.
Первая пересылка маскируется стеганкой, вторая маскируется тем, что общий секрет выбран так, что похож на нормальную ответную реплику.
Надежность схемы разделения мне разбирать лень, но, честно говоря, но по косвенным признакам она не похожа на безопасную, хотя могу ошибаться.
Глобально алгоритм лучше чем аутентификация плейнтекстом, но, я думаю, что хуже, чем классические challenge–response.
Близко, но не совсем. Точнее, если уж рассматривать как схему разделения секрета (не совсем идеально подходит под определение, но я не боец за чистоту расы), то все правильно до слов "первая пересылка"
Дело в том, что пересылка не просто "маскируется стеганкой" — часть секрета буквально является передаваемым контейнером. То есть, Боб владеет своей частью (Em), но ничего не может с ней поделать, пока Алиса не выберет форму (то самое изображение зонтика), в которой хочет получить ее отражение (Em©). Ее же частью является метод извлечения (Ex) неизвестной Бобу информации, которую тот может проверить благодаря хэшу. Самим секретом является та самая замаскированная ответная реплика, тут все снова верно.
То есть, стеганография используется не столько как метод сокрытия, сколько класс преобразований, работающих с контекстной (а не бинарной псевдослучайной) информацией, а сам процесс аутентификации мимикрирует одновременно под схему разделения секрета и аут-ю в системах с открытым ключом
Про надежность — готов ответить на любые вопросы. Я общительный человек, и меня очень радует, что кто-то разбирает мои каракули. А сам протокол, вообще говоря, как раз находится в категории "вывоз-ответ" — секретные данные никуда не передаются и живут лишь на машинах Алисы и Боба — поэтому я не особо понял, к чему последнее замечание)
Давайте посмотрим на такую ситуацию — некоторая служба знает алгоритм (Керкгоффс), предполагает что некоторые Алиса и Боб шпионы, но не имеет доступа к их данным, только к обмену. Они видят что А и Б обменялись картинкой и репликой. В этот момент им нужно щелкнуть переключателем, чтобы разорвать связь А и Б (забанить на площадке общения, как вариант). Теперь кто угодно, знающий ответную реплику, может выдавать себя за А. Да, можно запастись миллионом исходных фраз. Но очевидным улучшением будет идея не заготавливать такие фразы, а иметь возможность проверять это как-то на лету. И тут мы получаем самую обычную PKI с сертификатами и подписями, которую можно использовать для любого алгоритма взаимной аутентификации.
Я не очень понимаю назначение вашего протокола, в плане какой недостаток он нивелирует? Общий секрет все равно есть, просто в производном виде. MITM как работал, так и работает.
кто угодно, знающий ответную реплику, может выдавать себя за А
Это, конечно же, неверно. Я даже расписал, почему. Во-первых, любая последовательность Em и соответствующий отпечатоп h(M) Боба одноразовые, поэтому знание M противнику ничего не даст — набор данных уже был использован. Во-вторых, никто не мешает ему провести потом повторные раунды аутентификации, так как единственной Ex Алисы сопоставлено бесконечное множество его частей. В-третьих, само построение протокола скрывает шаги аутентификации, поэтому у третьей стороны в общем случае нет способа понять, для кого и когда дергать рубильник. А даже если каким-то образом и поняли — в общем случае нет возможности определить, какая часть диалога содержит передаваемый Бобом контейнер (от текста до ссылки на ютуб), а какая — извлеченную из него информацию Алисой (ответную "реплику", которой может быть и не текст вовсе)
И тут мы получаем самую обычную PKI с сертификатами и подписями, которую можно использовать для любого алгоритма взаимной аутентификации.
Так и есть, это все являлось попыткой сделать систему с открытым ключом для стеганографии, а протокол должен явно намекать на классический: "взял рандом, зашифровал открытым, передал владельцу закрытого, получил и сравнил".
в плане какой недостаток он нивелирует
В классических системах с открытым ключом передаваться между сторонами будет около-случайный набор байт, который сам по себе содержит информацию о связи двух лиц, а именно — они хотят что-то скрыть от посторонних, а сама форма данных может даже раскрывать сампротокол. Я стараюсь решить именно эту задачу, не давая наблюдателю абсолютно никакой информации об обмене информации
одноразовые, поэтому знание M противнику ничего не даст — набор данных уже был использован.
Я понимаю, что можно взять миллион вариантов для M, но не вижу смысла тратить место, если PKI решает все это проще.
у третьей стороны в общем случае нет способа понять, для кого и когда дергать рубильник
При таком доверии к стеганке — просто в первом же сообщении отправляйте секретные данные. Сам факт использования стеганки будет означать, что А и Б из одного агентства. Если кто-то из них левый человек, то либо данные не будут извлечены, либо не будут положены — хуже не сделается.
В классических системах с открытым ключом передаваться между сторонами будет около-случайный набор байт, который сам по себе содержит информацию о связи двух лиц, а именно — они хотят что-то скрыть от посторонних, а сама форма данных может даже раскрывать сампротокол. Я стараюсь решить именно эту задачу, не давая наблюдателю абсолютно никакой информации об обмене информации
Если цель такая, то прошу прощения, я думал тут речь о криптографии. А придумывать системы которые базируются на неразглашении алгоритма можно по 10 штук за час.
базируются на неразглашении алгоритма
Алгоритм открыт, неизвестны лишь части Алисы и Боба. Не знаю, что в моей фразе могло навести на эту мысль. Невозможность определения проведения протокола не означает, что он секретен, лишь что был правильно выполнен. Скрытый канал Эль Гамаля тоже нельзя просто так отличить от обычной подписи, например, но мы его не записываем в категорию "не криптографии"
Я понимаю, что можно взять миллион вариантов для M, но не вижу смысла тратить место, если PKI решает все это проще
Использование PKI легко определить даже на глаз, она решает задачу явной аутентификации, а не скрытой
просто в первом же сообщении отправляйте секретные данные
Для этого как раз потребуется держать общий ключ и, что важнее, алгоритм в секрете. Я думал, тут речь о криптографии)
В-третьих, само построение протокола скрывает шаги аутентификации, поэтому у третьей стороны в общем случае нет способа понять, для кого и когда дергать рубильник.
Вот эти строки навели на мысли. Потому что из текущего описания мне понятно в какой момент дергать рубильник. Неизвестно только если вы скрываете алгоритм.
Использование PKI легко определить даже на глаз, она решает задачу явной аутентификации, а не скрытой
Если посылки запихнуть в стегу, то будет не видно по вашей логике.
Для этого как раз потребуется держать общий ключ и, что важнее, алгоритм в секрете. Я думал, тут речь о криптографии)
О том и речь, что сейчас я вижу базу вашего алгоритма именно в этом.
Потому что из текущего описания мне понятно в какой момент дергать рубильник
И в какой же? Ну вот дернул я рубильник по предложению, когда Алиса ответила своему заказчику на картинку с зонтом (потому что "как в примере"), своровал какое-то сообщение. На следующий день оказалось, что это просто левый человек зонт заказал, а Алиса не агент (и таких миллионы). Или еще хуже — она агент и сбежала от такой явной атаки за границу. И кого я кому я навредил в итоге?
Не просто так привел пример со скрытым каналом ведь: никто не будет "дергать рубильник" на каждую электронную подпись просто потому, что в ней может что-то быть, верно?
Если посылки запихнуть в стегу, то будет не видно по вашей логике.
В третий (с учетом одного в самом посте) раз говорю — так делать нельзя. Для этого придется хранить метод стеганографии в тайне, что, как мы уже выяснили. Тут нет нигде моей логики, протокол разрабатывался как раз для избавления от таких требований
я вижу базу вашего алгоритма именно в этом
Каждый художник видит как хочет, конечно, но в моем описании нет требования хранить в секрете что-либо, кроме частей Алисы и Боба, поэтому претензии не ко мне. Сам протокол открыт, части закрыты, все равно определить, происходит диалог или аутентификация, нельзя
Вот никак не вижу усиления от того, что стеганка используется как часть секрета
Усиление заключается в двух факторах. Первый — Алиса контролирует выбор формы передачи секрета. В какой-нибудь схеме Шамира у нее не оставалось бы контроля над тем, что присылает Боб — это всегда была бы просто его число, хоть головой об стену бейся
Второй — если Боб стал злоумышленником (противник соблазнил женщинами и деньгами), то он может атаковать часть Алисы после проведения аутентификации, имея на руках как свою часть в явном виде, так и восстановленный секрет. Именно поэтому я сделал акцент на невозможности восстановления по Em как Ex, так и самого секрета M, который содержится в отображении части Боба и не несет никакой информации о части Алисы
Чтобы избежать части вопросов по надежности, составил зачем-то на ночь глядя такую диаграмку с возможностями проведения атак контр-агентами в разных условиях информационного голода на разных шагах и описаниями результата. Так как уже поздно, то мог что-то забыть, но идею постарался передать
Об очень шпионском методе аутентификации