오늘은 https에 대해서 알아보도록 하겠습니다.
https를 알아보기전에 http부터 알아보자면
http란?
hypertext transfer protocol으로 하이퍼 텍스트 전송 프로토콜입니다.(평문으로 데이터 전송)
서버와 클라이언트 간의 데이터를 전송하는 용도로 가장 많이 사용함
https란?
hypertext transfer protocol secure로 http의 보안 취약점을 보완하기 위해 ssl(secure socket layer)이 추가된 프로토콜입니다.
ssl은 서버와 브라우저 사이에서 안전하게 암호화된 연결을 만들 수 있게 도와준다.
HTTP Message Body를 암호화한다.
또한 https를 사용하면 다음과 같은 이점을 챙길 수 있습니다.
- 보안성
- SEO(검색엔진 최적화)
SSL/TLS
ssl 이란?
Netscape Communications Corporation에서 웹 서버와 웹 브라우저간의 보안을 위해 만든 프로토콜(공개키/개인키 대칭키 두방식을 기반으로 사용함)
그렇다면 어떤 방식으로 암호화와 복호화를 진행하는지 궁금해집니다.
그전에 대칭키와 공개키 방식에 대해 간단하게 살펴보겠습니다.
대칭키
대칭키 방식은 동일한 키로 암호화와 복호화를 수행하는 방법
키만 가지고 있다면 암호화 복호화를 할 수 있음
- 암복호화가 쉬움
- 키를 탈취당했을 경우 치명적임
공개키(비대칭키)
서로 다른 키로 암호화와 복호화를 수행하는 방법
공개키(암호화) - 개인키(복호화)
- 공개키는 누구든지 가져도 상관이 없습니다. - 보안성 향상
- 암호화 연산 시간이 더 소요되어 비용이 크다.
ssl 통신 과정
- ssl은 공개키 방식으로 대칭키를 전달합니다.
- 이 대칭키를 활용해서 암호화와 복호화를 하고, 서버와 브라우저간 통신을 진행합니다.
다음 글에서는 ssl 통신과정을 10개 이상의 단계로 나누어 설명하는 글을작성하도록 하겠습니다.
반응형
'etc' 카테고리의 다른 글
오픈소스 분석하기(2) - 프로젝트 실행하기 (1) | 2024.01.03 |
---|---|
오픈 소스 분석하기(1) - 프로젝트 선정 및 Overview (0) | 2024.01.02 |
퍼페티어(puppeteer)사용하여 크롤링 하기 (1) | 2023.03.12 |
인증과 인가 (0) | 2022.07.24 |
OOP(객체 지향 프로그래밍)이란? with typescript (0) | 2022.05.29 |