암호해독
암호해독이란 시스템의 숨겨진 정보를 알아내기 위해 정보 시스템을 분석하는 연구이다. 간단하게 해독 또는 암호 해석이라고 표현하기도 한다. 암호해독은 암호 보안 시스템을 위반하고 암호키를 알 수 없는 경우에도 암호화된 메시지의 내용에 액세스하는 데 사용된다. 암호해독은 데이터를 암호화한 이해하기 어려운 암호문을 평문이라고 하는 데이터, 즉, 그 원래의 형태로 거꾸로 변환하는 것을 의미한다. 이때 암호문을 평문으로 변환하는 일련의 변환(과정)을 복호화 또는 역암호화라고 한다.
목차
개요[편집]
암호해독이란 말 그대로 암호를 해독하는 것이다. 암호해독의 목적은 암호화된 데이터인 암호문으로부터 암호화되지 않은 상태 즉, 평문으로 변환하여 그 데이터에 대한 가능한 많은 정보를 얻어내는 것이다. 암호해독은 두 가지 방식을 고려하는 것이 유용하다. 첫 번째는 시스템을 해체하는 것이다. 암호화 기법의 프로세스가 어떻게 작동하는지 알아내는 것이다. 두 번째는 특정 암호화된 메시지나 메시지 그룹에 대한 암호키를 알아내는 것이다.
암호의 역사[편집]
과거의 지도자들은 나라를 다스리고 군대를 움직이는 데 활용하는 통신 수단을 이용한 통신 내용이 적의 손에 들어가 기밀이 누설되거나 중요한 정보가 들어가지 않을까 우려했다. 이 때문에 암호라는 것이 고안된 것이다. 각국 정부는 비밀의 보장이 절실해짐에 따라 가능한 한 가장 안전한 암호를 만들어 내고, 이를 이용해 보안성을 확보하는 부서를 운영하게 된다.
암호의 어원은 그리스어로 비밀이란 뜻을 가진 크립토스(Kryptos)로 알려져 있다. 이는 평문을 해독 불가능한 형태로 변형하거나 암호화된 통신문을 원래의 해석 가능한 상태로 변환하기 위한 모든 수학적인 원리, 수단, 방법 등을 취급하는 기술을 말한다. 즉, 암호란 중요한 정보를 다른 사람들이 보지 못하도록 하는 기술을 의미한다. 암호 기술의 발전 역사를 구분할 때 두 번의 큰 전환점을 기준으로 고대 암호, 근대 암호, 현대 암호 세 단계로 나눠진다. 첫 번째 전환점은 1920년대 1, 2차 세계 대전에서 무선 통신 기술의 발전을 기반으로 여러 가지 기계적, 전자적 암호 장치를 개발하고 사용한 것이었다. 두 번째 전환점은 1970년대 컴퓨터 사용이 활발해지면서 컴퓨터를 이용한 암호 기술이 발전한 것이다.[1] 이를 기준으로 고대로부터 1,2차 세계 대전 이전까지 사용된 초보적인 암호 기술들을 고대 암호라고 하면, 1970년대까지 복잡한 기계 장치와 전자 장치들을 이용한 암호기술을 근대 암호라고 말한다. 컴퓨터가 개발된 이후 컴퓨터를 이용하는 암호 기술을 현대 암호라고 부른다.[1]
등장 배경[편집]
위와 같이 고대부터 각국 정부는 기밀 유지를 위해 암호를 발전시켜 왔다. 이는 전쟁 또는 외교에서 매우 중요한 부분이었다. 그렇지만 한편으로는 적국의 보안성이 높아지는 것은 매우 위험한 일이다. 가장 이상적인 방향은 우리의 정보는 기밀을 유지하되, 상대의 정보는 알아내는 것이다. 때문에 각국 정부는 적국의 비밀을 빼내려는 암호해독을 연구하고 암호를 해독해서 정보를 빼내는 암호 해독가를 양성하기 시작한다. 암호 해독가들은 언어를 재료로 이용하는 연금술사로, 무작위로 모아놓은 듯한 부호와 문자에서 의미를 가진 단어를 뽑아내기 위해 일생을 바친다.
암호의 역사는 암호를 만들어 비밀을 유지하고 보안성을 높이려는 이들과 암호를 해독하여 정보를 빼내고 이득을 취하려는 사람들이 수백 년에 걸쳐 벌여온 전쟁의 역사이다.[1]
특징[편집]
암호해독이란 평문을 암호문으로 변환하여 전달하고 있는 과정에서 암호문을 중간에서 가로채어 평문이나 암호키 혹은 두 가지 모두를 알아내려는 시도 과정이다. 암호를 해독하는 해독자는 반드시 나쁜 의도를 가진 것은 아니다. 암호를 연구하는 연구자의 경우 암호의 강도를 높이기 위해서 암호를 해독한다. 결국 암호가 발전할수록 암호해독의 기술 역시 발전한다.
암호 해독의 입장에서 봤을 때, 절대로 해독되지 않는 암호 알고리즘은 존재하지 않는다고 말한다. 이는 아무리 뛰어난 암호 알고리즘의 경우라도 해독을 하는 데 오랜 시간이 걸릴 뿐 해독을 하지 못하는 것을 의미하는 것이 아니라는 말이다.
미국 과학잡지 사이언티픽 아메리칸 1977년 8월 호에는 전 세계 과학도를 자극하는 퀴즈가 실렸다. 시작과 끝이 1인 129자리 숫자의 소인수 두 개를 구하라는 것이다. 예를 들어 15라는 숫자가 있으면 두 소인수의 곱으로 표현할 수 있는 3과 5를 알아내라는 것이다. 상금은 100달러, 퀴즈를 낸 곳은 공개키 암호를 개발한 미국의 RSA사였다. RSA 사는 1초에 10억 번의 계산을 하는 컴퓨터(이런 고성능 컴퓨터는 1990년대에 들어서야 개발됐다)를 돌린다고 해도 4경년이 걸릴 것으로 예상했다.[2]
그러나 17년 뒤인 1994년 4월 2일 문제가 풀렸다. 25개국의 600명이 1600대의 컴퓨터를 네트워크로 연결하여 8개월간 계산해 두 개의 소인수를 구해냈다. 한 숫자는 64자리, 또 하나는 65자리의 수였다. RSA 사는 컴퓨터 성능만 염두에 두고 해법의 발전은 감안하지 않았던 것이다.[2]
이렇듯이 암호 기술의 개발과 암호해독 기술의 개발은 서로 밀고 밀리면서 양쪽 다 발전하고 있다. 현재로서는 위에서 말했다시피 시간이 오래 걸릴 뿐 영원히 풀 수 없는 암호 시스템은 없는 것이다.
대칭 키 암호 방식[편집]
대칭 키 암호는 암호화와 복호화에 동일한 키가 사용된다. 주로 데이터 통신의 암호화에서 많이 사용된다. 대칭 암호는 암호화와 복호화의 속도가 비대칭 암호 알고리즘보다 빠르다는 장점이 있다. 통신에서는 암호/복호화 속도가 중요하기 때문에 통신에서는 대칭 암호화 방식이 더 적합하다. 또한 암호문의 크기가 평문보다 크지 않기 때문에 통신에서 암호문의 크기를 전송하기 위해서 네트워크 대역폭을 추가로 증가시킬 필요가 없다. 대칭 암호는 대체로 비트 수가 적고 수행 시간이 짧다.
하지만 키의 개수가 증가되면 키 관리가 어려워진다는 단점이 존재한다. 각 쌍의 사용자들마다 유일한 키가 생성되어 다수의 쌍이 존재할 경우처럼 키의 수가 늘어나면 키의 관리가 어렵다. 데이터를 보내는 송신자와 받는 수신자가 동일한 키를 가지기 때문에 공격자가 키를 가로채면 암호문은 풀린다.[3]
- DES(Data Encryption Standard)
- 64개의 블록 암호화 알고리즘
- 56비트 크기의 암호화키를 사용(생성 가능한 암호화 키는 최대 7200조 가지)
- 각 라운드는 48비트의 보조키를 사용
- 보조키는 56비트 키 중 48비트를 사용해 구성
- 블록 암호(Block Cipher)
- 평문과 암호문이 고정된 크기의 블록으로 구성
- 암호문은 평문의 반복되는 회전 함수로 계산됨
비대칭 키 암호 방식[편집]
비대칭 키 암호는 공개키 암호화 방식이라고도 부른다. 송신자는 공개키와 개인키를 생성하고 수신자도 마찬가지로 공개키와 개인키를 생성한다. 송신자는 수신자의 공개키로 암호화하고, 수신자는 수신자의 개인키로 복호화 한다.
이러한 비대칭 암호화 방식의 경우는 전자 서명(Digital Signature)의 구현이 가능하고, 보안 강도가 높다는 장점이 있다. RSA의 경우, 소인수분해 문제의 어려움을 이용했기 때문에 현재로서는 해독에 있어서 거의 불가능할 정도로 어려움이 있다고 한다. 만약 256비트의 암호키를 사용하면 복호화 하는데 우주의 나이만큼의 시간이 필요하다고 한다. 또한 키의 관리와 분배가 효율적이다. 하지만 비대칭 암호는 연산이 복잡하고 느리다는 단점이 있다.[3]
하이브리드 암호 시스템[편집]
하이브리드 암호 시스템은 대칭 암호의 빠른 처리 속도와 비대칭 암호의 키 분배/관리의 편리함을 합쳤다. 평문을 대칭 암호로 암호화한 후 평문을 암호화할 때 사용했던 대칭 암호키를 공개키 암호로 암호화한다. 하이브리드 암호 시스템을 이용하면 대칭 암호와 비대칭 암호의 장점을 조합한 통신이 가능하다.
양자 암호[편집]
형광등에서 나오는 빛은 광자 다발이 쏟아지는 것이다. 그 빛을 극도로 약하게 하면 광자 하나를 얻을 수 있다. 이렇게 얻은 광자 하나하나에 암호를 실어 보내는 방법이 양자암호이다. 기존의 광통신에서는 암호 하나를 광자 수천 개에 실어 보낸다. 이 때문에 도청자는 수천 개의 광자 중 서너 개를 가로채 정보를 읽어도 송수신자는 도청 사실을 눈치채지 못한다. 그러나 양자암호는 광자 하나씩으로 되어 있어서 중간에 도청자가 가로채 봤자 쓸모가 없다. 가로챈 광자는 수신자가 어차피 받지 않게 돼 암호키로 쓰이지 않기 때문이다.[2]
도청자가 광자를 빼내 도청한 뒤 다시 광섬유 안에 넣는다 해도 애초 1을 보낸 것이 0이 된다든가, 그 반대가 되는 경우가 비정상적으로 많이 생기게 된다. 송수신자는 이를 보고 도청 사실을 즉각 알 수 있다. 때문에 도청이 가장 어려운 것으로 양자암호를 꼽고 있다.[2]
암호해독과 복호화의 차이[편집]
복호화는 키를 이용해 암호화된 암호문을 암호화 키를 이용해 다시 평문으로 변환하는 과정이다. 하지만 암호해독의 경우는 키가 없는 상태에서 시작된다. 키가 없는 상태에서 암호화된 암호문을 복호화 하여 평문을 얻어내는 것 또는 키가 없는 상태에서 키를 알아내는 것을 암호해독이라고 한다. 이러한 암호해독을 위한 시도를 공격법(Attack)이라고 한다.
활용[편집]
에니그마[편집]
에니그마(Enigma)는 2차 세계대전 중 암호의 역사에 있어 큰 전환점이 되었던 독일의 암호 기계이다. 이 암호 기계는 1918년 아르투르 슈르비우에 의해 고안되어 사용되었는데, 2차 세계대전 중 나치 독일이 군사기밀을 암호화하는 데 주로 사용했다. 에니그마를 이용한 암호는 오랫동안 난공불락으로 여겨졌다.[4]
에니그마의 기본 구조는 3개의 회전 로터와 전자 기판, 타자기처럼 생긴 자판과 글자가 표시되는 화면으로 구성되어 있다. 3개의 로터는 각각 알파벳 26개로 연결되는 톱니로 구성되어 있었다. 톱니는 서로 연동되어 움직이고, 이런 연동 움직임은 변경이 가능하도록 구성되어 있었다. 에니그마 기계를 통해 생산할 수 있는 암호의 구성 조합의 가능성은 1개 알파벳당 158경(158,962,555,217,826,360,000)이다. 에니그마의 암호문 제작 원리는 무한히 긴 열쇠값을 이용하는 다중 치환 암호를 전기공항적으로 구현해내는 데에 있다. 암호화할 문장을 자판으로 입력하면 스크램블러가 돌아가면서 암호화된 문장으로 만든다. 또한 에니그마는 8시간마다 로터의 구성을 바꾸도록 하는 지침이 내려지기도 했다. 이 때문에 에니그마가 생산하는 암호는 해독이 불가능하다고 믿어졌고, 나치 독일군의 에니그마에 대한 믿음은 절대적이었다.[5]
에니그마의 해독[편집]
이렇듯 절대적으로 해독되지 않을 거라고 믿었던 나치 독일군의 믿음과는 달리 에니그마는 해독이 되었다. 1932년 폴란드 암호 해독국이 이를 처음 해독했다. 폴란드 암호 해독국은 수학 이론을 이용하여 에니그마의 복사본을 제작했고, 해독 매뉴얼도 제작했다. 하지만 독일군은 암호를 해독했을 때를 대비하여 하루 3번씩 로터의 구성을 바꾸도록 지시하였고, 로터를 1개 추가한 신형 에니그마를 제작하기도 했다. 때문에 폴란드의 암호해독 기능은 무력화되었다.
폴란드는 암호해독 기능이 무력화되자 동맹국인 프랑스와 영국에 정보를 공유하여 해독을 같이 연구하기 시작했다. 1939년 1월, 신형 에니그마의 해독을 위한 미팅이 이루어졌다. 이에 영국 정보국(MI6)은 폴란드 암호 해독국의 주요 인사들과 영국읫 수학자, 공학자들로 구성된 암호 해독국을 구성한다.
암호해독의 종류[편집]
- 선택암호문공격(Chosen Ciphertext Attack, CCA) : 암호 분석가가 임의로 선택된 암호문과 일치하는 평문으로부터 암호 키를 알아내기 위해 시도하는 공격이다. 공개 키 암호 방식에서 응용되는 것으로 사설 키가 한번 알려지면 같은 종류의 메시지에서는 모두 복호화 된다.
- 선택평문공격(Chosen Plaintext Attack, CPA) : 평문을 선택하면 대응하는 암호문을 얻을 수 있는 상황에서의 공격이다. 공격자가 선택한 평문들에 대한 암호문이 주어진다는 가정 하에 복호화 키를 찾는 공격이다.
- 기지평문공격(Known Plaintext Attack, KPA) : 공격자가 암호문에 대응하는 평문의 일부를 알고 있을 때 사용할 수 있는 공격이다. 암호문과 평문과의 관계로부터 키와 전체평문을 추정하여 해독하는 방법이다. 또한 평문 전체가 알려진 경우도 해당된다.
- 암호문 단독공격 : 공격자가 가장 적은 정보를 가지고 공격하는 것을 암호문 단독공격(Ciphertext Only Attack, COA)이라 한다. 이 공격에서 공격자는 같은 암호키를 사용하여 같은 알고리즘으로 암호화된 유한 암호문 집합만을 가지고 있다. 따라서 공격자의 목표는 대응되는 평문을 찾거나 사용된 암호키를 찾거나 암호 키를 찾지 못하였지만 암호키 없이 암호문을 복호화 할 수 있는 새로운 알고리즘을 발견하는 것이다.
각주[편집]
- ↑ 1.0 1.1 1.2 〈암호기술의 역사〉, 《한국인터넷진흥원》
- ↑ 2.0 2.1 2.2 2.3 박방주 기자, 〈'암호 전쟁' 뛰는 암호 위에 나는 해독 기술〉, 《중앙일보》, 2006-05-10
- ↑ 3.0 3.1 Developer, 〈(암호) 대칭/비대칭 암호화 방식〉, 《티스토리》, 2018-11-25
- ↑ gudrmd2, 〈1. 에니그마(Enigma)란 무엇인가?〉, 《네이버 블로그》, 2013-11-23
- ↑ 로빈, 〈논란의 역사 - 에니그마 암호〉, 《브런치》, 2017-08-25
참고자료[편집]
- 〈Cryptanalysis〉, 《나무위키》
- 〈암호화/암호 해독 방법, 데이터 암호화/암호 해독 장치,변환 모듈 및 컴퓨터 프로그램 제품〉, 《Google Patents》
- 〈암호기술의 역사〉, 《한국인터넷진흥원》
- 〈알기쉬운 정보보호의 개론〉, 《한남대학교 네트워크연구소》
- gudrmd2, 〈1. 에니그마(Enigma)란 무엇인가?〉, 《네이버 블로그》, 2013-11-23
- 로빈, 〈논란의 역사 - 에니그마 암호〉, 《브런치》, 2017-08-25
- 박종혁, 〈대칭 암호〉, 《박종혁 교수 홈페이지》, 2011
- Developer, 〈(암호) 대칭/비대칭 암호화 방식〉, 《티스토리》, 2018-11-25
- 박방주 기자, 〈'암호 전쟁' 뛰는 암호 위에 나는 해독 기술〉, 《중앙일보》, 2006-05-10
- nologout, 〈암호 공격(해독)유형 5가지〉, 《네이버 블로그》, 2017-03-08
같이 보기[편집]