전자 봉투

앞서 설명한 전자 서명에서 전자 문서 원문과 해시 값 외에도 수신자가 알아야 하는 정보가 몇 개 더 필요했다.

  • 전자 문서 원문
  • 전자 서명 (서명자의 개인 키로 전자 문서 원문의 해시 값을 암호화한 바이너리)
  • 서명자의 인증서(수신자가 서명자의 전자 서명을 복호화 하기 위해서는 서명자의 공개 키가 필요함)

이 정보들(전자 서명 세트)을 수신자에게 그대로 전달하면 중간 해커에 의해 개인 정보나 전자 문서(전자계약서 등)가 쉽게 노출된다.
따라서 암호화가 한 번 더 필요한데, 보통 공개 키 암호 방식(비대칭)이 아닌 비밀 키 암호 방식(대칭)을 사용한다.
공개 키 암호 방식은 그 복잡한 알고리즘으로 인해 암호화 속도가 느리다. 반면 비밀 키 암호 방식은 공개 키 암호 방식에 비해 비교적 빠르기 때문에 크기가 큰 데이터를 암호화 할때 유리하다.
그러므로 위의 전자 서명 세트를 비밀 키 암호 방식으로 암호화(전자 서명 세트 암호문) 하고, 암호화 하는데 사용했던 비밀 키를 수신자의 공개 키로 암호화(전자 봉투) 하여 서명 세트 암호문과 전자 봉투를 수신자에게 안전하게 전달할 수 있다.

필요한 부가 데이터는 다음과 같다.

  • 비밀 키 생성 (SEED, DES, AES 등 대칭 키 알고리즘의 랜덤 비밀 키 준비)
  • 전자 서명 세트 암호문 (전자 서명 세트를 비밀 키로 암호화)
  • 전자 봉투 (비밀 키를 수신자의 공개 키로 암호화)

이렇게 최종적으로 만들어진 전자 봉투와 전자 서명 세트 암호문을 수신자에게 전송 하면, 수신자는 그 역순으로 데이터를 꺼낼 수 있다.

  • 전자 서명 세트를 암호화 했던 비밀 키 획득 (전자 봉투를 수신자 자신의 개인키로 복호화)
  • 획득한 비밀키로 전자 서명 세트 복호화 (전자 문서 원문, 전자 서명, 서명자 인증서)
  • 서명자 인증서의 공개키로 전자 서명 복호화 (해시 값 추출)
  • 전자 문서 원문에 대한 해시 값 계산
  • 계산한 해시 값과 전자 서명 복호화로 추출된 해시 값이 같은지 확인

물론 해시 알고리즘과 비밀 키 알고리즘, 공개 키 알고리즘은 서로 약속되어 있어야 한다.

이상으로 해시, 공개 키 암호, 전자 서명, 전자 봉투에 대한 개념 설명을 끝낸다.

]]>

도큐멘트, 미분류 에 올린 글

댓글 남기기