dev.Log

HTTPS와 SSL 인증서 본문

Web

HTTPS와 SSL 인증서

초코푸딩 2020. 7. 7. 09:19

HTTP: Hypertext Transfer Protocol

링크(hypertext)로 연결되어 있는 HTML을 전송하기 위한 통신규약을 의미한다.

HTTPS -> S (Over Secure Socket Layer) 보안이 강화된 HTTP

 

HTTPS는 SSL 프로토콜 위에서 돌아가는 프로토콜이다.

SSL == TLS

 

SSL 디지털 인증서 : 클라이언트와 서버간의 통신을 제 3자가 보증해주는 전자화된 문서이다.

-통신 내용이 공격자에게 노출되는 것을 막을 수 있다.

-클라이언트가 접속하려는 서버가 신뢰할 수 있는 서버인지를 판단할 수 있다.

-통신 내용의 악의적인 변경을 방지할 수 있다.

 

인증서의 역할

1.클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 보장한다

2.SSL 통신에 사용할 공개키를 클라이언트에게 제공한다.

 

CA(Certificate authority)

1.Symantec

2.Comodo

3.GoDaddy

4.GlobalSign

사설 CA의 인증서를 이용하는 경우, 브라우저는 경고를 출력한다..

 

SSL인증서의 내용

1.서비스의 정보 ( 인증서를 발급한 CA )

2.서버 측 공개키

 

브라우저는 내부적으로 CA의 리스트를 미리 파악하고있다. 브라우저의 소스코드안에 CA의 리스트가 들어있다.

브라우저가 미리 파악하고 있는 CA의 리스트 안에 포함되어야만 공인된 CA가 될 수 있다.

CA의 리스트와 함께 각 CA의 공개키를 브라우저는 미리 알고있다.

 

웹 브라우저가 서버에 접속할 때 서버는 제일 먼저 인증서를 제공하는데, 브라우저는 이 인증서가 자신의 CA리스트에 있는지 없는지 확인한다. 포함되어있다면 인증기관의 공개키를 가지고있기때문에 복호화하게된다. (이것은 이 인증서가 CA의 비공개키에 의해서 암호화 된 것을 의미한다) 

 

클라이언트와 서버가 주고 받는 실제 정보 : 대칭키

대칭키의 키 : 공개키

 

 

'Web' 카테고리의 다른 글

Apache와 Nginx의 차이점  (3) 2024.05.08
HTTP 상태코드 401(Unauthorized) vs 403(Forbidden) 차이  (0) 2022.11.09
HTTP  (0) 2022.10.08
왜 Web을 호스팅하는 대부분의 서버들은 Linux를 이용할까?  (0) 2021.08.05
웹성능높이기  (0) 2020.06.30
Comments