muyeon 2024. 4. 26. 19:24
https 는 http 에 보안이 추가된 것이다.
이는 너무 단순하며, 이렇게만 알고있으면 https 를 설명하기 어렵다.

https

 

암호화 및 인증을 위해 SSL/TLS 프로토콜을 사용하는 http 의 보안 버전이다.

기본적으로 443 포트를 사용한다.

 

https 프로토콜을 사용하면 웹 사이트 사용자가 신용 카드 번호, 은행 정보, 로그인 자격 증명과 같은 민감한 데이터를 안전하게 전송할 수 있다.

이러한 이유로 https 는 웹사이트를 보호하는데 특히 중요하기에 모든 웹사이트의 표준 프로토콜로 자리잡고 있다.

 


https / http

 

https 는 http 프로토콜에 암호화, 인증 및 무결성을 추가한다.

 

1. 암호화

 

http 는 원래 일반 텍스트 프로토콜로 설계되었기 때문에 중간자 공격에 취약하다. 

SSL/TLS 암호화를 포함함으로써 https 는 인터넷을 통해 전송된 데이터가 제 3자에 의해 가로채어 읽히는 것을 방지한다.

공개키 암호화 및 SSL/TLS 핸드셰이크를 통해 공유 비밀 키 생성을 통해 직접 만난적이 없는 웹 서버 및 브라우저간에 암호화된 통신 세션을 안전하게 설정할 수 있다.

 

2. 인증

 

http 와 달리 https 에는 SSL/TLS 프로토콜을 통한 강력한 인증이 포함된다.

웹사이트의 SSL/TLS 인증서에는 웹 브라우저가 서버에서 보낸 문서가 해당 개인키를 소유한 사람에 의해 디지털 서명이 되었는지 확인하는데 사용할 수 있는 공개키가 포함되어 있다.

서버의 인증서가 공개적으로 신뢰할 수 있는 인증기관(CA)에 의해 서명된 경우 브라우저는 인증서에 포함된 모든 식별 정보가 신뢰할 수 있는 제3자에 의해 검증되었음을 수락한다.

https 웹 사이트는 웹 브라우저가 사용자를 식별하는 클라이언트 인증서를 제공하는 상호 인증을 위해 구성될 수도 있다.

상호 인증은 피싱이나 자격 증명 도용과 관련된 기타 공격의 위험을 줄이기 위해 다단계 인증을 포함하는 것이 바람직한 원격 작업과 같은 상황에 유용하다.

 

3. 무결성

 

https 웹 서버에서 브라우저로 전송된 각 문서에는 웹 브라우저가 문서가 제 3자에 의해 변경되지 않았는지 사용할 수 있는 디지털 서명이 포함되어 있다.

서버는 디지털 문서 컨텐츠의 함호화 해시를 계산하며, 브라우저는 이를 독립적으로 계산해 문서의 무결성이 손상되지 않았음을 증명할 수 있다.

 

이런 암호화, 인증 및 무결성 보장을 종합하면 https 는 웹에서 비즈니스를 검색하고 수행하는데 http 보다 훨씬 안전한 프로토콜이다.

 


대칭 암호와 비대칭 암호

 

https 는 대칭키 방식과 비대칭키를 함께 사용한다. 

때문에 https 를 이해하려면 대칭암호의 장단점과 비대칭암호의 장단점을 알 필요가 있다.

 

1. 대칭 암호

 

송신자와 수신자간 같은 키를 공유하는 방식이다. 이의 장점으로는 비대칭 암호보다 훨씬 빠르다는 장점이 있다.

하지만 송수신자간 같은 키를 공유하기에 이 키가 유출될 시 위험을 초래할 수 있다.

 

2. 비대칭 암호

 

송수신자간 다른 키를 사용하는 방식이다. 공개키와 개인키를 가지고 있는 것이 특징이고, 공개키로 암호화된 데이터는 개인키로만 복호화할 수 있다. 

이를 통해 데이터를 안전하게 전송할 수 있다는 장점이 있다.

하지만 상대적으로 대칭암호보다 느리다.


https 는 어떻게 작동할까?

 

https 는 http 와 마찬가지로 요청-응답 하는 형식으로 작동한다.

그러나 https 는 암호화를 위해 SSL/TLS 인증서를 사용한다.

 

1. 웹사이트 접속

 

사용자의 웹 브라우저가 https 를 사용해 웹사이트에 접속을 시도한다.

 

2. SSL 인증서 전송

 

서버는 SSL/TLS 인증서를 브라우저에 전송해 응답한다.

이 인증서에는 공개키가 포함되어 있고 보안 연결을 설정하는데 사용된다.

 

3. 브라우저가 인증서 확인

 

브라우저는 인증서가 유효한지, 신뢰할 수 있는 인증기관에서 발급되었는지를 확인한다.

 

4. 암호화 키 교환

 

인증서가 확인되면 브라우저와 서버는 키를 교환하여 암호화된 연결을 설정한다.

브라우저는 서버의 공개키를 사용해 정보를 암호화한다.

이 정보는 서버가 보유하고 있는 개인키로만 복호화 가능하다.

 

5. 암호화된 데이터 전송

 

브라우저와 서버간에 전송되는 모든 데이터는 보안 연결이 설정된 후 암호화된다.

해커가 데이터를 가로채더라도 데이터를 읽을 수 없도록 보장한다.

 

6. 데이터 복호화 및 표시

 

서버는 수신된 데이터를 개인키를 이용하여 복호화하고 처리한 후 요청한 정보를 돌려보낸다. 물론 이 데이터도 암호화 된다.

그 다음 브라우저는 들어오는 데이터의 암호를 해독하고 웹 사이트 컨텐츠를 사용자에게 표시한다.

 


https 의 이점

 

1. 개인 정보 보호

 

http 는 중간자, 패킷 스니핑, 세션 하이제킹과 같은 공격에 취약하다.

하지만 https 의 연결에 사용되는 암호화는 브라우저와 웹 사이트 서버 사이에 데이터를 보호해 이런 공격을 방지한다.

 

2. 사용자 경험

 

https 는 사용자가 사이트를 사용할 때 신뢰감을 준다.

사용자들은 자물쇠기호로 웹사이트가 안전한지 인지할 수 있다.

 

3. 검색 순위

 

https 는 google 과 같은 검색 엔진에서 웹 사이트의 순위와 가시성을 높일 수 있다.

 

왜 높일 수 있을까?

 

google 은 https 를 우선으로 사용한다.

https 를 사용하는 검색엔진 결과 페이지에서 더 높게 표시되고 더 많은 유기적 트래픽과 잠재 고객을 유치할 가능성이 높다.

 

 


마무리

 

https 에 대해 알아보았는데 더욱 자세한 내용들이 존재한다.

http 와 마찬가지로 https 도 3 way handshake 를 진행하며 이 것들이 어떻게 이루어지는지,

SSL/TSL 인증서를 전송하는 과정 등 모두 여기에 적기는 길어질 것 같아 포함하지 않았다.

이에 대해 잘 설명해둔 글들이 있어 링크를 공유하며 마무리한다.

 

https://www.ssl.com/article/ssl-tls-handshake-ensuring-secure-online-interactions/

 

SSL/TLS Handshake: Ensuring Secure Online Interactions - SSL.com

SSL/TLS handshake establishes encrypted link between client-server to enable secure data transmission. It authenticates parties, agrees on encryption, and creates session keys through digital certificates, asymmetric encryption, cipher suites.

www.ssl.com

 

https://www.ssl.com/faqs/what-is-https/

 

What is HTTPS? - SSL.com

HTTPS (Hypertext Transfer Protocol Secure) is a secure version of the HTTP protocol that uses the SSL/TLS protocol to encrypt data sent between a web browser and a website.

www.ssl.com

https://www.cloudflare.com/ko-kr/learning/ssl/what-is-https/