dev-well-being.log
로그인
dev-well-being.log
로그인
HTTP와 HTTPS의 개념 및 차이점
dev-well-being
·
2023년 9월 14일
팔로우
1
CS
https
1
HTTP
HTTP(Hyper Text Transfer Protocol)란 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다.
인터넷에서 하이퍼텍스를 교환하기 위한 통식 규약으로 80번 포트를 사용하고 있다.
HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이기 때문에, 제 3자가 정보를 조회할 수 있다. 그리고 이러한 문제를 해결하기 위해 HTTPS가 등장하게 되었다.
HTTPS
HTTPS(HyperText Transfer Protocol over Secure)란 HTTP에 데이터 암호화가 추가된 프로토콜이다.
HTTPS는 HTTP와 다르게 443번 포트를 사용하며, 네트워크 상에서 중간에 제 3자가 정보를 볼 수 없도록 암호화를 지원하고 있다.
대칭키 암호화와 비대칭키 암호화
대칭키 암호화
클라이언트와 서버가 동일한 키를 사용해 암호화/복호화를 진행함
키가 노출되면 매우 위험하지만 연산속도가 빠름
비대칭키 암호화
1개의 쌍으로 구성된 공개키와 개인키를 암호화/복호화 하는데 사용함
키가 노출되어도 비교적 안전하지만 연산 속도가 느림
HTTPS 동작 과정
클라이언트(브라우저)가 서버로 최초 연결 시도를 함
서버는 공개키(엄밀히는 인증서)를 브라우저에게 넘겨줌
브라우저는 인증서의 유효성을 검사하고 세션키를 발급함
브라우저는 세션키를 보관하며 추가로 서버의 공개키로 세션키를 암호화하여 서버로 전송
서버는 개인키로 암호화된 세션키를 복호화하여 세선키를 얻음
클라이언트와 서버는 동일한 세션키를 공유하므로 데이터를 전달할 때 세션키로 암호화/복호화를 진행함
참고 자료
https://mangkyu.tistory.com/98
dev-well-being
안녕하세요!! 좋은 개발 문화를 위해 노력하는 dev-well-being 입니다.
팔로우
이전 포스트
싱글톤(Singleton) 패턴이란?
다음 포스트
JPA N+1 이슈 해결 방법
0개의 댓글
댓글 작성