검수요청.png검수요청.png

전자봉투

해시넷
이동: 둘러보기, 검색

전자봉투(電子封套, digital envelope)란 대칭키를 사용하여 문서의 내용을 암호화한 후 해당 키를 수신자의 공개키를 이용하여 비대칭키로 다시 암호화한 것을 말한다. 이를 통해 암호화 및 복호화 시간을 단축하면서도 수신자 이외에는 해당 문서에 접근할 수 없도록 함으로써 기밀보안을 보장한다. 전자봉투 아이디어는 대칭키 암호화와 비대칭키 암호화의 하이브리드 속에서 나왔다. 전자봉투는 기존 전자서명 방식에서 보안성이 더 향상된 형태이다. 디지털봉투라고도 한다.

개요

대칭키 암호화 방식은 속도가 빠른 반면 하나의 (key)를 사용하기 때문에 키 전달이 어렵고, 반대로 공개키 암호화 방식은 대칭키에 비해 속도가 느리지만, 공개키를 노출한 상태로 전달할 수 있기 때문에 키 분배가 쉽다는 장점을 가진다. 그래서 대칭키로 암호화한 후, 대칭키를 개인키 또는 공개키로 암호화하여 보내는 것이 효과적인 방법으로 떠올랐고, 이때 대칭키를 수신자의 공개키로 포장하는 과정을 "편지봉투에 담는다"하여 전자봉투라고 칭하게 되었다.[1]

전달하고자 하는 메시지를 암호화하여 전송하고, 암호화 키를 수신인이 취하게 되는 과정을 암호학적으로 구현한다. 전자봉투를 사용하기 위해 우선 전자서명을 생성하고 전자서명과 원문, 그리고 자신의 공개키가 들어있는 인증서를 비밀키로 암호화한다. 전자서명 세트와 인증서를 암호화한 비밀키를 수취인의 공개키로 암호화는 것이 전자봉투가 된다. 전자봉투는 기밀성, 무결성, 부인방지를 모두 지원한다. [2]

등장배경

전자봉투의 시작은 전자서명이다. 전자서명은 개인키와 공개키를 생성하는 키 생성 알고리즘과 서명 알고리즘, 검증 알고리즘을 활용한다. 서명자는 자신의 개인키로 서명하고 검증자는 서명자의 공개키로 서명을 검증한다. 전자서명은 위조 불가성(unforgability), 인증성 (authenticity), 부인 방지(non-repudiation), 재사용 불가성(non-reusability), 문서의 변경 불가성(message integrity) 이라는 특성을 가진다. 하지만 전자서명은 인가(authorization)된 사용자만 정보 자산에 접근할 수 있는 기밀성이 보장되지 않는다. 왜냐하면 메시지 원문을 서명과 같이 보내기 때문이다. 전자서명이 노출되지 않도록 메시지와 서명에 대칭키/비대칭키를 이용해 암호화 해야만 기밀성이 보장된다. 그로 인해 대칭키 방식을 사용하여 수신자에게 안전하게 전달하는 전자봉투가 출현하였다.[3] 전자봉투는 수신자에게 정확히 전달되지 않았을 경우에도 개인키를 소유하지 않아 복호화가 불가능하여 안전하다.

특징

암호화

암호화는 평문을 암호문으로 바꾸는 과정을 뜻한다. 알고리즘을 통해 암호화복호화가 가능하게 된다. 암호화에는 크게 대칭키 방식과 비대칭키 방식 그리고 해시함수가 있다. 대칭키 방식은 암호화 키와 복호화 키가 동인한 방식이고, 비대칭키 방식은 암호화 키와 복호화 키가 다르게 존재한다. 대칭키 방식은 상대적으로 처리속도가 빠르지만 동일한 키를 이용하기 때문에 키 교환이 어렵다. 반면, 비대칭키 방식은 처리속도는 느리지만 키 교환이 비교적 쉽다는 장점이 있다. 각각의 장점을 모두 갖춘 하이브리드 암호화 방식이 바로 전자봉투이다. 전자봉투는 대칭키로 먼저 문서를 암호화를 하고, 그 암호를 다시 비대칭키로 암호화하여 빠른 처리 속도와 키 전달를 용이하게 하였다.

암호화의 원칙

  • 혼돈(confusion) : 평문의 작은 변화가 암호문에 어떤 변화를 줄지 예측할 수 없어야 한다는 원칙이다. 비선형 함수를 이용하여 평문 1바이트의 변화가 암호문에 어떤 영향을 불러올지는 예측 불가능하다는 것을 뜻한다.
  • 확산(diffusion) : 평문을 구성하는 비트들이 여러 개의 암호문 비트들에 분산되어야 한다는 원칙이다. 선형 함수를 의미하며 평문의 특정 자리를 바뀌어도 암호문의 특정 자리가 바뀌면 안된다는 것을 의미한다.

이러한 혼돈과 확산을 적용하는 이유는 보안을 강화하기 위함이다. 반복되는 횟수와 키 길이에 따라 보안성은 많은 영향을 받는다. 시스템의 규모와 사용자 수 등에 따라 암호화 보안 강도를 달리하여 시스템을 설계 및 구현할 필요성이 있다.[4]

요건

  • 위조 불가성 : 서명자 외의 타인이 어떠한 방법으로도 그 서명을 위조할 수 없다.
  • 인증성 : 서명된 메시지가 반드시 메시지의 송신자에 의해 서명된 것인지를 확인 가능해야 한다. 이를 위하여 신뢰할 수 있는 인증기관이 서명자의 공개키를 인증한다.
  • 부인 방지: 서명자는 자신의 서명에 대하여 서명한 사실을 부정할 수 없어야 한다.
  • 재사용 불가성 : 한 번 사용한 서명은 다시 사용할 수 없어야 한다. 송신할 메시지의 내용이 다르다면 전자서명된 암호화 메시지도 다른 값이어야 한다.
  • 문서의 변경 불가성 : 서명된 문서는 그 내용이 변경되어서는 안된다.[3]
  • 기밀성 : 오직 허락된 사람, 프로세스, 시스템만이 내용 확인을 위해 시스템에 접근해야 한다.

생성과 개봉

전자봉투 생성과 개봉
  • 생성과정 : 수취인은 개인키와 공개키 모두를 만든다. 발송인은 수취인의 공개키를 획득하기 위해 수취인의 인증서를 요구한다. 그와 동시에 원본문서를 축약한 후 대칭키로 그 문서를 암호화한다. 이후 이 대칭키를 수취인의 공개키로 다시 한번 암호화한다.
  • 개봉과정 : 전자봉투를 전달받았으면, 수취인의 개인키로 전자봉투를 개봉한다. 획득한 대칭키로 암호화한 메시지를 복호화한다. 원본 메시지로부터 메시지 다이제스트를 구한다. 메시지 다이제스트란 해시함수를 이용하여 고정된 크기의 메시지로 생성하는 것을 뜻한다. 이후 이전에 복화되었던 메시지 값과 비교하여 검증을 수행하므로써 개봉을 할 수 있다. 이 모든 과정에는 사전에 각 알고리즘에 대한 합의가 있어야 한다.

활용

SSL 보안인증서

웹사이트를 방문하고자 할 때, 개인의 서명은 제공하지 않지만 상대방의 웹사이트가 믿을 만한 사이트인지 검증하고, 검증 후에는 암호화된 통신을 하기 위해 이용된다.

공인인증서

공인인증기관이 발급한 인증서로, 공인인증기관은 한국정보인증㈜(KICA), 코스콤, 금융결제원, 한국전자인증 등이 있다. 최근 들어서는 전자서명이라고 하면, 공인인증서 기반의 전자서명을 지칭하는 경우가 있다.

이중서명(dual signature)

고객의 결제정보가 판매자를 통하여 해당 지급정보 중계기관으로 전송됨에 따라 고객의 결제 정보가 판매자에게 노출될 가능성과 판매자에 의한 결제 정보의 위/변조 가능성을 제거하는 전자서명이다.[5] 전자상거래에서 주문 정보의 메시지 다이제스트와 지불 정보의 메시지 다이제스트를 합하여 다시 이것의 메시지 다이제스트를 구한 후 고객의 서명용 개인키로 암호화한다.[6]

각주

  1. 문페이즈, 〈[심층연구 전자봉투(Digital Envelope)의 팩트 점검]〉, 《네이버 블로그》, 2016-05-13
  2. 암호를 이용한 전자상거래
  3. 3.0 3.1 으랏차차, 〈전자서명과 전자봉투〉, 《네이버 블로그》, 2010-04-16
  4. 문페이즈, 〈[암호화 암호화의 이해(암호화 알고리즘, 대칭키/공개키)]〉, 《네이버 블로그》, 2016-05-07
  5. 밤공기후하후하, 〈IT보안 - dual signature, 이중 서명 이란 무엇인가〉, 《네이버 블로그》, 2018-10-30
  6. 컴퓨터 인터넷 IT용어 대사전, 〈이중 서명〉, 《네이버 지식백과》, 2011-01-20

참고자료


  검수요청.png검수요청.png 이 전자봉투 문서는 암호 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.