1. Http
HyperText Transfer Protocol은 인터넷에서 가장 널리 사용되는 프로토콜이자 모든 WWW 파일이 따라야 하는 표준입니다. HTTP 프로토콜을 통해 전송되는 데이터는 암호화되지 않은, 즉 일반 텍스트 형식이므로 HTTP 프로토콜을 사용하여 개인 정보를 전송하는 것은 매우 안전하지 않습니다.
사용되는 TCP 포트는 80입니다.
2. Https
Hyper Text Transfer Protocol over Secure Sockets Layer, Netscape는 Http 프로토콜을 위해 SSL(Secure Sockets Layer) 프로토콜을 설계했습니다. 세션 중 보안을 보장하기 위해 암호화됩니다.
기본적으로 사용되는 TCP 포트는 443입니다
3. SSL 프로토콜 암호화 방식
SSL 프로토콜은 전송 링크를 설정할 때 대칭 암호화와 비대칭 암호화(공개 키 암호화)를 모두 사용합니다. 키는 비대칭 암호화를 위해 공개 키를 사용합니다. 링크가 설정된 후 SSL은 전송된 콘텐츠에 대해 대칭 암호화를 사용합니다.
대칭 암호화
빠른 속도, 대용량 콘텐츠 암호화 가능, 대화 중 메시지 암호화에 사용
공개 키 암호화
암호화 속도는 느리지만 더 나은 신원 인증 기술을 제공할 수 있으며 대칭 암호화 키 암호화에 사용됨
관련 추천 : "FAQ"
4. 양방향 인증
양방향 인증과 단방향 인증의 원칙은 기본적으로 동일합니다. 단, 클라이언트가 서버를 인증해야 한다는 점 외에, 서버가 클라이언트를 인증할 필요성을 추가했습니다. 클라이언트 인증의 구체적인 프로세스는 다음과 같습니다.
1. 클라이언트는 SSL 프로토콜 버전 번호, 암호화 알고리즘 유형, 난수 및 기타 정보를 서버에 보냅니다.
2. 서버는 SSL 프로토콜 버전 번호, 암호화 알고리즘 유형, 난수 및 기타 정보를 클라이언트에 반환합니다. 또한 서버측 인증서, 즉 공개 키 인증서도 반환합니다.
3. 클라이언트는 서버에서 반환한 정보를 사용하여 다음을 포함하여 서버의 적법성을 확인합니다.
(1) 인증서가 만료되었는지 여부.
(2) 발급 서버 인증서의 CA는 신뢰할 수 있나요?
(3) 반환된 공개 키가 반환된 인증서의 디지털 서명을 올바르게 해독할 수 있는지 여부.
(4) 서버 인증서의 도메인 이름이 서버의 실제 도메인 이름과 일치하는지 여부.
(5) 인증이 통과된 후에도 통신은 계속되며, 그렇지 않으면 통신이 종료됩니다.
4. 서버는 클라이언트가 클라이언트의 인증서를 보내도록 요구하며 클라이언트는 자체 인증서를 서버에 보냅니다.
5. 클라이언트의 인증서를 확인합니다. 확인을 통과하면 클라이언트의 공개 키를 받게 됩니다.
6. 클라이언트는 서버가 선택할 수 있도록 서버에 지원할 수 있는 대칭 암호화 체계를 보냅니다.
7. 서버는 클라이언트가 제공하는 암호화 방식 중 암호화 수준이 가장 높은 암호화 방식을 선택합니다.
8. 이전에 얻은 공개 키를 사용하여 암호화 방식을 암호화하고 클라이언트에 반환합니다.
9. 서버에서 반환된 암호화 체계 암호문을 받은 후 클라이언트는 자신의 개인 키를 사용하여 해독하여 특정 암호화 방법을 얻은 다음 암호화 방법에 대한 임의의 코드를 생성합니다. 암호화 과정은 앞서 서버 인증서에서 얻은 공개키를 이용해 암호화한 후 서버로 전송하는 과정이다.
10. 클라이언트가 보낸 메시지를 받은 후 서버는 자체 개인 키를 사용하여 대칭 암호화 키를 해독하고 얻습니다. 서버와 클라이언트는 대칭 암호화를 위해 비밀번호를 사용합니다. 통신 중 정보.
위 내용은 https 양방향 인증을 활성화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!