Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 223
Текст из файла (страница 223)
8.4. Пример квантовой криптографии Боб не знает, какой базис надо использовать, поэтому он использует базисы в случайном порядке для каждого прибывающего фотона, как показано на рис. 8А, б. Если для данного фотона базис выбран правильно, Боб получит правильный бит. В противном случае значение бита будет случайным, так как фотон, проходя через поляризатор, повернутый на 45' относительно его собственной поляризации, с Равными вероятностями попадет на направление, соответствующее единице или нулю. Это свойство фотонов является одним из основных во всей квантовой механике.
Таким образом, некоторые биты будут получены правильно, некотоРые — нет, но Боб не может распознать, какие из них являются правильными. Получаемая Бобом информация показана на рис. 8А, в. Так как же Боб узнает, какие базисы были подставлены правильно, а какие— нето Для этого он открытым текстом сообщает Алисе, какие базисы он использовал при приеме каждого бита, а она в ответ сообщает (также открытым текстом), какие из базисов были подобраны Бобом корректно.
Это показано на рис. 8.4, к Владея этой информацией, Алиса и Боб могут составить битовую строку корРектных предположений, что показано на рис. 8.4, д. В среднем длина этой строки будет равна половине полной длины исходной строки, однако, так как обеим сторонам зто известно, они могут использовать строку корректных предположений в качестве одноразового блокнота. Все, что Алисе надо сделать, зто передать битовую строку, длина которой немного превышает удвоенную длину одноразового блокнота. Проблема решена. Криптография 829 Но погодите, мы же забыли про Труди! Предполагается, что ей очень хочется узнать, о чем говорит Алиса, поэтому она внедряет в линию передачи свой детектор и передатчик. К сожалению (для Труди), она тоже не знает, через какой базис пропускать каждый фотон.
Лучшее, что она может сделать, это выбирать базисы случайным образом, как Боб. Пример того, как она это делает, показан на рис. 8А, е. Когда Боб открытым текстом сообщает Алисе, какие базисы он использовал, а та отвечает ему, какие из них были правильные, Труди, как и Боб, узнает, какие биты она угадала, а какие — нет.
Как видно из рисунка, базисы Труди совпали с базисами Алисы в позициях О, 1, 2, 3, 4, 6, 8, 12 и 13. Однако из ответа Алисы (рис. 8.4, г) ей становится известно, чта в одноразовый блокнот входят толька биты 1, 3, 7, 8, 10, 11, 12 и 14. Четыре из этих битов (1, 3, 8 и 12) были угаданы правильно, Труди их запоминает. Остальные биты (7, 10, 11 и 14) не были угаданы, и их значения остаются для Труди неизвестными.
Таким образом, Бобу известен одноразовый блокнот, начинающийся с последовательности 01011001 (рис. 8.4, д), а все, что досталось Труди, — эта обрывок 01?1??О? (рис. 8.4, ж). Конечно, Алиса и Боб осознают, что Труди пытается захватить часть их одноразового блокнота, поэтому они стараются уменьшить количество той информации, которая ей может достаться. Для этого они могут произвести некоторые действия над последовательностью. Например, одноразовый блокнот можно поделить на блоки по 1024 бита и возвести каждый из блоков в квадрат, получая, таким образом, числа длиной 2048 бит. Затем можно использовать конкатенацию 2048-битных чисел в качестве одноразового блокнота.
Имея лишь часть битовой строки, Труди никогда не сможет проделать эти преобразования. Действия над исходным одноразовым блокнотом, уменьшающие долю информации, получаемой Труди, называются усилением секретности. На практике вместо по- блочного возведения в квадрат применяются сложные преобразования, в которых каждый выходной бит зависит от каждого входного. Бедная Труди. У нее не только нет идей по поводу того, как выглядит одноразовый блокнот, но она к тому же понимает, что ее присутствие не является ни для кого секретом. Как-никак, ей приходится передавать каждый принятый бит Бобу, чтобы он думал, будто разговаривает с Алисой. Беда в том, что лучшее, что может сделать Труди, это передавать каждый принятый квантобит с использованием поляризации, с помощью которой он был принят ею, При этом примерно в половине случаев поляризация будет неправильной, что приведет к появлению множества ошибок в одноразовом блокноте Боба.
Когда, наконец, Алиса начинает отправлять данные, она шифрует их, используя сложный код с упреждающей коррекцией ошибок. С точки зрения Боба, ошибка в одном бите одноразовой последовательности — это то же самое, что ошибка передачи данных, произошедшая в одном бите. В любом случае, результат состоит в получении неправильного значения бита. С помощью упреждающей коррекции ошибок, возможно, удастся восстановить потерянную информацию, но можно, кроме того, сосчитать количество ошибок.
Если оно намного превышает ожидания (связанные с вероятностью возникновения ошибок оборудования), становится очевидно, что линию прослушивает Труди, и Боб может ЗЗО Глава 6. Безопасность в сетях принять необходимые меры (например, сказать Алисе, чтобы она переключилась иа радиоканал, вызвать полицию и т.
д.). Если бы Труди могла скопировать фотон и обрабатывать свою копию, а исходный фотон пересылать Бобу в неизменном виде, у нее был бы шанс остаться незамеченной, однако на сегодняшний день отсутствуют методы клонирования фотонов. Но даже если Труди удастся получить копию фотона, значения квантовой криптографии это ни в коей мере не умалит. Квантовая криптография может работать при наличии оптоволоконных каналов длиной 60 км, однако требуется сложное и дорогое оборудование. Несмотря на это сама идея весьма многообещающая. Более подробно о квантовой криптографии можно узнать из книги (Мц111пз, 2002), Два фундаментальных принципа криптографии Хотя на следующих страницах мы рассмотрим много различных криптографических систем, в основе их всех лежат два принципа, очень важных для понимания.
Избыточность Первый принцип гласит, что все зашифрованные сообщения должны содержать определенную избыточность, то есть информацию, не требуюшуюся для понимания сообщения. Поясним это на примере. Представим себе компанию «Домосед», торгующую по почтовым заказам продуктами 60 000 наименований. Радуясь, что им удалось так экономно распорядиться ресурсами, программисты компании «Домосед» решили, что весь бланк заказа будет состоять из 16 байт имени клиента, за которым последует 3-байтовое поле товара (1 байт для обозначения количества и 2 байта для идентификатора товара).
Последние три байта было решено закодировать с помощью очень длинного ключа, известного только клиенту и компании «Домосед». На первый взгляд, такая схема может показаться надежной, в частности, потому, что пассивные злоумышленники не смогут расшифровать сообщения.
К сожалению, в этой схеме имеется критический недостаток, полностью ее обесцениваюший. Предположим, какой-нибудь нелавно уволенный сотрулник хочет отомстить компании «Домосед» за увольнение. Перед самым ухолом ему удается забрать с собой часть списка клиентов. За ночь он составляет программу, посылающую фиктивные заказы с настоящими именами клиентов. Поскольку списка ключей у него нет, он просто помешает в последние три байта случайные числа и посылает сотни заказов компании «Домосед». Когда эти сообщения прибывают, компьютер компании «Домосед» по имени клиента находит ключ для дешифрации сообщения.
К несчастью для компании «Домосед», почти все 3-байтовые сообщения могут восприниматься как достоверные, поэтому компьютер начинает печатать заявки на доставку товаров. Хотя может показаться странным, если клиент заказывает 837 сидений для детских качелей или 540 песочниц, однако вполне возможно, что клиент собирается заняться строительством детских игровых площадок. Таким образом, активный Криптография 831 злоумышленник (уволенный сотрудник) способен доставить очень много неч„„ ятностей, даже не вникая в смысл сообщений, посылаемых его компьютером.
Эта проблема может быть решена при помощи добавления избыточной иы формации к каждому сообщению. Например, если добавить к трем шифруемым байтам еще девять, например, нулевых, уволенный сотрудник уже не сможет сформировать серьезный поток достоверно выглядящих сообщений, Мораль этой истории в том, что все сообщения должны содержать достаточное количество двбыточной информации, чтобы активный злоумышленник не смог выдать случайный мусор за настоящие сообщения.