Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발자이야기

HTTP 와 HTTPS 차이점 본문

카테고리 없음

HTTP 와 HTTPS 차이점

개발자가되고싶어 2021. 10. 14. 16:16

해당 내용에대한 질문을 받았다. 음.. 인증서를 발급받아 https를 적용하고 https는 암호화가 된다는것 정도는 알겠는데 구체적으로 왜 그래야 하는가를 잊었다.. 그래서 정리해보게 되었다.

 

HTTP(HyperText Transfer Protocol)

HTTP는  인터넷의 기초를 형성하는 TCP/IP 기반으로 만들어진 프로토콜 이며,

HTTP는 텍스트, 이미지, 사운드, 비디오 등과 같은 데이터를 주고받을 수 있는 프로토콜 이다.

프로토콜이란? 프로토콜은 컴퓨터와 같은 서로 다른 엔티티 간의 정보 교환의 방식을 정의하는 규칙입니다.

 

HTTP작동방식

HTTP 프로토콜은 웹서비스를 통해 클라이언트 장치와 서버 간에 리소스가 교환된다. 클라이언트는 웹 페이지를 로드하는데 필요한 리소스에 대한 요청을 서버에 보낸다. 서버는 요청을 이행하기 위해 클라이언트에 응답을 다시 보내며 요청과 응답은 이미지, 텍스트 등에 대한 데이터와 같은 리소스를 공유한다.

 

HTTPS(HyperText Transfer Protocol Secure)

HTTPS는 HTTP의 암호화된 버전이며 반대되는 개념이 아닌 향상된 버전이다. HTTPS 는 TLS 와 SSL의 조합을 사용한다. 이렇게 호스트와 브라우저간에 암호화된 보안연결이 설정된다.

 

주요 차이점

HTTP HTTPS
HTTP는 www(World Wide Web)을 위한 통신의 기초로 정의된다. HTTPS는 추가 보안 인증서와 함께 작동하는 HTTP이므로 인터넷에서 데이터를 안전하게 전송할 수 있다.
통신을 위한 기본 포트 번호는 80이다. HTTPS의 기본 포트 번호는 443이다.
HTTP는 애플리케이션 계층(application layer) 에서 작동한다. HTTPS는 전송 계층(transport layer) 에서 작동한다.
TCP/IP 수준에서 동작한다. 별도의 프로토콜이 없으며 HTTP를 통해 실행되지만 TLS/SSL 암호화 연결을 사용한다.
HTTP 웹사이트는 신원을 확인하기 위해 인증서를 요구하지 않는다. HTTPS 웹사이트는 신원을 확인하기 위해 SSL 인증서가 필요하다.
HTTP에서는 웹사이트의 속도가 빠르다. HTTPS에서는 리다이렉션 및 데이터 암호화로 인해 속도가 느려진다.(과거가 아닌 현재의 환경에서는 큰 속도차이를 느끼진 않는다.)
개인 블로그와 같이 단순한 정보를 전달하기 위한 웹사이트에 적합하다. 신용/직불 카드 세부 정보, 개인 정보 등과 같은 중요한 데이터를 다루는 웹사이트에 적합하다.

 

SSL(Secure Socket Layers) / TLS(Transport Layer Security)

SSL / TLS 는 웹 브라우저와 웹 서버 간의 암호화된 통신을 가능하게 하는 글로벌 표준 보안 기술이며 수많은 온라인 비즈니스 및 개인이 민감한 정보(예: 신용 카드 번호, 사용자 이름, 비밀번호, 이메일 등)를 해커의 도난이나 변조의 위험을 줄이기 위해 사용된다. 

이 보안 연결을 생성하기 위해 SSL / TLS 인증서 가 웹 서버에 설치되고 두 가지 기능을 제공한다.

  • 웹사이트의 신원을 인증합니다(이것은 방문자가 가짜 사이트에 있지 않다는 것을 보장합니다)
  • 전송되는 데이터를 암호화합니다.

TLS(Transport Layer Security)

1999년도에 SSL 3.0의 업그레이드 버전으로 공개되었다. SSL 3.0과 큰 차이가 있는 것은 아니나, SSL 3.0이 가지고 있는 대부분의 취약점이 해결되었다.

 

위의SSL과 TLS을 조사해 보았다. 결국 TLS는 SSL의 향상된 버전이라고 보면 되는걸까? 한번 차이를 간단하게 알아보자.

SSL TLS
Netscape는 1995년에 SSL의 첫 번째 버전을 개발했다. TLS의 첫 번째 버전은 1999년 IETF(Internet Engineering Taskforce)에서 개발했다.
SSL은 명시적 연결을 사용하여 웹 서버와 클라이언트 간의 보안 통신을 설정하는 암호화 프로토콜입니다. TLS는 암시적 연결을 통해 웹 서버와 클라이언트 간에 보안 통신을 제공하는 암호화 프로토콜이며. SSL 프로토콜의 후속 제품이다.
SSL 1.0, 2.0, 3.0의 세 가지 버전이 출시되었다. TLS 4가지 버전(TLS 1.0, 1.1, 1.2, 1.3)이 출시되었다.
SSL의 모든 버전은 취약한 것으로 확인되었으며 모두 더 이상 사용되지 않는다. TLS 1.0 및 1.1은 2020년 3월부터 더 이상 사용되지 않는다. TLS 1.2는 가장 널리 사용되고 있는 프로토콜 버전이다.

위와 같은 내용으로 정리된다.

이제는 흔히 사용하던 SSL이란 단어는 맞지 않는걸까?

아직도 인증서를 찾아보게되면 SSL이란 단어를 사용하는것을 자주 볼수 있다. 사실 이건 단순 사람들에게 익숙한 SSL 브랜드명을 사용하는 것이라고 볼 수 있다. 웹개발자라면 SSL 인증서라는 단어는 누구나 알고 있듯이 말이다.

 

조사한 내용을 토대로 작성했습니다. 틀린 내용이나 궁금한점은 댓글 부탁드립니다.