it-gundan.com

Thawte / GeoTrust / VeriSign 2048 비트 루트 마이그레이션 및 중간 SSL 인증서

Thawte, GeoTrust, VeriSign 및 기타 인증 기관은 현재 1024 비트 MD5 기반 루트 인증서를 2048 비트 SHA-1 기반 루트에서 " ( 업계 모범 사례 ". 또한 모든 인증서에는 이제 중간 인증 기관 이 필요하며 이전에 기본 공급자가 발급 한 단일 루트 인증서 대신 체인 루트 인증서를 만듭니다. 최근에 우리 사이트 중 하나에서이 업그레이드를 수행 한 결과 SSL의 작동 방식을 완전히 이해하지 못하고 설명이 필요하다는 것을 알게되었습니다.

질문 1 : 1024 비트 루트와 2048 비트 루트의 차이점은 무엇입니까? MD5가 충돌에 취약한 것으로 판명 되었기 때문에 MD5에서 SHA1 로의 전환을 이해합니다. 그러나 제 질문은 2048의 이점은 무엇입니까 비트 루트는 1024 비트 루트를 제공합니까? 클라이언트와 서버 간의 SSL 암호화 강도를 높이거나 루트 인증서를 손상시키기가 더 어려워 집니까?

질문 2 : 중급 인증서의 작동 방식 및 이점/결점은 무엇입니까? 사이트를 업데이트 한 후 이전 브라우저 (구체적으로 Windows Mobile)에서 사이트에 액세스 한 경우를 제외하고 모든 것이 제대로 작동했습니다. Thawte SSL123 2048-bit Test Site 이 사이트에서 "신뢰할 수없는 루트 인증서"에 대한 경고 메시지를 표시 한 장치에서 제대로 작동했기 때문에 약간 혼란 스러웠습니다. 두 사이트 모두 정확히 동일한 인증서 체인을 가지고 있었으며 루트 또는 중간 인증서는 장치에서 신뢰하지 않았습니다. 테스트 사이트를 방문한 후 우리 사이트는 아무런 경고없이 마술처럼 일하기 시작했습니다.

이 문제와 관련하여 Thawte에 문의하여 SSL 인증서가 올바르게 설치되지 않았다고 말했습니다. 서버의 신뢰할 수있는 중간 인증서 저장소에 중간 인증서를 다운로드install 이 필요하며 설치 검사기 = 결과를 확인합니다. 인증서는 호스팅 제공 업체에 의해 설치되었지만 (단일 루트 인증서에 대해 자동화 된 스크립트 구성을 사용하여), 지침을 따르면 사이트는 새 루트 또는 중간 인증서를 설치하거나 승인 할 필요없이 이전 브라우저에서 작업하기 시작했습니다. 장치.

서버에 중간 인증서를 설치하면 이전 브라우저가 인증서를 유효한 것으로 수락하는 방법은 무엇입니까?

6
Greg Bray

최근에 우리 사이트 중 하나에서이 업그레이드를 수행 한 결과 SSL의 작동 방식을 완전히 이해하지 못하고 설명이 필요하다는 것을 알게되었습니다.

간단히 말해 SSL 키 (순서에 상관없이)는 체인에있는 일련의 키입니다. 매우 큰 소수 (키)를 곱하는 PUBLIC-PRIVATE 프로세스 (체인)를 거치는 핸드 쉐이킹 방법이 있습니다.

질문 1 : 1024 비트 루트는 2048 비트 루트와 어떻게 다릅니 까?

첫째, 열쇠는 두 배나 큽니다. 계산 "균열"의 관점에서 이것은 더 많은 시간이 걸리고 지수 적으로 증가합니다. Seti @ home과 같은 마지막 멀티 쉐어링은 6 개월 이내에 256 비트 키를 해독 할 수있었습니다. 그러나이 크기의 두 배인 키는 최소 4 배의 시간이 걸립니다. Bachmann–Landau 표기법 문제입니다. 당연히 1024 비트 키는 16 배, 2048은 32 배가 걸립니다.

512b 키에 대한 무차별 대입은 한 번에 XYZ MhZ 속도에서 1.2 조 처리 시간이 걸린 것으로 간주되었으므로 키 크기를 업그레이드해야한다고 생각하는 것은 미치광이였습니다.

그러나 아아, 우리는 가지고 있습니다.

밀레니엄 상을 수상한 "P vs NP"는 이제 더 큰 사람들이 거대 큰 소수를 고려하여 추측을 걸러 내고 있습니다.

질문 2 : 중급 인증서는 어떻게 작동하며 어떤 혜택/손해가 있습니까?

...

서버에 중간 인증서를 설치하면 이전 브라우저가 인증서를 유효한 것으로 수락하는 방법은 무엇입니까?

브라우저마다 다른 확장 검증 루틴 또는 제공자를 가질 수 있습니다. (아마도 없음!)

웹 서버마다 다른 확장 검증 루틴 또는 공급자를 가질 수도 있습니다. (아마도 없음? 가능성이 낮습니다!)

실제로 SSL을 수행하는 코드베이스의 예는 PHP의 경우 OpenSSL 입니다.

다른 서버 및 다른 코드베이스에 대해 이와 같은 많은 유형의 라이브러리가 있습니다. 서버, 라이브러리 빌드 또는 키 자체에도 레거시 코드에 문제가있을 수 있습니다.

인터넷 보안은 때때로 업그레이드 및 프로세스 흐름의 변경을 거치기 때문에 최신 2048 비트 키에는 더 많은 키 및/또는 체인이 있다고 말하는 것이 안전합니다. 매우 실제적인 측면에서 이것은 감가 상각 된 루틴으로 간주되는 것에 대해 비정상적인 동작을 유발할 수 있습니다.

따라서 중간 인증서가 문제를 해결하는 이유는 비 호환성을 선택적 하위 호환 인증서 로 패치합니다.

2
Talvi Watia