자체 서명 인증서
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
자체 서명 인증서는 디지털 서명이 해당 인증서에 바인딩된 공개 키로 검증될 수 있는 자체 발급 인증서이다. OpenSSL, keytool 등 다양한 도구를 사용하여 무료로 생성할 수 있으며, 키 크기 및 추가 메타데이터를 사용자 정의할 수 있다. 제3자 인증 기관에 의존하지 않아 보안 문제를 줄일 수 있지만, 신뢰 문제가 발생하며, 인증서의 유효성을 대역 외에서 확인해야 한다. 자체 서명 인증서는 자체 발행 인증서의 한 종류로, 암호화 파일 시스템, 루트 인증서 등에 활용된다.
더 읽어볼만한 페이지
- 공개 키 기반 구조 - 코드 서명
코드 서명은 코드의 출처와 무결성을 보장하기 위해 공개 키와 개인 키 쌍을 사용하여 코드를 서명하는 기술이며, 소프트웨어 보안 강화 및 출처 확인에 유용하다. - 공개 키 기반 구조 - 루트 인증서
루트 인증서는 공개 키 기반 구조에서 디지털 인증서의 유효성을 검증하는 최상위 인증서로서, 웹 브라우저와 운영체제가 신뢰하는 목록을 관리하지만, 보안 침해 사례로 인해 사용자들의 적극적인 보안 조치가 필요하다. - 키 관리 - 공개 키 기반 구조
공개 키 기반 구조(PKI)는 공개 키 암호화를 기반으로 안전한 통신과 개체 식별을 가능하게 하는 기술로서, 디지털 인증서를 통해 공개 키를 특정 개체에 연결하고 인증서를 관리하며, 인증 기관(CA), 등록 기관(RA) 등 다양한 구성 요소로 이루어져 인증서 발급, 관리, 배포, 사용 및 폐기와 관련된 역할, 정책, 하드웨어, 소프트웨어 및 절차의 집합을 포함한다. - 키 관리 - DNSSEC
DNSSEC는 DNS의 보안 취약점을 개선하기 위해 도메인 정보에 디지털 서명을 추가하여 응답 레코드의 무결성을 보장하고 DNS 위장 공격을 막는 기술로, RRSIG, DNSKEY 등 다양한 리소스 레코드 유형을 사용하여 인증 체인을 구성하며 공개 키 암호 방식을 활용한다.
자체 서명 인증서 | |
---|---|
자체 서명 인증서 | |
개요 | |
설명 | 공개 키 인증서는 특정 개인, 컴퓨터, 서비스 또는 장치에 연결된 공개 키를 포함하는 디지털 문서이다. 인증 기관(CA)이 발급한 인증서는 해당 공개 키를 사용하여 디지털 서명을 확인하여 사용자가 디지털 서명의 공개 키가 발급 기관에 속한다고 믿을 수 있도록 한다. 자체 서명된 인증서는 인증 기관(CA)이 아닌 엔터티가 서명한 인증서이다. |
사용 | |
테스트 | 자체 서명 인증서는 일반적으로 CA에서 서명한 인증서가 필요하지만 중요하지 않은 인증서를 발급하기 전에 테스트를 위해서만 사용된다. |
내부 사용 | 자체 서명 인증서는 모든 사용자가 해당 인증서를 신뢰할 필요가 없는 경우에 사용할 수 있다. 예를 들어, 회사는 인터넷에 접근할 필요가 없는 자체적인 내부 웹사이트를 호스팅하는 데 사용될 수 있다. 자체 서명된 인증서를 생성하는 것은 CA에 요청하는 것보다 훨씬 저렴하다. |
자체 서명 인증서의 예 | 클라이언트가 웹 서버에 안전하게 연결할 수 있도록 웹 서버에서 사용된다. 클라이언트는 인증서가 유효한지 확인해야 한다. 메일 서버에서 클라이언트가 서버에 안전하게 연결할 수 있도록 사용된다. 클라이언트는 인증서가 유효한지 확인해야 한다. VPN 서버에서 클라이언트가 서버에 안전하게 연결할 수 있도록 사용된다. 클라이언트는 인증서가 유효한지 확인해야 한다. 소프트웨어 개발자가 자신의 코드를 디지털 서명하는 데 사용된다. 사용자는 인증서가 유효한지 확인해야 한다. |
장점 | 인증 기관에서 인증서를 발급받는 것보다 비용이 저렴하다. CA가 관련되지 않으므로 빠르게 생성할 수 있다. |
단점 | 웹 브라우저와 같은 모든 클라이언트가 기본적으로 신뢰하지 않는다. 자체 서명된 인증서를 사용하는 웹 사이트를 처음 방문하는 사용자는 웹 브라우저가 인증서를 신뢰할 수 없다고 경고하는 메시지를 받게 된다. 그러면 사용자는 인증서를 수동으로 신뢰하도록 선택할 수 있지만 이는 프로세스에 추가 단계를 추가하며 사용자가 사이트가 합법적인지 의문을 가질 수 있다. 클라이언트가 자체 서명된 인증서를 신뢰하는 경우 중간자 공격에 취약하다. 공격자가 자체 서명된 인증서를 생성하고 클라이언트를 속여 해당 인증서를 신뢰하도록 할 수 있다. 그러면 공격자는 클라이언트와 서버 간의 트래픽을 가로채고 해독할 수 있다. |
보안 고려 사항 | |
신뢰 | 자체 서명된 인증서는 인증 기관에서 서명하지 않았으므로 신뢰할 수 없다. 즉, 사용자는 인증서를 수동으로 신뢰해야 한다. 이는 사용자가 사이트가 합법적인지 의문을 가질 수 있으므로 보안 문제가 될 수 있다. |
중간자 공격 | 클라이언트가 자체 서명된 인증서를 신뢰하는 경우 중간자 공격에 취약하다. 공격자가 자체 서명된 인증서를 생성하고 클라이언트를 속여 해당 인증서를 신뢰하도록 할 수 있다. 그러면 공격자는 클라이언트와 서버 간의 트래픽을 가로채고 해독할 수 있다. |
생성 | |
방법 | 자체 서명된 인증서는 OpenSSL과 같은 다양한 도구를 사용하여 생성할 수 있다. |
2. 장점
OpenSSL, 자바의 keytool, 어도비 리더, WolfSSL 및 애플의 키체인을 포함한 다양한 도구를 사용하여 자체 서명 인증서를 무료로 생성할 수 있다. 사용자 정의가 쉬워 필요에 따라 키 크기를 늘리거나 추가 메타데이터를 포함할 수 있다. 또한, 제3자 인증 기관에 의존하지 않으므로 인증서 서명 과정에서 발생할 수 있는 보안 문제로부터 자유롭다.[9] 자체 서명된 인증서 트랜잭션은 복잡한 인증서 체인 유효성 검사, CRL 및 OCSP와 같은 인증서 해지 확인을 제거하여[9][2] 훨씬 작은 공격 표면을 제공한다.
PKI 시스템에서 보안 통신을 하려면 인증 기관을 신뢰해야 한다. 즉, 인증 기관의 인증서를 신뢰할 수 있는 인증서 화이트리스트에 포함해야 한다. 웹 브라우저 개발자는 CA/브라우저 포럼에서 지정한 절차에 따라 잘 알려진 공개 인증 기관을 화이트리스트에 추가한다.
3. 신뢰 문제
인증 기관 서명 인증서와 자체 서명 인증서는 특히 인증서의 보안 주장에 대한 신뢰도에 차이가 있다. 일부 인증 기관은 인증서 발급 대상의 신원을 확인한다. 예를 들어, 미국 군대는 여러 신분증과 함께 공통 접근 카드를 발급한다. 인증 기관은 서명된 인증서에 이러한 신원 정보를 포함하여 신원을 증명할 수 있다. 인증서를 검증하는 쪽에서는 인증서에 포함된 정보를, 해당 인증서에 서명한 인증 기관(그리고 인증 기관이 정보를 확인하는 데 사용한 절차)을 신뢰하는 것과 동일하게 신뢰할 수 있다.
반면 자체 서명 인증서는 인증서의 값에 대한 신뢰가 복잡하다. 서명 키를 소유한 주체는 언제든 다른 값이 있는 새 인증서를 생성할 수 있기 때문이다. 예를 들어, 자체 서명 인증서의 유효 기간은 신뢰할 수 없다. 언제든 유효한 날짜 범위를 가진 새 인증서를 생성하고 서명할 수 있기 때문이다.
3. 1. 자체 서명 인증서의 신뢰성 검증
자체 서명 인증서의 값은 해당 인증서를 수락할 때 대역 외에서 확인되어야 하며, 신뢰한 후 변경되지 않았는지 확인할 수 있어야만 신뢰할 수 있다. 예를 들어, 인증서의 암호화 해시를 화이트리스트에 통합한다.[1] 인증서를 검증하기 위해 제시할 때, 먼저 인증서의 해시가 화이트리스트의 참조 해시와 일치하는지 확인하고, 일치하는 경우(자체 서명 인증서가 이전에 신뢰했던 것과 동일함을 나타냄) 인증서의 유효 기간을 신뢰할 수 있다. 자체 서명 인증서에 대한 X.509 인증서 필드의 특별한 처리는 RFC 3280에서 찾을 수 있다.[2]
3. 2. 인증서 폐지
인증 기관 서명 인증서와 달리, 자체 서명 인증서는 어떤 개체(인증 기관 또는 기타)도 임의로 폐지할 수 없다. 그러나 신뢰 화이트리스트에서 제거함으로써 무효화할 수 있다.[3]
4. 종류
자체 서명 인증서는 다음과 같이 분류할 수 있다.
- 루트 인증서: 발행자와 주체가 동일한 자체 발행, 자체 서명 인증서이다. 키와 식별명을 변경하지 않고 유효 기간이나 확장 속성을 변경하여 발행한 인증서도 루트 인증서가 된다.
- 네임 롤오버 인증서: 인증 기관이 키를 갱신하지 않고 식별명을 변경했을 때 발행하는 자체 서명 인증서이다.
"자체 서명"과 "자체 발급"이라는 용어는 때때로 같은 의미로 사용되지만, RFC 5280은 자체 서명 인증서를 "디지털 서명이 인증서에 바인딩된 공개 키로 검증될 수 있는 자체 발급 인증서"로, 자체 발급 인증서는 "발급자와 주체가 동일한 개체인" 인증서로 정의한다.
자체 서명 인증서와 혼동하기 쉬운 인증서로는 키 롤오버 인증서가 있다. 이는 식별명을 변경하지 않고 키 갱신을 수행할 때 발행하는 인증서로, 발행자와 주체가 동일하여 자체 발행 인증서의 하나이지만, 자체 서명 인증서는 아니다.[1]
오레오레 사기에서 유래하여 자체 발행한 자체 서명 인증서를 SSL/TLS 통신 등에서 사용하는 경우가 있는데, 이러한 인증서를 '오레오레 인증서'라고 부른다.[4][5][6]
4. 1. 자체 서명 인증서
OpenSSL, Java의 keytool, Adobe Reader, wolfSSL 및 Apple의 키체인 등 다양한 도구를 사용하여 자체 서명 인증서를 무료로 만들 수 있다. 사용자 정의가 용이하여 더 큰 키 크기를 갖거나 추가 메타데이터를 보유할 수 있다는 장점이 있다. 또한, 자체 서명 인증서를 사용하면 인증서를 부적절하게 서명할 수 있는 제3자를 신뢰할 필요가 없다. 자체 서명 인증서 트랜잭션은 복잡한 인증서 체인 유효성 검사,[2] CRL, OCSP와 같은 인증서 폐지 확인을 제거하여 훨씬 더 작은 공격 표면을 가진다.PKI 시스템에서 보안 통신에 참여하는 당사자는 인증 기관을 신뢰해야 한다. 즉, 인증 기관의 인증서를 신뢰할 수 있는 인증서 화이트리스트에 포함해야 한다. 웹 브라우저 개발자는 CA/브라우저 포럼에서 지정한 절차를 사용하여 잘 알려진 공개 인증 기관을 화이트리스트에 추가할 수 있다. 개별 그룹 및 회사는 추가적인 개인 인증 기관 인증서를 화이트리스트에 추가할 수 있다. 새로운 자체 서명 인증서를 수락하는 것과 새로운 인증 기관 인증서 추가를 신뢰하는 것은 유사한 문제이다. 자체 서명 PKI의 당사자는 서로 신뢰를 구축하고(PKI 외부 절차 사용), 공개 키의 정확한 전송을 확인해야 한다. 예를 들어, 인증서의 암호화 해시를 대역 외에서 비교하는 방식으로 확인할 수 있다.
인증 기관 서명 인증서와 자체 서명 인증서 사이에는 여러 차이점이 있으며, 특히 인증서의 보안 주장에 얼마나 많은 신뢰를 둘 수 있는지에 대한 차이가 있다. 일부 인증 기관은 인증서를 발급하는 사람의 신원을 확인할 수 있다. 예를 들어, 미국 군대는 여러 형태의 다른 신분증과 함께 공통 접근 카드를 발급한다. 인증 기관은 서명된 인증서에 이러한 신원 값을 포함하여 신원 값을 증명할 수 있다. 인증서를 검증하는 개체는 인증서에 포함된 정보를, 해당 인증서에 서명한 인증 기관(그리고 암시적으로 인증 기관이 증명된 정보를 확인하는 데 사용한 보안 절차)을 신뢰하는 것과 동일한 정도로 신뢰할 수 있다.
반면에 자체 서명 인증서의 경우, 인증서의 값에 대한 신뢰는 더 복잡하다. 개체는 서명 키를 소유하고 있으며, 항상 다른 값이 있는 새 인증서를 생성할 수 있기 때문이다. 예를 들어, 자체 서명 인증서의 유효 기간은 신뢰할 수 없을 수 있다. 개체는 항상 유효한 날짜 범위를 포함하는 새 인증서를 생성하고 서명할 수 있기 때문이다.
자체 서명 인증서의 값은 해당 값이 인증서 수락 중에 대역 외에서 확인되었고, 신뢰된 후 자체 서명 인증서가 변경되지 않았는지 확인할 수 있는 경우에만 신뢰할 수 있다. 예를 들어, 자체 서명 인증서를 신뢰하는 절차에는 유효 기간에 대한 수동 검증이 포함되며, 인증서의 해시가 화이트리스트에 통합된다.[1] 인증서를 개체가 검증하기 위해 제시할 때, 먼저 인증서의 해시가 화이트리스트의 참조 해시와 일치하는지 확인하고, 일치하는 경우(자체 서명 인증서가 이전에 신뢰했던 것과 동일함을 나타냄) 인증서의 유효 기간을 신뢰할 수 있다. 자체 서명 인증서에 대한 X.509 인증서 필드의 특별한 처리는 RFC 3280에서 찾을 수 있다.[2]
자체 서명 인증서의 인증서 폐지는 인증 기관 서명 인증서와 다르다. 본질적으로, 어떤 개체(인증 기관 또는 기타)도 자체 서명 인증서를 폐지할 수 없다. 그러나 신뢰 화이트리스트에서 자체 서명 인증서를 제거하여 자체 서명 인증 기관을 무효화할 수 있다.[3] 자체 서명 인증서는 발급자와 단일 사용자가 동일한 개체인 경우 등 제한적인 경우에 사용된다. 예를 들어, Microsoft Windows의 암호화 파일 시스템은 사용자 계정을 대신하여 자체 서명 인증서를 발급하여 파일을 즉시 투명하게 암호화하고 해독한다. 또 다른 예로는 루트 인증서가 있는데, 이는 자체 서명 인증서의 한 형태이다.
"자체 서명"과 "자체 발급"이라는 용어는 때때로 같은 의미로 사용되며, "자체 서명 인증서"는 사설(공개적으로 신뢰되지 않는) 인증 기관에서 발급한 인증서를 나타내기 위해 잘못 사용되기도 한다.[4][5][6]
RFC 5280은 자체 서명 인증서를 "디지털 서명이 인증서에 바인딩된 공개 키로 검증될 수 있는 자체 발급 인증서"로 정의하는 반면, 자체 발급 인증서는 "발급자와 주체가 동일한 개체인" 인증서이다. 엄밀한 의미에서 RFC는 CA 인증서에 대해서만 이 정의를 내리고 있지만, 최종 엔티티 인증서에 대해서도 그 정의를 채택해야 할 이유는 없다.
발행자와 주체가 동일 실체인, 즉 자체 발행인 자기 서명 인증서를 루트 인증서라고 한다. 키와 식별명을 변경하지 않고 유효 기간이나 확장 속성을 변경하여 발행한 인증서도 루트 인증서가 된다. 인증 기관이 키를 갱신하지 않고 식별명을 변경했을 때 발행하는 자기 서명 인증서를 네임 롤오버 인증서라고 한다.
4. 2. 자체 서명과 혼동하기 쉬운 인증서
키 롤오버 인증서는 식별명을 변경하지 않고 키 갱신을 수행할 때 발행하는 인증서이다. 발행자와 주체가 동일 실체이므로 자체 발행 인증서의 하나이지만, 자체 서명 인증서는 아니다.[1]4. 3. 흔히 자체 서명인 경우가 많은 인증서
오레오레 사기의 수법에서 유래하여, 자체 발행한 자체 서명 인증서를 SSL/TLS 통신 등에서 사용하는 경우가 있는데, 이러한 부적절한 인증서를 '오레오레 인증서'라고 부른다.[4][5][6] 이는 신뢰할 만한 인증 기관의 루트 인증서나 하위 인증 기관 인증서를 굳이 만들지 않고도 자체 서명 인증서를 사용하면 발행과 설정이 더 간편하기 때문이다.5. 활용
자체 서명 인증서는 발급자와 사용자가 동일한 경우 등 제한적인 환경에서 사용된다. 예를 들어, Microsoft Windows의 암호화 파일 시스템은 사용자 계정을 대신하여 자체 서명 인증서를 발급하여 파일을 암호화하고 해독한다.[3] 루트 인증서 또한 자체 서명 인증서의 한 형태이다.[3]
참조
[1]
웹사이트
How to bypass SSLHandshakeException
https://ananich.pro/[...]
2021-08-01
[2]
간행물
Certificate and CRL Profile – RFC 3280
http://tools.ietf.or[...]
2002-05
[3]
웹사이트
RFC 2459: Internet X.509 Public Key Infrastructure Certificate and CRL Profile
http://www.ietf.org/[...]
1999-01
[4]
웹사이트
How to Create Trusted Self-Signed SSL Certificates and Local Domains for Testing
https://betterprogra[...]
2020-11-03
[5]
웹사이트
Generate an Azure Application Gateway self-signed certificate with a custom root CA
https://learn.micros[...]
2024-01-17
[6]
웹사이트
Creating a browser trusted, self signed, SSL certificate {{!}} by Thijs Busser {{!}} Medium
https://medium.com/@[...]
[7]
웹사이트
Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
https://datatracker.[...]
2008-05
[8]
웹사이트
Public Beta
http://letsencrypt.o[...]
2015-12-06
[9]
간행물
Certificate and CRL Profile – RFC 3280
https://tools.ietf.o[...]
2002-05
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com