본문 바로가기
💾 공대 라이프/L4_L7 네트워크

HTTPS 의 등장 배경과 특징(SSL/TLS/암호화/복호화/대칭키/공개키)

by kuve 2023. 1. 23.
반응형

WEB에서 이루어지는 일들이 다양화 되고, 온라인 쇼핑이나 인터넷 뱅킹 같이 보안이 중요한 일들을 하게 되면서 HTTP의 보안 기술이 필연적으로 발달할 수 밖에 없게 되었다. 

 

HTTPS는 HTTP를 안전하게 만드는 방식 중 가장 인기가 있는 방식으로 Netscape 에서 개발이 되었다. 

HTTPS는 URL에서 http:// 가 아닌 https://로 시작을 한다. 

HTTPS는 보안 계층을 제공하는데 이 보안 계층은 SSL / TLS 를 이용하다.

** SSL (Secure Sockets Layer)

** TLS (Transport Layer Security)

 

 

 

암호화에 대한 예를 들면, 평문을 인코더에 넣으면 암호문에 출력이 되는데 인코더(Encoder/암호화장치)에서 사용하는 암호의 매개변수를 '키'라고 부르다. 

 

아래와 같이 'HTTP'와 같은 평문을 인코더에 넣으면 암호문 'KWWS'가 출력이 된다. 

입력된 평문의 알파벳 순서를 3자리 만큼 뒤로 돌렸을 때, 암호문이 나오게 된다.

그러므로 이때 인코딩에 사용된 매개변수인 키 값은 '3'이 되는것이다. 

                 

                               key =3 

평문 'HTTP'  -----> 인코더 -----> 암호문 'KWWS'

 

위의 과정과 반대로 암호문인 'KWWS'를 평문화 시키는 작업을 Decoding(복호화) 이라고 한다. 

 

 

 

대칭키 암호법

대칭키 암호법은 Encoding(암호화)과 Decoding(복호화)에 사용되는 Key가 동일한 경우를 이야기한다. 

이러한 대칭키 암호 알고리즘으로는 DES, Triple-DES, AES, RC2, RC4 등이 있다. 

 

공개키 암호법

공개키 암호법은 Encoding과 Decoding에 서로 다른 비대칭 key를 사용한다.

Encoding에는 모두가 사용하는 공개키를 사용하고 Decoding에는 각 호스트들만이 아는 디코딩 개인키를 사용한다.

이 경우 대칭키 암호법과 다르게 Encoding에서 모두가 동일한 공개키를 사용하므로 대칭키에서 키의 쌍이 폭발적으로 증가하는 현상을 피할 수 있다.  

공개키 알고리즘의 대표로는 RSA 가 있다. 

** RSA - Ron Rivest, Adi Shamir, Leonard Adleman의 연구에 의해 체계화되어 이 세 사람의 이름을 따른다.

 

디지털 인증서와 서명 

디지털 인증서(certs)란 신뢰할 수 있는 기관으로부터 보증 받은 사용자나 회사에 대한 정보를 담는다. 

이 정보에는 인증서 발급자의 디지털 서명도 포함이 된다. 

이외에도 인증서에는 대상의 이름, 유효기간, 인증서 발급자 정보 등이 포함되어 있다.

 

HTTPS SSL Handshaking 과정

 Wireshark 등으로 SSL Handshaking 과정을 살펴 보면 HTTP의 Handshaking 과정보다 좀 더 복잡한 동작을 하는것을 알 수 있다. 

아래의 그림과 같이 TCP 3way handshaking 과정 이후 client hello -> server hello -> change cipherspec 동작을 진행한다.

 

 

오늘 포스팅은 여기까지 입니다. 

 

HTTP의 동작이 궁금하신 분들은 아래의 포스팅을 참고해주세요!!

 

https://kuveminton.tistory.com/49

 

HTTP 특징 알아보기 / HTTP TCP 커넥션 관리 / HTTP TCP 성능 지연 및 최적화

HTTP의 지연은 TCP 통신을 하면서 발생하는 네트워크 지연으로 대부분 발생한다. HTTP와 TCP의 상관 관계는 아래의 그림으로 대체하며 자세한 설명은 생략. (이 부분은 추후 포스팅 예정) TCP 성능 저

kuveminton.tistory.com

 

https://kuveminton.tistory.com/50

 

HTTP 커넥션 관리(HTTP Parallel connection/Persistent Connection/Pipelined Connection)

우리는 이전에 HTTP의 기초(HTTP/MIME/URL/URI/버전별특성)와 TCP의 커넥션 관리(TCP piggyback, slow start, no_delay, time_wait)에 대해서 알아보았다.(아래 링크 참고) https://kuveminton.tistory.com/48 HTTP 웹의 기초 / MIME

kuveminton.tistory.com

 

https://kuveminton.tistory.com/51

 

HTTP/2.0 의 특징과 등장 배경

일반적인 HTTP/1.1의 메시지 포맷은 한개의 커넥션에 요청을 보내고 응답을 처리 후 다음 커넥션이 진행되므로 성능에 대한 지연을 완벽하게 피할 수 없다. HTTP/1.1의 성능 향상을 위한 여러 해결책

kuveminton.tistory.com

 

반응형

댓글