본문 바로가기
IT/정보보안

정보보안 암호화의 기초

by 미니송 2017. 8. 26.



이번 포스팅은 암호화의 기본개념에 대해 설명하도록 하겠습니다. 컴퓨터 네트워크의 사용자 환경이 과거처럼 단순히 정보를 검색하고 활용하지 않으며 은행 업무나 세금 업무, 인터넷 쇼핑몰 같은 상업 분야로 확대되었습니다.


이렇게 발전하므로 온라인 불법 침입자가 중요 정보에 접근할 수 없도록 차단하는 네트워크 보안이 중요해지고 있습니다.

보안의 필요성은 두 가지로 생각할 수 있습니다. 첫 번째는 허가 받지 않은 외부 침입자에게 정보가 유출되지 않도록 하기 위해서입니다. 보안 데이터가 전달되는 네트워크 경로에서 데이터를 불법적으로 훔쳐내 악용하는 경우가 이에 해당됩니다.


두 번째는 외부 침입자가 보안 데이터의 내용을 조작하지 않도록 보호하기 위해서입니다. 데이터 조작은 통신하는 사람들 간의 정상적인 데이터 통신을 방해합니다.

 


암호화(Encryption)

문서의 내용을 암호화하여 목적지에 전송함으로써, 외부 침입자로부터 문서를 보호하는 방법은 컴퓨터 네트워크가 보급되기 전부터 사용하던 방식입니다.


적에게 알려지면 안되는 중요한 정보를 암호화시켜 전송하면 해독할 수 없기 때문인데요. 이때 문서의 송수신자는 암호문을 작성하고 해석하는 과정에서 비밀키를 사용하게 됩니다.


컴퓨터 보안은 일반인도 중요성을 인식하는 분야지만, 네트워크에서는 이론적으로 간단하지 않은 분야에 속합니다. 따라서 관련 용어를 잘 숙지하고 어떤 의미인지 파악할 수 있어야 합니다.


네트워크에서 송신자와 수신자는 중간 전송 매체를 통해 메세지를 송수신합니다. 네트워크는 기본적으로 개방형 시스템이기 때문에 제3자가 임의로 접근 및 수정할 수 있고 메세지는 외부 접근에 노출되어 있습니다. 따라서 전송과정에서 권한을 갖지 않은 접근시도는 차단되어야 하며 침입자도 마찬가지로 차단되어야 합니다.


침입자가 전송 메세지에 해를 끼칠 수 있는 행동은 3가지 입니다.


1. 메시지 읽기 - 전송 선로를 흐르는 신호를 도청하여 메시지의 내용을 읽습니다. 인터넷에서 신호 도청을 차단하는 것은 어렵기 때문에 암호화 기법을 사용하여 해결할 수 있습니다.


2. 전송 방해 - 전송 메시지가 수신자에게 도착하지 못하게 함으로써 송수신자 간의 통신을 방해합니다. 인터넷에서 방화벽 기능을 사용하여 불법사이트에 접속하지 못하도록 차단하는 것이 이에 해당됩니다.


3. 메시지 수정 - 전송되는 메시지의 내용을 수정하는 것입니다. 전송될 때 메시지의 내용을 수정하며 송수신자가 교환하는 메시지의 의미를 왜곡시킵니다.

 


암호화 보안 상식

비밀 암호 알고리즘을 사용하지 말 것

독자적으로 암호 알고리즘을 개발하고, 그것을 비밀로 하면 안전하다라는 생각은 말도 안되는 소리이며 암호알고리즘 자체를 비밀로 해서 기밀성을 유지하려고 하는 암호 시스템은 암호 알고리즘의 구조가 폭로되면 그것으로 모든게 끝납니다.

암호 알고리즘을 비밀로 해서 보안을 유지하려고 하는 행위는 일반적으로 숨기는 것에 의한 보안이라 부릅니다. 또한 아주 위험하다고 전문가들이 말합니다.


약한 암호는 암호화하지 않는 것보다 위험하다.

약한 암호를 사용하려면 처음부터 암호를 사용하지 않는 것이 낫다고 합니다. 가장 큰 이유는 사용자가 암호라고 생각하고 설정 후 안심하고 있기 때문입니다. 안심하지 않고 보안에 좀 더 신경쓰는 것이 좋습니다.


어떤 암호라도 언젠가는 해독된다.

어떤 암호 알고리즘을 사용해 암호문을 만들더라도 키를 하나씩 대입해보면 언젠가 해독됩니다. 시간이 오래걸리겠지만 해독은 할 수 있습니다. 암호문이 해독되기까지 들어가는 시간과 암호를 사용하여 지키고 싶은 평문의 가치와의 밸런스가 중요합니다.

 


주요 암호 기술

대칭키 암호(비밀키 암호)

대칭키 암호는 암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 동일한 암호 알고리즘 방식입니다.


대칭키 암호 방식에서는 암호화에 사용되는 암호화키와 복호화에 사용되는 복호화 키가 동일하다는 특징이 있으며, 이 키를 송신자와 수신자 이외에는 노출되지 않도록 비밀히 관리해야 합니다.


키를 안전하게 보관해야 한다는 의미로 비밀키 암호라고도 하며 이 방식은 고대암호로부터 연결된 오랜 역사를 가지고 있습니다.


사용되는 키가 짧고 속도가 빨라서 효율적인 암호 시스템을 구축할 수 있습니다. 이 암호 방식은 알고리즘의 내부 구조가 간단한 치환(대치)과 전치(뒤섞기)의 조합으로 되어 있어서 알고리즘을 쉽게 개발할 수 있고, 컴퓨터 시스템에서 빠르게 동작합니다.


그러나 송수신자 간에 동일한 키를 공유해야 하므로 많은 사람들과의 정보교환 시 많은 키를 생성, 유지, 관리해야 하는 어려움이 있습니다.


정보교환이 많아질수록 키의 값이 점점 더 늘어나기 때문에 관리가 어려워 집니다. 이러한 대칭키 암호 방식은 데이터를 변환하는 방법에 따라 블록 암호와 스트림 암호로 구분됩니다.

 


비대칭키 암호(공개키 암호)

비대칭키 암호는 암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 서로 다른 암호 알고리즘 방식입니다.


비대칭키 암호화 방식은 공개키 암호와 같은 말이라고 봐도 무방합니다. 대치키 암호는 평문을 복잡한 형태로 변환해서 기밀성을 유지합니다. 공개키 암호는 수학적으로 해결하기 어려운 문제를 토대로 해서 기밀성을 유지합니다.


공개키 암호방식의 중요한 장점은 전자문서의 무결성과 전자서명을 구현하는데 활용될 수 있으며 다양한 암호 프로토콜에 사용될 수 있다는 장점을 가집니다.


공개키 암호에서는 암호화키와 복호화키가 분리되어 있습니다. 송신자는 암호화키를 사용하여 메시지를 암호화하고, 수신자는 복호화키를 사용하여 암호문을 복호화합니다.


키쌍을 이루고 있는 2개의 키( 암호화키, 복호화키 )는 서로 밀접한 수학 관계가 있습니다. 이 때문에 공개키와 개인키를 각각 별개로 만들 수는 없습니다.

 

대칭키와 비대칭키의 비교

비대칭키 암호시스템의 등장으로 대칭키 암호시스템의 역할이 없어질 것이라는 오해를 하는 경우가 많습니다. 물론 비대칭키 암호시스템이 더 보안적으로 뛰어난 측면이 있지만 처리 속도가 느려지기 때문입니다.


비대칭키 암호시스템은 암호화와 복호화에 수학점인 함수를 사용하기 때문에 처리 속도가 대칭키 암호시스템보다 많이 느립니다. 메시지의 크기가 큰 경우에는 대칭키 암호시스템처럼 빠르게 처리할 수 있는 것이 좋습니다.


하지만 대칭키가 빠르다고 해서 비대칭키가 하는 역할을 대신하지는 않습니다. 기본적으로 보안성이 강화되야 할 경우 예를 들면 인증이나 전자서명과 같은 경우에는 대칭키 대신 비대칭키를 사용하고 있습니다.

'IT > 정보보안' 카테고리의 다른 글

보안 취약점과 CVE 코드  (0) 2017.09.01
Cisco ASA 방화벽  (0) 2017.08.31
정보보안 - VPN의 개념 설명  (0) 2017.08.04
정보보안 - IDS, IPS, Snort에 대해서  (0) 2017.07.29
정보보안 - 방화벽의 개념, 원리  (0) 2017.07.26

댓글