카테고리 없음

https 란? (왜 사용하는가?/http와 차이/ssl인증서/비대칭 키)

삐뚤어진 개발자 2021. 4. 20.

https 란? http와 차이

 

요즘 https가 적용되지 않은 사이트들을 찾아보기 힘들정도로 대부분의 사이트들이 https를 사용하고 있습니다.

https를 쉽게 말하자면, http 통신에, ssl 인증서가 추가된 형식입니다.

http 통신은 암호화, 복호화가 없어 왜 굳이 ssl 인증서가 추가된 https를 사용하는 것 일까요?

 

그 이유는 보안에 있습니다.

 

 

왜 https를 사용할까?

 

아래는 http 통신의 구조입니다. 네트워크를 통해 데이터를 전송하고, 수신합니다.

근데 중간에 해커가 네트워크 장비에 접속할 수 있게 되면 패킷을 볼수 있습니다. 간단히 말해 아이디, 비밀번호를 입력하거나, 개인정보를 입력하여 서버에 보낼때 그런 정보들을 중간에 가로채서 볼수 있다는 뜻입니다.

만약 데이터가 암호화 되어서 보내지고, 받는 쪽에서 그 암호화 데이터를 복호화해서 전달받는다면 중간에 가로채도 인증키가 없으면 데이터를 볼수가 없게 됩니다. 그것을 적용한 것이 https 입니다.

 

 

https 작동 원리?

 

먼제 https의 동작 원리를 이해하려면 크게 1. 보안연결 2. 인증서의 구조 두가지를 이해하시면 됩니다.

 

1. ssl 인증서 보안연결

 

먼저 서버에서 클라이언트 쪽으로 인증서를 먼저 보냅니다. 클라이언트의 CA를 통해서 클라이언트가 신뢰가 가능한지 검증하는 단계입니다. 

 

그리고 위의 검증을 통과하게 되면, 보안 연결수립 단계가 진행됩니다. 서버-클라이언트 간에 생성된 랜덤 값을 통해 대칭키를 생성하고, 이를 통해 암호화하여 데이터를 송수신 합니다.

 

2. 인증서 구조

인증서는 아래와 같이 구조가 잘설명되어 있는 그림을 갖고 왔습니다. 비대칭 키 방식으로 이루어진 구조입니다.

 

서버에 접속하는 클라이언트들은 공개 키를 부여받고 그 공개키로 데이터를 암호화하여 서버로 보냅니다.  

서버에 도착한 암호화된 데이터를 비공개 키로 복호화하여 데이터를 받는 형식입니다.

 

 

 

긴글 읽어 주셔서 감사합니다.

더 궁금하신 사항은 댓글로 문의해주시면 빠르게 답변드리겠습니다.

 

 

댓글