루트 CA가 만료되면 코드 서명 인증서는 어떻게됩니까?


9

코드 서명 인증서 자체가 만료되면 서명 된 코드가 타임 스탬프로 서명 된 경우이를 확인 / 수락합니다. 그렇지 않으면 서명 된 코드도 만료됩니다.

그러나 내 CA 자체가 만료되면 (루트 CA가 발급하는 CA) 어떻게됩니까?

  • 타임 스탬프가 지정된 코드는 여전히 허용됩니까?
  • 만료 된 루트 및 발급 CA 인증서가 여전히 있어야합니까 (예 : 신뢰할 수있는 루트 CA 인증서 저장소에)? 이것은 CA가 강등 될 수 있지만 서명 된 클라이언트를 실행하는 클라이언트는 여전히 CA를 신뢰해야한다고 가정합니다. 그렇지 않으면 트러스트 체인이 끊어집니다.
  • CRL 또는 AIA가 없으면 문제가 있습니까?

답변:


12

그러나 내 CA 자체가 만료되면 (루트 CA가 발급하는 CA) 어떻게됩니까?

말 그대로, 아무것도 아닙니다. 좀 더 자세히 설명하겠습니다.

서명에 타임 스탬프가 없으면 다음과 같은 경우 서명이 유효합니다.

  • 데이터가 변경되지 않았습니다
  • 서명 인증서 유효 시간
  • 체인의 인증서가 해지되지 않습니다
  • 루트 인증서는 신뢰할 수 있습니다

서명 인증서가 만료되거나 해지되거나 유효하지 않은 서명이 있으면 서명이 유효하지 않은 것으로 간주됩니다. 평범하고 단순합니다.

디지털 서명에서 타임 스탬프의 목적은 서명 된 내용에 대한 확장 된 신뢰를 제공하는 것입니다. 서명 인증서는 단기간 동안 유효하며 기본 신뢰 설정은 장기 (아카이브 된) 서명에 적합하지 않습니다. 일반적으로 (타임 스탬프 없음) 서명 인증서가 갱신 될 때마다 서명을 다시 작성해야합니다. 아무데도 갈 수없는 방법입니다.

디지털 서명에 타임 스탬프를 추가하면 신뢰 조건이 다음 목록으로 변경됩니다.

  • 데이터가 변경되지 않았습니다
  • 서명 인증서 * was * 서명 시간에 유효 : 서명 시간이 서명 유효 기간 내에 있음
  • 서명 생성 이전에 인증서가 취소되지 않았습니다.
  • 서명 및 타임 스탬프 인증서는 모두 신뢰할 수있는 루트 CA에 연결됩니다 (시간 유효성에 관계없이 트러스트 저장소에 있어야 함).

여기서 변경된 사항 : 서명이 만료 된 후에도 서명이 유효합니다. 즉, 서명 및 타임 스탬프 인증서에 대한 전체 체인이 만료되고 (루트 인증서와 함께) 신뢰를 손상시키지 않습니다. 체인의 인증서를 해지 할 수 있습니다. 유일한 요구 사항 : 인증서가 해지 된 경우 해지 시간 (CRL에서 가져옴)은 서명이 작성된 후 시간으로 설정되어야합니다 (서명 시간은 타임 스탬프로 식별 됨). 이전 문장은 서명시 인증서가 해지되지 않았 음을 증명하기 위해 서명 된 CRL이 있어야 함을 의미합니다.

이것이 현대 Windows 시스템이 오래 전에 만료 된 루트 인증서를 제공하는 이유입니다. 여전히 오래된 서명의 유효성을 검사하는 데 사용되고 타임 스탬프가 있습니다.

얼마 전에 나는 주제에 대해 더 자세히 설명하는 블로그 게시물을 작성했습니다. 디지털 서명 및 타임 스탬프


귀하의 블로그 게시물은 주제에 대한 아주 좋은 기사입니다!
ThoriumBR

이 주제는 IT 전문가 (및 개발자)에게 매우 혼란스럽고 블로그 게시물에서 정리하려고했습니다.
Crypt32

그러나 CRL의 요점은 완전히 명확하지 않습니다. 그래서 만료 된 CA의 (마지막) CRL이 여전히 필요합니까?
dr_pepper285

예, CRL이 필요합니다. 마지막으로 필요하지는 않으며 ThisUpdate서명 한 후 게시 ( 필드) 해야합니다 . 이 CRL은 서명시 두 체인 (서명 및 타임 스탬프)의 인증서가 모두 취소되지 않았 음을 증명할 수 있습니다.
Crypt32
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.