소개
네트워크 통신에서 패킷 캡처 소프트웨어를 사용하여 네트워크 요청을 분석하고 재생 공격을 수행할 수 있습니다. 재생 공격에 대한 솔루션은 일반적으로 rsa로 암호화된 타임스탬프와 같은 변경 매개변수를 사용하는 것이지만 네트워크를 고려합니다. 전송 지연이 발생하면 타임스탬프에 특정 오류 허용 범위가 필요하지만 여전히 재생 공격을 근본적으로 방지할 수는 없습니다. 재생 공격 문제를 더 잘 해결하려면 https 통신 사용을 고려해야 합니다. https 프로토콜은 암호화된 전송 및 ID 인증을 수행할 수 있는 SSL+http 프로토콜로 구축된 네트워크 프로토콜입니다. .
구현
브라우저로 접속하는 웹사이트의 경우, https 웹페이지가 정상적으로 검색될 수 있도록 CA로부터 인증서를 신청해야 합니다. 그렇지 않으면 안전하지 않거나 인증되지 않은 웹사이트라는 경고가 표시됩니다. 일부 배경 데이터를 전송하려면 자체 서명된 인증서를 사용하세요.
서버 구성
인증서 생성
서버 명령줄에서 다음 작업을 수행하세요
① 서버의 개인 키를 생성하려면 4~8191자리 비밀번호를 입력해야 합니다
openssl genrsa -des3 -out server.key 2048
②키 파일 비밀번호를 제거하세요. csr 파일을 생성하려면 ①
openssl rsa -in server.key -out server.key
3에 입력한 비밀번호를 입력해야 합니다. 이 단계에서는 Enter 키를 눌러 모두 건너뛸 수 있습니다. crt 파일입니다. 이 단계에서 -days는 유효 기간이므로 더 길게 작성해도 됩니다
openssl req -new -key server.key -out server.csr
⑤ crt와 키를 결합하여 pem을 만듭니다. 이는 나중에 클라이언트 확인을 위해 cer를 생성하는 데 사용됩니다. cer을 생성하면 확인을 위해 cer 파일이 클라이언트에 저장됩니다
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
구성 파일의 경로를 모르는 경우 다음 명령을 사용하여 인쇄하세요.
cat server.crt server.key > server.pem
인쇄된 내용에 따르면 nginx.conf를 열면 http { ... } 구성 태그가 있는 것을 확인할 수 있습니다. http 태그에 서버 구성 태그를 추가합니다.
openssl x509 -in server.pem -outform der -out server.cer
nginx -t
이 시점에서 서버 측 구성이 끝났습니다.
클라이언트 구성CA에서 발급한 인증서인 경우 https 요청을 직접 사용할 수 있지만, 저희는 자체 서명된 인증서로 직접 접속하면 오류가 발생합니다. afn을 사용하여 자체 서명된 인증서 방법의 https 요청을 구성합니다.
1. 위에서 언급한 cer 인증서를 앱 번들로 가져옵니다위 내용은 Nginx 서버와 iOS 간의 HTTPS 보안 통신을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!