diff --git a/bibliography.bib b/bibliography.bib index ccd426ad0..054325598 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -377,6 +377,16 @@ @inproceedings{Yao:1982 language = {English}, } +@inproceedings{Bennett:Brassard:1984, + author = {Bennett, Charles Henry and Brassard, Gilles}, + title = {Quantum Cryptography: Public Key Distribution and Coin Tossing}, + booktitle = {Proceedings of International Conference on Computers, Systems & Signal Processing, Dec. 9-12, 1984, Bangalore, India}, + pages = {175}, + publisher = {IEEE}, + year = {1984}, + language = {English}, +} + @inproceedings{ElGamal:1985, author = {El Gamal, Taher}, title = {A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms}, @@ -701,16 +711,6 @@ @reference{GOST-2001 language = {Russian}, } -@book{Totty:2002, - author = {Totty, Brian and Gourley, David and Sayer, Marjorie and Aggarwal, Anshu and Reddy, Sailu}, - title = {Http: The Definitive Guide}, - year = {2002}, - isbn = {1-56592-509-2}, - publisher = {O'Reilly \& Associates, Inc.}, - address = {Sebastopol, CA, USA}, - language = {English}, -} - @misc{FIPS-PUB-197, title = {FIPS PUB 197 Federal Information Processing Standards Publication. Advanced Encryption Standard (AES)}, note = {U.S.Department of Commerce/National Institute of Standards and Technology}, @@ -788,6 +788,30 @@ @incollection{Fluhrer:Mantin:Shamir:2001 language = {English} } +@article{Mayers:2001, + author = {Mayers, Dominic}, + title = {Unconditional Security in Quantum Cryptography}, + journal = {Journal of the ACM}, + year = {2001}, + month = {5}, + volume = {48}, + number = {3}, + pages = {351–406}, + address = {New York, NY, USA}, + doi = {10.1145/382780.382781}, + language = {English}, +} + +@book{Totty:2002, + author = {Totty, Brian and Gourley, David and Sayer, Marjorie and Aggarwal, Anshu and Reddy, Sailu}, + title = {Http: The Definitive Guide}, + year = {2002}, + isbn = {1-56592-509-2}, + publisher = {O'Reilly \& Associates, Inc.}, + address = {Sebastopol, CA, USA}, + language = {English}, +} + @article{aks:2002, author = {Agrawal, Manindra and Kayal, Neeraj and Saxena, Nitin}, title = {PRIMES is in P}, @@ -940,6 +964,17 @@ @book{Knuth:2005 language = {English}, } +@inproceedings{Watanabe:Matsumoto:Uyematsu:2005, + author = {Watanabe, Shun and Matsumoto, Ryutaroh and Uyematsu, R}, + title = {Noise tolerance of the BB84 protocol with random privacy amplification}, + booktitle = {Information Theory, 2005. ISIT 2005. Proceedings. International Symposium on}, + pages = {1013-1017}, + publisher = {IEEE}, + year = {2005}, + month = {9}, + language = {English}, +} + @incollection{FL-2006-149, year = {2006}, title = {Об информации, информатизации и защите информации: Фед. закон РФ от 27.07.2006 № 149-ФЗ}, diff --git a/key_distribution_protocols.tex b/key_distribution_protocols.tex index f4544c25e..b34df76ec 100644 --- a/key_distribution_protocols.tex +++ b/key_distribution_protocols.tex @@ -148,5 +148,4 @@ \subsection{Односторонняя аутентификация} \input{bloms_scheme} -В этом разделе были рассмотрены протоколы, в которых ключи вырабатываются в процессе обмена информацией. -%Существует и другой подход, который будет рассмотрен в следующих разделах. +\input{quantum_protocols} diff --git a/quantum_protocols.tex b/quantum_protocols.tex new file mode 100644 index 000000000..4d7d2d201 --- /dev/null +++ b/quantum_protocols.tex @@ -0,0 +1,158 @@ +\section{Квантовые протоколы}\index{протокол!квантовые|(} + +\subsection{Протокол BB84}\index{протокол!BB84|(} +\selectlanguage{russian} + +В 1984 году Чарлз Беннет (\langen{Charles Henry Bennett}) и Жиль Брассар (\langfr{Gilles Brassard}) предложили новый квантовый протокол распределения ключа~\cite{Bennett:Brassard:1984}. Как и другие протоколы его целью является создание нового сеансового ключа, который в дальнейшем можно использовать в классической симметричной криптографии. Однако особенностью протокола является использование отдельных положений квантовой физики для гарантии защиты получаемого ключа от перехвата злоумышленником. + +До начала очередного раунда генерации сеансового ключа предполагается, что у Алисы и Боба, как участников протокола, имеется: + +\begin{itemize} + \item квантовый канал связи (например, оптоволокно); + \item классический канал связи; +\end{itemize} + +Протокол гарантирует, что вмешательство злоумышленника в протокол можно заметить вплоть до тех пор, пока злоумышленник не сможет контролировать и на чтение, и на запись все каналы общения сразу. + +Протокол состоит из следующих этапов: + +\begin{itemize} + \item передача и приём фотона по квантовому каналу связи от Алисы к Бобу; + \item передача Бобом информации об использованных анализаторах; + \item передача Алисой информации о совпадении выбранных анализаторов и исходных поляризаций. +\end{itemize} + + +\subsubsection{Генерация фотона} + +В первой части протокола с точки зрения физика-экспериментатора Алиса берёт единичный фотон и поляризует под одним из четырёх углов: 0, 45, 90 или 135. Будем говорить, что Алиса сначала выбрала базис поляризации (<<+>> или <>), а затем выбрала в этом базисе одно из двух направлений поляризации: + +\begin{itemize} + \item $0^{\circ}$ (<<$\rightarrow$>>) или $90^{\circ}$ (<<$\uparrow$) в первом базисе (<<+>>); + \item $45^{\circ}$ (<<$\nearrow$>>) или $135^{\circ}$ (<<$\nwarrow$) во втором базисе (<<×>>). +\end{itemize} + +С точки зрения квантовой физики мы можем считать, что у нас есть система с двумя базовыми состояниями $|0\rangle$ и $|1\rangle$. Состояние системы в любой момент времени можно записать как $| \psi \rangle = \cos \alpha |0\rangle + \sin \beta |1\rangle$. Так как четыре выбранных Алисой возможных исходных состояния неортогональны между собой (точнее, не все попарно), то из законов квантовой физики следует два важных момента: + +\begin{itemize} + \item невозможность клонировать состояние фотона; + \item невозможность достоверно отличить неортогональные состояния друг от друга. +\end{itemize} + +С точки зрения специалиста по теории информации можем считать, что Алиса использует две независимые случайные величины $X_A$ и $A$ с энтропией по 1 бит каждый, чтобы получить новую случайную величину $Y_A = f \left( X_A; A \right)$, передаваемую в канал связи. + +\begin{itemize} + \item $H \left( A \right) = 1~\text{бит}$, выбор базиса поляризации (<<+>> или <<×>>); + \item $H \left( X \right) = 1~\text{бит}$, само сообщение, выбор одного из двух направлений поляризации в базисе. +\end{itemize} + +\subsubsection{Действия злоумышленника} + +Как физик-экспериментатор Ева может попытаться встать посередине канала и что-то с фотоном сделать. Может попытаться просто уничтожить фотон или послать вместо него случайный. Хотя последнее приведёт к тому, что Алиса и Боб не смогут сгенерировать общий сеансовый ключ, полезную информацию Ева из этого не извлечёт. + +Ева может попытаться пропустить фотон через один из поляризаторов и попробовать поймать фотон детектором. Если бы Ева точно знала, что у фотона может быть только два ортогональных состояния (например, вертикальная <<$\uparrow$>> или горизонтальная <<$\rightarrow$>> поляризация), то она могла бы вставить на пути фотона вертикальный поляризатор <<$\uparrow$>> и по наличию сигнала на детекторе определить, была ли поляризация фотона вертикальной (1, есть сигнал) или горизонтальной (0, фотон через поляризатор не прошёл и сигнала нет). Проблема Евы в том, что у фотона не два состояния, а четыре. И никакое положение одного поляризатора и единственного детектора не поможет Еве точно определить, какое из этих четырёх состояний принимает фотон. А пропустить фотон через два детектора не получится. Во-первых, если фотон прошёл вертикальный поляризатор, то какой бы исходной у него не была поляризация (<<$\nwarrow$>>, <<$\uparrow$>>, <<$\nearrow$>>), после поляризатора она станет вертикальной <<$\uparrow$>> (вторая составляющая <<сотрётся>>). Во-вторых, детектор, преобразуя фотон в электрический сигнал, тем самым уничтожает его, что несколько затрудняет его дальнейшие измерения. + +Кроме того, двух или даже четырёх детекторов для одного фотона будет мало. Отличить между собой неортогональные поляризации <<$\uparrow$>> и <<$\nearrow$>> можно только статистически, так как каждая из них будет проходить и вертикальный <<$\uparrow$>>, и диагональный <<$\nearrow$>> поляризаторы, но с разными вероятностями (100\% и 50\%). + +С точки зрения квантовой физики Ева может попытаться провести измерение фотона, что приводит к \emph{коллапсу волновой функции} (или же \emph{редукции фон Неймана}) фотона. То есть после действия оператора измерения на волновую функцию фотона она неизбежно меняется, что приведёт к помехам в канале связи, которые могут обнаружить Алиса и Боб. Невозможность достоверно отличить неортогональные состояния мешают Еве получить полную информацию о состоянии объекта, а запрет клонирования мешает повторить измерение с дубликатом системы. + +С точки зрения теории информации мы можем рассмотреть фактически передаваемое состояние фотона как некоторую случайную величину $Y_A$. Ева использует случайную величину $E$ (выбор пары ортогональных направлений поляризатора – <<+>> либо <<×>>) для получения величины $Y_E$ как результата измерения $Y_A$. При этом для каждого заданного исходного состояния Ева получает на выходе: + +\begin{itemize} + \item аналогичное состояние с вероятностью 50\% (вероятность выбора пары ортогональных направлений поляризатора, совпадающих с выбранной Алисой); + \item одно из двух неортогональных оригинальному состояний с вероятностью 25\% каждое. +\end{itemize} + +Таким образом условная энтропия величины $Y'$, измеренной Евой, относительно величины Y, переданной Алисой, равна: + +\[ H \left( Y_E | Y_A \right) = - \frac{1}{2} \log_2 \frac{1}{2} - \frac{1}{4} \log_2 \frac{1}{4} - \frac{1}{4} \log_2 \frac{1}{4} = 1,5~\text{бит} \] + +И взаимная информация между этими величинами равна: +\[ I \left( Y_E ; Y_A \right) = H \left( Y_E \right) - H ( Y_E | Y_A ) = 0,5~\text{бит}.\] + +Что составляет 25\% от энтропии, передаваемой по каналу случайной величины $Y$. + +Если рассматривать величину $X_E$, которую Ева пытается восстановить из принятой её величины $Y_E$, то с точки зрения теории информации ситуация ещё хуже: + +\begin{itemize} + \item при угаданном базисе поляризатора получаем исходную величину $X_E = X_A$; + \item при неугаданном базисе ещё в половине случаев получаем исходную величину (из-за случайного прохождения фотона через <<неправильный>> поляризатор). +\end{itemize} + +Получается, что условная энтропия восстанавливаемой Евой последовательности $X_E$ относительно исходной $X_A$ равна: +\[ H \left( X_E | X_A \right) = - \frac{3}{4} \log \frac{3}{4} – \frac{1}{4} \log \frac{1}{4} \approx 0,81~\text{бит.}\] + +И взаимная информация +\[ I \left( X_E; X_A \right) = H \left( X_E \right) - H \left( X_E | X_A \right) \approx 0,19~~\text{бит}. \] + +Что составляет $\approx 19\%$ от энтропии исходной случайной величины $X_A$. + +Оптимальным алгоритмом дальнейших действий Евы будет послать Бобу фотон в полученной поляризации (передать далее в канал полученную случайную величину $Y_E$). То есть если Ева использовала вертикальный поляризатор <<$\uparrow$>>, и детектор зафиксировал наличие фотона, то передавать фотон в вертикальной поляризации <<$\uparrow$>>, а не пытаться вводить дополнительную случайность и передавать <<$\nwarrow$>> или <<$\nearrow$>>. + +\subsubsection{Действия легального получателя} + +Боб, аналогично действиям Евы (хотя это скорее Ева пытается имитировать Боба), случайным образом выбирает ортогональную пару направлений поляризации (<<+>> либо <<×>>) и ставит на пути фотона поляризатор (<<$\uparrow$>> или <<$\nwarrow$>>) и детектор. В случае наличия сигнала на детекторе он записывает единицу, в случае отсутствия – ноль. + +Аналогично Еве, можно сказать, что Боб вводит новую случайную величину B (отражает выбор базиса поляризации Бобом) и в результате измерений получает новую случайную величину $X_B$. Причём Бобу пока неизвестно, использовал ли он оригинальный сигнал $Y_A$, переданный Алисой, или же подложный сигнал $Y_E$Y, переданный Евой: + +\begin{itemize} + \item $X_{B1} = f \left( Y_A, B \right);$ + \item $X_{B2} = f \left( Y_E, B \right);$ +\end{itemize} + +Далее Боб сообщает по открытому общедоступному классическому каналу связи, какие именно базисы поляризации использовались, а Алиса указывает, какие из них совпали с изначально выбранными. При этом сами измеренные значения (прошёл фотон через поляризатор или нет) Боб оставляет в секрете. + +Можно сказать, что Алиса и Боб публикуют значения сгенерированных ими случайных величин $A$ и $B$. Примерно в половине случаев эти значения совпадут (когда Алиса подтверждает правильность выбора базиса поляризации). Для тех фотонов, у которых значения $A$ и $B$ совпали, совпадут и значения $X_A$ и $X_{B1}$. То есть + +\begin{itemize} + \item $H \left( X_{B1} | X_A; A = B \right) = 0~\text{бит}$ + \item $I \left( X_{B1} ; X_A | A = B \right) = 1~\text{бит}$ +\end{itemize} + +Для тех фотонов, для которых Боб выбрал неправильный базис поляризации, значения $X_{B1}$ и $X_{A}$ будут представлять собой независимые случайные величины (так как, например, при исходной диагональной поляризации фотона он пройдёт и через вертикальную, и через горизонтальную щель с вероятностью 50\%): + +\begin{itemize} + \item $H \left( X_{B1} | X_A; A \neq B \right) = 1~\text{бит}$ + \item $I \left( X_{B1} ; X_A | A \neq B \right) = 0~\text{бит}$ +\end{itemize} + +Рассмотрим случай, когда Ева вмешалась в процесс передачи информации между Алисой и Бобом и отправляет Бобу уже свои фотоны, но не имеет возможности изменять информацию, которой Алиса и Боб обмениваются по классическому каналу связи. Как и прежде, Боб отправляет Алисе выбранные базисы поляризации (значения $B$), а Алиса указывает, какие из них совпали с выбранными ею значениями $A$. + +Но теперь, для того, чтобы Боб получил корректное значение $X_{B2}$ ($X_{B2} = X_A$), должны быть выполнены все следующие условия для каждого фотона: + +\begin{itemize} + \item Ева должна угадать базис поляризации Алисы ($E = A$). + \item Боб должен угадать базис поляризации Евы ($B = E$). +\end{itemize} + +Рассмотрим, без ограничения общности, вариант, когда Алиса использовала диагональную поляризацию <<×>>: + +\begin{tabular}{ | c | c | c | c | } +\hline +Базис & Базис & Базис & \\ +Алисы & Евы & Боба & Результат \\ +\hline +<<×>> & <<×>> & <<×>> & принято без ошибок \\ +<<×>> & <<×>> & <<+>> & отклонено \\ +<<×>> & <<+>> & <<×>> & принято с ошибками\\ +<<×>> & <<+>> & <<+>> & отклонено \\ +\hline +\end{tabular} + +При этом Боб и Алиса будут уверены, что в первом и третьем случае (которые с их точки зрения ничем не отличаются), Боб корректно восстановил поляризацию фотонов. Так как все эти строки равновероятны, то получается, что у Боба и Алисы после выбора только фотонов с <<угаданным>> базисами (как они уверены) только половина поляризаций (значений $X_A$ и $X_{B2}$) будет совпадать. При этом Ева будет эти значения знать. Количество известных Еве бит <<общей>> последовательности и доля ошибок в ней находятся в линейной зависимости от количества перехваченных Евой бит. + +Вне зависимости от наличия или отсутствия Евы Алиса и Боб вынуждены использовать заранее согласованную процедуру исправления ошибок. Используемый код коррекции ошибок, с одной стороны, должен исправлять ошибки, вызванные физическими особенностями квантового канала. Но с другой стороны, если код будет исправлять слишком много ошибок, то он скроет от нас потенциальный факт наличия Евы. Доказано, что существуют такие методы исправления ошибок, которые позволяют безопасно (без опасности раскрыть информацию Еве) исправить от 7,5\% (Майерз, 2001, \cite{Mayers:2001}) до 11\% ошибок (Ватанабе, Матсумото, Уйематсу, 2005,~\cite{Watanabe:Matsumoto:Uyematsu:2005}). + +Интересен также вариант, когда Ева может изменять информацию передаваемую не только по оптическому, но и по классическому каналам связи. В этом случае многое зависит от того, в какую сторону (от чьего имени) Ева может подделывать сообщения. В самом негативном сценарии, когда Ева может выдать себя и за Алису, и за Боба, будет иметь место полноценная атака <<человек-посередине>> (\langen{man-in-the-middle}), от которой невозможно защититься никаким способом, если не использовать дополнительные защищённые каналы связи, или не основываться на информации, переданной заранее. Однако, это будет уже совсем другой протокол. + +Подводя итоги, квантовые протоколы распределения ключей (а именно ими пока что и ограничивается вся известная на сегодняшний день <<квантовая криптография>>), обладают как определёнными особенностями, так и фатальными недостатками, затрудняющими их использование (и ставящее под вопрос саму эту необходимость): + +\begin{itemize} + \item Любые квантовые протоколы (как и вообще любые квантовые вычисления) требуют оригинального дорогостоящего оборудования, которое пока что нельзя сделать частью commodity-устройств или обычного сотового телефона. + \item Квантовые каналы связи это всегда физические каналы связи. У них существует максимальная длина канала и определённый уровень ошибок. Для квантовых каналов (на сегодняшний день) не придумали <<повторителей>>, которые бы позволили бы увеличить длину безусловно квантовой передачи данных. + \item Ни один квантовый протокол (на сегодняшний день) не может обходиться без дополнительного классического канала связи. Для такого связи требуются как минимум такой же уровень защиты, как и при использовании, например, криптографии с открытым ключом. + \item Для всех протоколов особую проблему представляет не только доказательство корректности (что является весьма нетривиальным делом в случае наличия <<добросовестных>> помех), но и инженерная задача по реализации протокола в <<железе>>. В качестве краткой иллюстрации, например, не существует простого способа создать ровно один фотон. Недогенерация фотонов приводит, очевидно, к ошибкам передачи, а генерация дубля в том же временном слоте -- к возможностью его перехвата злоумышленником без создания помех в канале. +\end{itemize} + +\index{протокол!BB84|)} +\index{протокол!квантовые|)} \ No newline at end of file