😒 저 저 저 개념없는 나/🌐 네트워크

[네트워크] HTTPS | SSL | TLS

우주수첩 2024. 11. 22. 14:13
728x90

# 암호화

  • 해독할 수 있는 키를 가진 당사자만 액세스 할 수 있는 방식으로 수학적 모델을 통해 정보 또는 데이터를 스크램블링하여 보호하는 프로세스.
  • 종류 
    • 대칭 키 암호화
    • 비대칭 키 암호화
  • 대칭 키 암호화
    • 암호화 및 복호화를 수행하는 키가 같다
  • 비대칭 키 암호화
    • 공개키(;public key)로 암호화, 개인키(;private key)로 복호화 수행
    • 암호화를 수행하는 키와 복호화를 수행하는 키가 다름
      • ex) AWS EC2 pem키
      • 도메인이 유효한지 검증할 때 개인 키 사용
      • 비대칭 키 암호화 사용
      • 한 번 연결이 이루어지고 난 이후 대칭 키 암호화로 변경

 

 

 

# SSL / TLS

  • 서버, 애플리케이션, 사용자 및 시스템 간의 데이터를 암호화 하는 보안 통신 프로토콜
  • 네트워크를 통해 연결된 두 당사자를 인증하므로 데이터를 안전하게 교환 가능

SSL; Secure Sockets Layer 

  • 애플리케이션 또는 브라우저가 모든 네트워크에서 안전하고 암호화된 통신 채널을 만드는 데 사용 할 수 있는 기술

TLS ; Transport Layer Security 

  • SSL의 보안 결함 취약성을 수정하는 업그레이드 된 SSL 버전.
  • 더 효율적으로 인증, 암호화 된 통신 채널을 지원
  • 대부분의 SSL, SSL/TLS라는 용어들은 모두 TLS 프로토콜과 TLS인증서를 나타낸다

 

  SSL TLS
의미 SSL은 Secure Sockets Layer 즉, 보안 소켓 계층을 의미합니다. TLS는 Transport Layer Security 즉, 전송 계층 보안을 의미합니다.
버전 기록  SSL은 이제 TLS로 대체되었습니다. SSL은 버전 1.0, 2.0 및 3.0이 있습니다. TLS는 SSL의 업그레이드된 버전입니다. TLS는 버전 1.0, 1.1, 1.2 및 1.3이 있습니다.
사용 이제 모든 SSL 버전이 더 이상 사용되지 않습니다. TLS 버전 1.2 및 1.3이 현재 사용되고 있습니다.
알림 메시지 SSL에는 두 가지 유형의 알림 메시지만 있습니다. 알림 메시지는 암호화되지 않습니다. TLS 알림 메시지는 암호화되며 더 다양합니다.
메시지 인증 SSL은 MAC을 사용합니다. TLS는 HMAC을 사용합니다.
암호 그룹 SSL은 알려진 보안 취약점이 있는 이전 알고리즘을 지원합니다. TLS는 고급 암호화 알고리즘을 사용합니다.
핸드셰이크 SSL 핸드셰이크는 복잡하고 느립니다. TLS 핸드셰이크는 단계가 적고 연결 속도가 빠릅니다.

출처 : 

https://aws.amazon.com/ko/compare/the-difference-between-ssl-and-tls/

 

 

 

 

# HTTPS

  • 비보안 HTTP 연결에 SSL/TLS 프로토콜을 설정 하여 보안성을 강화
  • 클라이언트와 서버간의 연결 수립
    • 비대칭 암호화를 통해 보안 강화
  • 클라이언트와 서버간의 패킷 전송
    • 대칭 암호화를 통해 보안 강화
    • 중간자 공격에 대한 방어 가능
  • 웹사이트에 연결하기 전에 브라우저는 TLS를 사용하여 웹사이트의 인증서를 확인.
    • TLS,SSL인증서는 서버가 현재 보안 표준을 준수하고 있음을 보여준다. 

 

 

# HTTPS 작동

  1. 사용자 브라우저의 주소 표시줄에 https:// URL 형식을 입력하여 HTTPS 웹 사이트를 방문합니다.
  2. 브라우저는 서버의 SSL 인증서를 요청하여 사이트의 신뢰성을 검증하려고 시도합니다.
  3. 서버퍼블릭 키가 포함된 SSL 인증서를 회신으로 전송합니다.
  4. 웹 사이트의 SSL 인증서는 서버 아이덴티티를 증명합니다.
    브라우저에서 인증되면, 브라우저 퍼블릭 키를 사용하여 비밀 세션 키가 포함된 메시지를 암호화하고 전송합니다.
  5. 웹 서버개인 키를 사용하여 메시지를 해독하고 세션 키를 검색합니다.
    그런 다음, 세션 키를 암호화하고 브라우저에 승인 메시지를 전송합니다.
  6. 이제 브라우저와 웹 서버 모두 동일한 세션 키를 사용하여 메시지를 안전하게 교환하도록 전환합니다.

+) 인증서가 유효하지 않을 경우

  • ERR_CERT_DATE_INVALID
  • 인증서 기간 만료 / 보안 냅다 뚫기에 군침이 사악 도는.

https://aws.amazon.com/ko/compare/the-difference-between-https-and-http/

 


# 루트 인증 기관 ; Root Certificate Authority, Root CA

 

  • 최상위 인증 기관: 신뢰 체계의 최상위에 위치하며, 다른 인증 기관(중간 CA)과 인증서의 신뢰성을 보장
  • 자체 서명 인증서 발급: 루트 CA는 스스로 발급한 루트 인증서를 기반으로 작동하며, 이를 통해 하위 인증 기관에 신뢰 전파
  • 브라우저 및 운영 체제에 포함: 주요 브라우저와 OS는 루트 CA의 인증서를 기본적으로 포함해 안전한 HTTPS 통신을 지원합니다.
  • 디지털 인증서 발급: 웹사이트, 서버, 소프트웨어 등의 공개 키 인증서를 발급하고 이를 검증하여 데이터 암호화 및 신원 확인을 지원합니다.
  • 보안 사고 시 리스크 큼: 루트 CA의 신뢰성이 손상되면 연관된 모든 인증서가 무효화될 수 있습니다.

 

 

728x90