암호화에 대한 깊은 사이버 보안 관점

발행: (2025년 12월 5일 오전 07:36 GMT+9)
9 min read
원문: Dev.to

Source: Dev.to

암호화: 양방향 보호

암호화는 읽을 수 있는 데이터를 읽을 수 없는 암호문으로 변환합니다. 올바른 키가 있으면 다시 복원할 수 있습니다.

대칭 암호화

하나의 키로 데이터를 암호화하고 복호화합니다.

일반적인 사용 사례

  • Wi‑Fi
  • VPN
  • 디스크 암호화
  • TLS 세션

알고리즘

  • AES – 현대적이고 빠르며 안전한 대칭 표준.
  • DES – 오래된 암호; 키 길이가 너무 짧아 더 이상 안전하지 않음.
  • 3DES – 개선된 DES이지만 여전히 구식; AES보다 느리고 약함.

비대칭 암호화

공개 키로 암호화하고 개인 키로 복호화합니다.

일반적인 사용 사례

  • HTTPS
  • 디지털 서명
  • 신원 검증
  • 보안 이메일

알고리즘

  • RSA – 널리 알려진 신뢰성 높은 알고리즘이지만, 최신 시스템보다 느리고 오래됨.
  • ECC (Elliptic Curve Cryptography) – 작은 키로 동일한 강도를 제공하는 현대적인 비대칭 시스템, 더 빠르고 가벼움.

블록 암호 모드 (블록 암호가 작동하는 방식)

AES와 같은 블록 암호는 고정 크기의 데이터 조각을 암호화합니다; 모드는 더 긴 메시지를 처리하는 방법을 정의합니다.

  • CBC (Cipher Block Chaining) – 각 블록이 이전 암호문 블록과 결합됩니다. 패딩 오라클 공격에 취약하며 구식으로 간주됩니다.
  • GCM (Galois/Counter Mode) – 카운터 모드 암호화에 무결성 검사가 내장되어 기밀성, 무결성, 인증을 제공합니다. 현대 TLS에서 표준으로 사용됩니다.

TLS 핸드셰이크

TLS 핸드셰이크는 데이터를 교환하기 전에 암호화를 안전하게 협상합니다.

  • 암호화 알고리즘 합의
  • 공개 키 교환
  • 인증서 검증
  • 임시 대칭 세션 키 생성 (이후 모든 데이터에 사용)

암호 스위트

암호 스위트는 TLS 세션에서 사용되는 알고리즘(키 교환, 암호화, 해싱 등)을 지정하는 미리 정의된 “레시피”입니다.

전형적인 최신 스위트:

  • ECDHE – 키 교환
  • AES‑GCM – 암호화
  • SHA‑256 – 무결성

TLS, 인증서, 키, 신뢰

TLS (Transport Layer Security)

클라이언트와 서버 사이에 암호화된 연결을 제공하며, AES, RSA/ECC, 인증서, 키 교환을 결합합니다.

SSL

TLS의 이전 버전; 현재는 안전하지 않다고 간주됩니다.

키 교환 방법

  • DH (Diffie–Hellman) – 비밀을 직접 전송하지 않고도 불안전한 네트워크에서 공유 비밀을 생성합니다.
  • ECDH (Elliptic Curve Diffie–Hellman) – 더 작은 키와 비트당 향상된 보안을 제공하는 동일한 개념.

PKI (Public Key Infrastructure)

구성 요소

  • 인증서
  • 인증 기관(CA)
  • 신뢰 체인(루트 → 중간 → 서버)
  • OCSP (Online Certificate Status Protocol)
  • CRL (Certificate Revocation List)

루트 신뢰 – 장치는 내장된 신뢰할 수 있는 CA 목록을 저장하며, 신뢰된 CA가 발급한 인증서는 모두 허용됩니다.

EV 인증서 – Extended Validation; 더 강력한 신원 확인을 제공하지만 암호 보안은 동일합니다.

인증서 고정 (Certificate Pinning) – 애플리케이션이 특정 인증서 또는 키만을 신뢰하도록 하여 가짜 인증서를 방지합니다.

키 수명 주기

  • 생성
  • 안전한 저장
  • 교체(회전)
  • 만료
  • 안전한 파기

코드 서명

소프트웨어는 개인 키로 서명되며, 시스템은 실행 전에 서명을 검증하여 악성 코드 위장을 방지합니다.

인증 및 신원 보안

  • Kerberos – Windows 네트워크용 인증 프로토콜.
  • WPA3 – 최신 보안 Wi‑Fi 프로토콜.
  • Password‑Based (PB) – 비밀번호 기반 시스템을 총칭하는 용어.
  • SAML – 오래된 엔터프라이즈 신원 프로토콜.
  • OAuth 2 – 현대 애플리케이션용 권한 부여 프레임워크.
  • OIDC (OpenID Connect) – OAuth 2 위에 구축된 신원 계층.
  • Identity Provider (IdP) – 사용자의 신원을 확인해 주는 서비스.
  • SSO (Single Sign‑On) – 한 번 로그인하면 여러 애플리케이션에 접근 가능.
  • JWT (JSON Web Token) – 웹 시스템에서 사용되는 토큰 형식.
  • Access Tokens – API 접근을 위한 단기간 유효 토큰.
  • Federation – 시스템 간 신원 정보를 공유하는 방식.

위협 모델링 및 위험 용어

  • STRIDE – 위협 카테고리: Spoofing(스푸핑), Tampering(변조), Repudiation(부인), Information disclosure(정보 유출), Denial of service(서비스 거부), Elevation of privilege(권한 상승).
  • DREAD – 오래된 위협 점수 모델.
  • Attack Trees – 공격자가 목표에 도달하는 경로를 시각화한 모델.
  • Kill Chain – 공격 단계들.
  • MITRE ATT&CK – 공격 기술 데이터베이스.
  • Attack Surface – 공격자가 진입을 시도할 수 있는 모든 지점.

취약점 및 위험 지표

  • CVE – 알려진 취약점에 대한 공개 식별자.
  • CVSS – 취약점 심각도를 나타내는 점수 체계.
  • NVD – National Vulnerability Database; 취약점 기록의 공식 저장소.
  • Threat Agents – 공격을 수행할 수 있는 주체들.
  • Risk Scoring – 상황의 위험도를 평가하는 방법.

인프라 및 접근 제어

  • IAM (Identity and Access Management) – 사용자 신원 및 권한을 관리하는 프레임워크.
  • ACLs (Access Control Lists) – 누가 어떤 자원에 접근할 수 있는지를 정의하는 목록.
  • DMZ (Demilitarized Zone) – 공용 인터넷과 내부 네트워크를 분리하는 네트워크 구역.

재해 복구 용어

  • RTO (Recovery Time Objective) – 허용 가능한 최대 다운타임.
  • RPO (Recovery Point Objective) – 허용 가능한 최대 데이터 손실량.
  • DR Site – 재해 복구를 위한 백업 위치.
  • Backup Testing – 백업이 정상적으로 작동하는지 검증하는 절차.

암호화는 처음에 압도적으로 느껴질 수 있지만, 알고리즘, 키, 신뢰 계층이 어떻게 서로 연결되는지를 이해하면 시스템을 파악하기 쉬워지고 사이버 보안의 더 깊은 개념을 배우는 탄탄한 기반이 됩니다.

Back to Blog

관련 글

더 보기 »