공유 루트 CA와 여러 중간 CA가 있는 내부 PKI가 있습니다. 모든 것을 신뢰하도록 중간 CA에서 발급한 항목을 어떻게 만들 수 있습니까?

공유 루트 CA와 여러 중간 CA가 있는 내부 PKI가 있습니다. 모든 것을 신뢰하도록 중간 CA에서 발급한 항목을 어떻게 만들 수 있습니까?

상황: 공유 루트 CA와 여러 중간 CA가 있는 내부 PKI가 있습니다. 모든 중간 CA가 발행한 모든 것이 서로를 신뢰하기를 원합니다. 대부분의 프로그램/언어가 만족할 수 있는 방법이 있습니까?

나의 현재 이해는 이렇습니다.그렇지 않다쉽게 가능하지만 내 이해에 결함이 있는지 궁금합니다.

따라서 프로그램이 있는 경우:

  • 공유 루트 => 첫 번째 int의 신뢰 체인을 사용하여 펑키하고 신선함
  • 공유 루트의 신뢰 체인을 사용하여 반짝반짝 정리 => 두 번째 정수

그리고 나는 이 둘 사이의 상호 신뢰가 절대적으로 필요합니다. 루트=>첫 번째 및 루트=>두 번째가 서로 붙어 있는 큰 CA 인증서를 만드는 유일한 선택입니까? 아니면 루트가 포함된 체인을 가질 수 있나요?

OS 수준 신뢰 저장소에 루트를 추가하거나, 컨테이너인 경우 지정된 컨테이너 신뢰 저장소에 루트를 추가하면 이 모든 작업을 수행할 수 있습니까? (아래 /etc/pki/ca-trust/source/anchors또는 뭔가)

두 번째 생각은 아마도 나쁜 생각일 수도 있지만 모든 것이 내부에 있고 CRL이 있기 때문에오직루트 CA를 사용하고 CA 수준 인증서 대신 TLS 인증서에 대해 엄격한 감시와 깨끗한 CRL을 유지하십시오.

어디에서나 정의된 특정 엔드포인트에 CRL 및 CA를 노출하는 경우 자체 체인을 구축할 수 있는 소프트웨어를 얻을 수 있는 방법이 있습니까?

답변1

제가 질문을 제대로 이해했는지, 개념을 제대로 이해했는지 잘 모르겠습니다만,

  • 인증서는 서로를 신뢰하지 않습니다. 대신 TLS 클라이언트는 일부 인증 기관을 신뢰하고 여기에서 서버 인증서에 대한 신뢰를 얻습니다.
  • TLS 클라이언트는 만료되지 않았거나 제목과 일치하는 등의 기대와 일치하는 한 신뢰할 수 있는 CA에서 발급한 모든 인증서를 기본적으로 신뢰합니다. TLS 클라이언트는 신뢰할 수 있는 CA를 통해 신뢰 체인을 구축할 수 있어야 합니다. 따라서 TLS 클라이언트는 일반적으로 TLS 핸드셰이크 내에서 전송되는 관련 중간 인증서를 알아야 합니다.

따라서 어떤 중간 CA가 사용되었는지에 관계없이 모든 클라이언트가 모든 인증서를 신뢰하도록 하려면 a) 클라이언트는 루트 CA를 신뢰해야 하고 b) 서버는 TLS 핸드셰이크 중에 서버 외에 중간 CA도 보내야 합니다. 자격증.

또한보십시오SSL 인증서 프레임워크 101: 브라우저는 주어진 서버 인증서의 유효성을 실제로 어떻게 확인합니까?.

관련 정보