암호화란 누구나 읽을 수 있는 평문을 권한이 없는 제삼자가 알아볼 수 없는 형태로 재구성하는 과정을 말하며, 암호화의 역 과정으로 암호문을 평문으로 복원하는 것을 복호화라고 말한다.
현재 대부분의 조직이 침입자의 악의적인 공격으로부터 중요한 정보를 보호하기 위해 침입자 차단 시스템 , 침입탐지 시스템, 바이러스 방역 등의 정보 보호 시스템을 운영하고 있다. 그러나 중요 정보에 대한 완벽한 방어는 불가능하므로 정보 자체에 대한 보호 수단으로 암호화가 사용된다.
암호화는 대개로 전달 과정의 기밀성 보장, 정보의 무결성 보장, 송신자와 수신자의 정당성 보장 기능이 잇으며
암호화에 사용되는 기술은 동작 형태, 평문의 처리 방법, 암호화와 복호화에 사용되는 키의 종류에 따라 분류될 수 있다.
암호화 기술
- 암호화에 사용되는 기술은 동작 형태, 평문의 처리방법, 암호화와 복호화에 사용되는 키의 종류에 따라 분류될 수 있다.
다음 표는 암호화의 동작 형태에 의해서 분류되는 암호화 기술들을 나타내고 있다.
종류 | 내용 |
대치 암호 (substitution cipher) | 메세지의 각 글자를 다른 글자로 대치하는 방식 (전통적인 방식) |
전치 암호 (transposition cipher) | 평문의 글자를 재배열하는 방식으로 원문과 키를 가지고 있는 정보를 암호문 전체에 분산하는 방식 |
혼합 암호 (product cipher) | 대치와 전치 두 방법을 모두 사용하는 방식 |
대수화 암호 (algebraic cipher) | 평문의 각 글자를 숫자로 바꾸어 수학적으로 처리하는 방식 |
평문을 처리하는 방법에 따라서 스트림 암호화 (stream encryption)와 블록 암호화 (block encryption) 기술로 분류된다.
- 스트림 암호화는 평문과 같은 길이의 키 스트림을 생성하여 평문과 키를 비트 단위로 합하여 암호문을 얻는 방법
- 블록 암호화는 평문을 일정한 단위로 나누어서 각 단위마다 암호화 과정을 수행하여 블록 단위로 암호문을 얻는 방법
암호화와 복호화에 사용되는 키의 종류에 따라 분류되는 기술로는 암호화와 복호화에 사용되는 키가 동일한 대칭 키 암호화 방식과 암호화와 복호화에 사용되는 키가 서로 다른 공개 키 암호화 방식이 있다.
1) 대칭 키 암호화 방식
- 암호화에 사용하는 키와 복호화에 사용하는 키가 서로 동일한 암호화 방식으로, 관용 키 암호화 또는 비밀 키 암호화 방 식으라고도 불린다.
이 방식을 사용하기 위해서 송신자와 수신자는 사전에 암/복호화에 사용하는 키를 제삼자에게 노출되지 않게 공유 및 보유하고 있어야 한다. 이 방식에서 중요한 관건은 해당 대칭 키의 안전한 분배 및 관리 방법에 있다.
이와 같은 암호 알고리즘은 RC2, RC4, RC5, IDEA, DES, Triple DES 등이 있다.
장점으로는 비교적 구현이 용이하고, 실행 속도가 빠르다는 점이며, 단점으로는 암호화할 때 사용한 키를 어떻게 상대방에게 전달할지 등의 키 분배와 관리가 어렵다.
2) 공개 키 암호화 방식
- 암호화할 때 사용하는 키와 복호화할 때 사용하는 키를 별도로 사용하는 방식으로, 비대칭 키 암호화 방식이라고도 불린다. 이 방식을 이용하기 위해서 사용자는 상대방에게 공개하는 공개 키와 자신만이 비밀로 보유하는 개인 키를 가진다.
상대방이 공개 키로 암호화하여 전송한 암호문은 자신이 비밀로 유지하고 있는 개인 키로만 해독 가능하며, 개인 키로 암호화한 암호문은 공개 키로만 해독하도록 구현함으로써 키 분배 문제를 해결한다.
장점으로는 키 분배가 용이하고 대칭 키 방식에 비해 관리하여야 할 키의 개수가 적으며, 디지털 서명 기능을 제공할 수 있다는 점이다. 단점으로는 대칭 키 방식에 비해 구현이 어렵고 암호화와 복호화의 실행 속도가 느리다는 점이다.
대표적으로 RSA 암호 알고리즘이 존재한다.
RSA : 시스템에서 2개의 큰 소수 p, q에서 곱 n을 구해 사용하는데, 이 시스템의 안전도는 p, q의 비밀성이 가정될 때 n의 소신 수분해 난이도에 달려 있다.
키 관리
결국 암호 시스템의 보안 매개변수들의 관리와 보호가 소홀해진다면 암호 시스템은 무용지물이 된다.
키 관리의 목적은 대칭 키, 공개 키 암호 시스템에서 사용되는 암호 키들을 안전하게 다루기 위해 키의 생성, 등록, 확인 등의 절차를 제공하는 것이다.
공개 키 암호 시스템에서는 개인 키는 그 소유자만이 알고 있고 공개 키는 공개된다. 공개 키를 공개하는 문제는 메커니즘이 자체적으로 안전하지 않아 누구나 쉽게 접근하여 정보를 변경할 수 있으므로 공개 키의 위 변조 문제를 야기할 수 있다. 따라서 공개된 공개 키가 위 변조되지 않았음을 보장하는 문제, 즉 공개 키의 무결성을 보장하기 위해 등장한 것이 공개 키 인증서 개념이다.
인증서(certificate)란 개인 또는 단체의 공개 키를 인증하는 전자적인 증명 문서이다. 인증서에는 만기일, 인증서를 발행한 인증기관의 이름 그리고 일련번호 등의 정보가 포함된다. 가장 중요한 것은 인증서에 인증서 발행자의 디지털 서명이 들어 있다는 것이다.
인증서 위조를 방지하기 위해서 인증기관의 공개 키는 반드시 신뢰할 수 있어야 하므로 인증기관은 공개 키를 공개하거나 공개 키의 유효성을 입증할 수 있는 상위급 인증기관이 발행한 인증서를 제공해야 한다. 인증기관들은 하위 인증기관들에게 인증서를 발행한다.
공개 키 기반 구조
공개 키 암호화 방식을 사용하는 경우에는 상대방의 공개 키를 서로 알고 있어야 한다. 불특정 다수를 대상으로 하는 인터넷 전자상거래와 같은 경우에는 다수의 사람들과 일일이 공개 키를 교환하기는 어렵다. 특히, 네트워크를 사용해서 상대방의 공개 키를 전송받는 경우에는 이 공개 키가 진짜 상대방의 공개 키인지를 확인하기가 매우 어렵다. 그러므로 정부나 특정 기관에서는 공개 키 암호화 기법이 필요한 사람을 위해서 해당 기관에 등록된 사람들의 공개 키가 위/변조된 것이 아니라는 것을 모든 사람들에게 보증해주는 서비스를 제공해 줄 수 있어야 한다.
일반 사람들에게 개인 키와 공개 키를 만들어 주고 인증서를 통해서 상대방의 공개 키를 모든 사람들이 믿고 사용할 수 있도록 서비스를 제공해주는 인증기관(Certificate Authority : CA)이 필요하며, 인증기관이 발급해 주는 인증서는 인증서에 기재된 특정 개인/회사의 신분 내용을 인증서를 발급한 인증기관에서 보증해 주는 신분증이 된다.
PKI에서는 인증서를 통해 상대방을 인정해 줄 수 있고, 인증기관에서 발급한 인증서에는 인증서의 위 변조를 막기 위해 인증기관의 디지털 서명이 추가되어 있어서 인증기관의 개인 키를 모르는 경우에는 해당 인증기관의 인증서를 위 변조할 수 없으므로 무결성을 보장해 줄 수 있다.
*PKI에서는 개인 키가 외부로 유출되지 않도록 주의하면 확실한 보안을 제공해 줄 수 있다.
'보안 > 네트워크 보안' 카테고리의 다른 글
TLS/SSL 아키텍처 (0) | 2022.01.27 |
---|---|
SOP (0) | 2021.05.22 |
웹 보안 프로토콜 (0) | 2021.02.28 |
네트워크 보안 위협 유형 (0) | 2021.02.28 |
네트워크 보안 개요 (0) | 2021.02.28 |
댓글