이를 가능하게하는 기본 인프라가 존재하며 이름 기반 엔티티의 DNS 기반 인증 (DANE)이라고하며 RFC6698에 지정되어 있습니다 . TLSA
체인에있는 엔드 엔터티 또는 해당 CA 중 하나의 인증서 또는 공개 키를 지정 하는 리소스 레코드 를 통해 작동 합니다 (실제로 4 가지 유형이 있습니다. 자세한 내용은 RFC 참조).
양자
그러나 DANE는 아직 널리 채택되지 않았습니다. 베리사인은 모니터 DNSSEC 및 DANE 채택 하고 시간이 지남에 따라 성장을 추적 :
비교를 위해 VeriSign에 따르면 약 270 만 개의 DNS 영역이 존재하므로 모든 영역의 1 % 이상이 하나 이상의 TLSA 레코드를 가지고 있음을 의미합니다.
나는 왜 DANE인가에 대한 정답을 줄 수는 없지만 내 추측은 다음과 같습니다.
DANE는 CRL (Certificate Revocation List) 및 OCSP (Online Certificate Status Protocol)와 같은 문제가 있습니다. 제시된 인증서의 유효성을 확인하려면 타사에 문의해야합니다. Hanno Böck 은 좋은 개요를 제공하는데 , 이것이 실제로 큰 문제인 이유입니다. 그것은 당신이 제 3 자에게 연락 할 수 없을 때해야 할 일의 문제로 요약됩니다. 브라우저 공급 업체 는이 경우 소프트 실패 (일명 허가)를 선택했습니다. 이로 인해 모든 것이 무의미 해지고 Chrome은 궁극적으로 2012 년에 OCSP를 사용 중지하기로 결정했습니다.
DNSSEC
틀림없이 DNS는 CA의 CRL 및 OCSP 서버보다 훨씬 더 나은 가용성을 제공하지만 여전히 오프라인 확인이 불가능합니다. 또한 DANE는 DNSSEC와 함께 사용해야합니다. 일반 DNS는 인증되지 않은 UDP를 통해 작동하므로 위조, MITM 공격 등이 발생하기 쉽습니다. DNSSEC를 채택하는 것이 DANE를 채택하는 것보다 훨씬 낫지 만 여전히 보편적 인 것은 아닙니다.
그리고 DNSSEC을 사용하면 소프트 실패 문제가 다시 발생합니다. 내가 아는 한, 주요 서버 / 클라이언트 운영 체제는 기본적으로 유효성 검증 DNSSEC 분석기를 제공하지 않습니다.
그러면 취소 문제도 있습니다. DNSSEC에는 해지 메커니즘이 없으며 짧은 활성 키를 대신 사용합니다.
소프트웨어 지원
모든 참여 소프트웨어는 DANE 지원을 구현해야합니다.
이론적으로는 이것이 암호화 라이브러리의 역할이 될 것이며 응용 프로그램 개발자는 많은 일을 할 필요가 없지만 실제로는 암호화 라이브러리가 기본 요소 만 제공하고 응용 프로그램은 많은 구성과 설정을 수행해야합니다. (불행히도 문제를 일으키는 많은 방법이 있습니다).
예를 들어 주요 웹 서버 (예 : Apache 또는 nginx)가 DANE를 구현했거나이를 수행 할 계획이 있음을 모르겠습니다. 웹 서버는 웹 기술을 기반으로 점점 더 많은 것들이 구축되기 때문에 웹 서버가 특히 중요합니다.
CRL, OCSP 및 OCSP Stapling을 비교할 때 DANE 채택 사례가 어떻게 진행되는지 추론 할 수 있습니다. OpenSSL, libnss, GnuTLS 등을 사용하는 일부 응용 프로그램 만 이러한 기능을 지원합니다. Apache 또는 nginx와 같은 주요 소프트웨어가이를 지원하는 데 시간이 걸리고 Hanno Böck의 기사를 다시 참조하면 문제가 발생하여 구현에 결함이 있습니다. Postfix 또는 Dovecot와 같은 다른 주요 소프트웨어 프로젝트 는 OCSP를 지원하지 않습니다CRL 기능이 매우 제한되어 있으며 기본적으로 파일 시스템의 파일을 가리 킵니다 (필수적으로 정기적으로 다시 읽을 필요는 없으므로 서버를 수동으로 다시로드해야 함). 이들은 TLS를 자주 사용하는 프로젝트라는 점을 명심하십시오. 그런 다음 PostgreSQL / MySQL과 같이 TLS가 훨씬 덜 일반적인 것들을 살펴보고 CRL을 최대한 제공 할 수 있습니다.
그래서 나는 현대 웹 서버조차 그것을 구현하지 않았으며 대부분의 다른 소프트웨어는 OCSP와 CRL을 구현하지 않았으며 5 년 엔터프라이즈 응용 프로그램이나 어플라이언스와 행운을 빕니다.
잠재적 인 응용
그렇다면 실제로 DANE를 어디에서 사용할 수 있습니까? 현재로서는 일반 인터넷이 아닙니다. 서버와 클라이언트를 제어하는 경우 옵션 일 수 있지만이 경우 종종 공개 키 고정에 의존 할 수 있습니다.
메일 공간에서 SMTP에 가장 긴 종류의 인증 된 전송 암호화가 없기 때문에 DANE가 약간의 관심을 끌고 있습니다. SMTP 서버는 때때로 서로간에 TLS를 사용했지만 인증서의 이름이 실제로 일치하는지 확인하지 않았으므로 이제 DANE를 통해이를 확인하기 시작했습니다.