03.06 // Elligator: способ маскировки криптографии на эллиптических кривых
Проблема преодоления цензуры представляет собой гонку вооружений против цензоров. Цензоры изучают весь трафик, входящий и выходящий из контролируемой ими сферы и пытаются блокировать трафик средств обхода цензуры без того, чтобы полностью выключить интернет. Для профилирования трафика они устанавливают файрволлы со сложными системами глубокой инспекции пакетов (DPI).
Криптография помогает скрыть следы пользовательских данных, но не позволяет скрыть сам факт применения криптографии пользователем. В частности, криптография на эллиптических кривых передаёт известные точки кривых, которые легко различимы от случайных строк. Такая передача происходит в долговременных открытых ключах, эфемерных открытых ключах, префиксах шифртекста, запросах и др. Сжатие таких параметров, очевидно, не сможет эффективно замаскировать их наличие. Для построения неразличимых и маскируемых протоколов необходимо, чтобы ключи, заголовки согласования и шифртексты были неотличимы от случайных строк.
Несколько лет назад Moller предложил схему модификации протокола Эль-Гамаля, которая получила применение в проекте StegoTorus — расширении для работы с сетью Tor, предназначенном для обхода блокировок. Это расширение позволяет маскировать Tor-трафик под трафик Skype, обычный HTTPS и др. при связи с сервером StegoTorus. Установление связи с таким сервером требует вычисления временного ключевого материала на основе открытого ключа сервера. Этот ключевой материал используется для шифрования коммуникаций на основе последующего обмена ключевым материалом посредством эфемерного протокола Диффи-Хеллмана. Если бы StegoTorus не использовал шифрование обмена ключами, то этот этап был бы легко отличим от случайных данных. Однако, такое шифрование вносит новый слой в протокол Moller, удваивая объёмы данных, требуемых для первоначальной коммуникации. Это замедляет работу клиента, сервера, удваивает размеры его ключа и требует реализации для вычисления двух разных кривых.
Другим предложенным проектом был Telex. Пользователь посылает регулярные запросы, у которых в поле согласования случайных параметров встроена метка, которую может распознать союзническая перехватывающая сторона со своим DPI и открыть пользователю тайный туннель внутри обычного SSL-соединения, имитирующего связь с безобидным сайтом.
SSL используется для шифрования всего трафика внутри сети Tor, поэтому использование совместного протокола для стеганографического кодирования в скрытых каналах для преодоления цензуры является естественным дополнением к таким свойствам сети Tor, как анонимность, односторонняя аутентификация и наперёд заданная секретность.
Исследователи Дэнил Джей Бернштейн (кафедра компьютерных наук университета Иллинойс, Чикаго, США), Анна Краснова (лаборатория приватности и идентификации института компьютерных и информационных наук университета Радбод, Неймеген, Нидерланды) и Таня Ланге (кафедра математики и компьютерных наук технического университета Эйндховена, Нидерланды) представили эффективный способ отображения эллиптических кривых в виде строк, неотличимых от случайных. За основу была взята имеющая большой запас стойкости кривая Curve1174 в поле простых чисел, что позволяет избежать атак на основе свойств подполя. Данная кривая подвергается инъективному преобразованию, названному "Elligator", для кодирования в виде случайных строк.
Авторы приводят примеры использования эллиптических кривых в протоколах долговременных и кратковременно-используемых ключей Диффи-Хеллмана, шифровании Эль-Гамаля, подписях Шнорра. Они надеются, что преобразование Elligator позволит эффективно маскировать криптографию на эллиптических кривых с целью встраивания её в противоцензурные системы, основанные на имитации разрешённых видов трафика или использующие элементы стеганографии, в частности, в системах, аналогичных Telex и StegoTorus.
В конце работы представлена реализация преобразование "Elligator" на языке Python, показывающаяя его простоту для внедрения в код программ, нуждающихся в сокрытии использования ECC-криптографии в каналах связи.
Источник: Cryptology ePrint Archive
Эти строки должны быть каждый раз разными в разных сессиях? Почему нельзя зафиксировать все параметры протокола так же, как фиксируются хидеры в бессигнатуром шифровании?
комментариев: 9796 документов: 488 редакций: 5664
Да, иначе их можно выявлять и блокировать.
С симметричной криптографией, в которой появилось бессигнатурное шифрование — это не было проблемой. В асимметрике, в общем случае — результат шифрования (например, сеансового симметричного ключа) не выглядит случайным из-за определённой математической структуры. Что не мешает ему быть стойким за счёт избыточности.
Именно из-за этого следует, что отрезание хидера от PGP-шифрованного файла не скроет тот факт, что это PGP-файл? Или вы в том комментарии имели в виду нечто другое, не столь принципиальное? Можно ли избавиться от сигнатур PGP-шифрованнгого файла или это принципиально невозможно?
Более подробное обсуждение имело место тут.
комментариев: 9796 документов: 488 редакций: 5664
А асимметричное шифрование можно было бы выявлять путём различных специализированных вычислений. В этом причины, почему его было не применить в стегоканалах, например. И система TELEX была до этого изобретения не совсем полноценным концептом — там были такие же проблемы с маскировкой асимметричного запроса.
Это касается любого симметричного пофайлового шифрования? И openssl и mcrypt? Если так, в чём концептуальное отличие, приводящее к нераспознаваемости контейнеров TC? Non-malleability? Кто мешает таким же образом шифровать и файлы? Это было бы менее безопасным? Почему файлы шифруются не точно так же?
Зачем это нужно в Telex? Если пользователю разрешается установить SSL-сессию с какими-то невинными HTTPS-сайтами, далее метку и прочие внутренности можно было бы встроить в уже шифрованный SSL'ем трафик. Или предполагалось, что цензоры митмят все SSL-сесии, потому HTTPS по факту не даёт никакого шифрования от цензоров?
ICM и случайный оракул были поруганы простейшей программой шифрования? Настолько легко отличить случайный текст от шифрованных данных?
комментариев: 9796 документов: 488 редакций: 5664
Нет, только особенностей его реализаций.
Я не знаю, что они пихают в шифртекст, кроме простых заголовков.
Тогда бы эти сайты видели метку. А сам TELEX — нет. А требуется наоборот: TELEX видит, а до самих сайтов трафик реально может даже не доходить (в предельном случае TELEX может имитировать соединения с ними, на самом деле полностью переключив весь поток трафика на себя). Метка встраивается в IV, nonce, поле со случайными данными, которое выглядит как чистый рэндом и воспринимается реальными сайтами именно так. Они не подозревают, что там асимметрично полученный шифртекст или согласование ключей. Так же как и цензор.
В чистом виде — вычислительно никак. Однако, множество реальных программ помимо заголовков пихает коды проверки ошибок и форматирует пакеты шифртекста в определённый вид. Что не имеет никакого отношения к теории ICM.
Моё непонимание возникло из-за того, что я забыл, что трафик на целевые ресурсы будут перенаправлять не эти невинные SSL-сайты, а
девяткиIX'ки. Сейчас вспомнил, и всё сразу стало логично. Спасибо за пояснение.