전체 보기
🔴

[테코톡] Http vs Https

작성일자
2023/04/01
태그
SUB PAGE
프로젝트
테코톡
책 종류
1 more property

공부한 내용

본 글은 하단 영상들을 보고 학습한 내용을 요약, 정리한 글입니다.
HTTPS가 뭐고 왜 쓰나요? (Feat. 대칭키 vs. 비대칭키)
#https #대칭키 #비대칭키 오늘날 운영하는 웹사이트를 HTTPS로 세팅하는 것은 필수가 되었죠. 하지만 이 HTTPS란것이 무엇이며, 이를 사용하는 것이 왜 중요할까요? 🤔 정보를 암호화하고 다시 푸는 두 방식인 대칭키와 비대칭키 시스템을 사용해서 어떻게 HTTPS가 사이트 이용의 🚨보안성을 강화하는지 알아보기로 해요. = = = 🏠 얄코사이트: https://www.yalco.kr 🛒 개발자스티커 구매: https://smartstore.naver.com/honeykers 🎥 가장 쉬운 Git 튜토리얼: https://youtu.be/FXDjmsiv8fI 🎥 포인터 쉽게 알아보기: https://youtu.be/u65F4ECaKaY 🎥 객체지향에 대해 알아보기: https://youtu.be/vrhIxBWSJ04 🎥 객체지향 디자인 패턴: https://youtu.be/lJES5TQTTWE 🎥 함수형 프로그래밍이란?: https://youtu.be/jVG5jvOzu9Y 🎥 쿠키 vs 세션 vs 캐시: https://youtu.be/OpoVuwxGRDI 🎥 프로세스와 스레드: https://youtu.be/iks_Xb9DtTM 🎥 비동기 프로그래밍: https://youtu.be/m0icCqHY39U 🎥 REST API 알아보기: https://youtu.be/iOueE9AXDQQ 🎥 GraphQL 알아보기: https://youtu.be/EkWI6Ru8lFQ 🎵 엔딩송 : 권민호, 김한영 - Let's Dance 🎼 자료출처 : https://gongu.copyright.or.kr 🎼 Music promoted by DayDreamSound : https://youtu.be/L16GOic2UXw 🎬 영상 주요 포인트 🛡 HTTPS를 사용하는 이유 HTTP'S'의 s는 secure에요. 즉 기존의 HTTP 사이트보다 안전하다는 얘기죠. 무엇으로부터 안전할까요? 크게 둘로 나뉘어요. 먼저, 내가 어떤 웹사이트에 보내는 정보를 다른 누군가 훔쳐보지 못하게 합니다. ... 다른 하나는, 여러분이 접속한 사이트가 진품인지, 신뢰할 수 있는 사이트인지를 판별해주는거에요. 🔑 대칭키의 개념 그동안 널리 사용되어 온 건 대칭키 방식이에요. 메시지를 보내는 쪽과 메시지를 받는 쪽이 메시지를 암호화하고, 이를 다시 메시지로 바꾸는 즉 복호화하는 같은 방식을 공유하는거죠. ... 이런 임의의 문자열이 있어요. 이걸 '키'라고 부릅니다. (예시: @#%#%$^#$^#) 4에 3을 곱하면 12가 되죠. 상대방에게 보내고자 하는 메시지를 이 '키'와 함께 어떤 알고리즘에 넣고 돌리면 이처럼 전혀 알 수 없는 암호문이 만들어져요. 12에서 4를 얻어내려면, 3으로 나눠야 하는것처럼 이 암호문을 받은 사람이 이걸 해독하려면 이 키값을 알고, 이 알고리즘을 거꾸로 돌리면 돼요. (딱) 이 과정을 복호화라고 하죠. 이 '키'값을 알지 못하면 절대 이 암호문을 해독할 수 없어요 🗝 비대칭키의 개념 이를 보완한 새 방식이 1970년대에 수학자들에 의해 개발됐어요. 비대칭키, 또는 공개키라 불리는 시스템이죠. 여기에는 두 개의 키가 사용돼요. 각각 A키와 B키라고 부를게요. 이 둘은 한 쌍이에요. 서로 다르기 때문에 '비대칭키'라고 불립니다. 이 암호화 방식을 개발자들은 보통 '공개키'라고 많이 부르는데 이 영상에서는 여러분이 헷갈리지 않도록 '대칭키'와 상반되는 개념으로 '비대칭키' 방식이라 부를게요. 대칭키 시스템에서는 어떤 키로 암호화를 하면 같은 키로 복호화를 할 수 있었지만, 여기서는 A키로 암호화를 하면 B키로만 복호화할 수 있어요. 반대로 B키로 암호화를 하면 A키로만 풀 수가 있죠. 🏢 Certificate Authority 일단 네이버가 우리에게 뿌린 공개키. 이게 정품인지를 확인할 수 있어야죠. 네이버가 아니라 네이놈의 공개키일수도 있으니까요. 이걸 인증해주는 공인된 민간기업들이 있어요. Certificate Authority, 줄여서 CA 라고 부르죠. 이런 회사들이에요. 아무나 차려서 될 수 있는게 아니라 엄격한 인증과정을 거쳐야 CA를 할 수 있는거에요. 여러분의 브라우저, 즉 크롬이나 사파리, 파이어폭스, 엣지, 익스플로러 등의 프로그램에는 이 CA들의 목록이 내장돼있어요. 🌟 위 개념들을 사용해서 구체적으로 어떻게 HTTPS의 보안이 이뤄지는지 영상에서 확인하세요!

HTTP vs HTTPS

HTTP (Hypertext Transfer Protocol)
정의) 서로 다른 시스템들 사이에서 통신을 주고받게 하는 가장 기본적인 프로토콜
특징)
서버에서 브라우저로 데이터를 전송하는 용도로 가장 많이 사용됨
전송되는 정보가 암호화되지 않음 → 데이터 도난 쉬움 [문제점]
HTTPS(Hypertext Transfer Protocol Secure)
정의) HTTP에 SSL(보안 소켓 계층)을 사용한 프로토콜
특징)
SSL을 이용해 HTTP의 문제점 해결함
SSL이 서버와 브라우저 사이에서 암호화된 연결 만들게 도와줌
단, HTTPS가 HTTP 자체를 암호화하는 것은 아님
HTTP Message Body 암호화 O
HTTP Header는 암호화 X
HTTPS를 써야 하는 이유
1.
보안성 확보
예시)
HTTP로 데이터 전송 시, 네트워크로 데이터 원본이 전달됨
해커가 중간에서 가로챈 후, 데이터 내용 파악 가능
HTTPS로 데이터 전송 시, 데이터를 암호화해서 전송함
해커가 중간에서 가로채도, 데이터 내용 파악 어려움
2.
검색 엔진 최적화(SEO)
예시)
구글은 HTTPS를 사용하는 웹 사이트에 가산점을 부여함 → 검색 엔진 노출 유리
AMP(가속화된 모바일 페이지)를 만들 땐 HTTPS를 사용해야만 함 → 모바일 친화적 웹사이트 만들 때 유리
3.
신뢰할 수 있는 사이트인지 판별
예시)
기관으로부터 검증된 사이트만 주소에 HTTPS 사용이 허가됨
HTTP를 사용하는 사이트는 주소창에 ‘안전하지 않다’는 표시가 뜨게 됨

SSL 통신 과정

SSL (Secure Sockets Layer)
정의) Netscape Communcations Corporation에서 웹 서버와 웹 브라우저 간의 보안을 위해 만든 프로토콜
특징)
대칭키 방식과 비대칭키 방식을 혼합해서 사용함
대칭키 방식 : 동일한 키로 암호화와 복호화를 수행하는 방법
장점) 암호화/복호화 쉬움 → 연산 시간 적게 소요됨
단점) 키 배송 문제 있음
비대칭키 방식 : 서로 다른 키로 암호화와 복호화를 수행하는 방법
특징)
암호화 시 공개키 사용
복호화 시 개인키 사용
장점) 키 배송 문제 없음
단점) 암호화 연산 시간 많이 소요됨
SSL 통신 과정
정의) 비대칭키 방식으로 대칭키를 전달하고, 이 대칭키로 암호화와 복호화를 함
예시)
A) B에게 접속 요청 보냄
B) A에게 자신의 공개키 보냄
A) 자신의 대칭키를 B의 공개키로 암호화함. 암호화한 대칭키를 B에게 보냄
B) A의 대칭키를 자신의 개인키로 복호화함. 복호화 결과로 A의 대칭키를 얻어냄
결론) 해당 대칭키로 A와 B는 안전하게 통신함
추가