[Network] 대칭키 & 비대칭키 암호화

do_it·2025년 9월 9일

network

목록 보기
9/12
항목대칭키 암호화공개키 암호화
키 개수1개 (공통 키)2개 (공개키 + 개인키)
속도빠름느림
보안성키 유출 시 위험키 분리로 보안성 높음
키 배포 문제있음없음
사용 용도데이터 암호화인증, 키 교환, 전자서명 등

1. 대칭키 암호화 (Symmetric-key Encryption)

[개념]

  • 하나의 키(비밀키, Secret Key)를 사용하여 데이터를 암호화(Encrypt)하고, 동일한 키로 복호화(Decrypt)함

[특징]

  • 속도가 빠름: 알고리즘이 단순해서 처리 속도가 빠름 → 많은 양의 데이터 암호화에 적합
    [c.f] 대표적 알고리즘: AES (Advanced Encryption Standard),DES (Data Encryption Standard)
  • 키 관리가 어려움: 송신자와 수신자가 같은 키를 미리 안전하게 공유해야 함
  • 키가 외부에 노출되면 보안에 큰 문제가 생김

[사용]

  • SSL/TLS 세션 중 실제 데이터 암호화 (예: 웹페이지, 이미지, 텍스트)
  • 파일을 암호화하여 저장할 때
  • VPN 내부 통신 암호화
  • 와이파이 암호화 (WPA2, WPA3 등)


2. 공개키 암호화 ((Asymmetric-key / Public-key Encryption)

[개념]

  • 두 개의 키 사용: 공개키(Public Key)와 개인키(Private Key)
  • 공개키로 암호화한 데이터는 개인키로만 복호화할 수 있고, 그 반대도 가능

[특징]

  • 키를 사전에 공유할 필요 없음: 공개키는 누구에게나 공개 가능
  • 속도가 느림: 계산이 복잡해서 대칭키보다 느림 (대량 데이터 암호화에는 부적합)
    [c.f.] 대표적인 알고리즘: RSA, ECC
  • 주로 데이터 전송의 보안성과 인증을 확보하는 데 사용

[사용]

  • 서버 - 클라이언트 인증 : 세션키(대칭키) 전달 시 사용
    e.g. HTTPS에서 클라이언트가 서버의 공개키로 대칭키를 암호화해 전달
  • 디지털 서명, 인증서
  • 이메일 암호화 (PGP, GPG)
  • HTTPS 통신 (SSL/TLS)


HPPS의 암호화 방식

  • HTTPS에서는 대칭키와 공개키 암호화를 모두 사용
  • HTTPS는 기본적으로 TLS(Transport Layer Security) 프로토콜을 사용
  • TLS 통신에서는 하이브리드 암호화(hybrid encryption) 방식을 사용
    공개키 암호화 + 대칭키 암호화를 조합

[왜 둘 다 사용할까?]

공개키 암호화는 안전하지만 느림

대칭키 암호화는 빠르지만 키를 안전하게 공유하는 게 어려움

→ TLS는 공개키 암호화로 세션 키를 안전하게 교환한 뒤,

대칭키 암호화로 실제 데이터를 빠르게 주고 받음

[공개키 암호화] - 세션 키 교환

  • 클라이언트(브라우저)가 서버의 공개키로 대칭키(세션 키)를 암호화해서 보냄
    서버는 자신의 개인키로 복호화해서 대칭키를 얻음

[대칭키 암호화] - 데이터 암호화

  • 세션 키(공유된 대칭키)를 이용해 이후의 모든 통신 데이터를 암호화하고 복호화함

0개의 댓글