본문 바로가기
IT/서버

HTTPS란? SSL인증서란?

by 모띠 2025. 5. 6.
반응형

 

 

 

최근, HTTP 커넥션 기능만 있는 프로그램에 HTTPS 커넥션을 추가할일이 생겼다.

HTTPS는 HTTP에 + TSL(SSL)기능을 추가하여 암호화하므로 SSL 인증서를 발급받아야한다.

인증서를 발급받는법부터 다양한 인증서 종류를 이번기회에 정리해보려고 한다.

 

 

HTTPS란?

하이퍼텍스트 전송 프로토콜 보안(HTTPS)은 웹 브라우저와 웹 사이트 간에 데이터를 전송하는 데 사용되는 기본 프로토콜인 `HTTP`의 보안 버전이다. HTTPS는 암호화 프로토콜을 통해 통신을 암호화한다. 이전에는 SSL방식을 사용했지만 지금은 TLS방식을 사용하므로 정확히는 TLS로 불러야하지만 대부분 그냥 SSL로 합쳐서 부른다. 

이 프로토콜은 비대칭키 방식으로 비밀키, 공개키를 사용하여 암호화한다.

HTTP는 경로공격에 취약하여 다른사람이 내용을 훔쳐볼 수 있는 단점이 존재한다. 하지만 HTTPS를 사용하면 내용물이 탈취되어도 해독이 불가능해진다.

 

암호화 전:

완전히 읽을 수 있는 텍스트 문자열입니다

 

암호화 후:

ITM0IRyiEhVpa6VnKyExMiEgNveroyWBPlgGyfkflYjDaaFf/Kn3bo3OfghBPDWo6AfSHlNtL8N7ITEwIXc1gU5X73xMsJormzzXlwOyrCs+9XCPk63Y+z0=

 

 

 

HTTPS는 HTTP + SSL을 추가하여 암호화한것뿐이라 HTTP를 사용하는것은 동일하다.  HTTPS는 특정 공급자가 주장하는 실체가 맞는지 확인하는 `TLS/SSL 인증서`의 전송을 기반으로 이루어진다. 사용자가 웹 페이지에 연결하면 웹 페이지에서 보안 세션을 시작하는 데 필요한 공개키가 포함된 SSL 인증서를 전송한다. 그런 다음 두 컴퓨터, 즉 클라이언트와 서버가 보안 연결을 설정하는 데 사용되는 일련의 주고받는 통신인 SSL/TLS 핸드셰이크라는 프로세스를 거친다.

 

자세한 내용은 링크를 확인하면 되고, 중요한것은 SSL 인증서를 통하여 SSL 보안 프로토콜을 실행한다는 점이다.

 

 

 


 

 

 

SSL 인증서란?

이제 HTTPS를 사용하기위해 SSL 인증서가 필요하는 것은 알았다. 그렇다면 인증서란 무엇일까?

인터넷을 하다보면 검색창 왼쪽 아이콘을 클릭하면 아래와 같은 메시지를 볼 수 있다.

이미지는 tistory에서 캡쳐했는데 tistory는 인증서로 하여금 HTTPS 보안 연결을 지원한다는 의미이다.

 

 

여기서 페이지에 관한 정보를 클릭하면 인증서를 볼 수 있다.

 

해당 인증서를 통해 암호화는 어떤 서명 알고리즘을 쓰고있으며, 공개 키가 무엇인지, 발급기관이 누구인지 등에 관한 정보를 전부 확인해 볼 수 있다. 즉, 인증서란 데이터를 암호화하기위한 모든 정보를 포함하는 문서를 의미한다.

인증서를 통해 핸드쉐이크는 하는 과정은 결국 암호화하기위한 대칭키를 서로 전달하기 위함인데 방법은 간단하게 아래와 같다.

 

  1. 클라이언트가 서버에 접속.
  2. 서버는 클라이언트에게 인증서를 전달. (CA로부터 발급받은 인증서이므로 CA의 개인키로 디지털서명이 되어있음)
  3. 클라이언트는 인증서가 CA의 공개키로 복호화가 되는지 확인. (믿을 수 있는 인증서임을 확인)
  4. 클라이언트는 실제 통신시 사용할 `대칭키`를 만들 수 있는 방법을 인증서안에 들어있는 서버의 공개키로 암호화하여 전달.
  5. 서버는 받은 데이터를 본인의 비밀키로 복호화하여 나온 방법대로 대칭키를 획득
  6. handShake 종료. 앞으로 데이터는 대칭키로 암호화하여 주고받음.

2,3번에서 인증서 자체가 변조되는것을 막기위하여 해당 인증서가 신뢰할수있는 기관으로부터(root CA) 발급 받은 인증서인지 확인한다. 신뢰할수 있는 기관은 운영체제 자체에 특정 기관들이 명시되어있다. 해당 기관들로부터 발급받은 인증서가 아니면 신뢰할수 없는 인증서라고 표기한다. 그러므로 직접 서명한 인증서는 신뢰할 수 없다고 나타난다

 

 

이번 포스팅에서 HTTPS, SSL이 무엇이고 암호화시에 인증서를 어떻게 사용하는지를 정리했다.

다음 포스팅에서는 인증서를 실제 발급받는 방법에 관해 설명하겠다.

반응형

'IT > 서버' 카테고리의 다른 글

SSL 인증서 발급하기  (0) 2025.05.15
리눅스 파일별, 디렉토리별 디스크 사용량 확인  (1) 2024.11.18
vsftpd란?  (0) 2023.03.27
curl 사용법  (0) 2023.03.26
telnet  (0) 2023.03.26

댓글