스토리

도청과 해킹이 불가능한 암호를 알려줄까?

<KISTI의 과학향기> 제751호   2008년 04월 28일
최근 국내 인터넷 전자상거래 매출 상위 업체인 옥션에서 해킹 사건으로 1000만 명 이상의 이름과 주민등록번호 등 개인정보가 유출된 것으로 밝혀졌다. 인터넷 사이트는 정보보호를 위해 다양한 보안장치와 암호 기술을 적용하고 있다. 그런데도 정보 유출은 끊이지 않고 있다. 이런 대규모 정보 유출 말고도 개인적인 암호 노출, 도청 등의 사건도 계속 발생하고 있다. 도청과 해킹이 난무하는 상황에서 정보를 안전하게 지킬 수 있는 확실한 방법은 없을까.

사실 사용에 여러 가지 제약이 있긴 하지만 절대 안전한 암호방식은 이미 20세기 초에 만들어졌다. 바로 일회용 난수표다. 보내고자 하는 메시지를 수열로 바꾼 후, 여기에 아무런 규칙이 없는 난수로 된 수열을 더하면 그 결과도 아무런 규칙이 없는 수열이 된다. 이렇게 만든 암호문은 똑같은 난수열을 가진 사람만이 해독할 수 있다. 난수표를 두 번 이상 사용하면 이것 자체가 새 규칙이 돼, 이 규칙으로 암호를 풀 수 있어 한 번만 사용하는 것을 원칙으로 한다. 그러다 보니 계속 통신하려면 일회용 난수표를 끊임없이 새로 만들어 통신당사자끼리 나눠야 하는데, 이 과정에서 유출될 위험이 매우 커 한계가 있다.

1970년대 이런 번거로움을 덜 수 있는 공개키 암호방식을 수학자들이 개발했다. 비밀메시지를 받기 원하는 사람은 자신의 공개키를 누구나 볼 수 있게 공개하고 나서, 메시지를 암호로 전환한다. 이 암호는 비밀키를 가진 사람만이 풀 수 있다. 자물쇠와 열쇠의 관계에 있는 공개키와 비밀키의 필수조건은 공개키로부터 비밀키를 알아내기가 매우 어려워야 한다는 것이다. 이 필수조건을 이상적으로 만족하는 소인수분해 문제를 이용해 만든 RSA라는 공개키 암호 방식은 현재 인터넷을 비롯해 가장 널리 쓰인다. 1과 그 자신 이외에는 다른 약수가 없는 소수 두 개를 곱하기는 매우 쉽지만, 그 곱을 원래의 소수로 분해하는 것은 매우 어렵기 때문이다. 예를 들어 251 곱하기 479는 금방 계산할 수 있지만 120,229가 어떤 수의 곱인지는 알려면 시간이 꽤 걸린다. 소수의 자릿수를 100자리 이상으로 늘리면 현재의 슈퍼컴퓨터로도 수백 년 이상이 걸려야 어떤 수의 곱인지 알 수 있다. 그러나 이 방법은 새로운 알고리듬이나 컴퓨터가 등장하면 통하지 않을 수 있는 한계가 있다. 그런데 이런 우려가 현실로 나타났다. 1990년대 중반 양자컴퓨터로 소인수분해 문제를 순식간에 풀릴 수 있다는 것이 알려진 것이다.

그러나 이보다 앞선 1984년 IBM의 베넷과 몬트리올대의 브라사드가 양자물리학을 이용해 해킹과 도청으로부터 안전한 양자암호체계를 발명했다. 아직 실용화까지는 멀었지만, 국내에서도 고등과학원과 한국전자통신연구원이 공동연구로 2005년 양자암호시스템을 시연했다.

양자암호는 앞서 소개한 절대 보안의 일회용 난수표 방식이 가진 단점을 양자물리학으로 완벽하게 보완한 것이다. 일회용 난수표는 아무런 규칙이 없는 수열이므로 양자컴퓨터뿐만 아니라 어떤 방식으로도 풀 수 없지만, 통신당사자들이 나눠 가지는 과정이 문제였다. 일회용 난수표를 ‘양자물리학의 원리로’ 안전하게 나눠 가질 수 있도록 한 것이 양자암호다.

디지털 정보가 0과 1의 비트로 된 수열로 표현되는 데에 비해, 양자정보는 0과 1뿐만 아니라 0과 1이 중첩된 양자비트 또는 큐비트로 나타낸다. 빛은 진행방향에 수직한 평면에서 전기장이 진동하는데 이를 편광이라고 한다. 편광은 평면 내의 두 방향으로 진동할 수 있어 이를 이용해 0과 1을 나타낼 수 있다. ‘ㄱ’자의 첫획처럼 수평방향을 0, 둘째 획처럼 수직방향을 1이라 할 수도 있고, ‘ㅅ’자의 첫획처럼 45도 방향을 0, 둘째 획처럼 135도 방향을 1이라 할 수도 있다.

철수가 기역방식으로 1을 보내려면 수직편광을 보내면 되는데, 영희가 받을 때에 같은 기역방식으로 받으면 100% 1로 읽히지만, 다른 방식인 시옷방식으로 받으면 수직편광이 45도 또는 135도로 읽혀 0인지 1인지 애매해진다. 즉 보낸 편광방식과 받는 방식이 같으면 보내고 받은 비트정보가 일치하지만, 편광방식이 다르면 비트정보가 일치하지 않을 수 있다. 통신당사자인 철수와 영희가 보내고 받는 편광방식을 기역 또는 시옷 두 가지 방식으로 바꿔가면서 0과 1을 보내고 받고서, 0인지 1인지는 서로 밝히지 않고 보내고 받은 편광방식만 비교한다. 같은 방식이면 당연히 같은 비트를 보내고 받은 셈이니 이것들만 모아서 난수표를 만들면 철수는 영희만 알 수 있는 암호를 계속 보낼 수 있다.

그럼 양자암호는 어떻게 해서 도청이 되지 않을까. 보통 광통신에서는 한 비트를 보내려면 광자(빛 알갱이)를 적어도 20개 이상에서 최대 수천수만 개씩 보낸다. 그러나 이렇게 많은 광자를 보내면 도청자가 그중에서 몇 개를 가져가 읽음으로써 도청이 가능해진다. 따라서 양자암호에서는 도청 여부가 발각될 수 있도록 광자의 개수를 조절한다. 예를 들어 광자 하나에 양자비트를 실어 보내면 도청자가 이 광자 하나를 가져가 버리면 수신자에게 전달될 광자가 아예 없어지므로 도청이 쓸모없어지거나 도청 여부를 들키게 된다.

또 다른 방법으로 도청자가 통신채널로 지나가는 양자비트를 복사하는 도청이 가능할까. 디지털정보와는 달리 임의의 양자정보를 복사하는 것은 불가능함이 증명됐다. 간단하게 말하면 양자정보를 복사할 수 있다면 빛보다 빠른 통신이 가능하게 돼 아인슈타인의 상대성이론과 모순되고, 양자상태를 정확히 알 수 있어 양자물리학 자체에도 큰 모순이 생기기 때문이다.

그럼 지나가는 양자정보를 꺼내 읽어보고 다시 통신채널로 보내면 되지 않을까. 양자상태는 한번 읽으면 그 상태가 변할 수 있다. 수평편광을 기역방식으로 읽으면 0으로 읽히고 여전히 수평편광으로 남아있지만, 시옷방식으로 읽으면 0으로 읽히고 45도 편광으로 변하든지 1로 읽히고 135도 편광으로 변한다. 이처럼 정상적인 통신당사자는 통신채널에서 편광방식이 바뀌는지를 살펴봄으로써 도청 여부를 알 수 있다.

20세기의 디지털정보가 하드웨어로는 양자물리학, 소프트웨어나 운영체제로는 고전적인 정보이론을 사용한 반면, 21세기의 양자정보는 하드웨어, 소프트웨어, 운영체제 모두 양자물리학을 바탕으로 할 것이다.
(글 : 김재완 고등과학원 계산과학부 교수)
평가하기
susanna
  • 평점   별 5점

hey,find wow power leveling click here

2009-06-09

답글 0

ggg
  • 평점   별 5점

hey,find wow power leveling click here

2009-06-09

답글 0

권순직
  • 평점   별 3점

양자물리학의 원리로 일회용 난수표를 안전하게 나눠가질 수 있게 한 것이 양자 암호라는 거죠. 글의 내용이 조금 어렵네요. 일회용난수표는 서로 주고 받는 과정이 문제였는데, 그 문제를 해결 했으니 안전하겠군요.

2009-04-10

답글 0

김강호
  • 평점   별 5점

암호화가 다 잘 되었으면 좋겠내요 정보 유출이 너무 많아요.

2008-05-20

답글 0

박명수
  • 평점   별 5점

슈퍼컴퓨터정보처리능력으로도 백만년이상이라니까 왜 90년대 중반의 구식 컴퓨터로는 접속-해킹이 가능하죠?
광자분열시켜서 보내면 못 받지 않나요?
1-/1= 가
1-/2= 갸
2-/1= 나
2-/2= 냐
같은 방식으로

2008-05-03

답글 0

과학향기
  • 평점   별 5점

통신방식을 알아낸다는 게 좀 애매하긴 하지만, 해킹을 위해 광자를 가로채며 무조건 들키게 돼 있는게 양자암호라고 합니다. 즉 새로 광자를 생성하기 위해선 이동되는 광자를 복사하거나 잠깐 훔쳐왔다가 돌려줘야하는데 이 과정이 들통날 수 밖에 없는 것이죠.

2008-05-02

답글 0

과학향기
  • 평점   별 5점

알려주신 정보로는 관련 내용을 찾아서 확인해드리기가 어렵네요. 더 정확한 대회 명칭이나 정보를 알려주시면 다시 확인하겠습니다.

2008-05-02

답글 0

최원진
  • 평점   별 5점

양자정보를 복사하는 것이 불가능하다면, 새로운 양자정보를 생성하는건 어떤가요?

A와 B가 통신한다고 했을 때,
B를 해킹해서 B가 A와 통신하는 방식을 알아낸 다음
B에서 A로 이동되는 광자를 전부 가로채고 새로운 광자를 생성해서
A로 보내는 건 불가능한가요?

2008-05-01

답글 0

이은수
  • 평점   별 5점

음 ㅎㅎ 좋은내용이었습니다.

2008-04-30

답글 0

박병호
  • 평점   별 5점

몇년전에 우리나라 과학기술부에선가 어디선가 세계 해킹대회를 했다는데 그때 그 부서의 컴퓨터를 해킹을 해보라고 했고 해킹하는 사람에게는 2억인가 얼마를 준다고 했다는 말을 들었지만 결과를 몰라 궁금 했습니다. 그 결과는 어찌 되었는지가 궁금해지는군요.아마도 그때 그일들이 위의 글과 관련이 있는것 같습니다.

2008-04-29

답글 0

음..
  • 평점   별 5점

먼가..조금 어렵네요^^;;

2008-04-29

답글 0

보고간 사람.
  • 평점   별 5점

의견 작성할때 쓰는 비밀번호도 양자암호일까요?.

그랬으면 좋으련만.

2008-04-28

답글 0

은빛
  • 평점   별 5점

어렵네요.... 그러나 정보의 실용성은 굉장히 좋은 듯 합니다~ 별 5개 드리고 갑니다

2008-04-28

답글 0

정명수
  • 평점   별 5점

그림없이 잠깐 글로만 읽으니 어렵군요 ^^ 하지만 역시 시간이 많이 필요하겠군요

2008-04-28

답글 0

추천 콘텐츠
인기 스토리
쿠키를 지원하지 않는 브라우저이거나 브라우저 설정에서 쿠키를 사용하지 않음으로 설정되어 있는 경우 사이트의 일부 기능(로그인 등)을 이용할 수 없으니 유의해 주시기 바랍니다.
메일링 구독신청하기