완전 순방향 비밀성, 디피-헬만 키 교환

김석·2023년 5월 27일
0

Security

목록 보기
6/6

1. RSA 키 교환 알고리즘

  • HTTPS에서 만약 pre-master secret를 바로 대칭키로 사용한다면, RSA 키 교환 방식이라고 할 수 있음.
  • RSA 키 교환 방식에서 클라이언트는 해당 대칭키를 서버의 공개키로 암호화하여 전송하고, 서버에서는 서버의 개인키로 복호화해서 사용함.
  • 이러한 경우 만약 제 3자가 모든 통신을 기록해두었다가, 서버의 개인키를 알아내기만 한다면?
  • 대칭키를 복호화할 수 있고, 치명적인 것은 이에 따라 과거의 모든 데이터가 유출됨.
  • PFS(Perfect Forward Secrecy, 완전 순방향 비밀성)를 보장하지 않음.
  • PFS란 공격자가 암호화된 통신에 대한 엑세스 권한을 얻더라도, 해당 세션 중에 사용된 암호화 키에 대한 엑세스 권한이 없으면, 과거 통신 세션을 해독할 수 없도록 하는 보안 기능.
  • PFS가 보장된 경우, 각 세션에 사용되는 암호화 키가 재사용되지 않으므로, 공격자가 현재 세션에서 사용되는 키를 획득하더라도, 과거 세션을 해독할 수 없음.

2. HTTPS에서 pre-master secret를 바로 대칭키로 사용하지 않는 이유?

  • HTTPS에서는 각 세션마다 client random, server random, pre-master secret가 달라짐.
  • 이에 따라 파생되는 대칭키도 각 세션마다 달라짐.
  • client random, server random은 안전하지 않은 네트워크에서 전송되기 때문에 공격자가 탈취할 수 있음.
  • 공격자가 서버 개인키를 탈취했다면, 각 세션별로 달라지는 pre-master secret도 복호화할 수 있음.
  • 하지만 pre-master secret를 바로 대칭키로 사용하는 RSA 키 교환 방식과의 차별점은, 대칭키가 각 세션마다 재사용되지 않고 갱신된다는 데에 있음.
  • RSA 키 교환 방식에서 공격자가 한 번 대칭키를 알아내면, 영구적으로 모든 세션에 대한 대칭키를 탈취할 수 있음.
  • client random, server random을 사용하고, pre-master secret은 암호화하여 전송한 경우, 각 세션마다 대칭키가 계속해서 바뀜
  • 공격자가 대칭키를 알아내더라도, 계속해서 각 세션에 대해 실시간으로 client random, server random을 탈취할 수 없다면, 다른 세션에 대해 탈취하기 힘듦.
  • 이에 따라 PFS가 보장된다고 할 수 있음.

3. Diffie-Hellman 키 교환 알고리즘

  1. 각 세션마다 양 측에서 동시에 키페어 생성.
  2. 공개키 교환
  3. 본인의 개인키와 상대방의 공개키를 사용해서 대칭키 생성.
  • 이 알고리즘이 PFS를 보장하는 이유는, 양 측에서 생성한 키페어를 제사용하지 않기 때문.
  • 매 세션마다 키페어를 임의로 생성함. 이에 따라 매번 대칭키가 바뀜.
  • 따라서 공격자가 어떤 세션에 대한 개인키를 탈취한다 해도, 그 세션이 아닌 다른 세션의 안전이 보장됨.

출처

https://isc9511.tistory.com/47
https://www.mobiinside.co.kr/2019/02/13/buzzvil-tls/
https://com-on-bappool.tistory.com/118
https://www.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS2766336216
https://www.youtube.com/watch?v=tQaxITImKys

profile
handsome

0개의 댓글