전송 내용과 과정 [컴퓨터 네트워크] HTTPS 프로토콜 분석

에서 HTTPS 프로토콜을 소개 1.?

1.1 기본 개념

암호화없이 사용하여 전송하기위한 통신 포트 (80) 같은 디폴트 HTTP, HTTPS 디폴트 443, 전송을위한 데이터의 암호화 송신.

암호화 1.2 기초

일반 텍스트 : 일반 텍스트가 암호화되지 않은 원본 데이터를 의미합니다.

암호문은 : 일반 텍스트는 암호화되어 원래 데이터의 안전을 보장하기 위해 암호 암호화 알고리즘의 일종이 될 것입니다. 암호문은 원래의 평문을 획득하기 위해 복호화 될 수있다.

: 암호문에 일반 텍스트에있는 키 매개 변수, 또는 암호문은 입력 된 일반 텍스트 알고리즘 파라미터로 변환됩니다. 키, 비대칭 키에 대칭 키는 대칭 암호화와 비대칭 암호화에 이용된다.

1.3 대칭 암호화

[! NOTE]
대칭 암호화는 개인 키라고 즉, 암호화 및 복호화 데이터에 동일한 키를 이용하여 송신자와 수신자 정보. 대칭 암호화 알고리즘은 많은 양의 데이터를 암호화하기위한 적절한 기능을 빠른 속도의 암호화 및 복호화를 개시하고, 일반적인 대칭 암호화 알고리즘은 DES, 3DES, TDEA, 복어이다 RC5 및 IDEA.

其加密过程如下:明文 + 加密算法 + 私钥 => 密文
解密过程如下:密文 + 解密算法 + 私钥 => 明文

라고 개인적으로 사용하는 대칭 암호화 키는 개인 개인 개인 키, 즉, 키가 손상 될 수 없습니다 나타냅니다.

그 과정에서 사용되는 개인 키 암호화 및 암호 해독 과정은 "대칭"라고 암호화를 인용 동일한 개인 키입니다. 대칭 암호화 알고리즘이 공개되어 있기 때문에, 개인 키가 손상 그렇게되면, 다음 암호문에 금이되기 쉽고, 대칭 암호화 키 보안 관리의 단점은 어렵다.

1.4 비대칭 암호화

[! 참고]
비대칭 암호화는 공개 키 암호화라고합니다. 보안 더 나은 대칭 암호화에 비해 비대칭 암호화. 키 당사자가 유출 된 경우 당사자가 동일한 키를 사용하여 통신 대칭 암호화는 전체 통신은 금이 될 것입니다. 대신 대칭 암호화 키, 즉, 공개 및 개인, 및 두 쌍의 쌍을 사용. 개인 키는없는 외부 유출, 자신을 저장됩니다. 키는 공개 키, 누군가가 열쇠를 얻을 수있다. 공개 키 또는, 암호화 된 개인 키는 다른 암호를 해독합니다.

  • 공개 키 암호문을 통해 암호화는 개인 키를 해독 할 수 다음과 같이 :
明文 + 加密算法 + 公钥 => 密文, 密文 + 解密算法 + 私钥 => 明文
  • 개인 키를 암호화 암호문은 공개 키를 해독 할 수 있습니다 다음과 같이 :
明文 + 加密算法 + 私钥 => 密文, 密文 + 解密算法 + 公钥 => 明文

두 개의 서로 다른 키를 사용하여 암호화 및 암호 해독하기 때문에, 이는 비대칭의 원인 "비대칭"을 암호화.
암호화하고 시간이 오래 걸린다는 단점 복호화 비대칭 암호화가 느리고, 단지 소량의 데이터에 적절한 암호화한다.
비대칭 암호화에 이용되는 메인 알고리즘 갖는다 : RSA, 엘가 라빈, DH , ECC ( 타원 곡선 암호) 및처럼.

2. HTTPS 통신 처리 (인터뷰 포커스)

2.1 기본 개념

= HTTP 프로토콜 HTTPS 프로토콜 + SSL / TLS 프로토콜 / TLS 암호화 및 데이터의 암호 해독, 데이터 전송 과정 HTTPS, 필요한 SSL, HTTP, HTTPS 볼 수 있습니다 사용하여 암호화 된 데이터의 전송에 대한 요구 HTTP 및 SSL / TLS와 협력.

SSL은 네트워크에 대한 보안 통신 프로토콜의 보안 및 데이터 무결성을 제공하기 위해, 보안 소켓 레이어, 즉 보안 소켓 계층 프로토콜을 의미합니다. 넷스케이프 SSL 프로토콜은 1994 년에 발명, 그리고 나중에 다양한 브라우저가 SSL을 지원, 최신 버전은 3.0입니다.

TLS 이름은 전송 계층 보안, 즉 전송 계층 보안은 TLS (전송 계층 보안, 전송 계층 보안) 새로운 프로토콜 IETF (인터넷 엔지니어링 태스크 포스, 인터넷 엔지니어링 태스크 포스)를 개발하는 것입니다의 최신 버전입니다, 그것은 SSL 3.0 프로토콜 사양을 기반으로, 후속 SSL 3.0의 버전. TLS 및 SSL3.0 사이에 상당한 차이가 있습니다, 주로 다른 암호화 알고리즘은 SSL3.0 그렇게하지 상호 운용 TLS와 함께 지원됩니다. SSL3.0의 다른에 TLS 암호화 알고리즘,하지만 HTTPS의 과정에 대한 우리의 이해에, SSL 및 TLS 우리는 같은 프로토콜로 볼 수 있지만.

HTTPS 안전성과 효율성 모두를 들면, 대칭 암호화와 비대칭 암호화를 사용하는 동안 . 데이터 대칭 암호화, 대칭 키 암호화 프로세스는 일반적으로, 전송을 암호화하기 위해 비대칭 암호화 키를 이용하여 키가 보안 서버로 전송 될 수 있도록하기 위해서는, 클라이언트 요구를 전송하고, 데이터 대칭 암호화, 대칭 암호화 키는 비대칭 암호화 송신에 사용되는 .

암호화

2.2 전송 키

HTTPS 전송 과정을 3 키를 포함합니다 :

  • 서버 공개 키와 개인 키, 비대칭 암호화에 사용됩니다
  • 클라이언트가 생성 한 임의 키는 대칭 암호화에 사용

2.3 전송 세부 사항 (중요한 이해하기)

HTTPS를 요청 실제로 두 HTTP를 전송을 포함, 그것은 8 단계로 세분화 할 수있다.

  1. 클라이언트가 서버에 HTTPS 요청을 전송, 서버가 포트 443에 연결되어
  2. 서버는 키 쌍, 즉 공개 키와 개인 키가, 비대칭 암호화를 사용하는 데 사용됩니다, 서버는 개인 키를 보유하고, 그것은 타협 할 수없는, 공개 키는 다른 사람에게 전송 될 수있다.
  3. 서버는 클라이언트에게 공개 키를 전송합니다.
  4. 클라이언트가 서버의 공개 키를 수신 한 후, 공개 키는 공개 키를 누른 다음 HTTPS 전송 계속할 수 없습니다 발견으로 우리는 문제를 발견하면, 그것의 정당성을 확인하기 위해 확인됩니다. 엄밀히 말하면, 서버에서 보낸 디지털 인증서의 정당성의 검증이 있어야한다. 키가 자격을 갖춘 경우, 클라이언트가 임의의 값을 생성, 임의의 값이 대칭 암호화 키를 사용하는 경우, 키 우리 호출 클라이언트 키, 즉, 클라이언트 키, 그래서 개념과 서버 키의 끝은 구별하기 쉽습니다. 그런 다음 클라이언트 서버의 공개 비대칭 암호화 키 및 클라이언트 키는, 지금까지, HTTPS 끝에서 첫 번째 HTTP 요청 암호문이된다.
  5. 클라이언트가 HTTPS에 두 번째 HTTP 요청, 서버에 암호화 키 후 클라이언트를 시작합니다.
  6. 서버가 암호문에 클라이언트를 수신 한 후, 그래서 데이터 그 자체 비공개 해독 비대칭의 열쇠, 암호 해독 클라이언트 키 후 일반 텍스트 및 대칭 키 클라이언트와 암호화 된 데이터를 사용합니다 암호문으로.
  7. 그런 다음 서버는 암호화 된 클라이언트 암호문으로 전송합니다.
  8. 클라이언트가 서버에 의해 전송되는 암호문을 수신하여,을 사용해서 클라이언트들이 서버에 의해 전송 된 데이터를 얻기 위해 대칭 키를 해독. 가 HTTPS HTTP 요청의 제 2 단부, HTTPS 전체 전송이 완료됩니다.

참고 블로그 : https://www.jianshu.com/p/14cd2c9d2cd2

추천

출처www.cnblogs.com/fecommunity/p/11965870.html