id: Гость   вход   регистрация
текущее время 23:24 24/11/2017
создать
просмотр
редакции
ссылки

Развёртывание квантовых сетей (QKD) в домашних условиях


Photon_counter_big-small.jpg (87 Кб)


Преамбула:


В связи с ожидаемой кончиной безопасности асимметричной криптографии, наверняка многие задумывались о переходе на безусловно безопасную квантовую (QKD) и о разворачивании собственной квантовой локальной сети в домашних условиях. К счастью, софт для реализации такой сети уже 2 года как свободен, открыт и выпускается AIT SQT Software (Австрийский Институт Технологий) под лицензиями GPLv2 и LGPL. Метод работы системы схематически описан здесь и на этом постере, а тут доступны слайды и другие материалы по теоретическим и экспериментальным наработкам группы.

Хронология:


Каждый релиз QKD-софта имеет собственное имя. Последний стабильный релиз — R7 (Де Бройль). Планк готовится к выпуску, и по ссылке можно следить за его подготовкой и исправлением ошибок. Полный список релизов:
РелизИмяДатаКоммит
R1Newton04.05.2006r64
R2Faraday05.10.2006r187
R3Tesla05.02.2007r322
R4Einstein30.05.2007r608
R5Bohr06.08.2007r817
R6Heisenberg24.10.2008r1403
R7De Broglie09.03.2010r1747
R8Planck??

Словарь терминов:


Для понимания документации, привожу краткий словарь технических терминов:
  • QRNG — квантовый генератор случайных чисел.1
  • DieQuick — программа для проверки рандомности (видимо, DieHard Quantum = DieQuick).
  • qd — QKD device.
  • qbb — сокращение для Quantum BackBone.
  • libqkd — библиотека QKD.
  • q3p — общепринятое сокращение для Quantum Point-to-Point Protocol (аналог ppp), который уже стандартизован IETF. Для работы с q3p используются:
    • q3p-cmd — тулза для динамического конфигурирования q3p.
    • q3p-link отвечает за безопасную коммуникацию между хостами.
    • Q3P MQR — Message Queue Reader, используется для чтения ключей из очереди сообщений и отправки их агенту управления ключами NEC keyagent.
    • Демон q3pd (видимо, по аналогии с pppd).
    • q3p0, q3p1, q3p2 и т.д — виртуальные сетевые интерфейсы наподобие tun/tap.
    • q3p-ospf — квантовый OSPF (если нужен квантовый рутинг и имеется более, чем 2 хоста).
  • ECP-QKD, IPSec QKD — разрабатываемые стандарты для других квантовых протоколов.

Поддерживаемые системы:


Для Де Бройля доступны как rpm-, так и deb-пакеты (32- и 64-битные версии), которые имеются в архиве по ссылке здесь, но разработчики рекомендуют устанавливать де Бройль на Debian «Squeeze» (см. файл README в архиве):
The recommended system for running R7 De Broglie is Debian Release "Squeeze".
These packages with the minimum version listened should be installed.
Debian — родная система разработки, в качестве доказательства прикладываю собственноручно сделанный скриншот QKD-монитора и видео2 (youtube|file) рабочей QKD-системы.

Если вдруг у вас нет под рукой настоящей QKD-системы, можно воспользоваться и виртуальной машиной симулятором QKD-сети. По ссылке доступен исходный код, инструкция по установке, rpm и deb-пакеты для 32- и 64-битных версий Linux. В fileэтом архиве также имеются скриншоты симулятора.

Для разработчиков:


Для желающих участвовать в проекте есть возможность создать свою среду разработки и использовать версионник — GitSvn. Разрешение зависимостей при компиляции описано здесь. Имеются биндинги на питоне. Не забывайте, что комментарии в конфигурационных файлах предваряются двумя минусами, как это принято в Haskell и Lua.

Инсталляция:


Установку Де Бройля лучше начинать с чтения этой вики и основной страницы релиза. Конфигурирование описано здесь. Чтобы включить поддержку QKD-девайса qd, раскомментируйте в исходниках ядра строчку Инициализация qd задаётся командой
qd NODE-ADDRESS OWN_UUID PEER_UUID
Сеть на виртуальных интерфейсах конфигурируется стандартным образом:
# ifconfig q3p0
q3p0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.0.0.1  P-t-P:10.0.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:31 (31.0 B)  TX bytes:32 (32.0 B)
По умолчанию используются порты 2000, 2001 и 2100.

Поддержка пользователей:


Если при работе с системой у кого-то возникли вопросы, есть форум поддержки, где их можно задать. Имеющиеся багрепорты можно просматривать (или отсылать свои) в багтрекеры: общий, по qkd-стеку, по qkd-софту, по qkd-сети. А в этом багтрекере даже можно выбирать релиз QKD-софта и тип квантовых утилит в критериях поиска. И видно, что люди действительно пользуются системой: например, по этой ссылке счастливый обладатель QKD-систем от швейцарской idQuantique интересуется, как заставить с ними работать qkd-stack и qkd-network, а вот тут кто-то жалуется на то, что в его Ubuntu проблемы с зависимостями.

Квантовая локальная сеть:


Использование квантовой сети из нескольких хостов — не редкое явление (quantum OSPF упоминался выше). Один из самых известных примеров — бывший 4 года назад своего рода Quantum Install Fest, сеть SECOQC (wiki) на которой был запущен Гайзенберг R6. SECOQC оперировала с шестью (по данным самого прокта — с восемью) хостами, соединёнными между собой в единую сеть разными способами (QKD по оптоволокну, по воздуху, на основе как дискретных, так и непрерывных переменных и т.д.). AIT был инициатором и координатором SECOQC, а софтверная компания AIT QKD Network Software как раз и выросла как его результат. Налогоплательщикам европейских стран разработка такой локалки обошлась в 14,7 миллионов евро, в её создании приняала участие 41 организация из 12 стран, 25 университетов (в том числе и наш), 5 исследовательских центров и 11 бизнес-структур. Основной мотивацией для финансирования этого проекта на уровне общеевропейских программ была защита от шпионажа со стороны американского «Эшелона». Тем не менее, всё это — уже прошлое науки, которая теперь движемся к следующему логическому этапу — квантовому интернету.

Квантовый интернет:


Наверняка многие из читателей уже слышали про космические программы QKD. Первый их этап — осуществление надёжного QKD по воздуху на значительные расстояния (лазерный луч по воздуху). Здесь за приоритет бьются китайцы и группа Антона Цайлингера, состоящая из около 30-40 человек. Для удачных экспериментов нужно максимальное удаление от возмущающих среду источников, поэтому были выбраны канарские острова Ла-Пальма и Тенерифе (расстояние между ними около 140 км), а оборудование было размещено в зданиях местных обсерваторий. На островах уже успело побывать много исследователей в рамках сотрудничества: Цайлингер любезно приглашал конференционную общественность поучаствовать в работе, в красках расписывая местную канарскую природу. Основные вредители «воздушного» QKD — облака (порой приходится много дней ждать удачной погоды) и квантовые хакеры, разузнавшие, какие там стоят марки фотонных детекторов и уже продемонстрировавшие их уязвимость. Впрочем, Цайлингер резонно подметил, что если хакеры станут строить леса вокруг обсерватории, чтобы посветить лазером в детекторы, они их заметят и надают им по шапке.

Второй этап космических программ — собственно размещение QKD-хоста на спутнике, который сможет, в свою очередь, соединять разные точки на земле через QKD по воздуху. Такое решение смотрится, видимо, более перспективным, чем попытки окутать всю Землю оптоволокном. QKD в космосе, ожидается, будет вот-вот продемонстрировано (концептуальных нерешённых проблем здесь нет), что позволит соединить квантовую локалку на одном конце света с квантовой локалкой на другом конце (квантовый VPN?). Собственно, на этом этапе условный SECOQC станет де-факто «международным», что позволяет по праву назвать такую сеть «квантовым интернетом». Единственный недостающий штрих — квантовые повторители (quantum repeaters), но их создание уже ожидается в близком будущем. Наконец, далее всё будет стандартно: удешевление технологии, её широкое распространение, рост пропускной способности, востребованность специалистов на рынке и кадровый голод (в квантовые админы никто не хочет пойти?).

QKD — это дёшево:


Если у вас нет 100k€ для покупки коммерческой QKD-системы, или если вы прочитали слева внизу на постере, что
The software is licensed as open source under the GNU GPL V2 and GNU LGPL V2.1. A registration fee of € 2.000, covers the costs of the software platform and grant full access

и вам не хочется платить 2k€ за софт, то это не беда:

  • Во-первых, часть софта можно скачать и без регистрации.

  • Во-вторых, незачем платить 100k€, когда можно включить мозги и собрать QKD-систему дома в гараже самому:

    garage-small.jpg (45 Кб)

    Стоимость необходимых деталей будет зависеть от желаемой ширины канала (фотонные детекторы в зависимости от характеристик разнятся от относительно дешёвых:

    Photon_counter_small-small.jpg (23 Кб)

    до крайне дорогих). Здесь вряд ли кто-то подводил точные расчёты, но молодёжь из компании-поставщика QKD в непрерывных переменных SeQureNet (обсуждалось здесь) оценивает стоимость деталей в 10k€. Прогнозы Вадима Макарова менее оптимистичны — минимум 15k€.

  • В-третьих, даже если у вас нет и 10 тысяч, это тоже не беда: можно просто пойти и устроиться квантовым админом. К примеру, голландская фирма-производитель Single Quantum активно fileищет себе струдников. Я, конечно, как теоретик, не стал бы претендовать на такую вакансию (и, вообще, в этой квантовой сетевой OSI моя работа соответствует самому нижнему уровню — физическому), но другие желающие вполне могут попробовать. И таких фирм на самом деле много, так что дерзайте!

  • В-четвёртых, наконец, для самых ленивых есть открытый свободный симулятор (см. описание выше) — просто скачивайте и запускайте!


Ответ скептикам QKD


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

  • QKD-системы баснословно дорогие! Кто в здравом уме согласится это покупать?

    Стоимость коммерческих систем QKD (а их всегда покупают вместе с поддержкой), 100k€, не является запредельно высокой. Основной потребитель QKD — коммерческие банки. Государство обязывает их делать резервные копии для всех транзакций, причём эти копии должны делаться в другие отделения банка, которые расположены не ближе, чем несколько десятков километров. Из-за этого возникает необходимость передавать большие потоки зашифрованных данных (а, значит, и часто делать рекейинг). Стоимость классических коммерческих систем, решающих такую задачу, настолько высока, что добавка лишних 100k€ на дополнительную примочку в виде QKD-системы существенной роли не играет. Технически это организовано так, что итоговый ключ шифрования вырабатывается из обоих источников (классического и квантового), причём если какой-то один из них будет полностью скомпрометирован, итоговый ключ всё равно останется безопасным. Таким образом, квантовая криптография «страхует» классическую, а классическая — квантовую.

  • Насколько QKD популярно в мире?

    Самый крупный поставщик оборудования — idQuantique. Cледует сказать, что он имеет довольно хорошую научную и коммерческую репутацию. В частности, когда была обнаружена серьёзная уязвимость в их реализации QKD (тем же Макаровым), они написали официальный анонс на сайте и бесплатно заменили оборудование у всех своих клиентов, хотя согласно юридическому договору с клиентами могли этого и не делать. Точное количество заказчиков QKD — коммерческая тайна idQuantique, поэтому это никто не знает, но их число оцениватеся в несколько десятков.

  • Все знают, что экспериментальные реализации QKD были взломаны. Тогда зачем мне разворачивать свою квантовую сеть?

    Чтобы избежать кривотолков, про это стоит рассказать интернет-общественности подробней. Демонстрационный взлом с полным восстановлением ключа планировалось провети на коммерчески продаваемой системе, но по техническим обстоятельствам3 впервые это удалось сделать для исследовательской реализации QKD, а для коммерческой пришлось ограничиться убедительной демонстрацией существования той же уязвимости (т.е. установку, чтобы это показать экспериментально, собирать под них не стали). idQuantique была приватно извещена об уязвимости в их системах, причём ей была предоставлена вся информация с полным раскрытием деталей. Николя Жизан, глава idQuantique, на это отреагировал как «это очень хорошо, что квантовая криптография достигла той степени зрелости (как технология), когда её уже стали взламывать».

    На тот момент был выбор: публично опубликовать уязвимость только для idQuantique'овских систем или посмотреть на какие-то ещё (но где их достать? они недёшево стоят), но idQuantique с радостью согласился достать за свой счёт чужие системы и предоставить их для взлома («да-да, взломайте тогда и их тоже!»), что и было сделано. Когда работа была закончена, у хакеров встал вопрос о том, в какой форме писать благодарность в научной статье (это общепринятая практика) за предоставленное оборудование, но, как оказалось, оборудование было взято у европейских армейских, которые изо всех сил решили отнекиваться в духе «нет, нет, нас благодарить не надо!» [не хотели светиться как потребители QKD :)]. Впрочем, за экспертизой армейским тоже пришлось обращаться к тем же хакерам (технология новая, интересная, купили прибор, а что с ним делать и как его анализировать — не знают, своих-то специалистов нет).

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

  • Система очень дорогая, в результате экспериментов по взлому она приходит в негодность, это ж сколько копий оборудования нужно, чтобы его удачно взломать или проанализировать? А если копий для экспериментов мало, системы дорогие, то насколько хорошо они исследованы?

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

  • Действительно ли строго доказано, что QKD безопасно?

    Мнение QKD-теоретика:

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

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

    К примеру, в «атаке с разделением числа фотонов» атакующему может стать доступным n идентичных копий одного и того же состояния. Может ли он выяснить, что посылается через канал, если там возможны только 4 типа сигнальных состояний? Это — задача на различение (discrimination) квантовых состояний и на проверку статистических гипотез. Оказывается, есть два типа различения состояний при проверке этой гипотезы: «однозначное» (unambiguous) и «неоднозначное» (ambiguous). Каждое различение соответствует какому-то оптимальному измерению. При однозначном различении состояний есть два типа результатов, каждый из которых реализуется с какой-то вероятностью: «ответ получен и известен с вероятностью 100% как верный» и «никакой ответ получить не удалось» (использованные квантовые состояния/частицы после этого в обоих случаях будут необратимо уничтожены). При неоднозначном же различении какой-то ответ получается всегда, но его достверность строго меньше 100% (с вероятностью p угадываем значение бита и с вероятностью 1-p ошибаемся). Таким образом, при unambiguous-стратегии мы можем с какой-то вероятностью узнать ответ (и при этом будем знать точно, что этот ответ правильный), но с какой-то вероятностью попросту не получим никакой информации. При ambiguous же стратегии мы всегда получим какой-то ответ, но он будет совпадать с правильным только в определённом проценте случаев. Интересно, что при малых n атакующему выгоднее использовать один тип стратегии, а при больших n — другой, но при этом(!) есть такое (и относительно небольшое) n, при котором атакующий сможет узнать зачение бита всегда и с вероятностью 100% (не путайте задачу различения ансамбля из n идентичных состояний, про который известно, что каждое состояние — одно из m возможных, и задачу восстановления абсолютно неизвестного квантового состояния; последнее может быть узнано со 100% вероятностью только за бесконечное число измерений). Всё это было проанализировано для атаки с разделением числа фотонов для некоторых протоколов, и строго выведена оценка на безопасность.

    Наконец, даже если всё проанализировано, есть вероятность, что у системы нет робастности, и надо доказывать, что протокол устойчив при работе с не совсем идеальными состояниями; доказывать, насколько меняется степень безопасности при небольших отклонениях от идеальной (теоретически проанализированной) ситуации. Действительно, есть протоколы, для которых всё (или практически всё) это было произведено. Это — десятки объёмных работ, выполненные разными людьми в разных местах и разное время. А сам вопрос «безопасен ли протокол?» слишком обширен, чтобы степень безопасности подразумевала лёгкий универсальный ответ «да» или «нет». Иногда могут оставаться непроанализированными какие-то экзотические случаи, атаки или робастность, но большая часть анализируемых в теории атак слишком далека от возможностей экспериментального осуществления на текущий момент времени.

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

    Мнение QKD-экспериментатора:

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

  • Не получится ли, что технология QKD «не апскейлится»? Например, не удастся сильно превзойти уже существующие скорости или дальность расстояния.

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


1Например, можно взять idQuantique'овский QRNG: 4MBit/s, размеры 61mm ⊗ 31mm ⊗ 114mm, мне его предлагали взять за 2000 рублей:

QRNG_2-small.jpg (23 Кб) QRNG_1-small.jpg (14 Кб)

Система оснащена стандартным USB-входом, под винду и Linux доступны ещё и драйвера от поставщика. Также можно купить PCI-плату с QRNG на борту, которая будет выдавать 16Mbit/s.


2Всё-таки в AIT SQT Software классные ребята работают, весёлые. Сколько ни смотрю это видео, меня постоянно на смех пробирает. Для непонимающих английский на слух, диалог:
— Ha-ha-ha-ha ... We don't use the keys, we generate (them) here, so ... Ha-ha-ha-ha
— But it is useless spying because I am theoretician, that's why...
— Ha, OK, I see ... Ha-ha-ha-ha ... So you are not going to use the keys?
— Yes
— But people don't believe I'm doing something practical(ly) useful, so I can show people that sometimes it gets implemented...
— Ha-ha-ha-ha.
P.S.: Есть и другое короткое видео о том же (youtube|file), но уже не такое забористое.


3Один студент попался более расторопным, чем другой :)


 
Много комментариев (63) [показать комментарии/форму]
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3