HTTPS 원리 상세 설명
6636 단어 HTTPS 원리
1.왜 HTTPS 를 사용 하면 안전 합 니까?
2.HTTPS 의 기본 원 리 는 어떻게 실현 합 니까?
3.HTTPS 를 사용 하면 안전 할 까?
본 고 는 HTTPS 의 안전성 을 원리 적 으로 설명 하고 자 한다.
HTTPS 의 실현 원리
HTTPS 프로 토 콜 이 안전 한 이 유 는 HTTPS 프로 토 콜 이 전 송 된 데 이 터 를 암호 화하 고 암호 화 과정 은 비대 칭 암호 화 를 사용 하여 이 루어 졌 기 때 문 이 라 고 들 어 보 셨 을 것 입 니 다.그러나 HTTPS 는 콘 텐 츠 전송 암호 화 에 대칭 암호 화 를 사용 하고 비대 칭 암호 화 는 인증서 검증 단계 에 만 작 동 합 니 다.
HTTPS 의 전체 과정 은 인증서 검증 과 데이터 전송 단계 로 나 뉘 는데 구체 적 인 상호작용 과정 은 다음 과 같다.
① 인증서 검증 단계
브 라 우 저가 HTTPS 요청 을 시작 합 니 다.
서버 에서 HTTPS 인증 서 를 되 돌려 줍 니 다.
클 라 이언 트 인증 인증서 가 합 법 적 인지,법칙 에 맞지 않 으 면 경고 합 니 다.
② 데이터 전송 단계
1.인증서 인증 이 합 법 적 이면 로 컬 에서 임 의 수 를 생 성 합 니 다.
2.공개 키 를 통 해 랜 덤 수 를 암호 화하 고 암호 화 된 랜 덤 수 를 서버 로 전송 합 니 다.
3.서버 에서 비밀 키 를 통 해 난수 복호화
4.서버 는 클 라 이언 트 를 통 해 들 어 오 는 난수 구조 대칭 암호 화 알고리즘 을 통 해 결과 내용 을 암호 화하 여 전송 한다.
왜 데이터 전송 은 대칭 암호 화 를 사용 합 니까?
먼저,비대 칭 암호 화의 복호화 효율 은 매우 낮 고 http 의 응용 장면 에서 보통 엔 드 와 엔 드 사이 에 대량의 상호작용 이 존재 하 며 비대 칭 암호 화의 효율 은 받 아들 일 수 없다.
또한 HTTPS 장면 에서 서버 에 만 비밀 키 가 저장 되 어 있 고 한 쌍 의 비밀 키 는 일방적인 복호화 만 실현 할 수 있 기 때문에 HTTPS 에서 내용 전송 암호 화 는 비대 칭 암호 화가 아니 라 대칭 암호 화 를 사용한다.
왜 CA 인증 기관 에서 증 서 를 발급 해 야 합 니까?
HTTP 프로 토 콜 이 안전 하지 않 은 것 은 전송 과정 이 감청 자 에 의 해 감청 되 고 서버 를 위조 하기 쉬 우 므 로 HTTPS 프로 토 콜 은 주로 네트워크 전송 의 안전성 문 제 를 해결 하 는 것 으로 여 겨 진다.
먼저 우 리 는 인증 기구 가 존재 하지 않 고 누구나 증 서 를 만 들 수 있다 고 가정 한다.이것 이 가 져 온 안전 위험 은 바로 전형 적 인'중개인 공격'문제 이다.
'중개인 공격'의 구체 적 인 과정 은 다음 과 같다.
프로 세 스 원리:
1.로 컬 요청 피 랍(예 를 들 어 DNS 납치 등),모든 요청 은 브로커 의 서버 로 발송
2.브로커 서버 가 브로커 자신의 인증 서 를 되 돌려 줍 니 다.
3.클 라 이언 트 가 랜 덤 수 를 만 들 고 브로커 인증서 의 공개 키 를 통 해 랜 덤 수 를 암호 화한 다음 에 랜 덤 수 구조 대칭 암호 화로 전송 내용 을 암호 화 전송 한다.
4.중개인 은 클 라 이언 트 의 임 의 수 를 가지 기 때문에 대칭 암호 화 알고리즘 을 통 해 내용 을 복호화 할 수 있다.
5.브로커 가 클 라 이언 트 의 요청 내용 으로 정규 사이트 에 요청
6.중개인 과 서버 의 통신 과정 이 합 법 적 이기 때문에 정규 사 이 트 는 구축 한 안전 통 로 를 통 해 암호 화 된 데 이 터 를 되 돌려 줍 니 다.
7.중개인 은 정규 사이트 와 만들어 진 대칭 암호 화 알고리즘 으로 내용 을 복호화 한다.
8.중개인 은 클 라 이언 트 와 의 대칭 암호 화 알고리즘 을 통 해 정규 내용 이 돌아 온 데 이 터 를 암호 화 전송 한다.
9.클 라 이언 트 는 중개인 과 의 대칭 암호 화 알고리즘 을 통 해 결과 데 이 터 를 복호화 합 니 다.
인증서 에 대한 인증 이 부족 하기 때문에 클 라 이언 트 는 HTTPS 요청 을 했 지만 클 라 이언 트 는 자신의 네트워크 가 차단 되 었 는 지 전혀 모 르 고 전송 내용 을 중개인 에 게 모두 훔 쳤 습 니 다.
브 라 우 저 는 어떻게 CA 인증서 의 합 법성 을 확보 합 니까?
1.인증 서 는 어떤 정 보 를 포함 합 니까?
기관 정보 를 발급 하 다
공개 키
회사 정보
도 메 인 이름
유효기간
지문.
......
2.인증서 의 합 법성 근 거 는 무엇 입 니까?
우선,권위 기 구 는 인증 을 받 아야 한다.어느 기구 든 증 서 를 발급 할 자격 이 있 는 것 이 아니 라 권위 기구 라 고도 부 르 지 않 는 다.
또한 인증서 의 신뢰성 은 신뢰 제 를 바탕 으로 권위 기 구 는 자신 이 발급 한 증 서 를 신용 배 서 를 해 야 한다.권위 기구 가 생 성 한 증서 라면 우 리 는 합 법 적 이 라 고 생각한다.
그래서 권위 있 는 기 구 는 신청자 의 정 보 를 심사 하고 등급 에 따라 권위 있 는 기구 가 심사 에 대한 요구 도 다 르 기 때문에 증서 도 무료,저렴 한 것 과 비 싼 것 으로 나 뉜 다.
3.브 라 우 저 는 인증서 의 합 법성 을 어떻게 검증 합 니까?
브 라 우 저가 HTTPS 요청 을 하면 서버 는 웹 사이트 의 SSL 인증 서 를 되 돌려 줍 니 다.브 라 우 저 는 인증 서 를 다음 과 같이 검증 해 야 합 니 다.
1.도 메 인 이름,유효기간 등 정보 가 정확 한 지 검증 합 니 다.인증서 에 이러한 정보 가 포함 되 어 있어 검증 이 완료 되 기 쉽다.
2.인증서 의 출처 가 합 법 적 인지 판단 합 니 다.모든 발급 증 서 는 인증 체인 에 따라 해당 하 는 루트 인증 서 를 찾 을 수 있 습 니 다.운영 체제,브 라 우 저 는 로 컬 에 권위 있 는 기구의 루트 인증 서 를 저장 하고 로 컬 루트 인증 서 를 이용 하여 해당 기구 에 인증 서 를 발급 하여 출처 검증 을 완성 할 수 있 습 니 다.
3.인증서 가 변경 되 었 는 지 판단 합 니 다.CA 서버 와 검증 이 필요 합 니 다.
4.인증서 가 취소 되 었 는 지 판단 합 니 다.CRL(Certificate Revocation List 인증서 로그아웃 목록)과 OCSP(Online Certificate Status Protocol 온라인 인증서 상태 프로 토 콜)를 통 해 이 루어 집 니 다.그 중에서 OCSP 는 3 단계 에서 CA 서버 와 의 상호작용 을 줄 이 고 검증 효율 을 높 일 수 있 습 니 다.
위의 모든 단계 가 만족 하 는 상황 에서 브 라 우 저 는 인증서 가 합 법 적 이 라 고 생각 합 니 다.
여기에 내 가 오랫동안 생각 했 던 것 을 하나 꽂 았 지만 사실은 답 은 매우 간단 한 문제 이다.
인증서 가 공 개 된 이상 중개인 공격 을 하려 면 홈 페이지 에서 인증 서 를 내 서버 인증서 로 다운로드 합 니 다.클 라 이언 트 는 이 인증서 가 합 법 적 이라는 것 을 인정 할 것 입 니 다.어떻게 이런 인증서 의 도용 을 피 할 수 있 습 니까?
사실은 이것 이 바로 암호 화 대칭 에서 공개 키 의 용도 이다.중개인 은 인증 서 를 받 을 수 있 지만 비밀 키 는 얻 을 수 없다.하나의 공개 키 는 해당 하 는 비밀 키 를 추산 할 수 없고 중개인 은 인증 서 를 받 더 라 도 합 법 적 인 서버 로 위장 할 수 없다.왜냐하면 고객 측 에서 들 어 오 는 암호 화 데 이 터 를 복호화 할 수 없 기 때문이다.
4.인증 기관 만 인증 서 를 만 들 수 있 습 니까?
브 라 우 저가 보안 위험 을 알려 주지 않 으 려 면 인증 기관 이 발급 한 인증 서 를 사용 해 야 합 니 다.그러나 브 라 우 저 는 일반적으로 보안 위험 만 제시 하고 사이트 에 접근 할 수 없 도록 제한 하지 않 기 때문에 기술적 으로 누구나 인증 서 를 생 성 할 수 있 고 인증서 만 있 으 면 사이트 의 HTTPS 전송 을 완성 할 수 있다.예 를 들 어 초기 12306 은 개인 인증 서 를 수 동 으로 설치 하 는 형식 으로 HTTPS 접근 을 실현 했다.
로 컬 난수 가 도 둑 맞 으 면 어떻게 합 니까?
인증서 검증 은 비대 칭 암호 화 를 사용 하지만 전송 과정 은 대칭 암호 화 를 사용 합 니 다.그 중에서 대칭 암호 화 알고리즘 에서 중요 한 임 의 수 는 로 컬 에서 생 성 되 고 로 컬 에 저 장 됩 니 다.HTTPS 는 임 의 수가 훔 치지 않도록 어떻게 보장 합 니까?
사실 HTTPS 는 난수 에 대한 안전 보증 을 포함 하지 않 습 니 다.HTTPS 는 전송 과정 안전 만 보장 하고 난수 가 로 컬 에 저장 되 며 로 컬 안전 은 다른 안전 범주 에 속 합 니 다.이에 대응 하 는 조 치 는 백신 소프트웨어 설치,반 목마,브 라 우 저 업그레이드 로 구멍 을 복구 하 는 등 이 있 습 니 다.
HTTPS 를 쓰 면 가방 이 잡 히 나 요?
HTTPS 의 데 이 터 는 암호 화 되 어 있 습 니 다.일반적인 패키지 도구 프 록 시가 요청 한 후에 잡 은 패키지 내용 은 암호 화 된 상태 여서 직접 볼 수 없습니다.위 챗 공식 번호 주목:자바 기술 스 택,배경 에서 답장:도구,내 가 정리 한 N 편의 최신 개발 도구 튜 토리 얼 을 얻 을 수 있 습 니 다.모두 건어물 입 니 다.
그러나 앞에서 말 한 바 와 같이 브 라 우 저 는 안전 위험 만 제시 하고 사용자 권한 이 부여 되면 사 이 트 를 계속 방문 하여 요청 을 완성 할 수 있 습 니 다.따라서 클 라 이언 트 가 우리 자신의 단말기 라면 우리 가 권한 을 수 여 받 은 상황 에서 중개인 네트워크 를 구성 할 수 있 고 가방 을 잡 는 도 구 는 바로 중개인 의 대리 가 된다.
보통 HTTPS 패키지 도구 의 사용 방법 은 인증 서 를 만 드 는 것 입 니 다.사용 자 는 클 라 이언 트 에 인증 서 를 수 동 으로 설치 한 다음 에 터미널 에서 시작 하 는 모든 요청 을 이 인증 서 를 통 해 패키지 도구 와 의 상호작용 을 완성 한 다음 에 패키지 도 구 를 서버 에 전송 하고 마지막 으로 서버 가 돌아 온 결 과 를 콘 솔 에서 출력 한 후에 터미널 로 되 돌려 줍 니 다.모든 요청 의 폐쇄 를 완성 합 니 다.
HTTPS 가 스냅 백 을 막 을 수 없 는 이상 HTTPS 는 무슨 의미 가 있 습 니까?
A:클 라 이언 트 가 HTTPS 요청 을 하면 서버 에서 인증 서 를 되 돌려 주 고 클 라 이언 트 가 인증 서 를 검증 합 니 다.검증 을 통과 한 후에 로 컬 에서 대칭 암호 화 알고리즘 을 개조 하 는 무 작위 수 를 생 성 합 니 다.인증서 의 공개 키 를 통 해 무 작위 수 를 암호 화하 여 서버 에 전송 합 니 다.서버 에서 받 은 후에 비밀 키 복호화 로 무 작위 수 를 얻 고 그 후의 데이터 상호작용 은 대칭 암호 화 알고리즘 을 통 해 복호화 합 니 다.
Q:인증서 가 왜 필요 합 니까?
A:'중개인'의 공격 을 방지 하 는 동시에 사이트 에 신분증 을 제공 할 수 있 습 니 다.
Q:HTTPS 를 사용 하면 가방 이 잡 히 나 요?
A:가방 이 잡 힐 수 있 습 니 다.HTTPS 는 사용자 가 모 르 는 상태 에서 통신 이 감청 되 는 것 만 방지 합 니 다.만약 에 사용자 가 자발적으로 신용 을 주면'브로커'네트워크 를 구축 할 수 있 고 프 록 시 소프트웨어 는 전송 내용 을 복호화 할 수 있 습 니 다.
이상 은 HTTPS 원리 에 대한 상세 한 내용 입 니 다.더 많은 HTTPS 원리 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!