자기서명증명서

Self-signed certificate

암호화컴퓨터 보안에서 자기서명증명서는 인증국(CA)이 발급하는 공개키 증명서와는 달리 사용자가 직접 발급하는 공개키 증명서입니다.이 증명서는 만들기 쉽고 비용도 들지 않습니다.단, 신뢰값은 제공하지 않습니다.

예를 들어 웹 사이트 소유자가 HTTPS 서비스를 제공하기 위해 자체 서명된 인증서를 사용하는 경우 해당 웹 사이트를 방문한 사용자는 원하는 대상에 연결되어 있는지 확인할 수 없습니다.악의적인 서드파티가 같은 소유자 이름을 가진 다른 자기서명증명서를 사용하여 접속을 리다이렉트하고 있을 가능성이 있습니다.연결은 여전히 암호화되어 있지만 의도한 대상으로 연결되지는 않습니다.이에 비해 사용자의 웹 브라우저는 발행된 CA에 대해 개별적으로 증명서를 검증하므로 CA 서명된 증명서는 이 공격을 방지합니다.공격자의 인증서가 이 유효성 검사에 실패합니다.

그러나 자체 서명된 인증서는 고유한 용도로만 사용됩니다.발행자와 단독사용자가 같은 실체일 경우, 그들은 완전한 신뢰가치를 가진다.예를 들어, Microsoft Windows의 Encrypting File System은 암호화 사용자를 대신하여 자체 서명된 인증서를 발급하고 이를 사용하여 데이터를 즉시 투명하게 해독합니다.다른 예로는 자기서명증명서의 일종인 루트 증명서가 있습니다.

혜택들

OpenSSL, Java의 Keytool, Adobe Reader, wolfSSL, Apple의 Keychain 등 다양한 도구를 사용하여 자기서명증명서를 무료로 작성할 수 있습니다.커스터마이즈도 간단합니다.예를 들어, 키 사이즈가 크거나 메타데이터를 추가할 수 있습니다.인증서에 부적절하게 서명할 수 있는 제삼자를 신뢰하는 문제는 없습니다.자기서명증명서 트랜잭션에서는 보통 복잡한 증명서 체인 [1]검증과 CRL이나 OCSP 의 CA 실효 체크가 모두 배제되므로 공격 대상이 훨씬 작아집니다.

신뢰 문제

CA 기반의 PKI 시스템에서는 안전한 통신에 종사하는 당사자는 CA를 신뢰해야 합니다.즉, CA 증명서를 신뢰할 수 있는 증명서의 화이트리스트에 배치해야 합니다. 브라우저 개발자는 CA/Browser Forum에서 지정한 절차를 사용하여 잘 알려진 공용 인증 기관을 화이트리스트에 추가할 수 있습니다.개별 그룹 및 회사는 추가 개인 CA 인증서를 화이트리스트에 추가할 수 있습니다.새로운 자기 서명 증명서를 받아들이는 엔티티의 신뢰 문제는 새로운 CA 증명서의 추가를 신뢰하는 엔티티의 문제와 유사합니다.자기서명 PKI의 당사자는 (PKI 이외의 절차를 사용하여) 서로 신뢰를 확립하고 증명서의 암호화 해시 아웃밴드 비교 등 공개 키의 정확한 전송을 확인해야 합니다.

CA 서명된 증명서와 자기 서명된 증명서 사이에는 많은 미묘한 차이가 있습니다.특히 증명서의 보안 어설션으로 설정할 수 있는 신뢰의 양에는 차이가 있습니다.일부 CA는 증명서를 발급받은 사람의 신원을 확인할 수 있습니다.예를 들어 미군이 여러 형식의 다른 ID와 함께 공통 액세스 카드를 직접 발급합니다.CA는 서명된 증명서에 이러한 ID 값을 포함시킴으로써 이러한 ID 값을 증명할 수 있습니다.증명서를 검증하는 엔티티는 증명서에 서명한 CA를 신뢰하는 범위 내에서 증명서 내의 정보를 신뢰할 수 있습니다(또한 CA가 증명된 정보를 검증하기 위해 사용한 보안 절차).

반면 자기서명증명서에서는 엔티티가 서명키를 소유하고 있으며 항상 다른 값을 가진 새 증명서를 생성할 수 있기 때문에 증명서 값의 신뢰는 더욱 복잡해집니다.예를 들어 엔티티가 항상 유효한 날짜 범위를 포함하는 새 인증서를 생성하고 서명할 수 있기 때문에 자체 서명된 인증서의 유효 날짜를 신뢰할 수 없습니다.

자기서명증명서의 값은 증명서를 받아들이는 동안 값이 대역 외에서 확인되었을 경우에만 신뢰할 수 있으며, 자기서명증명서가 신뢰된 후에도 변경되지 않았는지 확인하는 방법이 있습니다.예를 들어 자기서명증명서를 신뢰하는 절차에는 유효일자 수동검증이 포함되어 증명서의 해시가 화이트리스트에 [2]포함됩니다.검증할 엔티티에 대해 증명서가 제시되면 증명서의 해시가 화이트리스트의 참조 해시랑 일치하는지 확인합니다.또, 일치하고 있는 경우는(자기 서명 증명서를 나타내는 것은, 정식으로 신뢰할 수 있는 증명서와 같음을 나타냄), 증명서의 유효일을 신뢰할 수 있습니다.자기서명증명서의 X.509 증명서 필드의 특수한 처리는 RFC 3280에 [1]기재되어 있습니다.

자기서명증명서의 실효는 CA서명증명서와 다릅니다.기본적으로 어떤 엔티티(CA 등)도 자기서명증명서를 취소할 수 없습니다.그러나 신뢰 [3]화이트리스트에서 자기 서명 CA를 삭제함으로써 CA를 무효화할 수 있습니다.

사용하다

자기서명증명서는 발행자와 단독사용자가 같은 엔티티인 경우 등 사용이 제한되어 있습니다.예를 들어, Microsoft Windows의 Encrypting File System은 사용자 계정을 대신하여 자기 서명 인증서를 발급하여 파일을 즉시 투명하게 암호화 및 해독합니다.다른 예로는 자기서명증명서의 일종인 루트 증명서가 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Housley, Russ; Polk, Tim; Ford, Warwick S.; Solo, David (May 2002). "Certificate and CRL Profile – RFC 3280". tools.ietf.org. Archived from the original on 2017-04-26. Retrieved 2017-04-06.
  2. ^ "How to bypass SSLHandshakeException". Archived from the original on 2021-08-01. Retrieved 2021-08-01.
  3. ^ "RFC 2459: Internet X.509 Public Key Infrastructure Certificate and CRL Profile". www.ietf.org. January 1999. Archived from the original on 2012-12-14. Retrieved 2009-01-03.
  4. ^ "Public Beta". Let's encrypt. Archived from the original on 2018-04-07. Retrieved 2015-12-06.