当前位置 - 무료 법률 상담 플랫폼 - 상표 양도 - HTTPS-핸드쉐이킹, 인증서 및 키 협약

HTTPS-핸드쉐이킹, 인증서 및 키 협약

첫째, 학습 사고

둘째, HTTPS 프로토콜 수준

SSL 및 TLS 는 데이터 보안 통신을 지원합니다.

셋째, HTTPS 의 디자인 아이디어

1. 서버는 공개 키 쌍 a 를 생성하고 공개 키 및 기타 정보 info 를 CA 요청 인증서에 보냅니다.

2.CA 조직에는 자체 공개 키 쌍 세트가 있습니다. CA 조직은 정보로부터 디지털 다이제스트를 생성하고 개인 키로 다이제스트를 암호화합니다. CA 조직은 공개 키를 저장하는 운영 체제에 인증서 세트를 가지고 있습니다.

3.CA 는 서버에 정보와 암호화된 디지털 다이제스트를 보내 인증서를 생성합니다.

4, 서버

Https 웹 사이트를 방문할 때 브라우저는 먼저 인증서가 취소되었는지 확인합니다. 인증서가 취소되면 "해당 조직의 인증서가 취소되었습니다. 보안 인증서 문제는 누군가가 당신을 속이거나 서버로 보낸 데이터를 가로채려고 시도했음을 나타낼 수 있습니다. 이 페이지를 닫고 이 사이트를 계속 방문하지 않는 것이 좋습니다. "

5.2 신뢰 체인

CA 의 조직 구조는 트리 구조입니다. 하나의 루트 CA 아래에 여러 개의 midca 가 있고, midca 에는 여러 개의 midca 가 포함될 수 있습니다.

루트 CA 와 mid CA 모두 루트 인증서와 중간 인증서 모두 사용자에게 인증서를 발급할 수 있습니다. 일반 사용자가 공개 키를 확인하는 데 사용하는 인증서를 최종 사용자 인증서라고 합니다.

최종 사용자 인증서가 mid CA 에서 발급된 경우 핸드쉐이크 단계 중 중간 인증서를 클라이언트에 보내야 합니다.

인증서 체인 검증 프로세스:

여섯째, 키 협상 과정

TLS 핸드쉐이킹 단계에서 쌍방이 사용하는 암호 키트를 확인합니다.

(키 협약, 인증서 인증 및 데이터 암호화는 세 가지 개별 프로세스입니다.)

예를 들면 다음과 같습니다.

TLS _ DHE _ RSA _ 벨트 _ AES_256_CBC_SHA

DHE_RSA: 핸드쉐이크 중 사용되는 비대칭 암호화 알고리즘 (키 교환용 DHE, 인증서용 RSA) 을 나타냅니다. 단 하나만 있는 경우 동일한 알고리즘을 사용하여 정보와 인증서를 교환한다는 의미입니다.

(옵션 키 교환 알고리즘으로는 RSA, DH, ECDH, ECDHE 등이 있습니다. 기본 인증서 알고리즘 (옵션) 은 RSA, DSA, ECDSA 입니다. 둘 다 독립적으로 선택할 수 있으며 충돌하지 않습니다.)

AES_256_CBC_SHA: 암호화된 채널에 대한 대칭 암호화 및 해시 알고리즘입니다.

-응?

일곱, 키 교환 알고리즘

악수하는 동안 쌍방은 키 교환 알고리즘을 통해 후속 통신의 키를 결정합니다.

일반적인 키 교환 알고리즘인 RSA 및 DH 키 교환 알고리즘입니다.

7. 1, RSA 키 교환 절차:

A-> B

B: 공개 키를 인증서에 넣습니다.

A: 난수 알고리즘을 사용하여 키를 생성하고 공개 키 암호화를 사용하여 b 로 보냅니다.

RSA 가 직면한 문제: 개인 키가 노출되면 (개인 키가 협상 과정에 참여) 개인 키가 이전에 수신한 모든 암호문 (전방향 안전하지 않음) 을 암호 해독할 수 있습니다. 보안은 개인 키의 보존 여부에 따라 달라집니다.

7.2 보다 안전한 DH 클래스 키 교환 알고리즘.

DH 키 알고리즘은 DH, DHE, ECDH, ECDHE 입니다.

DH (정적 DH 알고리즘, 키 교환은 항상 동일한 개인 키를 선택하므로 각 개인 키는 동일합니다.)

DHE (임시 DH 알고리즘) 는 연결당 임시 DH 키를 생성하므로 동일한 키가 두 번 사용되지 않습니다. 전방향 기밀 유지)

7.3.DHE 키 교환 알고리즘에 대한 간단한 설명 (이산 로그 문제 기반):

A-> B

A: 난수 x (자신의 개인 키로) 를 생성합니다. 여기서 a = g x mod p(g 의 x 제곱 모델 p) 입니다. 여기서 p 는 큰 소수, g 는 생수, a 는 b 로 전송됩니다.

B: 난수 y 생성 (개인 키로 사용), B = g y mod p, b 를 a 로 전송 .....

A: 계산 키1= b x mod p.

B: 계산 키 2 = a y mod p.

수리논리에 따르면 키1= 키 2 로 키 교환이 성공했습니다.

DHE 의 보안은 A, B, P, G 만 전송하며 중간에 개인 키 X 와 Y 가 없습니다. 이 네 개의 숫자가 알려진 경우 X 와 Y (이산성에 따라 다름) 를 구분하기가 어렵기 때문에 보안이 보장됩니다.

DH 키 계산 예:

G = 10, p = 7, x = 3, a = 6, Y = 1 1, B = 5 라고 가정합니다.

키1= ((g x) mod p) y 모듈 p = (10 3) mod 7)/kloc-0

키 2 = ((g y) mod p) x 모듈 p = (1011) mod 7)

7.4 타원 이산 로그 문제에 기반한 키 교환 알고리즘

ECDHE 의 연산은 DHE 의 모듈러 파워 연산을 포인트 곱셈으로 대체하며, 속도가 더 빠르고 뒤집기가 더 어렵습니다.

A-> B

A: 난수 ra 를 생성하여 Pa(x, y) = Ra * Q(x, Y), Q(x, Y) 는 전 세계적으로 인정받는 타원 곡선 알고리즘의 기준점입니다. 서버에 Pa(x, y) 를 보냅니다.

B: Pb(x, y) = Rb * q (x, y) 로 계산된 임의 값 Rb 를 생성합니다. Pb(x, y) 를 클라이언트로 보냅니다.

A: 계산 Sa(x, y) = Ra * Pb(x, y).

B: 계산 Sb(x, y) = Rb * Pa(x, y).

알고리즘은 Sa =Sb = S 를 보장하고 S 의 X 벡터를 키 (사전 마스터 키) 로 추출합니다.