증명서 투과성

Certificate Transparency

Certificate Transparency(CT; 증명서 투과성)는 디지털 [1]증명서 발급을 감시 및 감사하기 위한 인터넷 보안 표준입니다.이 표준에서는 퍼블릭로그 시스템이 작성되어 최종적으로 신뢰할 수 있는 인증국에 의해 발행된 모든 증명서를 기록하기 위해 잘못 발행된 증명서 또는 악의적으로 발행된 [2]증명서를 효율적으로 식별할 수 있습니다.최신 Certificate Transparency 메커니즘의 버전 2.0은 다음 테스트에서 설명합니다. RFC9162 - RFC6962에 기술되어 있는 이전 버전 1.0을 폐지합니다.

기술 개요

인증서 투명 시스템은 추가 전용 인증서 로그 시스템으로 구성됩니다.로그는 브라우저 벤더나 [3]인증국포함한 많은 관계자에 의해 운용됩니다.증명서 투과성을 지원하는 증명서에는 1개 또는 여러 개의 서명된 증명서 타임스탬프(SCT)가 포함되어야 합니다.이것은 로그 오퍼레이터가 최대 Marge Delay(MMR;[4][3] 병합 지연) 내에 증명서를 로그에 포함시키기로 약속하는 것입니다.로그 오퍼레이터는 최대 머지 지연 내의 어느 시점에서 증명서를 로그에 추가합니다.로그의 각 엔트리는 이전 엔트리의 해시를 참조하여 Merkle 트리를 형성합니다.서명된 트리 헤드(STH)는 Merkle 트리의 현재 루트를 참조합니다.

필수 인증서 투명성

일부 브라우저에서는 증명서에 내장된SCT, TLS 핸드쉐이크 중 확장 또는 OCSP를 통해 TLS 증명서에 대해 증명서가 필요합니다.[5][6]

브라우저 현재의 SCT 요건 현재 OCSP/TLS 확장 요건
크롬/크롬
  • 현재 SCT x 1
  • 한 번 승인된 Google 로그에서 1 SCT
  • 한 번 승인되지 않은 구글 로그에서 SCT 1개
  • 기간 > 15개월: 3 로그의 SCT
  • 기간 > 27개월: 4개의 로그에서SCT
  • 기간 > 39개월: 5 로그의[7] SCT
  • 현재 Google 로그에서 1 SCT
  • 현재 비구글 로그에서 1 SCT
파이어폭스 없음[8] 없음.
사파리
  • 현재 승인된 로그에서 1개의 SCT
  • 기간 180일 미만: 1회 승인 로그에서2개의 SCT
  • 기간 180일 이상: 한번 승인된[9] 로그에서 3개의 SCT
현재 승인된 로그에서2개의 SCT

로그 샤딩

Web PKI에서 발행된 증명서의 양이 많기 때문에 증명서 투과 로그에는 다수의 증명서가 포함될 가능성이 있습니다.이렇게 많은 양의 증명서는 로그에 부담을 줄 수 있습니다.일시적 샤딩은 로그를 여러 로그로 샤딩하고 각 샤드가 특정 기간(통상 역년)[10][11][12] 내에 유효기간이 있는 사전 증명서/증명서만 받아들이도록 함으로써 로그의 부담을 줄이는 방법입니다.Cloudflare의 Nimbus 시리즈 로그는 시간 샤딩을 최초로 사용한 것입니다.

배경

이점

디지털 증명서 관리의 문제점 중 하나는 부정 증명서가 발견되고 보고되고 취소되는 데 오랜 시간이 걸린다는 것입니다.Certificate Transparency를 사용하여 기록되지 않은 발급된 증명서는 전혀 발견되지 않을 수 있습니다.Certificate Transparency를 사용하면 도메인 소유자 및 관심 있는 모든 사용자가 도메인에 대해 발급된 인증서를 알 수 있습니다.

인증서 투명 로그

Certificate Transparency는 검증 가능한 Certificate Transparency 로그에 따라 달라집니다.로그는 계속 증가하는 Merkle 해시 [1]: Section 3 트리에 새 인증서를 추가합니다.정상적으로 동작하고 있는 것을 확인하려면 , 로그는 다음과 같이 할 필요가 있습니다.

  • 송신된 각 증명서 또는 사전 증명서가 신뢰할 수 있는 루트 인증국 증명서로 돌아가는 유효한 시그니처 체인을 가지고 있는지 확인합니다.
  • 이 유효한 서명 체인이 없는 인증서 게시를 거부합니다.
  • 새로 받아들인 증명서의 확인 체인 전체를 루트 증명서에 다시 저장합니다.
  • 요청에 따라 감사할 수 있도록 이 체인을 제시합니다.

로그는 아직 완전히 유효하지 않은 인증서와 만료된 인증서를 허용할 수 있습니다.

인증서 투명 모니터

모니터는 로그 서버의 클라이언트 역할을 합니다.체크 로그가 올바르게 동작하고 있는지 여부를 모니터 합니다.부정합은 로그가 올바르게 동작하지 않았음을 증명하기 위해 사용되며 로그의 데이터 구조(Merkle 트리)에 있는 시그니처는 로그가 잘못된 동작을 거부하는 것을 방지합니다.

증명서 투과감사자

감사자는 로그 서버의 클라이언트 역할도 합니다.Certificate Transparency Auditor는 로그에 대한 부분 정보를 사용하여 로그를 보유하고 [1]: Section 5.4 있는 다른 부분 정보와 비교 확인합니다.

인증서 투명 로그 프로그램

Apple과[13][10] Google에는 개별 로그 프로그램과 신뢰할 수 있는 로그 목록이 있습니다.

인증서 투명 로그의 루트 저장소

Certificate Transparency 로그는 자체 루트 저장소를 유지하며 신뢰할 수 있는 [1]루트에 체인백하는 인증서만 허용합니다.이전에 다수의 잘못된 동작 로그가 일관되지 않은 루트 저장소를 게시한 적이 있습니다.[14]

역사

Firefox 89에서의 증명서 투과 엔트리의 예

2011년에는 인증국 Comodo의 재판매업자가 공격을 받아 인증국 DigiNotar[15]침해되어 인증국 생태계의 기존 결함이 드러나고 부정증명서 발급을 방지 또는 감시하기 위한 다양한 메커니즘이 마련되었습니다.구글직원 Ben Laurie, Adam Langley 및 Emilia Kasper는 같은 해 잘못된 인증서 발급을 탐지하기 위한 오픈 소스 프레임워크에 대한 작업을 시작했습니다.2012년에 그들은 "Sunlight"[citation needed]라는 코드명으로 표준의 초안을 IETF에 제출했다.

2013년 3월, Google은 첫 번째 인증서 [16]투명 로그를 시작했습니다.2013년 9월, DigiCert는 인증 기관 최초로 인증 투명성을 [17]구현했습니다.

2015년 Google Chrome은 새로 발급된 확장 유효성 [18][19]인증서에 대해 인증서 투명성을 요구하기 시작했습니다.2016년 6월 1일부터 시만텍이 도메인 소유자 [20][21]모르게 187개의 인증서를 발급한 것으로 판명된 후, 시만텍이 새로 발급한 모든 인증서에 대해 인증서 투명성을 요구하기 시작했습니다.2018년 4월부터 이 요건은 모든 [6]인증서로 확대되었습니다.

2018년 3월 23일, Cloudflare[22]Nimbus라는 이름의 자체 CT 로그를 발표했습니다.

2018년 3월에는 "Certificate Transparency Version 2.0" 초안이 [23]발행되었습니다.

2019년 5월 인증 기관 Let's Encrypt는 Oak라는 자체 CT 로그를 출시했습니다.2020년 2월부터 승인된 로그 목록에 포함되며 모든 공인 인증 [24]기관에서 사용할 수 있습니다.

2021년 12월에는 IETF RFC 9162 "Certificate Transparency Version 2.0"이 발행되었습니다.CTv2.0은 CTv1.0 프로토콜을 수정 및 폐지하여 커뮤니티에서 CTv1.0의 도입과 피드백에서 통찰력을 얻습니다.버전 2.0에는 로그 증명서의 필수 구조에 대한 주요 변경과 더불어 SCT의 시그니처 알고리즘으로서의 Ed25519 지원 및 SCT에 증명서 포함 증명서 포함 지원이 포함되어 있습니다.

2022년 2월 구글은 CT 정책에 대한 업데이트를 발표했습니다.이 정책은 [25]증명서에 대한 모든 요건을 [26]애플이 이전에 발행한 것과 일치시키는 자체 CT 로그 서비스에서 SCT를 포함할 필요가 없도록 했습니다.

시그니처 알고리즘

Certificate Transparency Version 1.0에서는 로그에 NIST P-256 곡선 또는 RSA 시그니처(최소 2048비트 [1]:section 2.1.4키 사용)를 사용해야 합니다.

업데이트된 Certificate Transparency Version 2.0 [27]표준에서는 허용되는 알고리즘은 NIST P-256, Deterministic ECDA 또는 Ed25519입니다.

CT 로그를 검사하기 위한 도구

레퍼런스

  1. ^ a b c d e Laurie, Ben; Langley, Adam; Kasper, Emilia (June 2013). Certificate Transparency. IETF. doi:10.17487/RFC6962. ISSN 2070-1721. RFC 6962.
  2. ^ Solomon, Ben (8 August 2019). "Introducing Certificate Transparency Monitoring". Cloudflare. Archived from the original on 8 August 2019. Retrieved 9 August 2019. Ah, Certificate Transparency (CT). CT solves the problem I just described by making all certificates public and easy to audit. When CAs issue certificates, they must submit certificates to at least two “public logs.” This means that collectively, the logs carry important data about all trusted certificates on the Internet.
  3. ^ a b Scheitle, Quirin; Gasser, Oliver; Nolte, Theodor; Amann, Johanna; Brent, Lexi; Carle, Georg; Holz, Ralph; Schmidt, Thomas C.; Wählisch, Matthias (2018-10-31). "The Rise of Certificate Transparency and Its Implications on the Internet Ecosystem". Proceedings of the Internet Measurement Conference 2018. Boston MA USA: ACM: 343–349. doi:10.1145/3278532.3278562. ISBN 978-1-4503-5619-0.
  4. ^ "How CT Works : Certificate Transparency". certificate.transparency.dev. Retrieved 2022-02-25.
  5. ^ Call, Ashley (2015-06-03). "Certificate Transparency: FAQs DigiCert Blog". DigiCert. Retrieved 2021-04-13.
  6. ^ a b O'Brien, Devon (7 February 2018). "Certificate Transparency Enforcement in Google Chrome". Google Groups. Retrieved 18 December 2019.
  7. ^ "Chrome Certificate Transparency Policy". CertificateTransparency. Retrieved 2022-02-26.
  8. ^ "Certificate Transparency - Web security MDN". developer.mozilla.org. Retrieved 2022-02-26.
  9. ^ "Apple's Certificate Transparency policy". Apple Support. Retrieved 2022-02-26.
  10. ^ a b "Chrome CT Log Policy". googlechrome.github.io. Retrieved 2021-10-14.
  11. ^ Tomescu, Alin; Bhupatiraju, Vivek; Papadopoulos, Dimitrios; Papamanthou, Charalampos; Triandopoulos, Nikos; Devadas, Srinivas (2019-11-06). "Transparency Logs via Append-Only Authenticated Dictionaries". Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. London United Kingdom: ACM: 1299–1316. doi:10.1145/3319535.3345652. ISBN 978-1-4503-6747-9.
  12. ^ "Scaling CT Logs: Temporal Sharding DigiCert.com". www.digicert.com. Retrieved 2022-02-26.
  13. ^ "Apple's Certificate Transparency log program". apple.com. Retrieved 2021-10-14.
  14. ^ Korzhitskii, Nikita; Carlsson, Niklas. Characterizing the root landscape of Certificate Transparency logs. In proceedings of 2020 IFIP Networking Conference (Networking).{{cite book}}: CS1 maint :url-status (링크)
  15. ^ Bright, Peter (August 30, 2011). "Another fraudulent certificate raises the same old questions about certificate authorities". Ars Technica. Retrieved 2018-02-10.
  16. ^ "Known Logs - Certificate Transparency". certificate-transparency.org. Retrieved 2015-12-31.
  17. ^ "DigiCert Announces Certificate Transparency Support". Dark Reading. 2013-09-24. Retrieved 2018-10-31.
  18. ^ Woodfield, Meggie (December 5, 2014). "Certificate Transparency Required for EV Certificates to Show Green Address Bar in Chrome". DigiCert Blog. DigiCert.
  19. ^ Laurie, Ben (February 4, 2014). "Updated Certificate Transparency + Extended Validation plan". public@cabforum.org (Mailing list). Archived from the original on 2014-03-30.
  20. ^ "Symantec Certificate Transparency (CT) for certificates issued before June 1, 2016". Symantec Knowledge Center. Symantec. June 9, 2016. Archived from the original on October 5, 2016. Retrieved September 22, 2016.
  21. ^ Sleevi, Ryan (October 28, 2015). "Sustaining Digital Certificate Security". Google Security Blog.
  22. ^ Sullivan, Nick (23 March 2018). "Introducing Certificate Transparency and Nimbus". cloudflare.com. Archived from the original on 23 March 2018. Retrieved 9 August 2019.
  23. ^ Laurie, B. (2018-03-05). "Certificate Transparency Version 2.0". tools.ietf.org. Retrieved 2021-04-13.
  24. ^ "Introducing Oak, a Free and Open Certificate Transparency Log - Let's Encrypt". letsencrypt.org. Retrieved 2021-04-13.
  25. ^ "Google CT Policy Update". Google Groups. Retrieved 2022-02-14.
  26. ^ "Apple's Certificate Transparency Policy". support.apple.com. Retrieved 2022-02-14.
  27. ^ "RFC 9162 - Certificate Transparency Version 2.0". datatracker.ietf.org. Retrieved 2022-02-14.

외부 링크