🔴

[테코톡] Http vs Https

작성일자
Apr 1, 2023
태그
SUB PAGE
프로젝트
테코톡
책 종류

공부한 내용

📖
본 글은 하단 영상들을 보고 학습한 내용을 요약, 정리한 글입니다.
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의 보안이 이뤄지는지 영상에서 확인하세요!
HTTPS가 뭐고 왜 쓰나요? (Feat. 대칭키 vs. 비대칭키)

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로 데이터 전송 시, 데이터를 암호화해서 전송함
              • 해커가 중간에서 가로채도, 데이터 내용 파악 어려움
      1. 검색 엔진 최적화(SEO)
          • 예시)
            • 구글은 HTTPS를 사용하는 웹 사이트에 가산점을 부여함 → 검색 엔진 노출 유리
            • AMP(가속화된 모바일 페이지)를 만들 땐 HTTPS를 사용해야만 함 → 모바일 친화적 웹사이트 만들 때 유리
      1. 신뢰할 수 있는 사이트인지 판별
          • 예시)
            • 기관으로부터 검증된 사이트만 주소에 HTTPS 사용이 허가됨
            • HTTP를 사용하는 사이트는 주소창에 ‘안전하지 않다’는 표시가 뜨게 됨

SSL 통신 과정

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