[Network] 대칭키 & 공개키

olwooz·2023년 2월 4일
0

Network

목록 보기
3/5

대칭키 Symmetric Key

- 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘
- 동일한 키를 주고받기 때문에 매우 빠름
- 대칭키 전달 과정에서 해킹 위험 노출
- e.g. DES, Tripe-DES, RC2, RC4

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

- 두 개의 비대칭 키 사용 - 인코딩(공개키)/디코딩(비밀키)
- 모든 사람이 X에게 보내는 메시지를 공개키로 인코딩 → X만이 비밀키로 디코딩
- e.g. RSA

공개키 암호화 방식 진행 과정

1. A가 B의 공개키를 이용해 평문을 암호화해서 B에게 보냄
2. B는 자신의 비밀키로 평문 복호화 → A의 공개키로 응답을 암호화해서 A에게 보냄
3. A는 자신의 비밀키로 응답 복호화
  • 이 방식은 Confidentiality만 보장, Integrity나 Authenticity는 보장 불가
    → MAC(Message Authentication Code)이나 전자 서명(Digital Signature)으로 해결
    • MAC은 공개키 방식이 아니라 대칭키 방식
  • 대칭키에 비해 암호화/복호화가 매우 복잡함

비유: 편지함 → 투입구 (공개키) → 열쇠 (비밀키)

대칭키+공개키 혼합

1. A가 B의 공개키로 암호화 통신에 사용할 대칭키를 암호화하고 B에게 보냄
2. B는 암호문을 받고 자신의 비밀키로 복호화함
3. B는 A로부터 얻은 대칭키로 A에게 보낼 평문을 암호화하여 A에게 보냄
4. A는 자신의 대칭키로 암호문을 복호화함
5. 앞으로 이 대칭키로 암호화 통신
  • 공개키 방식 계산이 느리기 때문에 대칭키+공개키 혼합해 사용
  • 노드들 사이의 안전한 의사소통 채널을 수립할 때는 공개키 사용 → 안전한 채널을 통해 임시의 무작위 대칭키 생성, 나머지 데이터 암호화할 때 대칭키 사용
  • SSL 탄생의 시초

0개의 댓글