관리 메뉴

SIMPLE & UNIQUE

SSL 프로토콜 본문

computer Jargon

SSL 프로토콜

착한코딩 2017. 3. 15. 14:54


SSL(Secure Socket Layer) 프로토콜

  • 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다.

  • Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용

  • SSL작동 과정
    1. [웹브라우저] SSL로 암호화된 페이지를 요청하게 된다. (일반적으로 https://가 사용된다)
    2. [웹서버] Public Key를 인증서와 함께 전송한다.
    3. [웹브라우저] 인증서가 자신이 신용있다고 판단한 CA(일반적으로 trusted root CA라고 불림)로부터 서명된 것인지 확인한다.
      또한 날짜가 유효한지, 그리고 인증서가 접속하려는 사이트와 관련되어 있는지 확인한다.
    4. [웹브라우저] Public Key를 사용해서 랜덤 대칭 암호화키(Random symmetric encryption key)를 비릇한
      URL, http 데이터들을 암호화해서 전송한다.
    5. [웹서버] Private Key를 이용해서 랜덤 대칭 암호화키와 URL, http 데이터를 복호화한다.
    6. [웹서버] 요청받은 URL에 대한 응답을 웹브라우저로부터 받은 랜덤 대칭 암호화키를 이용하여 암호화해서 브라우저로 전송한다.
    7. [웹브라우저] 대칭 키를 이용해서 http 데이터와 html문서를 복호화하고, 화면에 정보를 뿌려준다.





chewgaroo

HTTP와 HTTPS


  • HTTP는 Hypertext 인 HTML을 전송하기 위한 통신규약 을 의미한다. 

  • HTTP는 암호화되지 않은 방법으로 데이터를 전송한다. 예를 들면, 로그인을 위해서 서버로 비밀번호를 전송하거나 중요한 기밀 문서를 열람하는 과정에서 악의적인 감청이나 데이터의 위변조 등이 일어날 수 있다.

  • 이를 보완하기 위해 나온 것이 보안이 강화된 HTTPS 이다.
    HTTPS는 보안을 강화하기 위해 통신에서 일반 텍스트를 이용하지 않고 SSL이나 TLS 프로토콜 을 통해 세션 데이터를 암호화한다. 
  • 크롬에 안전하지 않음으로 표기되는 페이지는 보안 인증서가 없는 페이지이다.
    반면에, 안전함으로 표기되는 페이지는 기관으로부터 인증서를 받은 페이지이다.


'computer Jargon' 카테고리의 다른 글

프록시  (0) 2017.03.21
웹서버+웹컨테이너=WAS  (0) 2017.03.20
로깅  (0) 2017.03.15
서드파티  (0) 2017.03.15
.war .ear .jar  (0) 2017.03.10
Comments