SeaForest

[Network] http와 https 차이, SSL 본문

Computer Science

[Network] http와 https 차이, SSL

seaforest 2022. 3. 19. 16:33

1. HTTP (=Hypertext Transfer Protocol)

- 서로 다른 시스템들 사이에서 통신을 주고받게 하는 가장 기본적인 프로토콜

  (참고) 프로토콜 (= 약속, 통신 규약)

- 서버에서 브라우저로 데이터를 전송하는 용도로 가장 많이 사용함

- 단점 : 서버에서 브라우저로 데이터를 전송할 때 정보가 암호화 되지 않는 문제가 있음

- 크롬에서 주소창에 그냥 'google.com'을 입력하면 사용자의 편의를 위해 'http://'를 입력하지 않아도 접속 가능.

  즉, 크롬에서 디폴트는 'http://'이기 때문에 'https://'로 접속하기 위해서는 앞에 'https://' 입력해야함

- 기본 포트 : 80

 

2. HTTPS

- https = http over SSL = http + SSL

- 기본 골격, 사용 목적 등은 HTTP와 거의 동일한데, 데이터를 주고 받는 과정에서 '보안' 요소가 추가된다는 것이 차이

  (ex) 기존 http 어느 사이트에 접속해서 주민번호를 입력하면 암호화 되지 않고 전송됨

          https 사이트에 접속해서 주민번호 입력하면 암호화 되어 사이트에 전송됨

- HTTPS를 사용하면 서버와 클라이언트 사이의 모든 통신 내용이 암호화

- 사용하는 이유 

   (1) 보안성

   (2) SEO(검색엔진최적화) : 구글은 https를 사용하는 웹사이트에 가산점 부여함

                                             따라서 검색 엔진에 노출되기 원하면 https는 필수

- 예를 들어 https를 사용하는 구글은 총 2개의 키를 가지게됨. 구글만의 개인키와 공개키.

  구글은 구글만의 개인키로 암호를 풀어서 내가 전송한 데이터를 받음.

  구글이 나에게 다시 데이터를 전송하면 나는 공개키로 암호를 풀게 됨. (공개키는 누구나 가지고 있어 보안에 약함)

- 통신 과정 

    ① 내가 클릭을 하거나 입력을 한 정보는 '공개키'로 암호화 되어 서버에 전송되고,

    ② 그 사이트 서버는 서버만의 '개인키'로 내가 보낸 정보 암호를 풀고,

    ③ 서버는 내가 요청한 정보를 '개인키'로 암호화 해서 보내주고,

    ④ 나는 '공개키'로 해당 정보를 확인하는 구조

- 크롬 주소창 왼쪽에 검은 자물쇠가 있다면 그 사이트는 https가 적용된 사이트임을 의미함

- 기본 포트 : 443

 

3. SSL

- Secure Sockets Layer

- 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와줌

- 서버와 브라우저가 민감한 정보를 주고받을 때 해당 정보가 도난당하는 것을 막아줌

- Netscape Communications Corporation에서 웹 서버와 웹 브라우저 간의 보안을 위해 만든 프로토콜

- SSL 인증서가 없으면 도메인 주소에 https 적용이 안됨

 

SSL 인증서 예시

 

'Computer Science' 카테고리의 다른 글

SSO(Single Sign-On,싱글사인온)  (0) 2022.07.23
[Network] DNS란?  (0) 2022.04.14
[AWS] AWS란? 클라우드, 클라우드 컴퓨팅이란?  (0) 2022.03.28
[Network] IP란? 포트(Port)란?  (0) 2022.03.23
배치(Batch)란?  (0) 2022.03.19