본문 바로가기

학습/웹개발 직무 수행 중 메모

[면접] HTTP와 HTTPS의 차이점

HTTP는 TCP 80, HTTPS는 TCP 443 포트

HTTP는 데이터 보안 없이 통신하는 데 사용되며, HTTPS는 암호화된 통신을 위해 사용됩니다.

 

암호화 통신으로 SSL/TLS 인증서를 사용하며, 

사용자가 서버의 공개키 암호 알고리즘(RSA)으로 대칭키인 세션키(AES)를 암호화해서 서버에게 보내면 서버가 개인키(RSA)로 복호화해서 세션키(AES)를 공유하고, 이후에 데이터를 세션키(AES)로 데이터를 암호화하여 송수신한다.

 

 

참고.

한국에서 TLS (SSL) 인증서를 신청하고 웹서버에 적용하는 과정은 다음과 같습니다:

1. **인증서 발급 요청 준비:**
   - 웹서버를 준비하고, 인증서 발급을 위해 CSR (Certificate Signing Request)를 생성합니다. CSR에는 웹사이트 도메인 정보와 공개 키가 포함됩니다.

2. **인증서 발급 기관 선택:**
   - 한국에서 신뢰할 수 있는 인증 기관 (CA)을 선택합니다. 이 기관에서 SSL 인증서를 발급받을 수 있도록 등록 및 신청을 진행합니다.

3. **인증서 신청 및 검증:**
   - 선택한 인증 기관의 웹사이트로 이동하여 SSL 인증서 신청을 진행합니다. 필요한 정보와 CSR 파일을 제출하며, 기관에서 신원 정보 검증을 위한 단계를 거칠 수 있습니다.

4. **CSR 제출 및 인증서 발급:**
   - CA가 CSR 및 필요한 정보를 검토한 후, SSL 인증서를 발급해줍니다. 이 인증서에는 웹사이트의 도메인 정보와 공개 키가 포함됩니다.

5. **인증서 다운로드:**
   - 발급된 SSL 인증서와 개인 키를 웹서버에 다운로드하고 안전한 장소에 보관합니다. 개인 키는 외부에 노출되면 안되므로 보안을 신경써야 합니다.

6. **웹서버 설정 구성:**
   - 웹서버 설정 파일에서 SSL 인증서와 개인 키의 경로를 지정하여 HTTPS 프로토콜을 활성화합니다. 대부분의 웹서버는 Apache, Nginx 등이며, 각각의 설정 방법이 다소 다를 수 있습니다.

7. **웹서버 재시작:**
   - 설정 변경 후, 웹서버를 재시작하여 변경 사항을 적용합니다. 이제 웹사이트는 HTTPS를 통해 SSL 인증서를 사용하여 암호화된 통신을 제공하게 됩니다.

8. **HTTPS 확인:**
   - 웹 브라우저를 통해 웹사이트에 접속하여 주소 표시줄에 "https://"가 표시되는지 확인하고, 브라우저에서 보안 로고나 자물쇠 아이콘이 표시되는지 확인합니다.

위의 과정을 통해 한국에서도 SSL/TLS 인증서를 신청하고 웹서버에 적용하여 안전한 HTTPS 통신을 구축할 수 있습니다. 인증서 신청 및 발급 과정에서는 인증 기관의 지침을 정확히 따라야 하며, 개인 키의 안전성을 유지하는 것이 중요합니다.