본문 바로가기
개념/Web

HTTPS

by Hwanii_ 2023. 10. 25.
728x90

1. HTTP 전송

 

정상적인 사용자에게 평문 (plaintext) 으로 암호화 하지 않은 중요한 정보를 전송 하게 될 때,

정상적인 사용자 입장에서는 빠르게 정보를 읽을 수 있기 때문에 좋다.

 

하지만, 보안에 취약 하기 때문에 비정상적인 사용자에게 데이터 유출을 당하기 쉽다.

 

그래서 HTTPS 라는 개념이 나오게 되었다.

 

데이터를 암호화 해서 비정상적인 사용자가 데이터를 가로챈다고 해도 데이터를 읽을 수 없으므로,

암호화의 중요함을 알 수 있게 된다.

 

따라서 HTTPS 를 사용 한다.

 

실제로 웹페이지에서 HTTPS 를 사용하라고 유도를 하는데,

사이트에 http:// 로 시작하는 사이트에 접속 하려고 하면, '이 사이트는 안전하지 않습니다.' 라며 안내를 해준다.

 

 

 

2. HTTPS 권장

 

실제로 구글이나 네이버 같은 웹사이트에 HTTPS:// 의 s를 제외하고 HTTP://google.com 등으로 입력 하면

자동으로 HTTPS:// 로 리다이렉트 시켜주는 것을 확인 할 수 있다. 

 

 

 

3. SSL / TLS

 

Secure Sockets Layer >> SSL (구버전)

 

Transport Layer Security >> TLS (신버전)

 

둘다 데이터를 암호화 하는 "통신 프로토콜" 이다.

 

( (통신) 프로토콜 : 메세지를 주고 받는 양식과 규칙의 체계. 즉, 통신 규약 및 약속을 의미 )

 

현재는 TLS 를 사용 한다.

 

1) 데이터를 암호화 하여 제 3자가 데이터를 볼 수 없게 한다.

2) 데이터 변조 여부를 검증 한다.

3) 상호 인증을 지원 한다.

 

 

 

SSL / TLS 계층이 추가됨으로써, 시간 지연이 일어나게 된다.

 

 

 

4. HTTPS 사용 이유 3가지 (네트워크 보안)

 

HTTPS = 기밀성 + 무결성 + 통신 상대 인증

 

1) 데이터 기밀성

데이터를 어떻게 암호화 할 것인가 ?

 

>> 대칭키 암호화 (한개의 키를 사용 : 대칭키)

 

메세지를 대칭키를 사용 하여 암호화된 메세지를 만든다.

그러면 대칭키라는 말 그대로 똑같은 키로 복호화 해서 메세지를 받을 수 있게 된다.

 

>> 비대칭키 (공개키) 암호화 (두개의 키를 사용 : 개인키 / 공개키)

 

메세지를 공개키를 사용 하여 암호화된 메세지를 만든다.

그리고, 공개키가 아닌 '개인키' 로 복호화 해서 메세지를 받을 수 있게 된다.

 

즉, 대칭키 또는 비대칭키 개념을 통해서 데이터의 기밀성을 지키고 있다.

 

2) 데이터 무결성

데이터가 조작 되지 않았음을 어떻게 알 수 있는가 ?

 

암호화 해시 함수 : Cryptographic Hash Function

 

 

 

암호화 해시 함수를 통해서 각가의 해시값이 같지 않으면 데이터 변조가 일어나지 않은 것 이다.

 

3) 통신 상대 인증

 

통신 상대를 신뢰 할 수 있는가 ?

 

인증 기관 (Certificate Authority)

 

서버가 서버 정보를 가지고 서버의 인증 기관으로 보내고,

이 인증 기관은 서버 정보를 암호화 해서 서버 인증서를 만들고, 인증기관이 다시 서버에게 서버 인증서를 보낸다.

그리고 서버는 클라이언트에게 암호화된 서버 인증서를 보낸다.

그러면 클라이언트는 들고있는 서버 인증서에 서버 정보가 있기 때문에,

인증 기관을 통해서 해당 서버가 정상적인 서버인지를 확인 하는 흐름 이다.

 

만약, 비정상적인 서버가 인증 기관을 위조 하려고 하면 어떻게 될까 ?

 

인증서는 인증서 체인을 통해 인증을 하기 때문에, 처음에 인증서가 비정상적인 서버 이면 인증서 발급이 되지 않는다.

 

반응형

'개념 > Web' 카테고리의 다른 글

네트워크 액세스 계층 - 이더넷  (0) 2023.12.20
TCP와 UDP  (0) 2023.12.20
DNS (Domain Name System)  (1) 2023.12.19
네트워크 포트 (Port) 번호  (0) 2023.12.19
쿠키와 세션  (0) 2023.10.25