SSL /의 해지 상태를 확인하기위한 현재 브라우저 프로그램의 세부 정보TLS 브라우저 간 테스트를 포함한 인증서.
개요
SSL / 해지 상태 확인TLS 인증서 HTTPS 웹 사이트는 웹 보안의 지속적인 문제입니다. 서버가 사용하도록 구성되지 않은 경우 OCSP 스테이플 링, 웹 브라우저를 통한 온라인 해지 확인은 느리고 개인 정보를 침해합니다. 온라인 OCSP 쿼리가 너무 자주 실패하고 일부 상황 (예 : 종속 포털)에서 불가능하기 때문에 브라우저는 일반적으로 "소프트 실패"모드에서 OCSP 검사를 구현하여 결정된 공격자를 저지하는 데 효과적이지 않습니다. (이 문제에 대한 더 완전한 기록을 보려면 SSL.com의 기사를 읽으십시오. 페이지로드 최적화 : OCSP 스테이플 링).
이러한 이유로 웹 브라우저는 온라인 해지 확인의 필요성을 줄이거 나 없애기 위해 다양한 솔루션을 구현했습니다. 정확한 세부 정보는 공급자마다 다르지만 이러한 솔루션에는 일반적으로 인증 기관 (CA)에서 해지 된 인증서 목록을 수집하여 브라우저로 푸시하는 것이 포함됩니다.
이 문서에서는 주요 데스크톱 브라우저 ()에서 사용하는 유효성 검사 전략에 대한 높은 수준의 요약을 제공합니다.크롬, 파이어 폭스, Safari및 Edge) 및 이러한 브라우저의 응답을 일부 샘플과 비교 해지 된 인증서 SSL.com에서 호스팅합니다.
Google Chrome
크롬은 의지합니다 CRLS 세트 해지 확인을 위해. CRLSet은 단순히 취소 된 인증서 목록이며 소프트웨어 업데이트로 브라우저에 푸시됩니다. 에 따르면 크롬 프로젝트 웹 사이트Google에서 CRLSets를 생성하는 프로세스는 독점적이지만
CRLSets… 주로 Chrome이 긴급 상황에서 인증서를 빠르게 차단할 수있는 수단입니다. 보조 기능으로 비 응급 취소를 포함 할 수도 있습니다. 후자의 해지는 CA에서 게시 한 CRL을 크롤링하여 얻습니다.
위의 진술은 적어도 일부 우선 순위가 낮은 해지 된 엔드 엔티티 인증서는 CRLSets로 끝날 수 있지만 XNUMX 차 고려 사항입니다.
다음으로 이동하여 Chrome 인스턴스에 현재 설치된 CRLSet 버전을 확인할 수 있습니다. chrome://components/
:
opera://components
. 지적했듯이 이하, Microsoft Edge 브라우저의 현재 버전도 Chromium을 기반으로하며 CRLSets를 사용합니다.온라인 인증서 유효성 검사를 수행하도록 현재 Chrome을 직접 구성 할 수 없습니다. 그러나 운영 체제에 따라 이러한 확인은 OS에서 사용하는 기본 인증서 라이브러리에서 수행 될 수 있습니다. (알 수있는 바와 같이 이하 제한된 브라우저 테스트 결과에서 동일한 버전 번호와 CRLSet을 사용하는 Chrome 설치가 실제로 Windows와 macOS에서 취소 된 두 개의 인증서에 다르게 응답하는 것으로 나타났습니다.)
모질라 파이어 폭스
Google과 마찬가지로 Mozilla는 취소 된 인증서의 중앙 집중식 목록을 유지 관리합니다. 원CRL. OneCRL은 Mozilla의 루트 프로그램에서 CA에 의해 취소 된 중간 인증서 목록이며 애플리케이션 업데이트시 Firefox 사용자에게 푸시됩니다. 최종 엔티티 인증서와 관련하여 Mozilla의 해지 계획 "미래에 초기 구현이 작동하면 OneCRL로 EE 인증서를 다루는 방법을 검토 할 수 있으며, 초기에는 특정 클래스 (예 : EV 인증서)에 집중할 수 있습니다."
OneCRL은 JSON 객체로 다운로드 할 수 있습니다 LINK에서 웹 페이지로 보거나 crt.sh.
Chrome과 달리 Firefox의 기본 설정은 SSL /의 유효성을 확인하기 위해 OCSP 응답자에게도 쿼리합니다.TLS 인증서. (Firefox의 보안 환경 설정에서이 설정을 변경할 수 있습니다.)
그러나 OCSP 쿼리 실패가 매우 흔하기 때문에 Firefox (다른 브라우저와 마찬가지로)는 "소프트 실패"정책을 구현합니다. 원하는 경우 다음으로 이동하여 엄격한 OCSP 검사를 요구할 수 있습니다. about:config
토글 security.OCSP.require
에 true
.
애플 사파리
Apple의 현재 해지 접근 방식은 Bailey Basile이 2017 년 WWDC 강연에서 다루었습니다. 앱 및 진화하는 네트워크 보안 표준. Apple은 장치에서 신뢰할 수있는 CA에서 인증서 해지 정보를 수집하고이를 Apple의 클라이언트 소프트웨어에서 주기적으로 검색하는 단일 번들로 집계합니다 (아직 익숙한 계획처럼 들리나요?).
클라이언트 응용 프로그램이 Apple 목록에 표시된 인증서를 발견하면 OCSP 검사를 수행하여 인증서가 실제로 해지되었는지 확인합니다 (서버가 스테이플 된 OCSP 응답을 제공하지 않는 한). 온라인 OCSP 검사는 Apple이 이미 해지되었다고 생각하는 인증서의 경우에만 수행됩니다. Apple에서 검색 한 번들에 나열되지 않은 인증서는 확인되지 않습니다.
Apple의 해지 목록 및 파싱 코드에 대한 링크를 사용할 수 있습니다. LINK.
마이크로 소프트 에지
Windows는 해지되었거나 블랙리스트에있는 인증서 목록을 disallowedcert.stl
. 이 블로그 항목 PowerShell을 사용하여 파일 내용을 덤프하는 방법에 대한 정보를 제공합니다. crt.sh 특정 인증서가 다음에 나열되어 있는지 여부에 대한 정보를 제공합니다. disallowedcert.stl
.
Firefox와 마찬가지로 Windows는 기본적으로 인증서 해지를 확인하도록 설정되어 있습니다. 이 설정은 다음에서보고 변경할 수 있습니다. 인터넷 속성 제어판 :
그러나 Chrome과 같은 Edge의 현재 (Chromium 기반) 버전은 해지 확인을 위해 CRLSets에 의존하며 테스트에서 나타납니다. 이하 인터넷 속성의 해지 확인 설정과 무관합니다. (참고 : 2019 년 XNUMX 월에 수행 된이 테스트의 이전 버전에서 Internet Explorer 및 Edge의 Chromium 이전 버전 한 인터넷 속성에서 다음 설정을 따르십시오.)
브라우저 간 변형
SSL.com은 샘플 해지 인증서를 호스팅하는 웹 서버 그룹을 유지하고 있기 때문에 다양한 데스크톱 브라우저에 대해 테스트하기로 결정했습니다.이 소규모의 과학적 테스트는 23 년 2020 월 XNUMX 일에 수행되었습니다. 사용 된 브라우저는 다음과 같습니다.
- Chrome 88.0.4324.182, CRLSet 버전 6444 (macOS 10.15.7)
- Chrome 88.0.4324.182, CRLSet 버전 6444 (Windows 10 Pro)
- Edge 88.0.705.74, CRLSet 버전 6444 (Windows 10 Enterprise)
- Firefox 86.0 – OCSP 쿼리 (macOS 10.15.7)
- Firefox 86.0 – OCSP 쿼리 해제 (macOS 10.15.7)
- 사파리 14.0.3(macOS 10.15.1)
또한 인터넷 속성 제어판에서 온라인 해지 검사를 비활성화 한 상태에서 Windows에서 Chrome 및 Edge를 테스트했으며 (Chrome, Firefox 및 Edge의 경우) 관련 인증서가 특정 브라우저 프로그램에서 해지 된 것으로 나열되었는지 확인했습니다. crt.sh.
크롬 (macOS) | 크롬 (Windows) | 엣지(윈도우) | Firefox (Mac) (OCSP 사용) | Firefox (Mac) (OCSP 끄기) | 사파리 (Mac) | |
---|---|---|---|---|---|---|
취소 -rsa-dv.ssl.com | 해지 | 해지되지 않음 | 해지되지 않음 | 해지 | 해지되지 않음 | 해지 |
취소 -rsa-ev.ssl.com | 해지 | 해지 | 해지 | 해지 | 해지되지 않음 | 해지 |
취소됨 -ecc-dv.ssl.com | 해지 | 해지되지 않음 | 해지되지 않음 | 해지 | 해지되지 않음 | 해지 |
취소된-ecc-ev.ssl.com | 해지 | 해지 | 해지 | 해지 | 해지되지 않음 | 해지 |
결과 토론
크롬: Windows에서 Chrome은 취소 된 인증서 (취소 -rsa-dv.ssl.com and 취소됨 -ecc-dv.ssl.com)가 유효하고 다른 사용자는 해지되었습니다. OS에서 유효성 검사를 비활성화해도이 응답은 변경되지 않았습니다. 흥미롭게도, XNUMX 개의 인증서 중 CRLSet에서 해지 된 것으로 표시된 인증서는 없습니다. crt.sh 테스트시 Chrome의 해지 확인 프로세스에 대한 추가 질문을 제안합니다. macOS에서 Chrome은 XNUMX 개의 인증서를 모두 해지 된 것으로 올바르게 표시하여 Chrome 동작의 플랫폼 기반 차이를 보여줍니다.
가장자리: Edge 미러링 된 Chrome의 현재 (Chromium 기반) 버전은 취소 -rsa-dv.ssl.com and 취소됨 -ecc-dv.ssl.com 유효한 것으로. Chrome과 마찬가지로 Edge는 OS에서 유효성 검사가 활성화되었는지 여부와 상관없이 동일한 결과를 보여주었습니다. XNUMX 개의 인증서가 다음 목록에 표시되지 않았습니다. disallowedcert.stl
on crt.sh.
파이어 폭스 : OneCRL의 중간 인증서에 대한 언급 된 초점에서 예상 할 수 있듯이 Firefox는 브라우저의 기본 설정에서 OCSP 쿼리가 활성화 된 상태에서 XNUMX 개의 인증서가 모두 해지 된 것으로 인식했지만 OCSP 쿼리가 비활성화 된 경우 XNUMX 개 모두를 유효한 것으로 받아 들였습니다. (참고 : 이 해지 된 최종 엔터티 인증서 XNUMX 개 모두 유효하고 해지되지 않은 중간체에서 발급되었습니다.) Chrome과 마찬가지로 crt.sh OneCRL에서 해지 된 인증서를 표시하지 않습니다.
원정 여행: macOS의 Safari는 XNUMX 개의 인증서를 모두 해지 한 것으로 올바르게 인식했습니다. crt.sh Apple 해지 정보를 표시하지 않으며 이러한 특정 인증서가 Apple에서 해지 한 것으로 나열되어 있는지 확인하지 않았습니다.
결론
결과는 취소가 데스크톱 웹 브라우저에서 여전히 문제가되는 문제임을 나타내는 것으로 보입니다 (모바일 장치는 완전히 다른 세상을 나타내지 만 다른 기사의 주제 임). Firefox에서 인증서가 해지 된 것으로 인식하려면 온라인 OCSP 확인을 활성화 (느리고 안전하지 않음)해야했지만, Chrome과 Edge는 OS에서 해지 확인이 활성화되었는지 여부에 관계없이 Windows에서 두 개의 해지 된 인증서를 인식하지 못했습니다.
웹 사이트 소유자의 경우 다양한 브라우저 프로그램이 루트 및 중간 CA 인증서 해지와 같은 우선 순위가 높거나 긴급한 상황에 초점을 맞추고 가든 다양성 엔드 엔터티 인증서가 해지 될 가능성이 있다고 가정하는 것이 좋습니다. 무기한 기간. 이러한 이유로 구현 OCSP 스테이플 링 및 필수 스테이플 최종 사용자가 최종 엔터티 인증서 해지에 대한 정확한 정보를받을 수있는 가장 비공개적이고 안전하며 효과적인 방법 인 것 같습니다.
SSL.com은 다양한 SSL /TLS 서버 인증서 HTTPS 웹 사이트 용.