어제의 나보다 성장한 오늘의 나

HTTP와 HTTPS의 차이는 무엇일까? 본문

CS/네트워크

HTTP와 HTTPS의 차이는 무엇일까?

NineOne 2021. 4. 4. 22:50

HTTP란?

HTTP 부분은 gooweon.tistory.com/57?category=1169796 에서 확인 할 수 있습니다.

 


HTTPS란?

  • Hyper Text Transfer Protocol Secure의 약자로써 HTTP에 데이터 암호화가 추가된 프로토콜이다.
  • HTTP는 80번 포트를 사용하지만 HTTPS는 433 포트를 사용한다.
  • SSL(보안 소켓 계층)을 사용함으로써, SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버와 브라우저가 민감한 정보를 주고 받을 때 이것이 도난 당하는 것을 막아준다.
  • 네트워크 상에서 중간에 제3자가 정보를 볼 수 없도록 공개키 암호화를 지원하고 있다.

SSL의 동작방식

공개키 암호화 방식과 공개키의 단점을 보완한 대칭키 암호화 방식을 함께 사용한다.

공개키방식으로 대칭키를 전달하고, 서로 공유된 대칭키를 가지고 통신하게 된다.

 

공개키 방식

  • A키로 암호화를 하면 B키로 복호화 할 수 있다.
  • B키로 암호화를 하면 A키로 복호화 할 수 있다.
  • 둘 중 하나를 비공개키(private key) 혹은 개인키라 불리며 이는 자신만 가지고 있고 공개되지 않는다.
  • 나머지 하나는 공개키(public key)라 불리며 타인에게 제공한다. 공개키는 유출이 되어도 비공개키를 모르면 복호화 할 수 없기 때문에 안전하다.

대칭키 방식

  • 암호화를 할 때 사용하는 비밀번호를 키(key)라고 한다. 대칭키는 동일한 키로 암호화, 복호화가 가능하다.
  • 대칭키는 매번 랜덤으로 생성되어 누출되어도 다음번에 사용할 때에는 다른 키가 사용되기 때문에 안전하다.
  • 공개키보다 빠르게 통신할 수 있다.

이러한 SSL방식을 적용할려면 인증서를 발급 받아 서버에 적용시켜야한다.

 

인증서 발급과정

 

  1. 인터넷 사이트는 자신의 정보와 공개키를 인증기관에 제출한다.
  2. 인증기관은 제출된 데이터 검증절차를 거쳐 개인키로 사이트에서 제출한 정보를 암호화한다. => 인증서 발급
  3. 인증기관은 웹 브라우저에게 자신의 공개키를 제공한다. 

사용자가 사이트에 접속할 경우

 

  1. 사용자가 사이트에 접속하면 자신의 인증서를 웹 브라우저에게 보낸다.
  2. 웹브라우저는 미리 받았던 인증기관의 공개키로 인증서를 해독하여 검증한다. 그러면 사이트의 정보와 사이트의 공개키를 알 수 있게 된다.
  3. 이렇게 얻은 사이트 공개키로 대칭키를 암호화해서 다시 사이트에 보낸다.
  4. 사이트는 개인키로 암호문을 해독해 대칭키를 얻게 되고, 이제 대칭키로 데이터를 주고받을 수 있게 된다.

 

 

 

출처

devdy.tistory.com/14

blog.wishket.com/http-vs-https-%EC%B0%A8%EC%9D%B4-%EC%95%8C%EB%A9%B4-%EC%82%AC%EC%9D%B4%ED%8A%B8%EC%9D%98-%EB%A0%88%EB%B2%A8%EC%9D%B4-%EB%B3%B4%EC%9D%B8%EB%8B%A4/

mangkyu.tistory.com/98

Comments