일반적으로, 대칭 암호와 공개 키 암호 시스템을 많이 이용합니다. 그러나, 각 시스템은 한계점들이 존재합니다.
대칭 암호의 경우, 키 배송 문제가 남아 있습니다.
공개 키 암호의 경우, 두 가지의 한계점이 있는데
첫째는, 대칭 암호 시스템보다 느리다는 것이고
둘째는, 중간자 공격(man-in-the-middle)에 약하다는 것 입니다.
여기서 두번째의 경우는 "인증"이라는 과정으로 해결해야 합니다.
이 글에서는, 대칭 암호의 한계점과 공개 키 암호의 한계점 중 첫 번째의 경우를 해결하는 방법에 대해 다루고자 합니다.
하이브리드 암호 시스템
일반적으로 서로 다른 2개의 방식을 조합한 것을 하이브리드라고 합니다. 이 글에서는 대칭 암호와 공개 키 암호를 조합한 하이브리드 암호 시스템을 다룰 것입니다. 메시지는 대칭 암호로 암호화하고, 메시지를 암호화한 키를 공개 키 암호로 암호화하는 시스템입니다. 단계별로 나타내보자면 다음과 같습니다.
- 메시지는 대칭 암호로 암호화한다.
- 대칭 암호의 암호화에서 사용한 세션 키는 의사난수 생성기로 생성한다.
- 세션 키는 공개 키 암호로 암호화한다.
- 공개 키 암호의 암호화에서 사용하는 키는 하이브리드 암호 시스템의 외부로부터 부여한다.
여기서 사용하는 기술은 의사난수 생성기, 대칭 암호, 공개 키 암호입니다. 이 기술들을 조합해 새로운 암호 체계를 만들어 낸 것입니다.
하이브리드 암호 시스템의 암호화

하이브리드 암호 시스템의 암호화를 그림으로 표시한 것입니다. 기본적으로 세션 키 암호화와, 메시지 암호화 두 부분으로 나누어집니다. 위에 보이는 P(메시지)가 하이브리드 암호 시스템의 평문이고, 아래 보이는 C2와 C1이 하이브리드 암호 시스템의 암호문입니다.
1. 메시지 암호화 영역
메시지를 암호화하는 것은, 그냥 대칭 암호로 암호화하면 됩니다. 메시지가 길 경우, "모드"를 이용해 암호화하면 됩니다. 이 때 사용하는 키는 세션 키 암호화 영역에서 생성하는데, 바로 밑에서 살펴보도록 하겠습니다.
2. 세션 키 암호화 영역
세션 키(Session Key)라는 것은, 한 번의 통신을 위해 일시적으로 생성하는 키입니다. 보통 의사난수 생성기(PRNG)로 생성합니다. 여기서도 의사난수 생성기로 세션 키를 만들어내는데, 이 세션 키가 오른쪽으로 건너가서 메시지 대칭 암호 암호화의 키로 이용합니다.
대칭 키로 암호화 후 이 세션 키를 공개 키를 이용해 암호화하는데, 이 때 사용하는 키가 수신자의 공개 키(Kpub)입니다. 보통 세션 키는 메시지보다 짧은 것이 보통이고, 아무리 공개 키 속도가 느려도 세션 키를 암호화 하는 것은 시간이 많이 걸리지 않습니다. 그리고 Kpub가 하이브리드 암호 시스템의 암호화 키입니다.
여기서 중요 포인트는. "세션 키는 대칭 암호에 있어서는 키이지만, 공개 키 암호의 입장에서 보면 하나의 평문이다." 입니다. 즉, 세션 키를 공개 키 암호로 암호화할 때, 공개 키 알고리즘의 입장에서 보면 세션 키는 그냥 평문으로 보인다는 것입니다. 이 세션 키는 대칭 암호와 공개 키 암호를 서로 이어주는 중요한 역할을 하고 있습니다.
이렇게 암호화를 하면 메시지를 암호화한 영역 C1과, 세션 키를 암호화한 영역 C2가 생성됩니다. 이 2개를 결합하면 하이브리드 암호 시스템의 암호문이 되는 것입니다.
하이브리드 암호 시스템의 복호화

복호화는 사실 암호화와 별반 다를 것이 없습니다. 위 그림과 아까 암호화때의 그림을 비교해 보시면 별로 차이가 없음을 확인할 수 있습니다.
먼저 암호문을 분할해야 합니다. 사실 저 암호문만 보고 이 부분은 "세션 키 영역이고, 저 부분은 암호문 영역이다"를 구분할 수는 없습니다. 그러므로 미리 어떤 구조로 이루어져있는지에 대한 정보를 송신자와 수신자가 공유하고 있으면 쉽게 분할할 수 있습니다.
1. 세션 키 복호화
세션 키는 공개 키 암호 복호화를 이용해 복호화해야 합니다. 이 때 수신자의 개인 키(Kpri)를 이용해 세션 키를 복호화합니다. 복호화된 세션 키는 메시지 복호화 키로 이용됩니다.
2. 메시지 복호화
메시지는 대칭 암호 복호화를 통해 복호화해야 합니다. 복호화 키는 아까 공개 키로 복호화한 세션 키를 이용합니다. 이렇게 하면 최종적으로 복호화가 완료되어 메시지 평문이 튀어나옵니다.
하이브리드 암호 시스템에서는 공개 키 암호의 처리 속도가 느린 것을 대칭 암호가 해결하고, 대칭 암호의 키 배송 문제를 공개 키 암호로 해결하고 있습니다.
'정보보호개론 > 하이브리드 암호' 카테고리의 다른 글
| [정보보호개론] 암호 기술의 조합 (0) | 2025.10.22 |
|---|
댓글