본문 바로가기
Network Infra 쉽게 이해하기/HTTPS 쉽게 이해하기

SSL/TLS #4, Forward Secrecy와 디피 헬만 키교환 방식, RSA 키교환 방식

by 네트워크 엔지니어 환영 2020. 3. 20.
반응형

Diffie-Hellman Key Exchange

  • Diffie와 Hellman이 1976년도에 발표한 비밀키 교환 방식
  • Client와 Server가 각자 선택한 정수와 소수를 이용하여 비밀키를 만들고 이를 통해 데이터를 암호화
  • 즉, 비밀키를 교환하는 것이 아닌 키를 만들 재료를 교환하는 방식
  • 서로가 선택한 수를 가지고 비밀키를 만든다는 점에서 공개키/개인키가 필요하지 않음
  • 키길이는 1024bit와 2048bit가 있으며 2048bit를 쓰는 것을 권고
  • DH, DHE, ECDHE가 있으며 DHE(2048bits),  ECDHE를 쓰는 것이 가장 좋음
  • Key Exchange 방식 중에서 가장 권고되는 방식(ECDHE)

RSA Key Exchange

  • 공개키와 개인키를 통해 비밀키를 교환하는 방식
  • 위의 Diffie-Hellman 방식과 달리 Client Hello / Server Hello 시에 교환한 서로의 Random byte를 이용해 비밀키를 생성
  • Key Exchange 방식에서는 추천되지 않음
  • Diffie-Hellman과 달리 PFS를 지원하지 않음

Perfect Forward Secrecy(PFS 혹은 FS)

  • 어떠한 방법으로든 서버의 ‘비밀키’를 탈취당할 경우, SSL Handshake 과정에서 사용된 Public key로 암호화된 pre-master key를 복호화하여 사용할 수 있으므로 모든 데이터, 현재 시점에서 오고 가는 데이터를 포함하여 과거의 ‘기록된’ 데이터를 복호화할 수 있다는 문제점을 보완하기 위한 방식
  • PFS는 Ephermeral Diffie-Hellman 방식만이 지원하기 때문에 ECDHE를 Key Exchange에서 권고하는 이유가 됨
  • 앞서 말한 것처럼 Diffe-Hellman 방식은 Client와 Server가 키에 생성할 값을 안전하고 간단하게 교환하여 생성할 수 있기 때문에 주기적으로 Session Key를 변경하여 일정주기마다 다른 Session Key를 가짐 
  • 공격자가 특정 시점의 데이터를 복호화하고 싶을 경우 ‘특정 시점’의 Session Key가 있어야 함

Ephemeral

  • Ephemeral이란 특정 시점의 암호화 통신이 끝나게 되면 사용하던 Session Key를 파기하고 새로운 Session Key를 조합하여 사용하는 것을 의미, 이것은 FS의 특성을 가능케 함

<Ephermeral의 필요성>

참고자료

 

댓글