현대 암호학

[현대 암호학] 07-1. 하이브리드 암호 시스템

Uggjjini 2021. 6. 29. 09:55

1. 하이브리드 암호 시스템

하이브리드 암호 시스템 = 대칭 암호 + 비대칭 암호

 

 

 

대칭키 암호방식과 공개키 암호방식 비교

항목 대칭키 암호화 방식 공개키 암호화 방식
키의 상호관계 암호화키 = 복호화키 암호화키 복호화키
암호화 키 비밀(secret key) 공개(public key)
복호화 키 비밀(secret key) 비밀(private key)
암호 알고리즘 비밀/공개 공개
대표적인 예 AES RSA
비밀 키 전송 필요 불필요
키 개수 n(n-1)/2 2n
안전한 인증 곤란 용이
암호화 속도 고속 저속
경제성 높다 낮다
전자서명 복잡 간단

 

대칭 암호

  • 기밀성을 유지한 통신이 가능
  • 키 배송 문제 해결이 필요

 

공개 키 암호

  • 키 배송 문제를 해결할 수 있음

 

 

 

하이브리드 암호 시스템

 

공개 키 암호의 2가지 큰 문제

1) 공개 키 암호는 대칭 암호에 비해 처리 속도가 휠씬 느리다.

2) 공개 키 암호는 중간자(MITM) 공격에 약하다.

 

=> 하이브리드 암호 시스템을 이용하면 이 중 1)의 문제를 해결

 

 

 

하이브리드 암호 시스템(Hybrid Cryptosystem)

  • 대칭 암호와 공개 키 암호의 장점을 조합한 방법
  • 메시지의 기밀성 : 고속의 대칭 암호
  • 대칭 암호 키의 기밀성 : 공개 키 암호

 

 

 

하이브리드 암호 시스템의 구조

 

메세지 암호화 => 대칭 암호 => 세션 키(의사난수 생성기) => 공개 키 암호

 

  • 메시지 대칭 암호로 암호화
  • 대칭 암호의 암호화에서 사용한 세션 키 의사난수 생성기로 생성
  • 세션 키 공개 키 암호로 암호화
  • 공개 키 암호의 암호화에서 사용하는 키는 하이브리드 암호 시스템과 무관한 외부에서 만들어 사용

 

 

 

 

암호화

  • 메시지 암호화
  • 세션키 암호화
  • 결합

 

 

메시지 암호화

 

표현방법: 평문//암호문

  • P : 평문
  • Kpub : 수신자의 공개 키
  • C2 : 공개 키 암호로 암호화된 세션 키
  • C1 : 대칭 암호로 암호화된 메시지
  • C = (C1, C2) : 암호문

 

메시지 암호화

C1 = E(K, P)

  • 대칭 암호를 이용해서 암호화
  • 대칭 암호를 이용하면 고속으로 암호화

 

 

 

세션키 암호화

 

세션키 암호화

C2 = E(Kpub, K)

  • 수신자의 공개 키로 암호화된다.
  • 세션키는 짧다.
  • 공개 키 암호가 아무리 느려도 세션 키 암호화에 그다지 시간이 걸리지 않음
  • 세션 키는 대칭 암호에 있어서는 키(key)이지만, 공개 키 암호의 입장에서 보면 하나의 평문

 

 

 

결합

  • 대칭 키(K)로 암호화된 암호문 : C1 = E(K, P)
  • 수신자의 공개 키(K)로 암호화된 세션 키 : C2 = E(Kpub, K)
  • 암호문: C = C2 || C1 = E(Kpub, K) || E(K, P)

 

하이브리드 암호 시스템의 암호화

 

 

 

 

복호화

  • 분할
  • 세션 키 복호화
  • 메시지 복호화

 

 

분할

암호문: C = C2 || C1 = E(Kpub, K) || E(K, P)을 분할

  • C1 = E(K, P) : 대칭 키(K)로 암호화된 암호문
  • C2 = E(Kpub, K) : 수신자의 공개 키(Kpub)로 암호화된 세션 키

 

 

세션 키 복호화

C2 = E(Kpub, K)의 복호화

  • 수신자의 개인키(Kpri)가 필요* 개인 키를 가지고 있는 사람이 아니면 세션 키를 복호화 할 수 없음
  • K = D(Kpri, C2) : 수신자의 개인키로 복호화된 세션 키를 메시지 복호화 키로 이용

 

 

메세지 복호화

P = D(K, C1)

하이브리드 암호 시스템의 복호화

 

 

하이브리드 암호 시스템의 구체적인 예

 

PGP

  • 하이브리드 암호 시스템
  • 디지털 서명이나 디지털 서명의 검증
  • 개인 키 관리

 

SSL/TLS

  • 하이브리드 암호 시스템
  • 웹의 암호 통신에서 사용