lollol 블로그 :D
기술면접 준비(1)[HTTP에 대한 기본 개념 및 추가 사항] 본문
* 개인적인 공부를 위해 아래의 링크들에서 참조하여 정리한 글이어서 누락된 부분이 있을 수 있으니, 혹시 부족한 부분 있다면 아래의 링크에서 확인해주세요!!!
1. HTTP와 HTTPS
(1) HTTP
HTTP는 Hypertext Transfer Protocol의 약자로 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 통신 규약을 의미합니다.
HTTP는 기본적으로 평문 데이터 전송을 원칙으로 하기 때문에 개인의 프라이버시가 오가는 서비스들(전자상거래, 전자메일, 사내 문서 등)에 사용하기 부적합합니다.
-> 네트워크에서 신호를 가로채 본다면 내용이 노출되기 때문
-> 이러한 보안상 문제를 해결해주는 프로토콜이 HTTPS!
(2) HTTPS
기존 HTTP가 위변조에 취약하다는 점을 보완하기 위해 암호화나 인증 구조를 더한 것을 HTTPS(HTTP Secure)라고 부릅니다.
HTTPS는 인터넷 상에서 정보를 암호화하는 SSL(Secure Socket Layer) 프로토콜을 이용해 웹브라우저(클라이언트)와 서버가 데이터를 주고받는 통신규약입니다.
HTTPS는 SSL(보안 소켓 계층)을 사용함으로써 HTTP의 보안 문제를 해결, SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결이 일어나도록 도와주어 민감한 정보가 도난당하지 않게 이를 방지해주는 역할을 한다.
-> 즉 HTTPS는 HTTP정보를 암호화하며, 공개키 암호화 방식을 거쳐 작동한다!
(3) HTTPS원리
HTTPS의 원리 공개키 방식(Public Key Infrastructure)은 두 개의 키를 갖게 되며, A키로 암호화하면 B키로 복호화가 가능합니다. 반대로 B키로 암호화를 하면 A키로 복호화를 할 수 있습니다. 여기서 두 개의 키 중 하나는 공개 키(public key)이고 다른 하나는 비공개(private key)가 됩니다. 비공개 키는 private 한 사용자가 가지고 있게 되며, 공개 키는 타인에게 공개되는 키입니다. 유저가 공개 키를 이용하여 데이터를 암호화한 뒤, 비공개 키의 소유자에게 전달하면, 비공개 키의 소유자는 비공개 키로 복호화하여 그 데이터를 얻는 간단한 원리입니다.
* 복호화란 암호문을 평문으로 변화하는 과정입니다.
(4) HTTPS의 또 다른 장점
검색 엔진 최적화에 있어서도 큰 혜택을 볼 수 있습니다. 검색 엔진 최적화는 유저가 특정 검색어를 구글에 입력했을 시에 검색 순위가 비교적 앞에 배치되어 더 많은 유저가 이를 방문할 수 있도록 하는 것인데 만약 우리가 만든 사이트가 HTTPS라면 구글이 우리 사이트를 더 안전하다고 판단하여 검색순위를 이와 같이 앞에 배치해 주는 것을 의미합니다.
2. SSL
(1) SSL이란 무엇인가?
SSL 인증서란 클라이언트와 서버 간의 통신을 제삼자가 보증을 해주는 문서이다.
클라이언트가 서버에 접속한 직후에 서버는 클라이언트에게 이 인증서를 전달한다. 그러면 클라이언트는 이 인증서를 보고 신뢰할 수 있는 사람인지 확인을 한 다음에 데이터를 보내는 등의 절차를 수행하게 된다.
(2) SSL의 장점
- 전달되는 내용이 다른 사람에게 노출되는 것을 막을 수 있다.
- 클라이언트가 접속하려는 서버가 신뢰할 수 있는 서버 인지 알 수 있다.
- 전달되는 내용이 악의적으로 변경되는 것을 막을 수 있다.
(3) SSL에서 사용하는 암호화의 종류
- 대칭키
- 공개키
(3)-1 대칭키
암호를 만드는 행위인 암호화를 할 때 사용하는 일종의 비밀번호 키(key)라고 한다. 이 키에 따라서 암호화된 결과가 달라지기 때문에 키를 모른다면 암호를 푸는 행위인 복호화도 할 수 없다. 이 중, 대칭키 방식은 동일한 키로 암호화와 복호화를 할 수 있는 기법을 말한다. 그러나, 대칭키의 단점이 있다.
암호를 주고받는 사람들 사이에서 이 키(key)로 암호화하라고 사용자에게 전달하는 것이 어렵다는 점이다. 왜냐면 중간에 대칭키가 유출된 다면 키를 획득한 공격자는 암호의 내용을 복호화하여 무슨 데이터를 전달하려고 했는지 알 수 있기 때문에 HTTPS를 쓰는 이유가 없어진다. 그래서 나온 방식이 공개키 기법이다.
(3)-2 공개키
HTTPS의 원리 참조 <1-(3)>
추가사항에 대해 작성 예정입니다!!
참조: https://aileen93.tistory.com/119
참조 : https://juicyjerry.tistory.com/196
참조 : https://velog.io/@dlrbwls0302/코딩-테스트-준비 2021.04.29-1일 차 HTTP-Vs.-HTTPS
감사합니다 :D
'개발 > 개발자 면접' 카테고리의 다른 글
IT 기술면접(CS 준비) (0) | 2021.12.26 |
---|