HTTP 와 HTTPS 가 악 수 를 하 는 일 들
두 악 수 를 이야기 할 때 미리 설명해 야 할 것 이 있다.
HTTP 와 TCP/IP 의 차 이 는?
TPC/IP 프로 토 콜 은 전송 계층 프로 토 콜 로 데이터 가 네트워크 에서 어떻게 전송 되 는 지,HTTP 는 응용 계층 프로 토 콜 로 데 이 터 를 어떻게 포장 하 는 지 를 해결 합 니 다.WEB 는 HTTP 텍스트 정 보 를 봉인 하기 위해 HTTP 프로 토 콜 을 응용 층 프로 토 콜 로 사용 하고 TCP/IP 를 전송 층 프로 토 콜 로 네트워크 에 보 냅 니 다.
아래 그래프 는 TCP/IP 와 다른 프로 토 콜 이 최초 OSI(Open System Interconnect)모델 에 있 는 위 치 를 표시 하려 고 합 니 다.
PS:표 는 인터넷 자료 에서 나 왔 습 니 다.
CA 인증서 가 뭐 예요?
CA(Certificate Authority)는 인증 서 를 관리 하고 발급 하 는 제3자 권위 기구 로 모든 업계 와 대중 이 신뢰 하고 인정 합 니 다.
CA 인증 서 는 CA 가 발급 한 인증서 로 사이트 가 신뢰 할 수 있 는 지(HTTPS 대상),파일 이 신뢰 할 수 있 는 지(변경 되 었 는 지)등 을 검증 하 는 데 사용 할 수 있 으 며,하나의 인증서 로 다른 인증서 가 신뢰 할 수 있 는 지,최고급 인증 서 를 루트 인증서 라 고 할 수 있 습 니 다.루트 인증서(자신 이 믿 을 만하 다 는 것 을 증명 하 는 것)를 제외 하고 다른 인증 서 는 모두 상급 인증서 에 의존 하여 자신 을 증명 해 야 한다.
HTTP 세 번 악수
HTTP(HyperText Transfer Protocol)하이퍼텍스트 전송 프로 토 콜 은 인터넷 에서 가장 광범 위 하 게 응용 되 는 네트워크 프로 토 콜 이다.정 보 는 명문 전송 이기 때문에 안전 하지 않다 고 여 겨 진다.한편,HTTP 에 관 한 세 번 의 악 수 는 사실은 세 번 의 TCP 악 수 를 통 해 HTTP 연결 을 확인 하 는 것 이다.
아래 그림 에서 보 듯 이 SYN(synchronous)은 TCP/IP 가 연결 을 만 들 때 사용 하 는 악수 신호,Sequence number(시리 얼 번호),Acknowledge number(확인 번호)로 세 개의 화살표 가 가리 키 면 세 번 의 악 수 를 의미 하고 세 번 의 악 수 를 완성 하 며 클 라 이언 트 와 서버 가 데 이 터 를 전송 하기 시작한다.
PS:사진 은 인터넷 자료 에서 나 왔 습 니 다.
첫 악수:클 라 이언 트 가 syn 패키지(syn=j)를 서버 에 보 내 고 SYN 에 들 어 갑 니 다.SEND 상태,서버 확인 대기;
두 번 째 악수:서버 는 syn 가방 을 받 았 습 니 다.고객 의 SYN(ack=j+1)을 확인 하고 자신 도 SYN 가방(syn=k),즉 SYN+ACK 가방 을 보 내야 합 니 다.이때 서버 는 SYN 에 들 어 갑 니 다.RECV 상태;
세 번 째 악수:클 라 이언 트 가 서버 의 SYN+ACK 패 키 지 를 받 아 서버 에 확인 팩 ACK(ack=k+1)를 보 냅 니 다.이 패 키 지 를 보 내 면 클 라 이언 트 와 서버 가 ESTABLISHED 상태 에 들 어가 세 번 의 악 수 를 완성 합 니 다.
HTTPS 악수 과정
HTTPS 는 HTTP 를 기반 으로 SSL 프로 토 콜 을 추 가 했 고 SSL 은 인증서 에 의 해 서버 의 신분 을 검증 하고 브 라 우 저 와 서버 간 통신 을 암호 화 했다.구체 적 으로 암호 화,복호화,검증 을 어떻게 하 는 지 다음 그림 을 보 세 요.다음은 악수 라 고 합 니 다.
PS:그림 아래 설명 은 다음 과 같 습 니 다.http://zhuqil.cnblogs.com
1.클 라 이언 트 가 HTTPS 요청
2.서버 설정
HTTPS 프로 토 콜 을 사용 하 는 서버 는 스스로 만 들 거나 CA 인증 서 를 만 들 수 있 는 디지털 인증서 가 있어 야 합 니 다.차이 점 은 자신 이 발급 한 인증 서 는 클 라 이언 트 인증 을 통과 해 야 계속 접근 할 수 있 고 CA 인증 서 를 사용 하면 알림 페이지 가 뜨 지 않 는 다 는 것 이다.이 인증 서 는 사실 공개 키 와 비밀 키 입 니 다.공개 키 는 다른 사람 에 게 암호 화 되 어 사용 되 고 비밀 키 는 자신 에 게 복호화 되 어 사용 된다.
3.인증서 전송
이 인증 서 는 사실 공개 키 입 니 다.인증서 의 발급 기구,만 료 시간 등 많은 정 보 를 포함 하고 있 을 뿐 입 니 다.
4.클 라 이언 트 분석 인증서
이 부분 작업 은 클 라 이언 트 의 TLS 로 이 루어 집 니 다.먼저 공개 키 가 효과 가 있 는 지 검증 합 니 다.예 를 들 어 발급 기구,만 료 시간 등 이 있 습 니 다.이상 이 발견 되면 경고 상자 가 나타 나 인증서 에 문제 가 있 음 을 알려 줍 니 다.인증서 에 문제 가 없 으 면 즉시 값 을 만 들 고 인증서 로 무 작위 값 을 암호 화 합 니 다.
5.암호 화 된 정보 전송
이 부분 은 인증서 로 암호 화 된 랜 덤 값 을 전송 합 니 다.그 목적 은 서버 가 이 랜 덤 값 을 얻 도록 하 는 것 입 니 다.나중에 클 라 이언 트 와 서버 의 통신 은 이 랜 덤 값 을 통 해 암호 화 복호화 할 수 있 습 니 다.
6.서비스 세그먼트 복호화 정보
서버 에서 비밀 키 로 복호화 한 후에 클 라 이언 트 가 보 내 온 무 작위 값(비밀 키)을 얻 은 다음 에 내용 을 이 값 을 통 해 대칭 적 으로 암호 화 합 니 다.대칭 암호 화 란 정보 와 비밀 키 를 특정한 알고리즘 을 통 해 혼합 하 는 것 이다.그러면 비밀 키 를 알 지 않 으 면 내용 을 얻 을 수 없다.마침 클 라 이언 트 와 서버 에서 이 비밀 키 를 알 고 있 기 때문에 암호 화 알고리즘 이 강하 고 비밀 키 가 복잡 하 며 데이터 가 안전 하 다.
7.암호 화 된 정보 전송
이 부분 정 보 는 서비스 세그먼트 가 비밀 키 로 암호 화 된 정보 로 클 라 이언 트 에서 복원 할 수 있 습 니 다.
8.클 라 이언 트 복호화 정보
클 라 이언 트 는 이전에 생 성 된 비밀 키 복호화 서비스 세그먼트 에서 전 달 된 정 보 를 사용 하여 복호화 후의 내용 을 얻 었 습 니 다.
PS:전체 악수 과정 에서 제3자 가 데 이 터 를 감청 하 더 라 도 속수무책 이 었 습 니 다.
총결산
왜 HTTPS 는 안전 합 니까?
HTTPS 악수 의 네 번 째 단계 에서 사이트 의 인증서 가 신뢰 를 받 지 못 하면 아래 확인 인터페이스 가 나타 나 사이트 의 진실성 을 확인 합 니 다.또한 여섯 번 째 와 여덟 번 째 단 계 는 클 라 이언 트 의 비밀 키 암호 화 를 사용 하여 데이터 전송 의 안전 을 확보 했다.
HTTPS 와 HTTP 의 차이
1.https 프로 토 콜 은 ca 에서 인증서 나 자체 인증 서 를 신청 해 야 합 니 다.
2.http 의 정 보 는 명문 전송 이 고 https 는 안전성 을 가 진 ssl 암호 화 입 니 다.
3.http 는 TCP 와 직접 데이터 전송 을 하 는 것 이 고 https 는 SSL(OSI 표시 층)을 거 쳐 사용 하 는 포트 도 다 릅 니 다.전 자 는 80(국내 등록 이 필요 합 니 다)이 고 후 자 는 443 입 니 다.
4.http 의 연결 은 매우 간단 하고 상태 가 없다.HTTPS 프로 토 콜 은 SSL+HTTP 프로 토 콜 로 구 축 된 암호 화 전송,인증 이 가능 한 네트워크 프로 토 콜 로 http 프로 토 콜 보다 안전 합 니 다.
https 암호 화 는 전송 층 에 있 습 니 다.
https 메 시 지 는 tcp 메시지 로 포 장 될 때 암호 화 과정 을 완성 합 니 다.https 의 header 도 메 인 이 든 body 도 메 인 이 든 모두 암호 화 됩 니 다.
tcpdump 나 wireshark 같은 tcp 계층 도구 로 가방 을 잡 으 면 암호 화 된 내용 을 가 져 옵 니 다.응용 층 으로 가방 을 잡 으 면 Charels(Mac),Fildder(Windows)패키지 도 구 를 사용 하면 당연히 명문 입 니 다.
PS:HTTPS 자체 가 네트워크 의 전송 안전 을 위 한 것 입 니 다.
예 를 들 어 wireshark 캡 처 를 사용 합 니 다.
http,잡 은 것 은 명문 임 을 볼 수 있 습 니 다.
https,밀 문 을 잡 은 것 을 볼 수 있 습 니 다.
부록
HTTPS 에서 일반적으로 사용 하 는 암호 화 및 HASH 알고리즘 은 다음 과 같 습 니 다.
비대 칭 암호 화 알고리즘:RSA,DSA/DSS
대칭 암호 화 알고리즘:AES,RC4,3DES
HASH 알고리즘:MD5,SHA 1,SHA 256
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
리디렉션의 메커니즘? ETag? IP 주소를 얻는 방법!이번에는 HTTP에 대한 용어를 소개합니다! 구체적으로는 이하의 내용을 취급합니다. 리디렉션 메커니즘 ETag 헤더 IP 주소 관련 헤더 (remote_addr, x-forwarded-for, x-real-ip) y...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.