[네트워킹] 대칭키 & 공개키(비대칭키)

TToII·2022년 2월 9일
0

네트워킹

목록 보기
3/5

✅ 대칭키란?

  • 하나의 비밀키를 양쪽 모두가 같이 사용
  • 암호화와 복호화에 사용하는 키가 같은 암호화 알고리즘

✔︎ 종류
DES, 3DES, AES, SEED, ARIA

✔︎ 장점

  • 공개키와 비밀키를 별도로 가지는 것 보다 계산 속도가 빠르다는 장점

✔︎ 단점

  • 키를 교환해야 하므로 키 배송 도중 탈취될 수 있는 문제가 있다.
  • 비밀키 하나만 알아내면 암호화된 내용을 해독 가능하므로 안전하지 않음
  • 사람이 증가할수록 전부 키교환을 해야하므로 관리해야 할 키가 방대하게 많아진다.

👉 해결방법

  • 키의 사전 공유
  • 키 배포 센터 운영
  • Diffie-Hellman 키 교환에 의한 해결
  • 공개키 암호에 의한 해결

✅ 공개키란?

  • 공개키와 비밀키 두 개를 사용
  • 암호화와 복호화에 사용하는 키가 서로 다름
  • 암호화 할 때의 키를 공개키(public key), 복호화할 때의 키를 개인키(private key)
  • 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 소유자만이 알 수 있어 특정한 비밀키를 가지는 사용자만이 내용을 열어볼 수 있도록 하는 방식

A가 B에게 데이터를 보낸다고 할 때, A는 B의 공개키로 암호화한 데이터를 보내고
B는 본인의 개인키로 해당 암호화된 데이터를 복호화해서 보기 때문에 암호화된 데이터는 B의 공개키에 대응되는 개인키를 갖고 있는 B만이 볼 수 있게 되는 것이다.

1) B 공개키/개인키 쌍 생성
2) 공개키 공개(등록), 개인키는 본인이 소유
3) A가 B의 공개키를 받아옴
4) A가 B의 공개키를 사용해 데이터를 암호화
5) 암호화된 데이터를 B에게 전송
6) B는 암호화된 데이터를 B의 개인키로 복호화 (개인키는 B만 가지고 있기 때문에 B만 볼 수 있음)

✔︎ 장점

  • 따로 키 교환을 할 필요가 없음
  • 공개키로 암호화한 메세지는 수신자의 개인키로만 해독할 수 있어 안전함(기밀성, 인증기능을 제공함)

✔︎ 단점

  • 대칭키(비밀키)에 비해 속도가 (약 1000배) 느리다.

속도가 느리기 때문에 긴문서의 암호화하는 경우보다 대칭키 알고리즘의 키 값에 대한 암호에 사용

🖍 Advanced
SSL(=TLS) 탄생의 배경

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

대칭키 = 비밀키
비대칭키 = 공개키

사진출처

profile
Hello World!

0개의 댓글