방화벽을 통해 특정 웹 서버에 연결하고 있는데 그렇게 하면 루트 인증서가 만료되었다는 방화벽 경고가 표시되고, 방화벽을 우회하면 모든 브라우저에서 인증서에 문제가 없는 것으로 나타나고 체인을 확인하면 모든 인증서가 정상입니다.
자세히 살펴보니 브라우저는 실제로 서버에서 보낸 만료된 인증서를 Windows 인증서 저장소에서 만료되지 않은 인증서로 대체하고 있는 것으로 나타났습니다. (서버는 루트, 중간 1, 중간 2 및 서버 인증서의 네 가지 인증서 체인을 보냅니다. 중간 1은 만료되었습니다. 이는 브라우저/OS로 대체되어 브라우저의 루트 인증서가 됩니다. 이는 GlobalSign 인증서 체인입니다. )
분명히 그들은 동일한 친숙한 이름과 기타 유사한 속성을 가지고 있습니다(물론 공개 키는 동일합니다). IE/Chrome도 동일한 작업을 수행하므로 브라우저에서 사용하는 일부 Windows 기능과 거의 비슷해 보입니다.
왜 그런 일이 발생합니까? 인증서를 어떻게 교체할 수 있으며 제가 인지하지 못하는 잠재적인 위험이 있습니까?
답변1
답변: Windows는 웹 서버에서 제공한 CA 인증서를 무시합니다. 운영 체제의 CA 인증서 저장소에 저장된 적절한 CA 인증서와 비교하여 웹 서버의 인증서만 확인합니다. 해당 CA 인증서는 운영 체제에서 신뢰합니다. Windows에는 체인이 운영 체제의 CA 인증서 저장소에 아직 저장되지 않은 경우 웹 서버의 인증서를 발급한 CA 인증서 체인을 검색하는 방법도 있습니다. 이에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
웹 사이트를 방문하기만 하면 신뢰할 수 있는 루트 CA가 내 PC에 푸시될 수 있습니까?
일부 방화벽은 웹 서버에서 보낸 CA 인증서를 확인하고 인증서 중 하나가 만료되면 액세스를 차단합니다. 일반적으로 방화벽은 Windows와 같은 일반 운영 체제와 비교하여 인증서와 관련하여 동작이 다릅니다.
또한 CA 인증서는 다른 일련 번호와 유효 날짜로 재발급될 수 있다는 것도 배웠습니다. 인증서는 동일한 "친숙한 이름"과 키 쌍을 갖습니다.
이 특정 경우에 웹서버는 체인에 속한 하나의 CA 인증서의 이전 버전을 보내고 방화벽은 인증서가 만료되었음을 감지하고 웹사이트에 대한 액세스를 차단합니다. 방화벽을 우회하면 사이트에 액세스할 수 있습니다. 이는 Windows에 새 버전의 CA 인증서가 있고 이에 대해 웹 서버의 인증서를 확인하기 때문입니다.