HTTP(Hypertext Transfer Protocol)는 웹 브라우저와 웹 서버 간의 데이터 전송을 위한 텍스트 기반의 프로토콜이며, 데이터가 암호화되지 않아 보안이 취약 반면에 HTTPS(Hypertext Transfer Protocol Secure)는 HTTP의 보안 버전으로
데이터를 암호화 하여 전송
꼬리질문
1. HTTPS를 사용함으로써 어떤 장점이 있나요?
1. 데이터의 기밀성과 무결성이 보장
2. 웹사이트의 신뢰성이 높아져 사용자에게 더 안전한 환경을 제공
3. 검색 엔진에서의 검색 랭킹에도 긍정적인 영향 ( Google 등의 검색 엔진은 HTTPS를 사용하는 웹사이트를 선호 )
4. 검증된 기관에서 SSL인증서를 발급하기 때문에 신뢰할 수 있음
2.HTTPS는 어떠한 방식으로 데이터를 암호화 하나요?
HTTPS는 데이터를 암호화하기 위해 주로 SSL(Secure Sockets Layer) 또는 최근에는 TLS(Transport Layer Security) 프로토콜을 사용, 프로토콜은 공개키 기반의 암호화 방식을 사용하여 데이터의 기밀성을 보호
1. 핸드셰이크 (Handshake):
클라이언트가 서버에게 접속할 때 SSL/TLS 핸드셰이크가 이루어집니다. 이 과정에서 클라이언트와 서버는 서로의 신원을 확인하고 통신에 사용할 암호화 알고리즘 및 키를 협상
2. 공개키 전달:
서버는 공개키와 대응되는 개인키를 가지고 있습니다. 서버는 클라이언트에게 공개키를 전달합니다.
3. 암호화된 통신:
클라이언트는 서버의 공개키를 사용하여 세션 키(일회성 키)를 생성하고 이를 서버에게 암호화하여 전송합니다. 서버는 자신의 개인키를 사용하여 세션 키를 해독
4. 대칭키 암호화:
이후 클라이언트와 서버는 협상된 암호화 알고리즘 및 세션 키를 사용하여 통신을 암호화합니다. 이는 대칭키 암호화 방식을 사용하며, 데이터 전송이 암호화되어 중간에서의 감청이나 변조를 방지
결론 : HTTPS는 SSL 또는 TLS 프로토콜을 사용하여 데이터를 암호화합니다. 클라이언트와 서버 간의 핸드셰이크를 통해 암호화 알고리즘과 키를 협상하고, 서버의 공개키를 이용하여 세션 키를 안전하게 전송합니다. 이후 양측은 협상된 세션 키를 사용하여 데이터를 대칭키 암호화하여 안전하게 전송합니다.
'cs 공부' 카테고리의 다른 글
| 대용량 트래픽 발생 시 어떻게 대응해야 하나요? (0) | 2023.12.12 |
|---|---|
| DI, IoC에 대해 설명해주세요. (0) | 2023.12.12 |
| TCP/UDP에 대해서 설명해주세요. (1) | 2023.12.11 |
| 쿠키, 세션의 개념과 차이를 설명해보세요 (0) | 2023.12.11 |
| 브라우저의 작동 방식 (0) | 2023.12.11 |