본문 바로가기

블로그

LG CNS 기술블로그 DX Lounge에서 최신 IT 소식을 만나보세요!

보안

암호 이야기 1편 – 암호와 함께하는 생활

2016.09.27

1994년 국내 인터넷 상용 서비스가 시작되면서 기업과 학교를 중심으로 네트워크가 구축되기 시작하여 각 가정에까지 초고속 인터넷 서비스가 제공되고 있으며, 현재 국내 인터넷 속도와 보급률은 전 세계 1위를 차지하고 있습니다.

인터넷이 상용화되기 이전에는 전화선에 모뎀을 연결하여 제한된 범위에서 통신 서비스가 이루어졌으나, 인터넷 서비스의 상용화로 오프라인(off-line)에서 이루어지고 있는 많은 부분들이 온라인 서비스화 되었습니다.

인터넷뱅킹, 전자상거래 및 온라인 게임과 같은 다양한 인터넷 서비스의 발전으로 새로운 문화가 형성되기 시작했는데요. 스마트폰과 같은 휴대용 단말기가 대중화되면서 언제 어디서나 유선뿐만 아니라 무선으로도 인터넷을 사용할 수 있는 시대가 도래했습니다. 이에 따라 우리 일상생활의 많은 부분들이 변화되고 있습니다.

이와 같이 인터넷이 제공하는 다양한 서비스의 편리함으로 인하여 보다 새로운 서비스와 네트워크 기술들이 개발되고 있습니다. 하지만, 이에 따라 바이러스와 같은 악성코드의 전파와 특정 서버나 컴퓨터에 불법적으로 접속하여 중요한 데이터를 삭제하거나 몰래 가져가는 행위 등 여러 문제점들이 함께 대두되고 있습니다.

따라서 이러한 문제점들을 해결하기 위해 백신 프로그램과 방화벽(firewall)을 개발하여 악성코드를 제거하고 정보 유출을 방지하도록 하고 있는데요. 현재 상용화되고 있는 백신 프로그램은 방화벽 기능까지 구현하고 있습니다.

백신이나 방화벽은 개인 컴퓨터나 서버로의 불법적인 침입이나 악성코드의 감염으로부터 응용 프로그램과 데이터를 보호하기 위해 개발된 기술이지만 정보 보호와 관련된 모든 문제점들을 해결해 줄 수는 없습니다.

예를 들면, 해커로부터 자신의 컴퓨터에 저장된 중요한 데이터가 유출되었을 경우 유출된 데이터를 허가를 받지 않은 제3자가 임의로 볼 수 없도록 보호할 수 있는 방법이 필요합니다. 또한, 아래 그림에 나타낸 것과 같이 해커와 같은 공격자가 네트워크 상에서 송신자가 전송하는 데이터에 대하여 여러 형태의 공격을 감행할 수 있어 이에 대한 해결 방법이 필요합니다.

공격자가 행할 수 있는 대표적인 공격 유형은 다음 그림과 같습니다. 아래 그림은 이메일이나 파일 등을 전송할 때 발생할 수 있는 공격 유형을 나타낸 것으로, 송신자가 전송하는 데이터에 대하여 공격자는 전송되는 내용을 몰래 훔쳐보거나 내용을 수정하여 수신자에게 전송할 수 있습니다.

따라서 이러한 공격에 대하여 전송되는 이메일이 도청되더라도 공격자가 그 내용을 알 수 없도록 하고 전송되는 이메일의 내용을 수정하여 재전송하는 문제를 해결할 수 있어야 하는데 이와 같은 문제를 해결할 수 있는 기술이 바로 암호입니다.

l 공격 유형

암호는 중요한 정보가 저장된 파일이나 이메일이 외부에 노출되어도 그 파일 내용이나 이메일 내용에 대한 접근을 제한할 수 있기 때문에 금융 거래가 이루어지는 인터넷뱅킹이나 전자상거래에서는 필수적으로 암호 기술이 적용되어야 부정 거래를 방지할 수 있습니다.

암호는 정당한 사용자에게만 정보를 열람할 수 있는 권한을 부여할 수 있는 기술입니다. 이것은 문서에 패스워드를 설정하면 파일을 읽어 들일 때 올바른 패스워드가 입력되어야만 파일 내용을 볼 수 있는 것과 같은 원리라고 할 수 있습니다.

컴퓨터에 저장된 파일이나 이메일 등에 암호 기술을 적용하면 암호화된 파일을 해독(복호화) 할 수 있는 키(key)를 알고 있어야 그 내용을 볼 수 있기 때문에 암호화된 파일이나 이메일에 대한 안전성을 보장할 수 있게 됩니다.

암호는 암호 알고리즘과 키로 구성되는데요. 평문(전송하려는 내용)을 이용해서 암호문을 생성하는 방법을 암호 알고리즘이라고 말하고, 암호 알고리즘은 소프트웨어(S/W)나 하드웨어(H/W)로 구현됩니다.

만약, 이메일을 암호화하지 않고 전송할 경우 공격자는 이메일을 도청하거나 내용을 수정하는 공격을 할 수 있지만 암호화하여 전송하게 되면 공격자는 암호문을 원래의 평문으로 복구해야만 그 내용을 알 수 있기 때문에 암호화된 이메일은 도청이나 내용 수정과 같은 공격으로부터 안전할 수 있습니다.

l 암호문 생성 과정

위 그림은 암호문을 생성하기 위해 평문과 암호 알고리즘 그리고 키가 사용되는 것을 나타내고 있습니다. 일반적으로 암호 알고리즘과 암호문은 사람들에게 공개될 수 있지만 대칭키 암호의 경우 암호화에 사용되는 키가 노출되면 암호문을 쉽게 평문으로 복구할 수 있어 암호화에 사용되는 키는 반드시 비밀을 유지해야 합니다.

따라서 공격자는 암호문을 해독하기 위해 암호화에 사용된 키를 찾으려고 노력할 것이며, 암호화에 사용된 키가 노출될 경우 암호문을 생성하려는 사람은 새로운 키를 사용하여 암호문을 생성해야 합니다.

암호문을 생성할 때 사용하는 키를 대칭키 암호에서는 비밀키라고 하며, 공개키 암호에서는 공개키라고 합니다. 그리고 암호문을 다시 평문으로 변환(해독) 하는데 사용하는 키는 비밀키라고 합니다.

현재 우리가 사용하고 있는 암호 알고리즘은 대부분 공개되어 있지만 특수한 목적으로 사용되는 일부 암호 알고리즘은 공개되지 않고 있으며, 이와 같이 공개되지 않은 암호 알고리즘으로 생성된 암호문은 해독이 불가능하다고 알려져 있습니다.

암호는 마치 금고와 같다고 말할 수 있습니다. 금고 안에 보관되는 중요한 서류는 평문으로 비유할 수 있고, 암호 알고리즘은 서류를 보관하기 위한 금고 그 자체로 생각할 수 있습니다. 또한 암호화에 사용되는 키는 금고를 열거나 잠그는데 사용하는 열쇠로 비유할 수 있습니다.

금고는 어떠한 문제가 발생하더라도 열리거나 부서지지 않고 오직 그 금고에서 사용하는 열쇠(key)로만 금고 문을 열 수 있다고 가정한다면, 이와 같이 암호 알고리즘도 암호화와 복호화를 수행하는 방법을 공개하더라도 암호화와 복호화에 사용되는 정당한 키가 있어야만 암호문을 해독할 수 있습니다.

따라서 암호문이 안전하기 위해서는 안전성이 보장된 암호 알고리즘을 사용하고 복호화에 사용되는 키의 보안 유지가 가장 중요합니다.

l 암호문 해독 과정

이와 같이 암호는 중요한 데이터를 안전하게 보관하거나 네트워크를 통해 정보를 안전하게 전송할 수 있는 방법을 제공하고 있습니다. 그러나 암호 기술을 나쁜 목적으로 사용하게 되면 랜섬웨어(Ransomware)와 같은 문제를 발생시킬 수 있습니다.

랜섬웨어는 사용자의 동의 없이 컴퓨터에 저장된 파일을 암호화하여 사용자가 임의로 열지 못하게 한 후 파일을 열 수 있게 해주는 조건으로 금전을 요구하는 악성 프로그램인데요. 랜섬웨어는 대칭키 암호 형태로 1989년에 처음 등장하였으며, 1996년에는 공개키 암호 형태로도 만들어졌습니다.

랜섬웨어에 감염된 컴퓨터는 백신 프로그램으로 악성코드를 제거할 수는 있지만, 암호화된 파일을 원래대로 복구하려면 복구하는데 사용되는 키를 찾아야 하기 때문에 랜섬웨어로부터 암호화된 파일의 복구는 불가능합니다. 때문에 심각한 피해를 발생시키고 있으며, 암호화된 파일의 중요도가 높을수록 그 피해는 더욱 심각해지게 됩니다.

랜섬웨어는 대칭키 암호와 공개키 암호를 사용하여 파일을 암호화하고 있습니다. 공개키 암호와 대칭키 암호의 구분은 암호문을 생성하는데 사용되는 키와 복호화에 사용되는 키가 동일한지 아니면 서로 다른지에 따라 구분되는 것인데요. 이에 대해 다음 편에서 자세히 소개드리도록 하겠습니다.

글 | 이승대 교수 | 남서울대학교 전자공학과

[‘암호 이야기 _ 암호와 함께하는 생활’ 연재 현황]

  • [1편] 암호 이야기 1편 – 암호와 함께하는 생활
    http://blog.lgcns.com/1210
  • [2편] 암호 이야기 2편 – 암호 알고리즘에 대하여
    http://blog.lgcns.com/1230
  • [3편] 디지털 콘텐츠를 지키는 워터마크(Watermark)
    http://blog.lgcns.com/1252

챗봇과 대화를 할 수 있어요