Https 는 실제로 http+SSL/TLS, 즉 http 에 암호화된 정보를 처리하는 모듈을 추가하는 두 부분으로 구성되어 있습니다. 서버와 클라이언트의 정보 전송은 모두 TLS 를 통해 암호화되므로 전송되는 데이터는 암호화된 데이터입니다. 구체적으로 암호화, 암호 해독, 인증 및 다음 그림을 보는 방법입니다.
1. 클라이언트가 https 요청 시작
클라이언트가 https 요청을 시작하는 것은 사용자가 브라우저에 https 웹 주소를 입력하고 서버의 443 포트에 연결하는 것을 의미합니다.
2. 서버측 구성
Https 프로토콜을 사용하는 서버에는 SSL 디지털 인증서 세트가 있어야 하며 WoSign Watonca 와 같은 CA 조직에 신청해야 합니다. 이 SSL 인증서는 실제로 공개 키와 개인 키 쌍입니다. 공개 키와 개인 키를 잘 이해하지 못한다면 열쇠와 자물쇠로 상상할 수 있다. 다만 전 세계에 너 혼자만 이 열쇠를 가지고 있다. 너는 다른 사람에게 자물쇠를 줄 수 있다. 다른 사람은 이 자물쇠로 중요한 것을 잠그고 보낼 수 있다. 너 혼자만 이 열쇠를 가지고 있기 때문에 너만이 이 잠겨 있는 것을 볼 수 있기 때문이다.
3. 인증서 전송
이 인증서는 실제로 공개 키이며 인증서 발급 기관, 인증서 만료 시간 등과 같은 많은 정보를 포함합니다.
4. 클라이언트 확인 인증서
이 작업은 클라이언트의 TLS 를 통해 수행됩니다. 먼저 공개 키가 유효한지 확인합니다 (예: 인증 기관, 만료 시간 등). 예외가 발견되면 인증서에 문제가 있음을 알리는 경고 상자가 나타납니다. 인증서에 문제가 없으면 임의 값이 생성됩니다. 그런 다음 임의의 값을 인증서로 암호화합니다. 위에서 말했듯이 무작위 값을 잠금 헤드로 잠가 열쇠가 없으면 잠긴 내용을 볼 수 없습니다.
5. 암호화된 정보 전송
이 부분은 SSL 인증서로 암호화 된 무작위 값을 전송합니다. 목적은 서버측이이 무작위 값을 얻을 수있게하는 것입니다. 이 무작위 값을 통해 클라이언트와 서버측의 통신을 암호화 및 암호 해독 할 수 있습니다.
6. 서비스 세그먼트 암호 해독 정보
서버측에서 개인 키로 암호를 해독한 후 클라이언트에서 전달된 임의 값 (개인 키) 을 얻은 다음 해당 값을 통해 내용을 대칭으로 암호화합니다. 대칭 암호화란 정보와 개인 키를 어떤 알고리즘을 통해 혼합하는 것이다. 이렇게 하면 개인 키를 알지 않으면 내용을 얻을 수 없고, 마침 클라이언트와 서버 모두 이 개인 키를 알고 있기 때문에 암호화 알고리즘이 충분히 용맹하고 개인 키가 복잡하면 데이터가 충분히 안전하다.
7. 암호화된 정보 전송
이 정보 부분은 서비스 세그먼트가 개인 키로 암호화된 정보이며 클라이언트에서 복원할 수 있습니다.
8. 클라이언트 암호 해독 정보
클라이언트는 이전에 생성된 개인 키를 사용하여 서비스 세그먼트에서 전달된 정보를 해독하여 암호 해독된 내용을 얻습니다. 전체 과정에서 제 3 자는 데이터를 듣더라도 속수무책이다.