본문 바로가기
IT이론/기초

http와 https?

by 육지상어 2022. 3. 5.
728x90
반응형

http는 statless 프로토콜이며 method, path version headers body로 구성된다.
하지만, http는 암호화가 되지 ㅇ낳은 평문 데이터를 전송하기때문에 비밀번호나 암호 등을 주고받으면 3자가 정보를 조회 가능하다. 

https는 secure가 추가되었고 443를 사용하고 제 3자가 정보를 볼 수 없도록 암호화를 지원한다. https는 대칭키 암호화방식과 비대칭키 암호화 방식을 모두 사용한다. 

대칭키 암호화, 클라이언트와 서버가 동일한 키를 사용해 암호화/ 복호화를 진행한다. 
키가 노출되면 매우 위험하지만 연산 속도가 빠르다.
비대칭키 암호화, 1개의 쌍으로 구성된 공개키와 개인키를 암호화/ 복호화 하는데 사용한다.
키가 노출되어 있어도 비교적 안전하지만 연산 속도가 느리다. 

암호를 공개키로 하느냐 개인키로 하느냐에 따라 다르다. 
공개키를 암호화하면 개인키를 나만 볼 수 있다.  ( 송신자 ) 
개인키를 암호화하면 공개키로만 복호화 할 수 있고 내가 인증한 정보가 신뢰성이 있다. ( 수신자 )

대칭키 암호화와 비대칭키 암호화를 모두 사용한다. https 과정에서 세션키를 교환해서 인증하고, 처음 연결 성립하여 안전하게 세션키를 공유하는 과정에서 비대칭키가 사용된다. 

즉, 첫 연결에서 대칭키를 사용하여 서로 비대칭키를 전달한다. 

1. 클라이언트가 서버로 최초 연결 시도
2. 서버는 공개키 ( 인증서 ) 를 브라우저에게 줌
3. 브라우저는 인증서를 검사 후 세션키를 발급
4. 브라우저는 세션키를 보관하고 추가로 서버의 공개키로 세션키를 암호화해서 서버로 전송
5. 서버는 개인키로 암호화된 세션키를 복호화해서 세션키를 얻음
6. 클라이언트는 동이란 세션키를 공유하므로 데이터 전달 시 세션키 사용

반응형

'IT이론 > 기초' 카테고리의 다른 글

기타 이론 (sql 확장, 암호화, 쿠키, 웹서버)  (0) 2022.03.05
OSI 7계층, tcpip 4계층  (0) 2022.03.05
레이드란?  (0) 2022.03.05
웹방화벽이 일반 방화벽과 어떻게 다른가  (0) 2022.03.05
TCP와 UDP의 차이는?  (0) 2022.03.05

댓글