암호시스템의 주 목적은 "쉽게 읽을 수 있는 내용을 알아보기 힘든 상태로 변화시키는 것"이다 라고 말할 수 있다. 예로 "나는 당신을 사랑합니다"의 영어표현인 I Love You를 떠올려 보자. 누구든 이 문장의 뜻을 쉽게 알 수있다. 그러나 영어 알파벳을 숫자 26개로 대응시켜 (A=1, B=2…Z=26) I Love You를 9 12 15 22 5 25 15 21로 바꾸어 생각한 뒤 3을 더해(12 15 18 25 828 28 26 2 18, 24)로 변경하면 그 뜻은 알기 힘든 L ORYH BRX로 바뀐다.
만일메시지를 수신할 사람에게 3을 더했다는 사실을 알려준다면 수신자는전송된 암호문에서 3을 뺌으로써 원래의 메시지를 읽을 수 있게 된다. 위에서얘기한 내용을 좀더 체계적으로 얘기하면 다음과 같다.
1.원래의 메시지를 평문(plainte.t)이라고 한다. ->I Love You2.암호화하 여 바뀐 메시지를 암호문(cipherte.t)이라고 한다.->L ORYH BRX3.평문에서 암호문으로 바꾸는 과정을 암호화(encryption)라 한다. 위에서는암호화 방식 으로 평문에 3을 더했다.
4.암호문에서 평문으로 바꾸는 과정을 복호화(decryption)라 한다.
5.암호화와 복호화 과정에서 알고리즘과 함께 키가 사용된다. 고정된 알고리즘에 동일한 평문을 입력해도 다른 키 값을 사용함으로써 암호화된 결과를판이하게 다르게 만들 수 있다. 위의 예의 경우 3이 키로 사용되었다. 현대 암호시스템의 경우 암호화 및 복호화 알고리즘은 공개하고 키의 미공개에 암호의 안전성을 두고 있다. 따라서 현대 암호시스템이 제공하는 안전성은 키의 보관이 큰 비중을 차지하고 있다.
이렇게 구성된 암호시스템은 보다 알아보기 어렵고 효과적으로 메시지를 변형시키는 방법들을 연구하는 부분(cryptography)과 주어진 한정된 정보 아래서 키 값을 모른 채 암호문을 복호화하는 연구를 하는 부분(crytanalysis) 으로 하나의 학문인 암호학(crytology)을 이루고 있다.
암호는 군사나 외교와같은 한정된 부분에 사용되었기 때문에 역사에 비해 일반인들에게 알려진 시기는 늦은 편이다. 초창기 암호제작 기술을 보면 크게대입 substitution 과 치환(transposition)방식으로 나누어 볼 수 있다.
이들기술은 시스템에 각각 혼동효과(confusion)와 산포효과(diffusion)를 제공해준다. 혼동효과란 평문과 암호문의 관계를 불분명하게 하는 것으로 평 문의 한 문자의 변화가 암호문에서 어떤 식으로 변화될지를 예측할 수 없게만든다. 산포효과란 평문이 갖고 있는 정보를 전체의 암호문으로 퍼뜨리는것으로 평문의 한 문자가 갖고 있는 정보를 암호문의 모든 문자로 퍼지게한다. 대입방식은 한 문자를 다른 문자로 교체하는 방식으로 제1차 세계대전 때 플레이페어(Playfair)라는 암호시스템으로 사용되었다. 치환방식은 평문 의 문자 순서를 일정한 규칙에 따라 바꾸는 것으로, 이 결과 평문에 있던 문자만이 그리고 그 갯수 만큼만 암호문에 출현하게 된다. 이들 두 방식이 혼합하여 사용된 방식을 프로덕트 사이퍼(product cipher)라고 한다. 각각 대입 방식과 치환 방식을 행하도록 설계된 실린더를 여러 개 연결해 놓은 로터머신 roter machine)이 이들 방식을 택해 2차 세계 대전에 사용되었다.
암호가 급속한 발전과 더불어 일반인 사이에서 연구되어진 시기는 컴퓨터 의발전과 함께 공개키 개념이 처음 선보인 1970년대이다. 이후로 현대 암호 시스템의 양대 산맥인 비밀키 방식과 공개키 방식이 서로 장단점을 제공하며 비약적인 발전을 가져 왔다.
비밀키 알고리즘은 암호화 알고리즘과 복호화 알고리즘에 동일한 키를 사용한다. 따라서 송신자나 수신자 모두 동일한 키를 나누어야 한다. 대표적인 비밀키 방식으로는 전세계적으로 널리 사용되고 있는 DES를 들 수 있다. DES 는 기밀이 아닌 정보를 보호할 목적으로 설계된 블럭단위 암호시스템이다.
DES가 암호화하는 방식은 평문을 64비트 블록단위로 입력받아 64비트의 암호문을 생성해 낸다. 만약 암호화하고 싶은 평문이 160비트인 경우 3번째의 블럭은 160 128=32비트만 남게 되므로 일반적으로 첫 비트는 1로 나머지 31 비트는 0으로 채워 전체를 64비트로 만들어 DES를 돌린다. 복호화과정에서는암호화과정에서 사용한 동일한 알고리즘을 사용하고 다만 키의 순서만을 역으로 한다. 사용되는 키 사이즈는 56비트의 키값과 8비트의 패러티 체크까지 포함해 총 64비트로 구성되어 있다. DES는 총 16라운드를 도는데 여기서 라운드는 특정 일을 하는 작업단위를 말한다. 각 라운드에는 대입과 치환방식 이 사용된다. DES는 암호시스템에서 평문이나 키의 아주 작은 변화가 암호문 에서 상당히 큰 영향을 미치는 애밸런취(avalanche)효과가 큰 암호시스템이 라고 알려져왔다. Avalanche효과가 큰 암호시스템일수록 높을 안전성을 제공 한다. 그러나 현재 DES는 안전성에 있어 그 위상이 많이 떨어져 있다. DES를 1977년 미국 연방정보처리표준(FIBS)으로 채택했던 미국도 스킵잭(Skipjack) 이라는 DES대치용 알고리즘이 내장된 클리퍼 칩(Clipper Chip)과 다른 기능 들이 추가되어 있는 캡스톤 칩(Capstone Chip)을 사용할 것을 권하고 있다.
그러나 DES가 전세계적으로 널리 쓰이고 있는데다 Clipper Chip과 CapstoneChip의 경우 영장이 발부되면 정부가 도청과 해독을 행할 수 있도록설계되어 있기 때문에 향후 얼마간 DES를 전격적으로 교체해 사용할 것으로는 보이지 않는다. 대신에 두개의 키로 암호화, 복호화, 암호화 순서로 DES 를 트리플(triple) DES와 같이 DES가 기본골격을 제공하는 방식들이 사용될것으로보인다. 공개키 개념은 1976년 디피 헬만(Diffie Hellman)에 의하여 처음으로 제안되었다. 공개키 방식에서 각 사용자는 다른 사용자에게 공개할 공개키와 자신이 보관할 비밀키를 각자 선택한다. 만약 비밀키의 안전성만 제공되면 공개키로 생성된 암호문을 통신상에서 불법적으로 얻었어도 해독하기 어렵다. 왜냐하 면해독에는 반드시 공개키에 해당되는 비밀키를 알아야만 가능하도록 알고리즘이 설계되어 있기 때문이다. 공개키 시스템의 대부분은 그 안전성을 해결 하기 어려운 수학적 문제에 기반을 두고 있다. 따라서 비교적 시스템 자체의 구조는 비밀키에 비해 간단하고 명료하다. 아직도 암호는 정부와 민간 부분으로 이원화되어 발전하고 있는데 공개키 시스템의 경우 같은 수준을 유지하고 있다고 생각된다. 전 세계적으로 사용되는 대표적인 공개키 시스템으로는 큰 수의 소인수분해의 어려움에 안정성의 기반을 두고 설계된 RSA가 있다.
RSA는DES에 비해 높은 안전성을 제공하고 있다. RSA와 같은 공개키 시스템 은 메시지와 키 값을 증가시킬 수 있도록 설계되어 있기 때문에 항상 일정한 안정성을 제공해 준다.
공개키 시스템은 비밀키 방식과 비교해 전자서명이라는 기능을 제공한다.
이방식은우리가 손으로 작성하는 서명을 예로 들면 512비트와 같은 긴 비트 스트링으로 대치시키는 기능이다.
앞서 본 암호와 시스템에서는 수신자의 공개키로 임의의 사람이 메시지에 암호를 걸어서 보내면 수신자 B가 자신의 비밀키로 메시지를 복호화 하였는데전자서명 방식에서는 송신자가 자신의 비밀키를 이용해 메시지를 복호화 알고리즘에 돌린 결과를 메시지와 함께 전송한다. 이 때 수신자 B는 송신자 A의 공개키를 이용해 사인된 메시지를 암호화 알고리즘에 돌려 함께 전송되어온 메시지와의 관계로 사인의 진실 여부를 확인해 볼 수 있다.
요사이 엄청난 인기를 누리고 있는 인터네트 상에서도 은행 서비스와 상거래가 이루어지면서 암호에 대한 인기와 관심은 지대해 지고 있다. 실지로 암호가 사용되는 응용분야로 스마트카드가 있다.
스마트카드가 암호시스템을 내장하고 있다는 사실과, 카드와 단말기와 이 들서비스를 제공하는 기관의 호스트컴퓨터 사이의 통신이 네트워크 시스템의 축소판임을 아는 사람은 그다지 많지 않으리라고 생각된다. 스마트카드는 현금카드 신용카드 크기로 내부의 RAM, CPU, ROM, EEPROM을 포함하고 있어 기록 및 데이터를 갱신할 수 있고 또 어느 정도의 연산을 효율적인 시간 안에해결할 수 있다. 특히 DES나RSA와 같은 암호시스템을 내장하고 있어 안전하게 금융계통 서비스에 사용되고 있다. 아직은 거의 대부분을 수입에 의존하고 있는 형편이며 수입가는 보통 8백원~1만원 정도이다. 스마트 카드가 뭔지 궁금한 사람은 smart card를 보안이 잘된 8비트 짜리 컴퓨터로 생각하면 어느 정도 맞을 것이다. 전 세계적으로 현금을 대신하는 전자화폐의 도입이 눈에 띄게 늘고 있는데 이 시스템의 핵심적인 부분을 암호와 스마트 카드가 제공하고 있다. 앞으로 몇년 안에 신용카드가 현금을 대신했던 때와는 비교가 되지 않는 혁명과도 같은 전자현금 시대가 전개된다. 전자현금 시대에는 현금대신 한장의 스마트 카드면 충분하다. 사용자는 은행에 자신의 계좌를 개설하고 스마트 카드를 발급 받으면 된다. 스마트 카드에는 암호 알고리즘과 이 때 사용될 키와 사용자의 비밀번호가 저장되어 있다. 사용자는 단말기에 자신의 스마트 카드를 꼽고 비밀번호를 핀 패드에 입력한다. 이 과정을 통해 카드가 사용자의 신분을 확인한다. 만일 허락된 시기 안에 입력된 비밀번호 가 계속 일치하지 않으면 스마트 카드는 자기 자신을 락(lock) 걸어 보호한 다. 다음과정은 카드와 단말기가 상대방을 상호 검사하는 절차다. 이 과정은허락되지 않은 스마트 카드로 현금이 인출되는 것을 막고 불법 단말기로 카드의 데이터가 전송되는 것을 막기 위해 카드와 단말기에 저장된 암호화 알고리즘과 키를 통해 이루어진다. 이 과정이 성공적으로 끝나야 카드와 단말 기는 통신을 시작한다. 모든 통신은 암호화하여 전송되고 도착 즉시 카드와 단말기 내부에서 복호화한 뒤 원하는 서비스를 상호 처리한다. 따라서 중간 에 통신 내용을 가로 채도 해독이 불가능하다. 단말기와 은행의 호스트 컴퓨터간의 통신도 유사한 방식을 취한다. 물론 이때 통신프로토콜에 취약점이 없도록 신중하게 설계해야 한다.
그동안 스마트 카드는 DES가 내장된 카드를 주로 사용해 왔는데 이유는 비밀키 방식에 비해 공개키 방식이 상대적으로 속도가 느리기 때문이다. 따라 서스마트 카드에 공개키 시스템을 내장할 경우, 효과적인 속도를 내기 위해서는 코 프로세서(co processor)를 달아야 한다. 이때 상대적으로 카드의 가격이 상승한다. 그러나 DES를 암호알고리즘으로 사용할 경우는 키 보관의 취약점이 지적된다. 카드와 통신하기 위해 단말기는 카드와 동일한 키를 저장해야 하는데 이를 안전하게 저장할 장소의 확보가 어렵다는 것이다. 보통 이런 목적으로 단말기 내부에 설치하는 것이 SAM(Secure Application module)이라고 불리우는 것이다. SAM이 얼마나 안전하게 설계되느냐가 이런 종류의시스템에서는 무엇보다도 중요하다. 그러나 단말기와 카드가 공개키시 스템을사용할 경우 이런 취약점은 극복된다. 따라서 전자화폐서비스와 관련한 많은외국의 기업과 연구소는 효율적인 공개키시스템을 운용하기 위한 칩의 개발과 프로토콜에 대한 연구를 활발히 진행하고 있다. 곧 비밀키방식은공개키시스템으로 대치되리라 생각된다.
군사적 목적으로 사용되어 오던 암호는 현대에 와서 상업용 목적 및 학술 적목적으로 많은 발전을 거듭하고 있다. 인터네트라는 지붕아래 하나의 통신 단일권으로 묶이는 현재의 상황을 보건데, 암호는 필요에 의해 발전할 수밖에 없다고 확신한다. 보다 안전하게 귀중한 정보를 보호하기 위해선 암호기 술은 필연적이기 때문이다.
경제 많이 본 뉴스
-
1
MBK, '골칫거리' 홈플러스 4조 리스부채…법정관리로 탕감 노렸나
-
2
금감원 강조한 '자본 질' 따져 보니…보험사 7곳 '미흡'
-
3
미국 발 'R의 공포'···미·국내 증시 하락세
-
4
에어부산 여객기 화재, 보조배터리 내부 절연파괴 원인
-
5
트럼프 취임 50일…가상자산 시총 1100조원 '증발'
-
6
은행 성과급 잔치 이유있네...작년 은행 순이익 22.4조 '역대 최대'
-
7
보험대리점 설계사 10명중 1명은 '한화생명 GA'…年 매출만 2.6조원
-
8
[ET라씨로] 참엔지니어링 80% 감자 결정에 주가 上
-
9
메리츠화재, 결국 MG손보 인수 포기…청·파산 가능성에 '촉각'
-
10
그리드위즈, ESS 운영 솔루션 교체로 경제 가치 35% 높인다
브랜드 뉴스룸
×