Абсолютно стойкий шифр такой стойкий?
Информация – это то, что снижает неопределенность.
Пусть, например, Алиса, директор ЦРУ, спрашивает Бобра: КОРАБЛИ УПЛЫЛИ СЕГОДНЯ ?
Естественно, что Бабёр может ответить либо ДА, либо НЕТ. Допустим, что НЕТ.
Бабёр, прошедший курс шифрования на Ферме, шифрует сообщение одноразовым шифрблокнотом. Получилась последовательность из 3-х знаков.
Еван (он же Иван, Ева) знает, что можно ответить либо ДА, либо НЕТ. Смотрит на длину сообщения и узнает, что НЕТ.
А как же абсолютная стойкость?
Ссылки
[link1] https://www.pgpru.com/comment25765
[link2] https://www.pgpru.com/comment40504
[link3] https://www.pgpru.com/forum/anonimnostjvinternet/timefingerprintingnovajaugrozaanonimnostivseti
[link4] https://secure.wikimedia.org/wikipedia/ru/wiki/Шифр_Вернама
[link5] https://www.pgpru.com/comment40508
[link6] https://www.pgpru.com/novosti/2010/dopolnenietrafikapometodurodlpmozhetsdelatjtorstojjkimkglobaljnomunabljudatelju
[link7] https://www.pgpru.com/chernowiki/rukovodstva/bezopasnostj/zaschitaperepiski/shifrovanievpidgin/shifrovaniesoobschenijjspomoschjjupidginparanoia
[link8] https://www.pgpru.com/comment91289
Это предельный случай fingerprinting attack. Для короткого текста может использоваться минимальная длина. К тому же XOR берётся от битов, и результат зависит от кодировки текста. Реальный протокол на основе шифра Вернама не есть сам криптопримитив.
одноразовый шифрблокнот на то и блокнотом называется, там записаны случайные десятичные числа.
22 31 13 55 12 .......
как это протокол может быть криптопримитивом? как раз сам блочный шифр, поточный шифр, хэш-функция и подобное (и в т.ч. шифрблокнот) и является криптопримитивом.
давайте отойдем от компьютерной тематики вообще и посмотрим на проблему в целом.
допустим 1941 год. сталин с жуковым сидят и думают, где фошысты нападут. смотрят на какую-нибудь 30-ю мотопехотную армию (номер случаен), а туда шифртелеграммы зашифрованные энигмой идут. какова длина сообщений? да так, от 20 до 50. и что идет? прогноз погоды может быть, или еще что-то там. но никак не приказ фюрера о наступлении. "неее, здесь наступления не будет" – заключает сталин.
иногда информация заключена в длине сообщения, это и есть анализ трафика.
так вот вопрос: решается ли эта проблема силами криптографии? или это проблема из другой области?
вопрос номер два: если сообщение имеет длину, то это уже и есть информация о сообщении, что позволяет судить о длине сообщения ?
Любые зашифрованные данные имеет какие-то внешние признаки. Размеры, время, направление передач и тому подобное. Что с ними делать виднее инженеру защиты.
Какой Гость ленивый на pgpru пошёл! Выше же уже назван хинт fingerprinting — почему не пошёл сразу же гуглить? Погуглил за тебя: чти /comment25765[link1] и /comment40504[link2], а также другме комменты в тех тредах, кроме того см. этот древний топик[link3] — ничего не напоминает? Не видно параллелей с задаваемым вопросом?
В компьютерах – двоичные :) C матчастью можно познакомиться здесь[link4], где в качестве примера используется, кстати, не двоичное и не десятичное представление.
Это чтобы вы не путали эти понятия. В коммуникации используется протокол, использующий криптопримитивы. Неграмотно построенный протокол, не обоснованный будет уязвим и нестоек, даже если опирается на стойкие криптопримитивы, потому стойкость самого протокола также нужно доказывать. Вы в качестве примера приводите реальную коммуникацию — т.е. то, где должен использоваться стойкий протокол, но протокола нет, и вы в лоб применяете криптопримитив, получив "уязвимость". Далее я вам говорю: как минимальный workaround можно задавать для протокола минимальную длину сообщения (например, забивая остаток нулями).
Криптография не решает всех проблем с безопасностью, но вот ИБ как таковое — решает. К примеру, Tor защищён он атаки, которую вы описываете, но есть ли это заслуга одной лишь криптографии? Там и протоколы, и теория анонимных сетей, и криптография и учёт массы технических/инженерных тонкостей, без чего была бы грош ему цена.
Hint: padding.
Ну, я бы сказал, пытается. :)
Проще говоря, передаёте круглосуточно всё подряд.
Это уже cover traffic, экстремальный случай. Для военных — нормальная практика, но для гражданского применения достаточно дополнить сообщение до какой-то стандартной приемлемой длины.
это приемлемо в текстовых сообщения, если забить конец пробелами. а если это система управления чем-либо, то уже проблема.
Ну-ну.
В системе управления есть машинное слово, вот по нему и выравнивайте.
Здесь больше актуально даже понятие не fingerprinting, а "анализ трафика". И это в той или иной мере решается в протоколах анонимных систем (ремейлеров, Tor), где необходимо, чтобы противник по внешним признакам сообщения не смог делать убедительных предположений о его содержимом.
Можно (нужно) сочетать гамму хоть одноразового блокнота, хоть потокового шифра с аутентификацией. Разработать режим дополнения до пакетов стандартной длины.
[offtop]
Раз уж вспомнили про web fingerprinting: вроде бы одно и то же содержимое, шифрованное разными ключами в разные моменты времени будет иметь разный объём. Однако, говорилось, что по объёму скачиваемых веб-страниц можно определить их адреса, потенциально даже через Tor. unknown, вы вроде бы не возражали[link5] опубликовать какое-нибудь исследование на эту тему.
[/offtop]
имелось ввиду это исследование[link6]
Хмм, но это ничего не говорит об эффективности обсуждаемых атак в текущем протоколе Tor. Для простоты можно рассмотреть посещение пользователем какого-то скрытого ресурса, адрес которого доступен злоумышленнику-ISP. Может ли тогда ISP доказать, что посещается именно заданный ресурс, если у него нет ни прямого доступа к логам самого ресурса, ни владения большей частью нод.
Суть понятен, но голова для того чтобы думать. Так как в слове "да" 2 буквы, а в слове "нет" три, тогда можно вообще представить их 4+ знаками. Например:
да-дахх или даххх лил дах...хn
нет-нетх или нетхх или нет...хп
и пусть ломают голову все равно не удастся противнику узнать из этого верный ответ, вероятность в обеих случаях 1/2.
если
Д22
А41
Н32
Е01
Т65
Х29
тогда даххх будет 22 41 29 29 29, нетхх будет 32 01 65 29 29
допустим ключи в одном случае будет 9381401285, а в другом 5901493186
теперь
даххх
2241292929 текст преобразованный в числовом виде
9381401285 случайный ключ из шифроблокнота
1522693104 шифр полученный в результате сложения "Текста в числовом виде" и "Ключа" по модулю 10
нетхх
3201652929
5901493186
5102045005
смело отправляете 1522693104 или 5102045005. И пусть ломают голову все равно не удастся противнику узнать из этого верный ответ, вероятность в обеих случаях 1/2.
Вот и все, друзья.
Варианты да/нет можно кодировать как 0 и 1, в данном случае этого достаточно, но это не решает общую проблему: наличие корреляций между длинами (произвольных) сообщений и их содержимым. Паддинг всех сообщений до какого-то размера частично сглаживает проблему, но не решает её. Лучше будет только непрерывный покрывающий трафик, когда по активности вообще нельзя сказать, передаются данные, или это идёт холостой ход.
Да но как этого добиться или как такой способ совместить с шифром Вернама?
Технически как совместить или по сути? По сути — есть паддинг (дополнение всех длин сообщений до некоторого размера или делание размера кратным некоторому числу), технически — это головная боль тех, кто делает готовое решение для масс. Не знаю, реализовано ли это в pidgin paranoia или нет [1][link7], [2][link8].