openssl.cnf에서policy_any를 사용하면 어떤 단점이 있습니까?

openssl.cnf에서policy_any를 사용하면 어떤 단점이 있습니까?

주어진대로이 문서에서, in의 대부분의 필드를 무시하는 데 사용할 수 있습니다 policy_any. 이러한 필드를 생략하면 확실히 몇 가지 단점이 있습니다.subjectcertificate request보안 관련 문제가 발생합니까?

아래에 주어진 policy_any:

[ policy_any ]
 countryName            = supplied
 stateOrProvinceName    = optional
 organizationName       = optional
 organizationalUnitName = optional
 commonName             = supplied
 emailAddress           = optional

나도 설정하면 commonName = optional어떻게 되나요 countryName = optional? 그것을 사용하는 것이 좋은 생각입니까 policy_any?

시간 내 주셔서 감사합니다!

답변1

이 정책은 들어오는 인증서 서명 요청이 회사 정책(또는 더 정확하게는 조직의 인증서 정책(CP) 및/또는 인증 업무 규정(CPS))을 준수하는지 분류하고 확인하는 데 있어 기본적인 지원일 뿐입니다.

명령줄에서 인증서에 서명하는 경우 보안상의 이점은 무시할 수 있습니다. 결국 귀하(또는 다른 사용자)는 openssl의 -config <filename>옵션을 사용하여 대체 프로필을 사용하고 위 정책을 우회할 수 있습니다. 이 예에서는 철자 오류를 찾는 것이 유용할 수 있습니다.

반면, 사용자가 웹 포털을 통해 요청을 제출하는 등 더 큰 인증 기관의 일부로 사용하는 경우 이 정책 섹션은 회사에 따라 필수 필드가 모두 포함되지 않은 서명 요청을 찾는 데 도움이 될 수 있습니다. 정책.

즉, supplied귀하의 예와 같이 설정하면 항목이 유효한지 또는 회사 정책을 따르는지 확인하지 않으므로 확인이 그리 많지 않습니다. 예를 들어 commonName조직 이름이 acme.com이면 www.google.com을 확인하지 않습니다.

match대신 사용하면 조직의 인증서 전체에 일관성을 supplied적용하는 등 특정 필드에 도움이 될 수 있습니다 . organizationalUnit그러나 인증서마다 필드가 변경되므로 match이 필드에는 사용할 수 없습니다.commonName

일부 인증서 프로필의 경우 이름 제약 조건이 도움이 될 수 있습니다.

귀하의 예에서는 변경 commonName하고 필수 사항이 되는 것을 방지하십시오 countryName.optional

이 목록에 없는 필드는 서명 인증서에서 자동으로 제거됩니다. 즉, 요청이 generationQualifier필드를 설정하면 III해당 옵션을 사용하지 않는 한 인증서에서 해당 필드가 제거됩니다 preserveDN.

귀하의 질문에 있는 목록은 가장 일반적으로 사용되는 필드에 대한 설명서 페이지의 예일 뿐입니다. initials, givenName및 등 더 많은 가능한 필드를 사용할 수도 있습니다 generationQualifier. RFC 5280에는 몇 가지가 나열되어 있으며 요구 사항에 충분하지 않은 경우 직접 정의할 수도 있습니다. OpenSSL에 필요한 것은 하나 이상의 필드가 있어야 한다는 것입니다.

관련 정보