HTTP(Hypertext Transfer Protocal)는 무엇인가?
HTTP는 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기본적인 프로토콜 입니다.
주로 서버에서 브라우저로 데이터를 전송하는 용도로 가장 많이 사용됩니다.
HTTPS(Hypertext Transfer Protocal Secure)는 무엇인가?
HTTP에 SSL을 사용한 것입니다.
HTTP의 문제점은 전송되는 데이터가 암호화 되지 않는다는 단점을 가지고 있는데, 이것을 보완한 프로토콜 입니다.
SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버와 브라우저가 민감한 정보를 주고 받을 때, 해당 정보가 도난 되는것을 막아줍니다.
그렇다면 왜 HTTPS를 사용해야 하나요?
1. 보안성 문제
HTTP로 데이터를 전송하게 되면 네트워크로 전달되는 모두 원본 자체로 전달됩니다.
만약 해커가 이를 가로채 사용하게 된다면 바로 사용이 가능할 수 있습니다.
하지만 HTTPS는 HTTP와 달리 암호화해서 전송하기에 해커가 중간에서 데이터를 가로채도 이 데이터가 어떤 내용을 담고 있는지 알기 어렵습니다.
2. SEO
구글은 HTTPS 웹 사이트에 가산점을 주는 제도가 있습니다.
그래서 HTTP를 사용하는 것은 큰 마이너스 요소입니다.
자신의 게시물이 더 검색엔진에 노출 되고 싶다면 HTTPS는 필수불가결입니다.
그렇다면 SSL이 무엇인가요?
SSL을 검색해서 공부하려고 하면 TLS 라는 개념이 계속 눈에 보이게 됩니다.
TLS는 SSL의 업그레이드 버전입니다. 하지만 일반적으로는 두 단어를 동일하게 사용한다고 해서 저는 SSL로 외웠습니다.
SSL이란 Secure Sockets Layer의 약자로 웹 서버와 웹 브라우저간의 보안을 위해 만든 프로토콜입니다.
특징으로는 공개키/개인키 대칭키 기반으로 사용됩니다.
공개키? 개인키? 대칭키?
대칭키란 동일한 키로 암호화 복호화를 수행하는 방법입니다. 그래서 누구든지 암호화에 사용된 키를 알고 있게 된다면 누구나 쉽게 암호화 복호화를 할 수 있습니다.
대칭키의 큰 단점은 HTTP와 동일하게 키를 탈취 당하게 된다면 데이터를 모두 탈취 당하게 됩니다.
공개키란 서로다른 키로 암호화와 복호화를 하는 방식입니다. ( 비 대칭키 방식으로도 불림)
데이터 암호화 시에는 공개키를 사용하고 복호화 시에는 개인키를 사용하는 방식입니다.
SSL은 위의 방식을 둘다 사용합니다.
그렇다면 SSL을 왜 사용할까요?
서버와 브라우저간에 전송되는 데이터를 외부의 공격자로부터 보호하기 위해 필요합니다.
'CS > 네트워크' 카테고리의 다른 글
[네트워크] CORS란? (0) | 2023.02.02 |
---|