양자암호
양자암호()는 안전한 통신을 위한 암호체계이다. 1984년 C. H. Bennett과 G. Brassard가 제안하였으며,
기존에 있던 대부분의 암호체계가 대부분 수학적 복잡성에 기반하는데 비해, 양자암호는 자연현상에 기반하고 있는 특징을 띄며, 암호에 사용되는 원타임 패드를 생성하는 이상적인 방법 중 하나다. 중간에 도청자가 난입할 경우 그 존재가 드러나며, 신호가 왜곡되어 도청자도 정확한 정보를 얻을 수 없는 보안성을 띄고 있다. 다른말로 양자 키 분배(Quantum Key Distribution)체계라고도 한다.
파장이나 진폭등으로 통신하는 일반적인 통신과는 달리 양자암호는 광자(photon) 하나하나단위로 신호를 실어 나른다. 광자 단위로 편광이나 위상차를 이용하여 신호를 전송하며, 송신측에서도 편광패드나, 간섭계를 사용하여 측정한다.
각종 외부환경에 취약한 광자의 특성상 가용전송거리가 매우 짧으며 보통은 이를 실용적으로 이용하기 위해 25km정도 단위마다 중계소를 설치하여 구성한 양자암호 네트워크가 있으며, 중계소 단위로 각각의 키를 분배한다. 현재 중계소 없이 가용한 통신거리는 약 140km이다.
광자를 이용한 양자통신에서 신호를 부여하는 방법에는 두가지가 있다. 광자에 편광성질을 부여해 전송한 다음 편광 필터로 측정하는 방식이 있으며, 위상시간차를 두어 간섭계를 이용해 측정하는 방법이 있다. 보통 마흐-젠더 간섭계가 측정을 위해 사용된다.
양자암호학에는 두가지 채널이 사용된다. 광자 하나하나에 신호를 실어 보내서 통신하는 양자채널(quantum channel)과 기존의 통신망을 활용하는 퍼블릭채널(public channel)이 있다. 퍼블릭채널은 일반적으로 기존의 TCP/IP 프로토콜을 활용한다.
1984년 C. H. Bennet과 G. Brassard가 양자암호에 대한 논문을 발표하면서 같이 제안한 양자암호 통신 프로토콜이다. 송신자(엘리스)와 수신자(밥) 사이에 OTP를 생성하는 프로토콜이며, 표와 같이 0비트의 상태를 나타내는 편광 2가지와 1비트의 상태를 나타내는 편광 2가지를 정의 한 다음 십자필터와 대각필터를 통해 측정하게 된다.
이 프로토콜을 통해 엘리스와 밥은 임의의 난수를 생성할 수 있으며, 중간에 도청자(이브)가 난입하여 정보를 가로채려는 시도를 해도 정확한 정보획득이 어려울뿐더러, 신호가 왜곡되어 이브의 존재가 드러나게 된다. BB84 프로토콜의 전체적인 흐름은 다음과 같다.이와같은 과정을 거치면 표처럼 엘리스와 밥은 0101이라는 같은 값을 공유하게 되며 이것을 비밀키로 활용하게 된다.
사용되고 있는 대부분의 암호체계는 보통 수학적 복잡성에 기반을 두고 있고 가역적이기 때문에 언젠가는 문제가 풀리게 된다. 가장 강력한 암호체계중 하나로 불리는 RSA의 경우 문제풀이에 천문학적인 시간이 소요되므로 사용되고 있지만, 컴퓨터의 발전에 따른 처리시간의 단축으로 인해 단시간 안에 해독될 가능성이 있다는 의견이 제시되기도 했다. 반면 양자암호의 경우 수학적 복잡성이 아닌 비가역적인 물리학적 자연현상에 기반을 두고 있어서 앞선 다른 암호체계같은 수학적 접근이 불가능하다.
통신 프로토콜의 약점을 이용해 공격하는 방법중 대표적인 방법 중 리플레이 공격(Replay attack)이 있다. 양자암호의 경우도 이러한 공격을 생각할 수 있지만, 공격자가 신호를 측정하는 과정에서 실수를 하게 되는 경우 신호가 왜곡되어 정확한 정보를 측정하지 못할뿐더러 왜곡된 신호를 통해 도청자의 존재가 발각된다. 자세한 내용은 다음과 같다.
패킷등의 다수입자를 이용한 일반적인 통신방법과 달리 양자암호의 경우 양자채널에서는 하나하나의 광자에 신호를 부여해 나가므로 도청을 위해서는 모든 단일 광자에 대해서 측정을 해야 한다. 양자역학에서는 복제 불가능성 원리()와 측정 후 붕괴()라는 특이한 현상 때문에 단일 광자를 정확하게 측정할 수 있는 기회는 단 한번으로 제한된다. 공격자는 단 한번의 기회에 정확한 패드를 선택해야 하는데, 둘 중 하나이므로 50%의 확률로 잘못 선택하게 된다. 또한 잘못 선택하게 되는 경우에 한해 이를 우연히 정확한 비트로 선택할 확률은 50%이다. 따라서 공격자가 단일 광자에 실린 비트를 잘못 측정할 확률은
formula_1
가 되며 반대로 정확하게 전송 할 확률은 75%가 된다.
반면 퍼블릭채널에서는 일반적인 방법과 동일하게 용이한 도청이 가능하다.
송신자와 수신자는 퍼블릭채널을 통해 교환된 비트의 무결성(integrity)을 체크하여 도청자의 존재를 알아낼 수 있다. 데이터가 손상되어있을 경우 중간에 누군가가 신호를 왜곡했다는 증거이며 이는 다시말해 도청자가 존재한다는 것으로 해석이 된다. 도청자가 하나의 광자를 정확히 측정할 확률은 75%이므로 n개의 광자를 사용하는 n비트 데이터의 경우 중간에 도청자가 발견될 확률은 다음과 같다.
formula_2
즉 n=72비트 데이터의 경우 도청자가 발견 될 확률은 P = 0.999999999에 육박한다.하지만 모든 데이터를 교환하는 것은 정보를 노출시킬 위험이 있으므로 보통은 데이터의 일부만 체크하여 도청자의 존재를 파악한다. 다음의 표는 BB84 프로토콜에서 도청자가 중간에 난입해 있을 경우 어떻게 신호가 전송되고 왜곡되는지를 보여준다. 표에서 앨리스는 송신자, 밥은 수신자, 이브는 도청자를 의미한다.
양자암호의 제일 큰 보안성은 측정이 1회만 허용된다는 것이다. 최초의 기회를 제대로 활용하지 못할 경우 신호는 왜곡이 되며 두 번째 측정부터는 정확한 측정이 불가능하게 된다. 이 경우 전송 중인 광자를 한 번 복사하여 2개 이상의 광자를 생성한 다음 따로 측정하는 가설이 존재할 수 있으나, 이는 양자역학의 기초현상 중 하나인 복제 불가능성 원리 에 따라 광자의 완벽한 복사 자체가 불가능하다.
광자분리공격(Photon Number Splitting Attack, PNS Attack)은 현재 존재하는 단일광자생성기(Single photon generator)의 불완전성을 이용하여 파훼하는 방법이다. 일반적으로 신호를 생성하면 하나의 광자만 생성되지 않고 수개의 광자가 동시에 생성되어 전송된다. 통신회선 중간에 반투명거울(Beam Splitter)을 설치하여 광신호의 일부를 분리해 낸 다음 측정하여 전송되는 신호가 무엇인지 알아내는 공격방법이다.
맨-인더-미들-어택(Man-in-the-middle attack, MITM Attack)은 중간에 공격자가 중계소 행세를 하며 송신자와 수신자를 교란하는 방법이다. 송신자와 공격자 사이에 다른 키를 서로 공유하고, 공격자와 수신자 사이에 다른 키를 공유하며 중간에서 오가는 신호를 도청하는 방법이다.
서비스 거부 공격(Denial of Service, DoS)은 통신선상에 과부하를 주어서 정상적인 통신을 하지 못하거나 하기 힘들게 만드는것을 뜻한다. 제일 대표적인 서비스 거부 공격으로는 케이블의 물리적 절단이 있다. 그 외에도 퍼블릭 채널을 대상으로 하는 고전적인 서비스 거부 공격등이 가능하다.
일반적으로 단일 광자가 가지는 민감성 때문에 양자채널에서는 신호의 왜곡이나 노이즈가 많이 발생한다. 이를 보완하기 위해 물리계층에서의 연구를 통해 현재는 1회 가용 통신거리를 144km까지 늘렸으며, 이보다 더 큰 거리를 통신할때는 중간에 중계소를 설치하여 비밀키를 다시 분배하는 구조로 구성되어 있다.
EU에서 11개국이 같이 참가하여 양자 키 분배 네트워크를 구축한 프로젝트, 기존의 양자암호체계가 가진 한계점을 일부 극복했으며 2008년도에 실험이 성공적으로 행해졌다.