대칭키와 공개키

기술노트
Admin (토론 | 기여)님의 2025년 4월 17일 (목) 15:33 판 (컴퓨터 과학 용어 정리 - 대칭키와 공개키 추가)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

대칭키와 공개키

대칭키 암호화(Symmetric Key Encryption)

대칭키 암호화는 동일한 키를 사용하여 암호화와 복호화를 수행하는 방식입니다. 말 그대로 '대칭'이라는 단어처럼 암호화와 복호화에 사용되는 키가 동일하기 때문에 대칭키 암호화라고 불립니다.

특징

  • 빠른 연산 속도: 알고리즘이 단순하여 암호화와 복호화 과정이 빠름
  • 구현 용이성: 상대적으로 구현이 간단함
  • 키 배포 문제: 안전한 통신을 위해 키를 안전하게 교환해야 하는 어려움 존재
  • 확장성 제한: n명의 사용자가 서로 안전하게 통신하려면 n(n-1)/2개의 키가 필요

주요 알고리즘

  • AES (Advanced Encryption Standard): 현재 가장 널리 사용되는 대칭키 암호화 알고리즘으로, 128/192/256비트 키 길이를 지원
  • DES (Data Encryption Standard): 1977년 미국 표준으로 채택되었으나 56비트 키 길이로 현재는 취약점 발견으로 사용 지양
  • 3DES (Triple DES): DES를 세 번 적용하여 보안성을 강화한 알고리즘
  • Blowfish: 32비트에서 448비트까지 가변 길이 키를 지원하는 블록 암호
  • Twofish: AES 경쟁 알고리즘 중 하나로 128/192/256비트 키를 지원

활용 사례

  • 디스크 암호화 (BitLocker, FileVault 등)
  • VPN 통신에서의 데이터 암호화
  • 데이터베이스 필드 암호화
  • 세션 키를 이용한 TLS/SSL 통신

공개키 암호화(Asymmetric Key Encryption)

공개키 암호화는 암호화와 복호화에 서로 다른 키를 사용하는 방식입니다. 공개키(Public Key)와 개인키(Private Key)의 쌍으로 구성되며, 하나의 키로 암호화한 데이터는 쌍을 이루는 다른 키로만 복호화할 수 있습니다.

특징

  • 키 배포 문제 해결: 공개키는 누구에게나 공개해도 안전함
  • 디지털 서명 지원: 개인키로 서명하고 공개키로 검증 가능
  • 느린 연산 속도: 대칭키 암호화에 비해 10-1000배 느림
  • 복잡한 구현: 알고리즘 구현이 상대적으로 복잡함

주요 알고리즘

  • RSA: 가장 널리 사용되는 공개키 알고리즘으로 소인수분해의 어려움에 기반함
  • ECC (Elliptic Curve Cryptography): 타원곡선 수학 문제의 어려움에 기반하며, RSA보다 짧은 키로 동일한 보안 수준 제공
  • DSA (Digital Signature Algorithm): 전자서명에 특화된 알고리즘
  • Diffie-Hellman: 최초의 공개키 기반 키 교환 프로토콜
  • ElGamal: 이산로그 문제에 기반한 암호화 알고리즘

활용 사례

  • HTTPS/SSL/TLS 인증서
  • 이메일 암호화 (PGP, S/MIME)
  • 디지털 서명
  • SSH 인증
  • 암호화폐 지갑

하이브리드 암호화 시스템

실제 보안 시스템에서는 대칭키와 공개키 방식의 장점을 결합한 하이브리드 시스템을 주로 사용합니다.

작동 방식

  1. 공개키 방식으로 임시 대칭키(세션 키) 교환
  2. 교환된 대칭키로 실제 데이터 암호화/복호화

장점

  • 키 교환 문제 해결 (공개키 암호화의 장점)
  • 빠른 데이터 암호화/복호화 (대칭키 암호화의 장점)
  • 대용량 데이터 처리에 효율적

활용 사례

  • HTTPS/TLS 통신
  • 보안 메시징 앱 (WhatsApp, Signal 등)
  • 암호화된 파일 공유
  • VPN 연결 설정

실무 고려사항

키 관리

  • 키 생성: 암호학적으로 안전한 난수 생성기 사용
  • 키 저장: 하드웨어 보안 모듈(HSM), 키 관리 시스템(KMS) 활용
  • 키 교체: 정기적인 키 갱신으로 보안 강화
  • 키 파기: 더 이상 필요하지 않은 키 안전하게 제거

알고리즘 선택 시 고려사항

  • 보안 강도: 현재 권장되는 키 길이 및 알고리즘 사용
  • 성능 요구사항: 처리해야 할 데이터 양과 실시간성 고려
  • 표준 준수: 검증된 표준 암호화 알고리즘 선택
  • 미래 호환성: 양자 컴퓨팅 등 미래 위협에 대한 고려

관련 주제

  • 암호학(Cryptography)
  • 디지털 서명(Digital Signature)
  • 인증서(Certificates)
  • PKI(Public Key Infrastructure)
  • 키 관리(Key Management)