CS) HTTP - 2
1. HTTPS
HTTP/2는 HTTPS 위에서 동작합니다. 이때, HTTPS는 애플리케이션 계층과 전송 계층사이에 신뢰 계층인 SSL / TLS 계층을 넣어 신뢰할 수 있는 HTTP 요청입니다.
SSL / TLS
SSL / TLS는 전송 계층에서 보안을 제공하는 프로토콜입니다. 통신을 할 때 SSL / TLS를 통해 제 3자가 메시지를 도청하거나 변조하지 못하도록합니다. SSL / TLS를 통해 공격자가 서버인 척하며 사용자 정보를 가로채는 네트워크상의 인터셉터를 방지할 수 있습니다. 보안 세션을 기반으로 데이터를 암호화하며 보안 세션이 만들어질 때 인증 메커니즘, 키 교환 암호화 알고리즘, 해싱 알고리즘이 사용됩니다.
- 세션 : 운영체제가 어떠한 사용자로부터 자신의 자산 이용을 허락하는 일정한 기간을 뜻합니다.
사이퍼 슈트
사이퍼 슈트란 프로토콜, AEAD 사이퍼 모드, 해싱 알고리즘이 나열된 규약을 말합니다.
- AEAD 사이퍼 모드
- 데이터 암호화 알고리즘입니다.
- 해싱 알고리즘
- 데이터를 추정하기 힘든 더 작고, 섞여 있는 조각으로 만드는 알고리즘입니다.
인증 메커니즘
인증 메커니즘은 CA에서 발급한 인증서를 기반으로 이루어집니다. CA에서 발급한 인증서는 안전한 연결을 시작하는데 필요한 공개키를 클라이언트에 제공하고 사용자가 접속한 서버가 신뢰 할 수 있는 서버임을 보장합니다.
- 개인키 : 비밀키라고도 하며, 개인이 소유하고 있는 키이자 자신만이 소유해야하는 키입니다.
- 공개키 : 공개되어있는 키입니다.
암호화 알고리즘
암호화 알고리즘은 대수곡선 기반의 ECDHE 혹은 모듈식 기반의 DHE를 사용합니다. 이때 두 알고리즘은 모두 디피-헬만 방식을 근간으로 만들어 졌습니다.
- 디피-헬만 방식 : 암호화 알고리즘은 암호키를 교환하는 하나의 방법입니다.
- 장점
- 비밀키를 필요할 때마다 다르게 생성해 비밀키 보관에 따른 위험성이 적습니다.
- 단점
- 중간자 공격에 취약합니다.
SHA-256 알고리즘
해시 함수의 결괏값이 256비트인 알고리즘이며 비트 코인을 비롯한 많은 블록체인 시스템에서도 사용합니다. 256알고리즘은 해싱을 해야 할 메시지에 1을 추가하는 등의 전처리를 하고 전처리된 메시지를 기반으로 해시를 반환합니다.
- 해시 : 다양한 길이를 가진 데이터를 고정된 길이를 가진 테이터로 매핑한 값입니다.
- 해싱 : 임의의 데이터를 해시로 바꿔주는 일이며 해시 함수가 이를 담당합니다.
- 해시 함수 : 임의의 데이터를 입력으로 받아 일정한 길이의 데이터로 바꿔주는 함수입니다.
SEO에도 도움이되는 HTTPS
SEO는 검색엔진 최적화를 의미합니다. 검색엔진으로 웹 사이트를 검색했을 때 그 결과를 페이지 상단에 노출시켜 많은 사람이 볼 수 있도록 최적화하는 방법을 의미합니다.
이를 위한 방법으로 캐노니컬 설정, 메타 설정, 페이지 속도 개선, 사이트맵 관리 등이 있습니다.
2. HTTP/3
HTTP/3는 HTTP/1.1, HTTP/2와 함께 World Wide Web에서 정보를 교환하는데 사용되는 HTTP의 세 번째 버전입니다. TCP기반이 아니라 UDP기반으로 돌아갑니다. 또한 HTTP/2에서 장점이었던 멀티플렉싱을 가지고 있고, 초기 연결 설정시 지연 시간 감소라는 장점을 가지고 있습니다.
- 초기 연결 설정 시 지연 시간 감소 : TCP를 사용하지 않기 때문에 3-way handshake를 거치지 않고 통신합니다.