SSL & TSL

소프트웨어 마에스트로 14기 팀 프로젝트에서 나는 백엔드 파트를 담당하여 Spring Boot를 통한 API 서버 개발을 하게 되었다. HTTPS 통신을 하기 위해 SSL 인증서 발급을 하기 전 개념을 정리하고자 게시글을 작성하게 되었다.


SSL (Secure Sockets Layer)

  • 넷스케이프(Netscape)에서 최초로 개발됨
  • 서버와 클라이언트 간의 통신을 암호화하여 제3자가 데이터를 도청하거나 변조하는 것을 방지
  • 소켓 레벨에서 작동하여 응용 프로그램이 네트워크에 대해 신경 쓰지 않고 안전하게 통신할 수 있도록 해줌

TLS (Transport Layer Security)

  • SSL 3.0에 이어 개발된 프로토콜, 보안 기능이 개선됨
  • SSL과 같은 목표를 가지고 있지만, 보안 취약점을 해결하고 암호화 알고리즘을 개선하였음

공통점

  • 서버와 클라이언트 간 ‘안전한 핸드셰이크’를 생성
    • 이 과정에서, 클라이언트와 서버는 통신에 사용할 암호화 알고리즘과 암호화 키를 교환함
  • 텍스트 메시지, 파일, 비밀번호 등의 민감한 정보를 안전하게 인터넷을 통해 전송할 수 있음
  • HTTPS의 핵심 요소