기금넷 공식사이트 - 헤지 펀드 - # HTTP 및 HTTPS 에 대한 종합적인 이해 (개발자에게 필요)
# HTTP 및 HTTPS 에 대한 종합적인 이해 (개발자에게 필요)
Http 및 Https 는 컴퓨터 네트워크 범주에 속하지만 개발자로서 백그라운드 개발이든 포그라운드 개발이든 반드시 파악해야 합니다. < P > 는 Http 와 Https 를 공부하는 과정에서 주로 응우엔 일봉 선생님의 블로그를 참고하며 종합적이고 통속적이고 이해하기 쉬우며, 관심 있는 학생은 공부하러 갈 수 있다. < P > 이 문장 은 주로 자신의 사고방식에 따라 Http 와 Https 에 대한 이해를 설명하기 위한 것이다. 문장 수업은 다음과 같은 측면에서 소개 될 것입니다.
디렉토리 트리 (편집기가 디렉토리 트리를 통해 페이지 내 점프를 어떻게 하는지 아직 알 수 없다. 어느 학생이 알리고 싶은지 알고 있다):
디렉토리 구조에서 볼 수 있듯이 각 제목이 확장되는 것은 큰 주제다. 하지만 이 글은 학우들이 Http 와 Https 관련 지식에 대한 포괄적인 인식을 갖도록 하기 위한 것으로, 각 주제에 대해 너무 깊이 탐구하지 않고 관심 있는 학생들이 목표연구를 할 수 있도록 하기 위한 것이다.
네트워크 패브릭에는 OSI 7 계층 모델과 TCP/IP 4 계층 모델의 두 가지 주요 계층화 방법이 있습니다.
OSI 는 오픈 시스템 상호 연결을 의미하는 Open System Interconnect 를 의미합니다.
TCP/IP 는 전송 제어 프로토콜/네트워크 간 프로토콜을 의미하며 현재 세계에서 가장 널리 사용되는 프로토콜입니다.
Http 는 패킷 전송을 포함하지 않는 TCP/IP 프로토콜 기반 애플리케이션 프로토콜로 주로 클라이언트와 서버의 통신 형식을 지정하며 기본적으로 8 포트를 사용합니다.
Request 형식:
Response 형식:
요청 헤더 및 응답 헤더를 설명하는 일부 필드:
Http 및 Https 프로토콜 요청은 모두 Tcp 세 번의 핸드쉐이킹을 통해 Tcp 접속을 설정합니다. 그렇다면 세 번의 악수는 무엇을 의미합니까?
그럼 왜 꼭 세 번 악수를 해야 하나요? 한 번 해도 될까요? 두 번 해도 될까요? 이러한 질문들로, 왜 세 번의 악수가 필요한지 분석해 봅시다. < P > 세 번의 악수로 A 와 B 모두 자신과 상대방의 송수신 능력을 확인할 수 있어 상호 신뢰를 쌓으면 통신을 시작할 수 있다. < P > 이제 세 번의 핸드셰이크가 구체적으로 보낸 내용을 그림으로 설명하겠습니다. < P > 먼저 몇 가지 개념을 소개하겠습니다. < P > 위의 몇 가지 개념을 알고 나면 세 번의 핸드쉐이킹의 구체적인 과정을 살펴보겠습니다. < P > 그림에서 볼 수 있습니다. 연결을 설정하는 데는 세 번의 핸드셰이크가 발생했고, 데이터 전송이 완료되면 연결을 끊어야 하고, 연결 해제는 네 번의 손을 흔들었다. < P > 다음은 Tcp 메시지 세그먼트의 첫 번째 포맷도이며, Tcp 프로토콜을 이해하는 데 중요합니다.
Https 프로토콜은 보안을 목표로 하는 Http 채널이며, 간단히 Http 의 보안 버전입니다. 주로 Http 아래에 SSL 계층 (현재 주류는 SLL/TLS) 을 추가하는데, SSL 은 Https 프로토콜의 보안 기반입니다. Https 기본 포트 번호는 443 입니다. < P > 는 앞서 Http 프로토콜을 소개했는데, 학우들이 Http 가 존재하는 위험을 말할 수 있을까요?
SSL/TLS 프로토콜은 이러한 위험을 해결하기 위해 설계되었습니다.
다음은 주로 SSL/TLS 프로토콜을 설명합니다.
SSL/TLS 프로토콜의 기본 아이디어는 공개 키 암호화 방법 (가장 유명한 것은 RSA 암호화 알고리즘) 입니다. 대략적인 프로세스는 클라이언트가 서버에서 공개 키를 요청한 다음 공개 키로 정보를 암호화하고 서버는 암호문을 받고 자신의 개인 키로 암호를 해독하는 것입니다. < P > 공개 키가 변조되는 것을 방지하기 위해 공개 키를 디지털 인증서에 배치하고, 인증서를 신뢰하면 공개 키를 신뢰할 수 있습니다. 공개 키 암호화 계산량이 많아 효율성을 높이기 위해 서버와 클라이언트가 모두 대화 키를 생성하여 정보를 암호화하고 대화 키는 대칭으로 암호화되어 속도가 매우 빠르다. 공개 키는 비밀 대화 비밀키에 쓰인다.
다음은 SSL 암호화 전송 프로세스를 그림으로 나타낸 것입니다.
그림 프로세스 상세 설명:
위에서 언급했듯이 Https 프로토콜에는 SSL 인증서가 필요합니다.
SSL 인증서는 인증된 웹 사이트 공개 키와 일부 메타데이터를 포함하는 바이너리 파일로 리셀러로부터 구입해야 합니다.
인증서에는 여러 가지 유형이 있습니다. 인증 수준별 분류:
EV 인증서 브라우저 주소 표시줄 스타일:
OV 인증서 브라우저 주소 표시줄 스타일:
DV 인증서 브라우저 스타일: < P > 적용 범위별 분류: < P > 인증 수준이 높을수록 적용 범위가 넓은 인증서가 많을수록 가격이 더 비쌉니다. 무료 인증서도 있습니다. Https 를 홍보하기 위해 전자전초재단은 Let's Encrypt 를 설립하여 무료 인증서를 제공했습니다. < P > 인증서의 리셀러도 많고 인지도가 높은 아시아 성실성 (Trust Asia) 이 있다.
암호화 알고리즘은 대칭 암호화, 비대칭 암호화 및 해시 암호화 알고리즘으로 구분됩니다. < P > 대칭 암호화 알고리즘은 암호화 및 암호 해독이 효율적이고 빠르며 대용량 데이터 암호화 및 암호 해독에 적합합니다. 일반적인 힙 암호화 알고리즘으로는 DES, AES, RC5, Blowfish, IDEA
비대칭 암호화 알고리즘이 복잡하며 암호화 및 암호 해독 속도가 느리지만 보안이 높고 일반적으로 대칭 암호화와 함께 사용됩니다 (대칭 암호화 통신 내용, 비대칭 암호화 대칭 키). 일반적인 비대칭 암호화 알고리즘에는 RSA, DH, DSA, ECC < P > 해시 알고리즘 특성이 있습니다. 즉, 입력 값이 같으면 해시 함수를 통해 동일한 해시 값을 얻을 수 있지만 해시 값이 같지 않으면 입력 값도 같습니다. 일반적인 해시 암호화 알고리즘은 MD5, SHA-1, SHA-X 시리즈 < P > 입니다. RSA 알고리즘과 DH 알고리즘에 대해 중점적으로 설명하겠습니다.
Https 프로토콜은 RSA 암호화 알고리즘을 사용하는 것으로, RSA 암호화 알고리즘은 우주에서 가장 중요한 암호화 알고리즘이라고 할 수 있습니다.
RSA 알고리즘은 상호 질적 관계, 오일러 함수, 오일러 정리 등 몇 가지 수론 지식을 사용합니다. 암호화 프로세스는 여기에 구체적으로 설명되어 있지 않습니다. 관심이 있으시면 RSA 알고리즘 암호화 프로세스를 참조할 수 있습니다.
RSA 알고리즘의 보안은 대수 분해 문제를 기반으로 하며, 현재 해독된 최대 키는 7+ 비트입니다. 즉, 124 비트 키와 248 비트 키는 절대 보안으로 간주될 수 있습니다. < P > 대수 분해의 주요 어려움은 컴퓨팅 능력에 있다. 향후 컴퓨팅 능력이 질적으로 향상되면 이 비밀키도 깨질 가능성이 있다.
DH 는 비대칭 암호화 알고리즘, DH 암호화 알고리즘 프로세스이기도 합니다.
DH 알고리즘의 보안은 이산대수 문제를 기반으로 합니다.
Http 와 Https 의 차이점은 다음과 같습니다. < P > 3 일간의 학습 요약을 거쳐 이 문장 자료를 완성했습니다. 이 문서는 독자들이 Http 와 Https 의 지식 프레임워크를 대략적으로 파악하는 데 도움이 됩니다. 각 주제의 내용을 심도 있게 검토하지 않고, 독자가 자신의 지식 틀을 갖게 되면 각 지식 포인트의 내용을 스스로 깊이 이해할 수 있다. < P > 컴퓨터 네트워크 관련 지식의 요약입니다.