HTTP와 HTTPS의 작동 원리와 차이점

1. HTTP 및 HTTPS의 기본 개념

HTTP (HyperText Transfer Protocol : HyperText Transfer Protocol) : 인터넷에서 가장 널리 사용되는 네트워크 프로토콜로, 웹 서버에서 로컬 서버로 하이퍼 텍스트를 전송하는 데 사용되는 클라이언트 및 서버 요청 및 응답 (TCP) 표준입니다. 브라우저의 전송 프로토콜 은 브라우저의 효율성을 높이고 네트워크 전송을 줄일 수 있습니다.

HTTPS (HyperText Transfer Protocol Secure : HyperText Transfer Protocol Secure) : 보안을 목표로하는 HTTP 채널, 즉 SSL 계층이 HTTP에 추가됩니다. HTTPS의 보안 기반은 SSL이므로 암호화 세부 사항에 SSL이 필요합니다. . HTTPS 개발의 주요 목적은 웹 사이트 서버에 대한 ID 인증을 제공하고 교환 된 데이터의 개인 정보 및 무결성을 보호하는 것입니다.


둘째, HTTP와 HTTPS의 차이점

1. HTTPS 프로토콜은 인증서를 신청하기 위해 CA (Certificate Authority)가 필요하며 일반적으로 무료 인증서가 적으므로 일정 비용이 필요합니다.

2. HTTP는 하이퍼 텍스트 전송 프로토콜이며 정보는 일반 텍스트로 전송되며 데이터는 암호화되지 않은 반면 HTTPS는 보안 SSL 암호화 전송 프로토콜입니다.

3. HTTP와 HTTPS는 완전히 다른 연결 방법을 사용하며 사용되는 포트가 다릅니다 HTTP는 포트 80, HTTPS는 포트 443입니다.

4. HTTP 연결은 매우 간단하고 상태 가 없으며 HTTPS 프로토콜은 암호화 된 전송 및 신원 인증에 사용할 수있는 SSL + HTTP 프로토콜로 구성된 네트워크 프로토콜로 HTTP 프로토콜보다 안전합니다.


세, HTTP의 작동 원리

여기에 사진 설명 삽입
1. 클라이언트가 서버와 TCP 연결을 설정합니다 (3 방향 핸드 셰이크)
. 2. 연결이 성공하면 클라이언트가 서버에 요청을 보냅니다.
3. 서버는 클라이언트가 보낸 요청을 수신 한 후 응답하고 클라이언트에게 응답 정보
4. 서버 응답 정보를 보낸 후 TCP 연결이 끊어 지므로 HTTP는 Stateless가되어 다음 방문은 이전 방문의 프로세스를 알 수 없습니다
5. 클라이언트는 응답 정보를 수신합니다. 브라우저에서 웹 페이지를 렌더링 한 후 브라우저가이를 구문 분석하고 html 파일을 구문 분석합니다.


넷째, HTTPS의 작동 원리

여기에 사진 설명 삽입
1. 클라이언트가 HTTPS 요청을 시작합니다.

사용자는 브라우저에 https URL을 입력 한 다음 서버의 포트 443에 연결합니다.

2. 인증서 보내기

HTTPS 프로토콜을 사용하는 서버에는 디지털 인증서 세트가 있어야합니다.이 인증서 세트는 실제로 공개 및 개인 키 쌍입니다. 공개 키는 자물쇠와 같고 개인 키는 키입니다.이 개인 키만 열 수 있습니다. 공개 키입니다. 다른 사람이 열 수없는 경우 내부의 콘텐츠를 볼 수 없습니다.

서버는 인증서를 클라이언트에게 보냅니다.이 인증서는 실제로 인증서 발급 기관, 만료 시간 등과 같은 많은 정보를 포함하는 공개 키입니다.

3. 클라이언트가 인증서를 확인합니다.

이 작업은 클라이언트의 TLS에 의해 이루어지며 먼저 공개 키가 유효한지 확인하고 이상이 발견되면 인증서에 문제가 있음을 알리는 경고창이 뜹니다.

4. 임의의 키 생성

인증서에 문제가 없으면 임의의 대칭 키를 생성하십시오 . 5. 대칭 키를
암호화하십시오.

공개 키는 대칭 키를 암호화합니다. 위에서 언급했듯이 임의 값은 잠금으로 잠기므로 키가 없으면 잠긴 콘텐츠를 볼 수 없습니다.

6. 암호화 된 정보 전송

암호화 된 대칭 키를 서버로 보내는 목적은 서버가 대칭 키를 얻도록하는 것입니다. 그러면이 대칭 키로 클라이언트와 서버 간의 통신을 암호화하고 해독 할 수 있습니다.

7. 서버가 정보를 해독합니다.

개인 키로 복호화 한 후 서버는 클라이언트가 전달한 대칭 키를 획득 한 후 키를 통해 대칭 적으로 콘텐츠를 암호화합니다. 소위 대칭 암호화는 특정 알고리즘을 통해 대칭 키와 정보를 혼합하는 것입니다. 대칭 키를 알고 있으면 콘텐츠를 가져올 수 없으며 클라이언트와 서버 모두이 키를 알고 있으므로 암호화 알고리즘이 충분히 강력하고 대칭 키가 충분히 복잡하면 데이터가 충분히 안전합니다.

8. 암호화 된 정보의 전송

정보의이 부분은 서버에서 대칭 키로 암호화 한 정보이며 클라이언트에서 복원 할 수 있습니다.

9. 클라이언트가 정보를 해독합니다.

클라이언트는 이전에 생성 된 대칭 키를 이용하여 서비스 세그먼트에서 전송 된 정보를 복호화 한 후 복호화 된 콘텐츠를 얻습니다. 제 3자가 전체 과정에서 데이터를 청취하더라도 무력합니다.


다섯째, HTTPS의 장단점

1. 장점 :

(1) HTTPS 프로토콜을 사용하여 사용자와 서버를 인증하여 데이터가 올바른 클라이언트와 서버로 전송되도록합니다.

(2) HTTPS 프로토콜은 암호화 된 전송 및 신원 인증을 위해 SSL + HTTP 프로토콜로 구성된 네트워크 프로토콜로 http 프로토콜보다 안전하며 전송 중 데이터 도난 및 변경을 방지하고 데이터의 무결성을 보장 할 수 있습니다. .

(3) HTTPS는 현재 아키텍처에서 가장 안전한 솔루션으로, 절대적으로 안전하지는 않지만 중간자 공격 비용을 크게 증가시킵니다.

(4) Google은 2014 년 8 월 검색 엔진 알고리즘을 조정했으며 "동일한 HTTP 웹 사이트에 비해 HTTPS 암호화를 사용하는 웹 사이트가 검색 결과에서 더 높은 순위를 차지할 것"이라고 밝혔습니다.

2. 단점 :

(1) HTTPS 프로토콜 핸드 셰이크 단계는 상대적으로 시간이 많이 걸리므로 페이지로드 시간이 거의 50 %까지 늘어나고 전력 소비가 10 %에서 20 %까지 증가합니다.

(2) HTTPS 연결 캐싱은 HTTP만큼 효율적이지 않아 데이터 오버 헤드와 전력 소비가 증가하고 그 결과 기존 보안 조치도 영향을받습니다.

(3) SSL 인증서는 돈이 필요합니다. 인증서가 강력할수록 비용이 많이 듭니다. 개인 웹 사이트 및 소규모 웹 사이트는 필요하지 않으며 일반적으로 사용되지 않습니다.

(4) SSL 인증서는 일반적으로 IP에 바인딩되어야하며 여러 도메인 이름은 동일한 IP에 바인딩 될 수 없습니다. IPv4 리소스는 이러한 소비를 지원할 수 없습니다.

(5) HTTPS 프로토콜의 암호화 범위도 상대적으로 제한되어 있으며 해커 공격, 서비스 거부 공격, 서버 하이재킹 등에 거의 영향을 미치지 않습니다. 가장 중요한 것은 SSL 인증서의 신용 체인 시스템이 안전하지 않다는 것입니다. 특히 일부 국가에서 CA 루트 인증서를 제어 할 수있는 경우 중간자 공격도 똑같이 가능합니다.

추천

출처blog.csdn.net/isfor_you/article/details/113415313