대칭키 & 공개키

김민성·2023년 3월 8일
0

Network

목록 보기
5/10

대칭키(Symmetirc Key)

: 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘

  • 동일한 키를 주고받기 때문에 매우 빠름
    -> 대칭키 전달 과정에서 해킹 위험에 노출

공개키(Public Key)/비대칭키(Asymmetric Key)

: 암호화와 복호화에 사용하는 암호키를 분리한 알고리즘

  • 대칭키의 키 분배 문제를 해결하기 위해 고안됨
    ->대칭키 : 송수신자 간에만 키를 알아야 하기 때문에 분배 복잡
  • 자신이 가지고 있는 고유한 암호키(비밀키)와 복호화할 수 있는 암호키(공개키)를 대중에 공개함

공개키 암호화 방식 과정

  1. A가 웹 상에 공개된 B의 공개키를 이용해 평문을 암호화하여 B에게 전송
  2. B는 자신의 비밀키로 복호화한 평문을 확인, A의 공개키로 응답을 암호화하여 A에게 보냄
  3. A는 자신의 비밀키로 암호화된 응답을 복호화함

하지만 이 방식은 Confidentiallity만 보장해줌. Integrity나 Authenticity는 보장해주지 못함
-> 이는 MAC(Message Authentication Code)나 전자 서명 으로 해결(MAC는 대칭키 방식임 T = MAC(K, M)형식)

대칭키에 비해 암호화 복호화가 매우 복잡

-> 암호화하는 키와 복호화하는 키가 서로 다르기 때문

대칭키와 공개키 암호화 방식 적절히 혼합(하이브리드 방식)

: SSL탄생

  1. A가 B의 공개키로 암호화 통신에 사용할 대칭키를 암호화하고 B에게 보냄
  2. B는 암호문을 받고, 자신의 비밀키로 복호화함
  3. B는 A로부터 얻은 대칭키로 A에게 보낼 평문을 암호화하여 A에게 보냄
  4. A는 자신의 대칭키로 암호문을 복호화함
  5. 앞으로 이 대칭키로 암호화를 통신함

-> 대칭키를 주고받을 때만 공개키 암호화 방식을 사용하고 이후에는 계속 대칭키 암호화 방식으로 통신

0개의 댓글