보안

SSL/TLS의 역할과 동작 방식

♠디지털 모험일지♠ 2024. 12. 8. 19:36
728x90
반응형
SMALL

SSL/TLS의 역할과 동작 방식

SSL(보안 소켓 계층, Secure Sockets Layer)과 TLS(전송 계층 보안, Transport Layer Security)는 인터넷 통신을 보호하는 프로토콜입니다. TLS는 SSL의 개선된 버전으로 현재 대부분의 시스템에서 사용됩니다. SSL/TLS는 웹사이트와 사용자 간 데이터를 안전하게 전송하는 데 사용됩니다.


1. SSL/TLS의 역할

  1. 데이터 암호화 (Encryption)
    • 사용자와 서버 간 전송되는 데이터를 암호화하여 외부에서 읽거나 수정하지 못하도록 보호.
    • 예시: HTTPS로 웹 브라우저와 서버 간 통신 암호화.
  2. 인증 (Authentication)
    • 서버(웹사이트)가 신뢰할 수 있는 곳인지 사용자에게 보증.
    • 예시: 웹사이트의 인증서를 사용해 사용자가 악의적인 사이트와 통신하지 않도록 보장.
  3. 데이터 무결성 (Integrity)
    • 데이터가 전송 중 변경되지 않았음을 확인.
    • 예시: 중간에 누군가가 데이터를 조작하려 한다면 이를 탐지.

2. SSL/TLS 동작 방식

2.1. 단계별 설명

  1. 클라이언트 Hello (Client Hello)

    • 사용자의 웹 브라우저(클라이언트)가 서버에 연결 요청.
    • 클라이언트는 사용할 암호화 알고리즘 목록, TLS 버전, 난수(random number)를 보냄.
  2. 서버 Hello (Server Hello)

    • 서버는 클라이언트의 요청을 받고, 사용할 암호화 알고리즘 및 TLS 버전을 선택.
    • 서버의 디지털 인증서(SSL 인증서)를 클라이언트에 전송.
    • 서버도 난수를 생성하여 클라이언트에 보냄.
  3. 인증서 검증 (Certificate Verification)

    • 클라이언트는 서버가 제공한 디지털 인증서를 검증.
      • 인증서에 포함된 공개키, 인증기관(CA)의 서명 등을 확인.
      • 신뢰할 수 없는 인증서라면 연결 중단.
  4. 키 교환 (Key Exchange)

    • 클라이언트와 서버는 보안 연결을 위해 세션 키를 생성.

    • 일반적으로

      비대칭키 암호화

      를 사용하여 세션 키를 안전하게 교환.

      • 클라이언트는 서버의 공개키를 사용해 세션 키를 암호화하여 전송.
  5. 세션 키 암호화 (Session Key Encryption)

    • 양쪽에서 동일한 세션 키를 공유하게 되면, 이후 통신은 대칭키 암호화를 통해 처리.
    • 대칭키 암호화는 데이터 암호화 속도가 빠르고 효율적.
  6. 보안 연결 완료 (Secure Connection Established)

    • 클라이언트와 서버 간 보안 통신이 시작됨.
    • 모든 데이터는 암호화되어 전송.

2.2. 동작 과정 요약

  1. 클라이언트 → 서버: "안녕하세요! 저와 통신하기 위해 TLS 프로토콜을 사용합시다."
  2. 서버 → 클라이언트: "좋아요, 여기 제 인증서와 사용 가능한 암호화 방식입니다."
  3. 클라이언트 → 서버: "인증서 확인 완료! 여기 암호화된 세션 키입니다."
  4. 이후: 클라이언트와 서버 간 암호화된 데이터 전송 시작.

3. 용어 정리

용어 설명
암호화 (Encryption) 데이터를 읽을 수 없는 형태로 변환하여 기밀성을 유지. 암호화된 데이터는 복호화 키 없이는 읽을 수 없음.
복호화 (Decryption) 암호화된 데이터를 원래 상태로 되돌리는 과정. 복호화하려면 암호화할 때 사용된 키 또는 대응 키가 필요.
대칭키 암호화 암호화와 복호화에 같은 키를 사용하는 방식. 속도가 빠름.
비대칭키 암호화 암호화와 복호화에 다른 키(공개키와 개인키)를 사용하는 방식. 보안성이 뛰어나지만 속도가 느림.
디지털 인증서 서버가 신뢰할 수 있는 곳인지 확인하기 위한 전자 문서. 인증 기관(CA)이 발급하며 서버의 공개키와 서버 정보가 포함됨.
공개키 (Public Key) 누구나 볼 수 있는 키로 데이터를 암호화. 복호화는 대응하는 개인키로만 가능.
개인키 (Private Key) 비밀로 유지되는 키로 데이터를 복호화하거나 디지털 서명 생성에 사용. 공개키와 쌍을 이루며 작동.
세션 키 클라이언트와 서버 간 통신 중에 데이터를 암호화하는 데 사용되는 임시 키. 세션이 끝나면 폐기됨.
인증 기관 (CA) 디지털 인증서를 발급하는 신뢰할 수 있는 기관. 주요 CA로는 Let's Encrypt, DigiCert 등이 있음.

4. SSL/TLS의 주요 용도

  1. HTTPS
    • 웹 브라우저와 서버 간 안전한 데이터 통신을 보장.
    • 사용 예: 온라인 쇼핑몰, 금융 서비스, 이메일 전송 등.
  2. 이메일 보안
    • 이메일 송수신 시 데이터를 암호화하여 기밀성을 보장.
    • 예: SMTP, IMAP 프로토콜에 TLS 적용.
  3. VPN 연결
    • 원격 접속 시 데이터를 안전하게 암호화하여 전송.
  4. 파일 전송 보안
    • FTP, SFTP 등 파일 전송 시 데이터 보호.

5. SSL/TLS의 발전

  • SSL 3.0 이후부터는 TLS라는 이름으로 프로토콜이 발전.

  • 현재는 TLS 1.2와 TLS 1.3 이 표준으로 사용됨.

    • TLS 1.3은 보안성과 성능이 더 뛰어나며, 불필요한 알고리즘 제거.

6. SSL/TLS의 장점과 단점

장점 단점
데이터 기밀성, 무결성, 인증을 제공 서버 인증서 발급 및 관리 비용 발생
사용자가 웹사이트와 안전하게 통신하도록 보장 암호화로 인해 데이터 전송 속도 저하 가능
다양한 응용 분야에서 보안 표준으로 사용 올바르게 설정하지 않으면 보안 취약점 존재

7. SSL 인증서의 종류

  • 도메인 검증 (DV): 도메인 소유권만 확인.
  • 기관 검증 (OV): 도메인 소유권과 조직 정보 확인.
  • 확장 검증 (EV): 추가적인 신뢰 정보를 포함하여 URL에 녹색 주소 표시줄 제공.

8. 요약

  • SSL/TLS는 인터넷 통신을 안전하게 보호하기 위한 프로토콜.
  • 암호화, 인증, 무결성을 통해 데이터를 안전하게 주고받을 수 있도록 보장.
  • 현재 웹 표준은 TLS이며, HTTPS, 이메일, VPN 등 다양한 분야에서 사용됨.
반응형
SMALL