id: Гость   вход   регистрация
текущее время 07:14 28/04/2024
создать
просмотр
редакции
ссылки

Как сохранить безопасность против слежки АНБ


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


Последние две недели я вместе с Guardian работал над историей вокруг АНБ и прочитал сотни сверхсекретных документов АНБ, предоставленных информатором Эдвардом Сноуденом. Я не принимал участие в сегодняшней публикации — она готовилась задолго до моего появления, — но всё прочитанное мной подтверждает сообщения Guardian.


Теперь же, как мне кажется, я готов дать ряд советов, как оградить себя от подобного противника.


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


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


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


В ещё больших объёмах АНБ собирает метаданные трафика: кто и с кем связывается, когда, как долго, каким способом. Метаданные, по сравнению с содержанием, гораздо проще хранить и анализировать, они могут иметь чрезвычайно личный характер для человека и они невероятно ценны для разведки.


Возглавляет направление по сбору данных Управление системной разведки, и объёмы ресурсов, которые оно выделяет на эти цели, просто поражает. Я читаю отчёт за отчётом, рассматривающие возможности этих программ, их функциональные детали, планы модернизации и т.д. На каждую конкретную проблему — извлечение электронных сигналов из оптических кабелей, поддержание скорости перехвата терабайтных потоков данных, отфильтровывание интересующих вещей — есть своя отдельная группа, занятая поисками решений. Охват тем глобален.


АНБ также атакует и сами сетевые устройства: маршрутизаторы, свитчи, брандмауэры. Большинство этих устройств имеют встроенные функции для прослушки; хитрость заключается в том, чтобы незаметно активировать их. Это крайне плодотворное направление взлома: маршрутизаторы реже обновляют, на них реже установлены программные средства безопасности и они, как правило, не рассматриваются в качестве уязвимого компонента.


Кроме того, АНБ направляет значительные ресурсы на взлом оконечных компьютеров. Этим делом у них занимается группа TAO — Отделение адаптированного доступа. У TAO есть меню эксплоитов, которыми оно может «обслужить» ваш компьютер (будь он под управлением Windows, Mac OS, Linux, iOS или чего-то ещё), и ряд приёмов, чтобы доставить их на ваш компьютер. Их не обнаружит ни ваш антивирус, ни, скорее всего, вы сами, даже если будете знать, что искать. По сути, это хакерские инструменты, разработанные хакерами с практически безграничным бюджетом. Что я вынес из документов Сноудена — это тот факт, что если АНБ захочет влезть в ваш компьютер, оно влезет. Точка.


АНБ решает проблему зашифрованных данных, с которыми ему приходится сталкиваться, в основном обходя криптографию, нежели используя какие-то секретные математические открытия. Во-первых, в мире полно бестолковой криптографии. К примеру, если оно обнаруживает сетевое соединение, защищённое с помощью MS-CHAP, его легко взломать и восстановить ключ. Оно взламывает слабые пользовательские пароли, используя такие же словарные атаки, которыми пользуются гражданские хакеры.


Как мы сегодня узнали, АНБ также «взаимодействует» с разработчиками средств безопасности, чтобы их коммерческие средства шифрования были уязвимы в таких местах, о которых известно только Агентству. Мы помним, что такое уже было в истории: CryptoAG и Lotus Notes — два самых ярких примера, и есть свидетельства в пользу бэкдора в Windows. Несколько человек сообщили мне ряд более свежих историй из своего недавнего опыта, и вскоре я собираюсь об этом написать. В сущности, АНБ предлагает компаниям вносить небольшие незаметные изменения в их продукты: сделать генератор случайных чисел менее случайным, каким-либо образом производить утечку ключа, добавить общую экспоненту в протокол согласования ключей и т.п. Если кто-либо обнаруживает бэкдор, он объясняется как обычная программная ошибка. И, как нам теперь известно, АНБ добилось невероятных успехов с этой инициативой.


TAO также взламывает компьютеры для извлечения долгосрочных ключей. Таким образом, если вы поддерживаете VPN со сложным общим секретом для защиты данных, и АНБ посчитает их заслуживающими внимания, оно может попытаться выкрасть этот секрет. Такие операции предпринимаются только в отношении особо важных целей.


Итак, как же вам организовать безопасную связь при наличии такого противника? Сноуден дал ответ в своём интервью вскоре после обнародования своих первых документов: «Шифрование работает. Должным образом реализованные стойкие криптосистемы — одна из немногих вещей, на которую вы можете положиться».


Думаю, это правда, даже несмотря на сегодняшние откровения и провокационные намёки Джеймса Клэппера, директора национальной разведки, на «прорывные возможности криптоанализа», сделанные им в другом сверхсекретном документе. Все эти возможности заключаются в намеренном ослаблении криптографии.


Но последующая фраза Сноудена имеет не меньшую значимость: «К несчастью, оконечная безопасность столь ужасающе низка, что АНБ зачастую способно её обойти».


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


Исходя из всего сказанного, у меня есть пять советов:


  1. Спрячьтесь в сети. Используйте скрытые сервисы. Используйте Tor, чтобы самому оставаться анонимным. Да, АНБ интересуют пользователи Tor, но это всё равно препятствие для его работы. Чем менее вы заметны, в тем большей вы безопасности.
  2. Шифруйте связь. Используйте TLS, используйте IPSec. Опять же, хотя АНБ целенаправленно перехватывает зашифрованные коммуникации (и, возможно, располагает специальными эксплойтами против названных протоколов), вы будете гораздо лучше защищены, чем при передаче данных открытым текстом.
  3. Исходите из того, что хотя ваш компьютер могут взломать, для АНБ это будет дополнительной работой и риском, так что, вероятно, он не взломан. Если имеете дело с чем-то действительно важным, используйте автономные не подключенные к сети системы. С тех пор, как я начал работать с документами Сноудена, я купил новый компьютер, который никогда не подключал к интернету. Когда мне нужно передать файл, я зашифровываю его на безопасном компьютере и отношу к своему сетевому компьютеру на флэшке. Чтобы расшифровать что-то, я действую в обратном порядке. Этот метод не безупречен, но достаточно хорош.
  4. Относитесь с подозрением к шифровальному ПО, особенно от крупных разработчиков. Полагаю, что большинство криптографических продуктов от больших американских компаний имеют бэкдоры для АНБ и, скорее всего, множество зарубежных тоже. Будет разумным допустить, что иностранные продукты идут в комплекте с собственными иностранными бэкдорами. АНБ проще встроить закладки в закрытое ПО, нежели в ПО с открытым исходным кодом. Системы с общими секретами более уязвимы для АНБ, за счёт как законных, так и нелегальных методов.
  5. Старайтесь использовать стандартные методы шифрования, которые должны быть совместимы с другими реализациями. Например, АНБ труднее встроить бэкдор в TLS, нежели в BitLocker, поскольку реализация TLS у одного разработчика должна быть совместимой со всеми прочими реализациями TLS, тогда как BitLocker должен быть совместим лишь самим собой, что развязывает АНБ руки при внесении изменений. И поскольку BitLocker проприетарен, вероятность обнаружения в нём этих модификаций значительно ниже. Отдавайте предпочтение симметричному шифрованию над шифрованием с открытым ключом. Предпочитайте общепринятые системы на дискретных логарифмах перед системами на эллиптических кривых; последние содержат константы, проталкиваемые АНБ при малейшей возможности.

То время, что я работаю над документами Сноудена, я использую GPG, Silent Circle, Tails, OTR, TrueCrypt, BleachBit и ещё несколько вещей, о которых мне бы не хотелось распространяться. В моей программе Password Safe есть недокументированная шифровальная функция, доступная из командной строки; её я тоже использую.


Я сознаю, что большинство перечисленного невозможно для простого интернет-пользователя. Даже я сам не использую все эти инструменты для всего, над чем я работаю. И я по-прежнему, к сожалению, использую в основном Windows. С Linux было бы безопасней.


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


Доверяйте математике. Шифрование — ваш друг. Хорошо обращайтесь с ними и сделайте всё от вас зависящее, чтобы они не были скомпрометированы. Это поможет вам оставаться в безопасности даже перед лицом АНБ.


© 2013 Брюс Шнайер
Перевод © 2013 SATtva

 
На страницу: 1, ... , 9, 10, 11, 12, 13, ... , 18 След.
Комментарии [скрыть комментарии/форму]
— Гость (17/09/2013 23:53)   <#>
Современная криптография исходит из принципа: шифр должен быть стоек независимо от текста, к которому применяется. Отход от этого принципа — уход из современной криптографии.

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

Это нормальный и естественный подход — знать сколько у тебя патронов в обойме, сколько времени до взрыва гранаты.
И конкретика простая — пуля либо пробивает бронежилет, либо застревает в нем и человек остается жив. И не надо разглагольствований, что и в том и в том случае, человек может оказаться на больничной койке.
— unknown (18/09/2013 00:06, исправлен 18/09/2013 00:19)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

– Теперь сядьте, положите руки перед собой. Не горбитесь, – сказала девочка и взяла кусочек мела. – Мы займемся арифметикой... У вас в кармане два яблока...

Буратино хитро подмигнул:


– Врете, ни одного...


– Я говорю, – терпеливо повторила девочка, – предположим, что у вас в кармане два яблока. Некто взял у вас одно яблоко. Сколько у вас осталось яблок?


– Два.


– Подумайте хорошенько.


Буратино сморщился, – так здорово подумал.


– Два...


– Почему?


– Я же не отдам Некту яблоко, хоть он дерись!


– У вас нет никаких способностей к математике, – с огорчением сказала девочка. – Займемся диктантом.

"Золотой ключик, или приключения Буратино" © (Алексей Толстой).


- У тебя сколько яблок?

- Одно.


- Давай их съедим?


- Давай...


- Но яблок нет! Жрать нечего! Это и есть абстрактное мышление!

© Михаил Жванецкий Два яблока.

— Гость (18/09/2013 00:43)   <#>

Современная наука не знает на это ответа. Да даже если бы и знала, он бы зависел от миллиона других факторов.

Вопрос звучит как «Я убил человека, нож выкинул на мусорку, одежду поменял и уехал в другой город. Можно ли что-либо узнать обо мне?», т.е. он абсурден. Есть миллион способов спалиться на технических тонкостях и ещё такой же миллион противодействия утечкам.

Вас устроит такой ответ?


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


Было бы здорово, если бы человечество имело чёткий и ясный ответ без разглагольствований на любой вопрос.

Бесконечно ли множество пар простых близнецов? Ответа всегда 2: да или нет. И вопрос простой, звучит понятно даже 5-класснику, а ответ, судя по всему, никто на Земле не знает.
— Гость (18/09/2013 01:27)   <#>
Современная наука не знает на это ответа. Да даже если бы и знала, он бы зависел от миллиона других факторов.

Комп, стоящий особняком, отключенный от каких-либо сетей. Документы на шифрование получает не через флешки, а в виде текста на бумаге через сканер. Результат шифрования выдает на принтер. Помещение экранировано и доступ ограничен, попытка силового захвата приведет к измельчению в пыль всего компьютера.
Алгоритм шифрования симметричный и реализован идеально. Комп оснащен идеальным аппаратным ГСЧ. Ключ шифрования сгенерирован согласно рекомендациям лучших собаководов, т.е. содержит необходимую энтропию.
Теперь берем конкретику — алгоритм шифрования и режим, длину ключа, длину исходного текста на 70% состоящего из случайных чисел снятых с идеального ГСЧ.
Может ли кто-нибудь рассчитать сколько в данный момент уйдет времени на дешифровку, если ключ был известен лишь одному человеку. Который на допросе успел сообщить только его часть, после чего умер от последствий пыток.
— Гость (18/09/2013 02:42)   <#>
Может ли кто-нибудь рассчитать сколько в данный момент уйдет времени на дешифровку, если ключ был известен лишь одному человеку. Который на допросе успел сообщить только его часть, после чего умер от передоза последствий пыток.
Какую часть успел сообщить умерший во время пыток человек? Достоверна ли эта часть? Какие пытки применялись, т. к. возможно помутнение рассудка или состояние измененного сознания, при котором индивид может выдать искаженные данные и сформулировать подобную задачу в режиме онлайн.
По последним расчётам на дешифровку уйдёт 279 времени. Если отвечать конкретнее, то в данный момент на дешифровку уйдёт ровно столько времени, сколько уходит на стандартные единицы его измерения в СИ. Т. е. за 3600 секунд уйдет 3600 секунд за вычетом преобразований подобия параллельного тайминга. Помимо ключа, зашифрованные данные знал еще кто-либо кроме потерпевшего? Т. к. в связи с его смертью от пыток задача теряет смысл.
Рассматриваемый вопрос относится к какому времени? Кто выступает в роли пытаемого? Он уже умер от пыток или только собирается? Гость Шрёдингера?
Вы посимвольно проверяете сканируемый-печатаемый материал при вводе-выводе на предмет возможных ошибок и их последующей коррекции в случае обнаружения последних? Какая оргтехника используется вами? Комп стоит особняком на Рублёвке? Или, что более вероятно, на ул. Герцена?
В моей практике подобный вопрос встречается не впервые, конечно. База заний и архив "Вопрос-Ответ" у меня на сайте в разделе /18+/. Используйте навигацию. JS должны быть включены. Куки должны быть разрешены на время сессии.


Не вижу конкретики, алгоритма, режима, длины ключа и т.д. Исх.текст должен состоять не менее чем на 84% из случайных чисел.

Суважением к.т.н. Власов Валерий Андреевич.
Мой HS http://vlasuhbfof7gdfcl.onion Invite code: H6cfd5Poh78a4Dfe3lHJ75CfdCkr
Для доступа на веб-сайт в Интернете настройте ваш браузер на сокс-прокси: SOCKS5 64.87.234.17:24867

Алексей Толстой @ Михаил Жванецкий
+1. Тоже почитываете в свободное от работы время?
— Гость (18/09/2013 02:42)   <#>

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


Если так ставить задачу, то будут трудности типа этих. Рассчитать ничего нельзя, т.к. никто не знает все свойства реального конкретного блочного шифра. Подозреваю, что если бы их знали, шифр был бы уже давно признан непригодным к использованию. Современная криптография — не математика, это игра в уловки: одни запутывают, другие распутывают, и процесс этот будет продолжаться бесконечно, пока не перейдут на информационно-стойкую криптографию. Сейчас какие-то свойства шифра неизвестны, а через 15 лет могут стать известными, и появятся первые атаки на открытый текст. Как в таких условиях можно вообще ставить ваш вопрос?
— unknown (18/09/2013 10:28, исправлен 18/09/2013 10:42)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Вроде как граничные условия сформулированы и предложен мысленный эксперимент? Если не придираться к полноте и корректности формулировок, будем считать, что этой информации достаточно. Поместим эту, якобы практическую модель, в условия более сильной теоретической модели и посмотрим, что можно сделать.


Представим себя на месте самого сильного теоретического противника. На практического можете сами потом заменить.


Пусть есть три параллельных мира. В них, за исключением одной детали, внешне всё одинаково. Три одинаковые комнаты, компьютер, винчестер; пользователь, умерший на допросе; часть полученных от него сведений о ключе.


Представить часть сведений о ключе, полученную от пользователя несколько сложнее, чем параллельные миры (пользователь обычно знает пароль, но не ключ), ну да ладно — не будем придираться даже к этому. Представить можно всё, что угодно.


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


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


В мире №1 шифртекст получен стандартным дисковым шифрованием из некоего открытого текста (пусть даже полностью известного противнику — терабайт одних нулей, к примеру).


В мире №2 шифртекст получен дисковым шифрованием с перестраховками (рэндомизацией, сжатием, каскадами и пр.) некоего открытого текста (пусть даже полностью известного противнику).


В мире №0 шифртекст получен стандартным дисковым шифрованием выхода идеального истинного генератора случайных чисел (TRNG), сам выход которого противник непосредственно наблюдать не может. Так что для него шифртекст не содержит никакой информации ни о каком открытом тексте. Там только шифрованная случайность.


Противник случайно и равновероятно попадает в один из трёх миров. Единственный способ определить, в каком из миров он находится — это построить дешифрующий оракул, который способен пытаться извлечь некоторую информацию из шифртекста. За n попыток он может извлечь информацию и перебором (брутфорсом).


Противнику предоставляется три попытки, в ходе которых он может получить шифртексты из трёх миров в некоторой случайно выбранной внешним неподконтрольным оракулом перестановке. Т.е. он не знает в каком порядке миров он побывал (0-1-2, 0-2-1, 1-0-2, 1-2-0, 2-0-1, 2-1-0). После того, как порядок миров исчерпан, он может попросить внешнего оракула снова отправить его в каждый из трёх параллельных миров, в каждом из которых по вышеописанным правилам для него будут заново сгенерированы новые шифртексты (или просто запросить оттуда шифртексты, чтобы самому не бегать).


Можно допустить, что если стандартное дисковое шифрование идеально по шифру, но неидеально по режиму шифрования, т.е. рэндомизивано только по ключу и векторам инициализации, то после 2n/2 попыток при одинаковых открытых текстах, противник сможет различить мир №1 и мир №0: хотя бы один раз из-за повторения ключа (и возможно других коротких случайных параметров) в ходе парадокса дней рождения в мире №1 произойдёт повторение шифртекста. Также возможно и накопление информации за счёт утечек данных в шифртексте, опять же за счёт неидеальности режима стандартного дискового шифрования. Поэтому, число операций к дешифрующему оракулу в каждом мире также ограничено 2n/2 — где n — криптостойкость системы по брутфорсу. Итак, есть ограничение на число попыток дешифровки внутри мира в 2n/2 и число попыток на сбора статистики с миров в 2n/2. Это ограничение позволит избежать появления тривиальных различителей, которые считаются допустимыми в системах шифрования. Если памяти о мирах (по шифртексту) нет, то это ограничение не важно, его можно не вводить.


После посещения всех трёх миров x, y, z противник сообщает внешнему оракулу, выбиравшему порядок миров, какой из миров является каким номером: 0, 1 или 2. Оракул выдаёт правильные ответы. Если за 2n/2 попыток определения миров с заново генерируемыми по этой схеме шифртекстами и 2n/2 операций в каждом таком мире противник сможет научиться разгадывать номер мира с вероятностю больше 1/3, то он построит различитель миров за счёт атаки на шифртекст.


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


Гипотеза №1. Для того, чтобы построить различитель между мирами №1 и №2, противнику в обязательном порядке придёться построить различитель между мирами №0 и №1 или №0 и №2.
Гипотеза №2. Утверждение, в гипотезе №1 также возможно в обратном порядке: если противник сразу вывел различитель между мирами №1 и №2, то из него он выведет два других различителя.
Гипотеза №3. Нахождение различителя между мирами №0 и №1 м.б. необходимым, но недостаточным условием нахождения различителя между мирами №1 и №2.
Гипотеза №4. Оценки на сложность построения различителя между мирами №0 и №1 не дают возможности оценить сложность нахождения какого-либо из двух оставшихся различителей.


Следствие. Если все гипотезы верны, то задача об оценках затрат на перестраховочную криптографию в общем случае не имеет решения, хотя бы по причине отсутствия сведений о возможности построения различителя между мирами №0 и №1 и невыполнения условий гипотез №1 и №2. В случае нахождения такого различителя, информации о нём недостаточно согласно гипотезам №3 и №4.


Вывод. Задача о перестраховочной криптографии носит спекулятивный характер в рамках сегодняшних представлений о доказуемой безопасности, а каких-либо преимуществ в общей теоретической модели для неё не выявлено. Однако, с учётом того, что предложенные гипотезы также носят недоказанный характер, этот вывод также не может являться строго доказанным. Из возможной неверности гипотез и вывода не следует и обратного — того, что задача о перестраховочной криптографии якобы имеет решение.


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


Предложение. На этом все споры о перестраховочной криптографии предлагается завершить хотя бы до появления чёткой информации о наличии различителя между мирами №0 и №1 (взломе существующих криптосистем) или публикаций о создании альтернативного формального языка в доказуемой безопасности.

— Гость (18/09/2013 16:27)   <#>
Иначе говоря, вся современная концепция доказуемой безопасности сводится к подобию аэродинамической трубы. В ней можно "продуть" авиамодель и понять способна ли летать, а вот оценить подъемную силу крыла — уже нет возможности. От того и проблемы со сравнением нескольких авиамоделей.
— unknown (18/09/2013 17:39, исправлен 18/09/2013 17:46)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

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


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

— Гость (18/09/2013 19:16)   <#>
Может, мой вопрос глуп, но всё же. Пусть у нас есть идеальный ICM. По условию им шифруется случайная гамма, про которую ничего не знает противник. Однако, противник может получить сколь угодно длинный вывод (шифртекст) ICM и никак не ограничен в ресурсах. Как я понимаю, в этих условиях он не сможет взломать ICM, если под взломом понимать получение хотя бы частичной информации об использованном ключе и/или шифртексте. Так?

Теперь точно та же задача, но не для ICM, а для реального (неидеального) блочного шифра, который PRP — например, AES. В этом случае при шифровании случайной гаммы тоже получится случайная гамма. Если противник ничего не знает про открытый текст и ключ, правильно ли я понимаю, что он ничего не сможет о них узнать даже на шифртексте бесконечной длины и при бесконечных ресурсах? Т.е. смысл в том, что неидеальность блочного шифра никак нельзя проследить на полностью случайном входе и случайном ключе?

Точнее, требование случайности ключа, может быть, даже избыточно. Ключ, я так понимаю, задаёт конкретную PRP. Даже если мы сообщим эту PRP противнику, что она ему даст, если он ничего не знает про случайную гамму на входе? Он даже не сможет определить, правильную мы ему PRP дали или нет, поскольку он сможет найти множество пар {какая-то PRP, случайная гамма на входе}, дающих один и тот же шифртекст (т.е. эти пары недифференцируемы по шифртексту).

Ещё одна идея: если бы неидеальный блочный шифр мог бы давать что-то отличное от полностью случайной гаммы при том, что его вход — какая-то другая случайная гамма, мы бы получили «идеальный архиватор», который сжимает поток случайных чисел (что, очевидно, невозможно).

Подскажите, если где заблуждаюсь.
— unknown (19/09/2013 12:29, исправлен 19/09/2013 12:40)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

ICM — это модель. Сам идеальный блочный шифр обозначается как IBC.



В данном случае об открытом тексте. Шифртекст то доступен.


Может вас и удивит этот факт, но это не совсем так. Даже если шифровать идеально случайную неизвестную наблюдателю гамму TRNG идеальным блочным шифром, то и в таком случае могут быть небольшие утечки информации об открытом тексте (об этой гамме) в шифртекст из-за т.н. тривиальных различителей в режимах шифрования. А поскольку ресурсы противника безграничны, то с некоторого порога в интервале 2n/22n (число блоков при размере одного блока n) такие утечки встретятся с вероятностью, близкой к 1.


В простейшем и нестойком режиме шифрования с несвязанными блоками
ECB: Ci = Ek (Pi); Cj = Ek (Pj)
одинаковые блоки открытого текста Pi и Pj приведут к одинаковым блокам шифртекста Ci и Cj.


В стойком (при правильном применении) режиме шифрования со связанными блоками
CBC: Ci = Ek (Pi ⊗ Ci-1); Cj = Ek (Pj ⊗ Cj-1);
если окажется, что блок Ci = Cj, то отсюда следует равенство того, что в скобках, т.е. утечка сведений о XOR-связях в открытом тексте. А если окажется, что подряд соблюдаются оба условия Ci = Cj и Ci-1 = Cj-1, то отсюда следует и равенство блоков открытого текста.


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


Если бы тривиальных различителей не было, то тогда да, шифрование неизвестной случайной гаммы выглядело бы как "одноразовый блокнот наоборот". Можно было бы хоть ксором, хоть сложением по модулю шифровать — никаких смещений и отклонений от идеала в статистике шифртекста от этого по сути не возникает, но утечка об одинаковых блоках, а в каких-то режимах — и XOR-связях между ними, есть. В стойком шифре это не приводит к утечке сведений о ключе, вот если использовать XOR или сложение по модулю в режиме CBC (как модель нестойкого шифра), то и ключ вывести можно. Хотя, ждать нужных совпадений придёться долго, как при брутфорсе, или как при сокращённом брутфорсе на парадоксе дней рождения 2n/2.

— Гость (19/09/2013 14:49)   <#>

Да, опечатался.


Не подумал об этом. Общая мысль была такой: неограниченный в ресурсах противник может найти ключ шифрования для IBC (или неидеального BC) и полностью восстановить открытый текст за гипотетическое время, даже если им шифровался только вывод TRNG. Из того, что вы написали, этого вроде как не следует (хотя утечки об открытом тексте будут, не ясно, будут ли утечки об использованном ключе).

Если подойти от сохи: пусть режим шифрования нестойкий, и мы знаем равенство сколь угодно многих блоков в гамме (при бесконечно длинной гамме число идентичных блоков будет тоже бесконечным), что это нам даст для восстановления ключа? Можно ли всё-таки найти ключ и тем самым восстановить весь открытый текст или нет?

Ещё более исходная идея была такой: имея сколь угодно длинный вывод (output) функции, можно восстановить саму функцию. Позже я засомневался, что это так [мы знаем действие функции (IBC) только на случайный поток бит, а сами этот поток бит не контролируем].

Это всё родилось из попытки объяснить бессмысленность каскадов на пальцах. Типа, если взять предельный случай, когда один шифр C1 стойкий, другой (C2) нестойкий (полностью взламывается), а ключи для обоих шифров одинаковые, то при последовательности шифрования C1 ( C2 ( P ) ) шифр C2 не имеет смысла (взломать и так нельзя), а при последовательности шифрования C2 ( C1 ( P ) ) оно тривиально взламывается: раз C2 полностью ломается, мы извлекаем ключ и тем самым расшифровываем C1 несмотря на его стойкость. Было бы интересным, если бы это работало в точности, т.е. даже если C1 = IBC и открытый текст — вывод TRNG.

Если вся эта аргументация прокатывает (в одном случае каскад бессмысленен, а в другом тривиально ломается), можно перейти к вопросу о связанных ключах, который объясняется схожим образом: раз C2 небезопасен, мы можем что-то узнать про его ключ. А раз общий ключ на каскад фиксирован, а про часть его мы что-то знаем, значит, мы знаем что-то и о ключе для шифра C1. Т.е. стойкий шифр C1 будет более стойким, если бы он использовался отдельно, без каскада, а каскад даст утечку его ключа. Этим аргументом можно было бы полностью завернуть, по крайней мере, тривиальные идеи каскадов со связанными ключами. Не то, чтоб это здесь кому-то было нетривиальным, но просто подумалось о простой аргументации на пальцах, показывающей, почему это не работает.

Обсуждение каскадов закрыто, но, я без понятия, в какой топик сейчас стоило бы написать об этих соображениях. Впрочем, всё это может быть тотальной глупостью, а аргументация не работать. Обсуждал эти вещи в узком кругу, но к внятной понятной аргументации так и не пришли. :-(
— unknown (19/09/2013 16:50, исправлен 19/09/2013 16:57)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Здесь тупик в том, что в IBC нет в чистом виде ключа, нет ключевого расписания, нет внутренней структуры. Это такая же абстракция, как RO. Просто заполненная случайно большая таблица соответствий всех возможных пар открытого и шифртекстов для каждого ключа.


В сугубо теоретических измышлениях можно предположить, что в абсолютно непрактичных атаках, где-то за пределами далеко 2n противник может собрать столько сведений об утечках открытого текста, что может восстановить всю кодовую книгу (упомянутую выше таблицу), но мне это точно неизвестно.


По крайней мере, до 2n/2 … 2n (чёткого порога нет, но он возникает в разных режимах по разному и вероятность начинает резко приближаться к 1) IBC считается инф.-теоретически стойким.


На случаи за пределами 2n/2 … 2n модель просто не рассматривается, это проде как за пределами области определения, там какие-то парадоксы могут быть, в т.ч. и с каскадами, но это практического смысла не имеет. Думаю, что ваши рассуждения по каскадам ошибочны, в работах как-то всё сложнее выводится. Про связь ключей через KDF в каскаде и вожможное утверждение об утечке через него, я бы также не рискнул такое простое утверждение делать.


P.S. Кто-то тут не может элементарную теорию освоить, а вы кажется всерьёз восприняли призыв построить альтернативные интерпретации и начинаете какие-то метаабстракции вводить, пытаясь вынести выч. безопасность в границы инф.-теоретической :)

— Гость (19/09/2013 17:03)   <#>

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


А можно ли какие-то такие рассуждения построить для неидеального шифра? Т.е. сказать, что у любого реального блочного шифра обязаны быть неидеальности такого-то и такого-то рода (потому что без них невозможно сконструировать шифр, и это доказано, типа 2n PRP не создать никакой реальной конструкцией), поэтому эти неидеальности можно выудить такого-то рода атаками? Или для заведомо неидеальных шифров эти рассуждения тоже не работают?
— unknown (19/09/2013 17:27)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
n — в данном случае может быть размером не только ключа, но и блока, что особенно актуально для случая IBC в ICM.

Для неидеальных шифров проблема в том, что это некая сложная функция, что-то вроде большой системы уравнений, описывающих связь ключа, открытого текста и шифртекста. Подразумевается, что попытка решить эту систему должна требовать более, чем 2n шагов. Можно ли доказать, в общем случае, что всегда есть способ сделать это быстрее по количеству шагов или памяти, сколь бы сложной система не была — не знаю точного ответа на этот вопрос. И не знаю, есть ли кто-то, кто его знает :) Косвенно это лишь следует из того, что можно сколь угодно близко эмулировать PRP-свойства в ICM, но никогда нельзя сделать это полностью вычислительными методами.
На страницу: 1, ... , 9, 10, 11, 12, 13, ... , 18 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3