Certified Kubernetes Administration - 46

2024-06-22

  • Kubernetes
  • Cloud

TLS 인증서의 이해

인증서의 필요성

  • 신뢰 보증: 두 당사자 간의 거래 시 신뢰를 보증.

  • 보안 통신: 사용자와 서버 간의 통신을 암호화하고 서버의 신뢰성을 보증.

대칭 암호화와 비대칭 암호화

  1. 대칭 암호화:

    • 동일한 키로 데이터를 암호화하고 복호화.

    • 키를 네트워크를 통해 교환해야 하므로 보안 위험이 존재.

  2. 비대칭 암호화:

    • 공개 키와 개인 키 쌍을 사용.

    • 공개 키로 암호화하고 개인 키로 복호화.

    • 키 교환 시 보안 위험이 적음.

SSH 접근 보안

  • SSH 키 쌍 생성:

    • ssh-keygen 명령어 사용.

    • id_rsa는 개인 키, id_rsa.pub는 공개 키.

  • 서버 보안:

    • 서버의 authorized_keys 파일에 공개 키 추가.

    • 개인 키를 사용하여 서버에 안전하게 SSH 접속.

웹 서버 보안

  • 공개 키와 개인 키 쌍 생성:

    • openssl 명령어 사용.

    • private.keypublic.key 생성.

  • 대칭 키 전송:

    • 사용자가 서버의 공개 키로 대칭 키를 암호화하여 전송.

    • 서버는 개인 키로 대칭 키를 복호화.

    • 이후 대칭 키로 안전한 통신 진행.

인증서

  • 자체 서명 인증서:

    • 자신이 서명한 인증서.

    • 브라우저는 이를 신뢰하지 않음.

  • 인증 기관(CA) 서명 인증서:

    • 공인된 인증 기관이 서명한 인증서.

    • 브라우저는 CA의 공개 키를 사용하여 인증서의 유효성을 검증.

  • 인증서 서명 요청(CSR):

    • 도메인 이름과 키를 사용하여 CSR 생성.

    • CA에 CSR을 제출하여 서명된 인증서 받기.

TLS 통신 과정

  1. 사용자가 웹 서버에 접속하여 서버의 공개 키가 포함된 인증서를 받음.

  2. 사용자는 대칭 키를 생성하고, 서버의 공개 키로 대칭 키를 암호화하여 서버에 전송.

  3. 서버는 개인 키로 대칭 키를 복호화.

  4. 이후 대칭 키를 사용하여 안전한 통신 진행.

클라이언트 인증서

  • 클라이언트 인증서:

    • 클라이언트가 자신의 키 쌍과 인증서를 생성하여 서버에 제출.

    • 서버는 클라이언트의 인증서를 검증하여 신원을 확인.

공인키 기반 구조(PKI)

  • PKI 구성 요소:

    • CA, 서버, 사용자, 프로세스.

    • 디지털 인증서의 생성, 배포, 유지 관리.

명명 규칙

  • 공개 키: .crt, .pem 확장자.

  • 개인 키: .key, -key.pem 확장자.

요약

  • 대칭 암호화: 동일한 키로 암호화/복호화.

  • 비대칭 암호화: 공개 키로 암호화, 개인 키로 복호화.

  • SSH 보안: 공개 키를 서버에 추가, 개인 키로 접속.

  • 웹 서버 보안: 공개 키와 개인 키 쌍 생성, 대칭 키 전송.

  • 인증서: CA 서명 인증서를 사용하여 신뢰성 보증.

  • TLS 통신 과정: 대칭 키를 안전하게 전송하고 이후 안전한 통신.

  • 클라이언트 인증서: 클라이언트의 신원을 확인.

  • PKI: 디지털 인증서의 관리 구조.

Certified ...

Certified ...