웹 브라우저는 SSL 인증서를 캐시합니까? 때 새 인증서를 선택합니까,

웹 브라우저가 SSL 서버 인증서를 캐시합니까? 예를 들어, 웹 서버에서 SSL 인증서를 변경하면 모든 웹 브라우저가 SSL을 통해 연결할 때 새 인증서를 선택합니까, 아니면 부실 인증서가있을 수 있습니까?

SSL 인증서가 만료되어 웹 서버에서 새 인증서로 교체되는 시나리오를 생각하고 있습니다.



답변

글쎄, RedGrittyBrick의 대답은 정확하지만 실제로 질문에 대답하지는 않습니다. 문제는 브라우저가 그렇게 해야하는지, 아니면 해야하는지 아닌지에 대한 것이었다 .

내가 들었던 바에 따르면 MSIE와 Chrome은 실제로 캐시 인증서를 수행하며 이전 버전이 유효한 한 새 버전을 얻을 때 대체하지 않습니다. 그들이 왜 그렇게 하는가는 보안을 낮추기 때문에 이해하기 어렵습니다.


답변

아니요. IBM SSL 개요를 참조하십시오.

  1. SSL 클라이언트는 SSL 버전과 같은 암호화 정보 및 클라이언트의 우선 순위에 따라 클라이언트가 지원하는 CipherSuites를 나열하는 “client hello”메시지를 보냅니다. 메시지에는 후속 계산에 사용되는 임의의 바이트 문자열도 포함됩니다. SSL 프로토콜은 “client hello”가 클라이언트가 지원하는 데이터 압축 방법을 포함하도록 허용하지만 현재 SSL 구현에는 일반적으로이 조항이 포함되지 않습니다.

  2. SSL 서버는 SSL 클라이언트가 제공 한 목록, 세션 ID 및 다른 임의의 바이트 문자열에서 서버가 선택한 CipherSuite를 포함하는 “server hello”메시지로 응답합니다. SSL 서버는 또한 디지털 인증서를 보냅니다 . 서버에 클라이언트 인증을 위해 디지털 인증서가 필요한 경우 서버는 지원되는 인증서 유형 및 허용 가능한 인증 기관 (CA)의 고유 이름 목록이 포함 된 “클라이언트 인증서 요청”을 보냅니다.

  3. SSL 클라이언트는 SSL 서버의 디지털 인증서에서 디지털 서명을 확인하고 서버가 선택한 CipherSuite가 적합한 지 확인합니다.

Microsoft의 요약 도 비슷합니다. TLS 핸드 셰이크도 이와 관련하여 유사합니다.

2 단계에서 클라이언트가 “서버 인증서 전송을 방해하지 말고 캐시를 사용하겠습니다”라고 말하는 방법이 없습니다.

여러 유형의 인증서, 클라이언트, 서버 및 CA가 있습니다. 이들 중 일부는 캐시됩니다.


답변

입력 내용이 어떤 식 으로든 도움이 될지 확실하지 않지만 방금 경험 한 것이 있습니다. 내 도메인 이름에 SSL 바인딩을 구성하기 전에 크롬에서 https로 액세스하려고했습니다. Chrome은 사이트가 완벽하게 이해되지 않는 사이트 (ERR_CERT_COMMON_NAME_INVALID)가 아니라고 말했지만 인증서를 업로드하고 푸른 색으로 SSL 바인딩을 구성한 후에도 여전히 동일한 오류가 발생했습니다. 이 단계에서 새 개인 브라우저 창을 열거 나 다른 브라우저를 사용할 때 https가 제대로 작동했습니다.

그러나 열린 Chrome 세션에서 작동하지 않을 수 없었습니다. 동일한 SSL 상태를 시도했습니다. 크롬을 완전히 다시 시작한 후에 작동했습니다.

아마도 무언가에 속았을 수도 있지만 인증서가 캐시 된 것처럼 보였습니다 …


답변

일부 브라우저 개발자 는 2011 년 Diginotar 에 대한 공격과 같은 공격을 탐지하기 위해 이러한 쉐칭 시스템을 구현할 계획입니다 .

그러나 현재 AFAIK에는 현재 브라우저에서 이러한 시스템이 활성화되어 있지 않습니다. 따라서 서버 인증서를 업데이트 할 때이 상황에 대해 생각할 필요가 없습니다.