(2023.2.6) Today_I_Learned_day-114

imRound·2023년 2월 5일
post-thumbnail

SSL(Secure Socket Layer)이란?

  • 인터넷상에서 개인정보를 암호화하여 송수신하는 기능이 구축되어있는 웹 서버
    • 인터넷 암호화 통신 프로토콜(데이터 보안을 위해 개발한 통신 레이어)
  • 별도 하드웨어 설치하는 것이 아닌 이미 사용하고 있는 웹 서버에 인증서(SSL 방식)나
    암호화 소프트웨어를 설치하여 암호통신이 가능하도록 한다.
  • 가입이나 로그인 등 개인정보 송/수신 때 데이터를 안전하게 보호할 수 있다.
    • 해커가 중간에 통신 데이터를 가로채더라도 어떤 내용인지 알수 없게 한다.
  • SSL 프로토콜은 OSI 7계층 모델의 어느 한 계층에서 동작하는 것이 아니다.
    • 응용계층과 전송계층 사이에 독립적인 프로토콜 계층을 만들어서 동작

SSL을 적용해야되는 이유

  • 크롬 브라우저 쿠키 정책 변경(2020년 2월 4일)으로 인해 결제 또는 개인정보 취급사이트는 보안서버(SSL) 필수
    • 이와 같은 이유로 개인정보를 취급하거나, 위치정보를 사용하는 경우에
      SSL 적용 대상이 된다.
  • 보안서버를 구축하면 국제 기준에 부합하는 표준 암호화 기법을 사용하여
    전송자의 메시지를 안전하게 전송 가능

SSL(Secure Socket Layer) 통신 원리

  1. 클라이언트가 서버에 접속하면 서버 인증서를 전송받는다.
    (이 때, 클라이언트 인증을 필요로 할 경우 클라이언트의 인증서를 전송)
  2. 클라이언트는 받은 서버 인증서를 분석하여 신뢰할 수 있는 인증서인지 검토한 후
    서버의 공개키를 추출
  3. 클라이언트가 세션키로 사용할 임의의 메세지를 서버의 공개키로 암호화하여 서버에 전송합니다.
  4. 서버에서는 자신의 개인키로 세션키를 복호화하여 그 키를 사용하여 대칭키 암호방식으로 메시지를 암호화하여 클라이언트와 통신하게 됩니다.(https://)
profile
Django 개발자

0개의 댓글