Отрицаемое шифрование - оружие бесправного

Утверждают, что при применении бандитского криптоанализа вероятность успешного дешифрования достигает единицы. Но, как известно, на всякий хитрый выверт найдётся шуруп с левой резьбой. Так против бандитского криптоанализа можно применять спорное  шифрование. Если желаете знать, что это такое -- читайте дальше.

Спорное шифрование (malleable encryption) нередко называют отрицаемым шифрованием. Отрицаемость – свойство некоторых криптографических алгоритмов при котором возможно изменить шифротекст с ожидаемым результатом дешифрованного открытого текста.

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

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

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

Имеем три последовательности бит: К, М и A одинаковой длины, пусть K -- секретное сообщение, М -- открытое, А -- ключ. Перемножаем сообщения:

C = M ? K ? A

Специально для нетехнарей поясняю, что перемножение в поле {-1,+1} эквивалентно суммированию по модулю 2 в поле {0,1}. Кто не верит -- пусть проверит. Символ ? означает побитную операцию “суммирование по модулю 2”. Очевидно, что ключом открытого сообщения будет последовательность K ? A, а закрытого -- последовательность M ? A, поскольку D ? D = 0.

Существует протокол OTR (Off-the-Record) обмена мгновенными сообщениями, зашифрованными с помощью двусмысленного шифрования, созданный Н.Борисовым и Я.Голдбергом. Он не требователен к транспортной среде. Распространяется под лицензией GNU LGPL. Для обеспечения шифровки используются плагины к интернет-пейджерам и браузерам, в т.ч. и для Firefox. Для создания шифрованного канала у обоих собеседников должны стоять совместимые клиенты/плагины (фактически одинаковые). Протокол интересен тем, что помимо двусмысленного шифрования и аутентификации собеседников он обеспечивает невозможность расшифровки при утере ключей.

Однако понятие отрицаемого шифрования шире, чем просто двузначное шифрование. Покажу это.

Традиционная телефония медленно умирает. Смена -- VoIP. Но VoIP -- это тотальная прослушка, и с ней нужно бороться. Самый популярное VoIP-приложение -- это Skype. Skype – закрытый протокол и собственная программа от Skype. SIP (Session Initiation Protocol) и XMPP (Extensible Messaging and Presence Protocol) – штуки открытые, но здесь каждый может шифроваться САМ. Это, как мне думается, создаст любителям прослушек головной боли побольше, чем раскрученный Skype. Возьмём, например, коммуникатор Jitsi (официальный сайт). Это SIP, XMPP, ICQ, MSN, RSS, IRC в одном флаконе. О коммуникаторе Jitsi я собираюсь как-нибудь написать отдельную статью, если, конечно, кто-то из молодых журналистов не опередит усталого технаря.

По умолчанию Jitsi ничего не шифрует. Однако, Jitsi способен защитить ваш обмен от прослушивания посредством апробированной технологии ZRTP (Zimmerman Real Time Protocol). ZRTP -- это протокол шифрования передачи голоса по сетям VoIP с использованием обмена ключами. Пара ключей действительна только в течение одного разговора. Ключи – это строки бит, и без них невозможно расшифровать разговор. Они по алгоритму Диффи-Хэллмана автоматически создаются в начале общения и уничтожаются в его конце.

ZRTP -- это внешний протокол. Шифрация потока осуществляется в соответствии с внутренним протоколом SRTP (Secure Real-time Transport Protocol) по алгоритму AES (Advanced Encryption Standard). Последний генерирует 128-битный блочный код, который использует одноразовые главные ключи, предварительно сгенерированные с помощью ZRTP. Главные ключи используются для генерации промежуточных ключей в протоколе SRTP.

Если вы видите во время работы Jitsi висячий замок, то это значит, что разговор шифруется, и вы можете вполне безопасно сообщать ваши секреты. Ни один обмен, защищённый связкой ZRTP+SRTP, начиная с 1991 года, когда она была изобретена, пока что не был взломан. Но где же здесь отрицаемость шифрования? Фишка в том, что по истечению разговора ключи вообще нигде не хранятся. Бить подследственного бесполезно -- он просто не знает ключей и будет утверждать, всё, что угодно. Бандиты-криптоаналитики никак не смогут проверить правдивость его показаний.

Правда, сам факт отправки сообщений в любом случае будет зафиксирован (что человек А общался с Б в 8-20 11 aug 2012 и отправил 3 сообщения).

В заключение предлагаю скачать книгу Н.Н.Федотова «Форензика – компьютерная криминалистика» -- http://forensics.ru/

            Узнаете много интересного! Я ВАМ ЭТО ГАРАНТИРУЮ. :)


Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 0
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Аватар пользователя savely

Майк - поток сознания, IMHO. Увидел классную игрушку. Надеюсь, без обид. 

Аватар пользователя mike

Майк - поток сознания, IMHO. Увидел классную игрушку. Надеюсь, без обид.

Неа, не обидно. В серёдке 80-ых я разработал радиотелефонный модем с шифрованием. Серийный! 2400 bps, ОФМ. Работал с любой радиостанцией. А ты чё делал в то время?

Аватар пользователя savely

> В серёдке 80-ых я разработал радиотелефонный модем с шифрованием. Серийный! 2400 bps, ОФМ

Я рад. Диффи-Хеллмана тогда уже придумали. :))

> А ты чё делал в то время? 

Учился в школе.  

Аватар пользователя mike

Диффи-Хеллмана тогда уже придумали. :))

Тогда уже много чего придумано было.  )

[В то время я] учился в школе.

Мои дети тоже.