CS

[네트워크] HTTPS

may_wonhui 2023. 11. 13. 19:32

HTTPS?

  • 기존 HTTP 프로토콜에 암호화 프로토콜(SSL, TLS)을 사용하여 통신을 암호화한다.
  • HTTP는 데이터를 평문으로 전송하기 때문에 스누핑(몰래 보기), 스니핑(데이터 가로채기), 데이터 조작의 위험이 있다.
  • HTTPS를 통해 데이터의 기밀성, 무결성, 신뢰성을 보장할 수 있다.
  • HTTPS를 사용하면 웹 브라우징 시 민감한 정보를 안전하게 전송하고 웹사이트의 신뢰성을 확보할 수 있다.

 

 

SSL/TLS?

  • SSL과 TLS는 네트워크 통신의 보안을 위해 사용되는 암호화 프로토콜.
  • 현재 사용되는 TLS의 이전 버전이 SSL.
  • SSL(Secure Sockets Layer), TLS(Transport Layer Security)
    • 데이터를 암호화하여 중간에서의 가로챔을 방지하고, 데이터가 중간에 변경되지 않도록하여 무결성을 보장함
    • 공개키와 개인키를 사용하여 데이터를 암호화하고 복호화

 

 

 

SSL/TLS 핸드셰이크?

  • HTTPS 암호화 과정에 대해 설명해주세요. (SSL Handshake의 동작 과정을 설명해 주세요. )
    • SSL Handshake는 클라이언트와 서버 간의 안전한 통신을 설정하기 위한 과정
    • SSL Handshake 동작 과정
      • Client Hello: 클라이언트는 SSL의 버전 정보, 암호화 알고리즘 목록 정보 등을 포함한 “Client Hello” 메시지를 서버에 전송
      • Server Hello: 서버는 클라이언트의 “Client Hello” 메시지를 수신하고, 선택된 암호화 정보와 서버의 디지털 인증서를 포함한 “Server Hello” 메시지를 클라이언트에 전송
      • 인증서 교환

 

 

대칭키/비대칭키?

  • 대칭 키(Symmetric Key)
    • 암호화하는 키와 복호화하는 키가 동일함
    • 장점
      • 처리 속도(암호화 및 복호화)가 빠르기에, 대용량 데이터 암호화를 빠르게 처리할 수 있다는 효율성
      • 대칭 키 관리는 상대적으로 간단 (두 통신 당사자가 공유된 키를 사용하면 되므로)
    • 단점
      • 대칭 키를 안전하게 교환하기가 어려움. 이를 위한 메커니즘이 필요함.
      • 많은 사용자 간 동일한 대칭 키를 공유하면 보안 위협이 발생할 수 있음
  • 비대칭 키(Asymmetric Key)
    • 암호화하는 키와 복호화하는 키가 다름
    • 암호화에 사용되는 공개키와 복호화에 사용되는 개인키로 이루어진 키 쌍
    • 장점
      • 공개 키를 안전하게 공유할 수 있기에, 대칭키보다 키 교환에서 안정성 높음
      • 디지털 서명: 메시지의 출처를 인증하고 데이터의 무결성을 보장하는 데 효과적
    • 단점
      • 대칭 키보다 느림. 대용량 데이터 암호화의 경우 상대적으로 더 많은 계산이 필요
      • 키 관리가 복잡하며, 개인 키 보호가 필요함.
  • 대칭 키와 비대칭 키를 혼합적으로 사용하여 대칭 키의 빠른 처리 속도 + 비대칭 키의 안전한 키 교환 두 강점을 결합하여 보안과 효율성을 균형있게 유지

 

 

 

공개키/개인키?

  • 공개키public key - 개인키private key ⇒ 비대칭 키
    • 공개키(public key)
      • 공개키는 다른 사람에게 공개할 수 있는 키로, 누구나 공개 키를 알 수 있고 사용할 수 있다.
      • 메시지를 공개 키로 암호화하면 해당 메시지는 해당 공개 키에 맞는 개인 키를 가지고 있는 수신자만 복호화할 수 있다.
    • 개인키(private key)
      • 개인키는 공개되어서는 안되며 안전하게 보호되어야 함
      • 개인키는 복호화와 디지털 서명 생성 시 사용
    • 예시
      • Bob의 공개 키는 누구나 알고 있고, Bob에게 이 공개키를 통해 암호화된 메시지를 보내면, Bob은 자신의 개인키를 통해 메시지를 해독할 수 있다.