X509 ์ธ์ฆ์ ๊ตฌ์กฐ
X509 ์ธ์ฆ์ ํ๋กํ์ผ
Authority Key Identifier
๋ฐ๊ธ์๊ฐ ๋ณต์์ ์ ์์๋ช
ํค๋ฅผ ๊ฐ์ง๊ณ ์์ ๋, ๊ณต๊ฐํค๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํ ๋ชฉ์
ํค์๋ณ์(์ผ๋ฐ์ ์ผ๋ก ๋ฐ๊ธ์ ๊ณต๊ฐํค ํด์ฌ๊ฐ), ๋ฐ๊ธ์๋ช
, ๋ฐ๊ธ์ ์ธ์ฆ์ ์ผ๋ จ๋ฒํธ๋ก ๊ตฌ์ฑ
Subject Key Identifier
ํน์ ๊ณต๊ฐํค๋ฅผ ํฌํจํ๋ ์ธ์ฆ์๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํ ๋ชฉ์
CA ์ธ์ฆ์์ธ ๊ฒฝ์ฐ, ํด๋น ์์ ์์ ์ํด ๋ฐ๊ธ๋๋ ์ธ์ฆ์์ AKI ํ์ฅํ๋์ ํค์๋ณ์๊ฐ๊ณผ ๋์ผ
ํค์๋ณ์(์ผ๋ฐ์ ์ผ๋ก ์์ ์ ๊ณต๊ฐํค ํด์ฌ๊ฐ)๋ก ๊ตฌ์ฑ
Key Usage
์ธ์ฆ์์ ์ฐ๊ด๋ ๊ณต๊ฐํค์์ ์ฌ์ฉ๋ชฉ์ ์ ์ ์ํจ
์ผ๋ฐ์ ์ผ๋ก ๊ณต๊ฐํค์์ ์ฌ์ฉ ์ฉ๋๋ฅผ ์ ํํ๊ธฐ ์ํ ๋ชฉ์
์ ์์๋ช
, ๋ถ์ธ๋ด์, ํค์ ์ก, ๋ฐ์ดํฐ์ํธํ, ํค๊ณต์ , ์ธ์ฆ์์๋ช
, CRL์๋ช
, ํค๊ณต์ ์ ์ํธํ ์ํ, ํค๊ณต์ ์ ๋ณตํธํ ์ํ ์ฉ๋
Extended Key Usage
์ธ์ฆ์์ ์ฐ๊ด๋ ๊ณต๊ฐํค์์ ์ถ๊ฐ์ ์ธ ์ฌ์ฉ๋ชฉ์ ์ ์ ์ํจ
keyUsage์ ํ์ฅ๊ฐ๋
์๋ฒ์ธ์ฆ, ํด๋ผ์ด์ธํธ์ธ์ฆ (SSL ์ธ์ฆ์์์ ์ฃผ๋ก ์ฌ์ฉ), ์ฝ๋์ฌ์ธ, ์ด๋ฉ์ผ๋ณด์, ํ์์คํฌํ, OCSP ์๋ช
, ๊ธฐํ ์ ์๋ ์ฉ๋
Private Key Usage Period
์ ์์๋ช
์์ฑํค์ ์ ํจ๊ธฐ๊ฐ์ด ์ธ์ฆ์์ ํฌํจ๋ ์ ์์๋ช
๊ฒ์ฆํค์ ์ ํจ๊ธฐ๊ฐ๊ณผ ๋ค๋ฅธ ๊ฒฝ์ฐ ์ด๋ฅผ ํ์ํจ
์ผ๋ฐ์ ์ผ๋ก ์ ์์๋ช
์์ฑํค์ ์ ํจ๊ธฐ๊ฐ์ด ์ ์์๋ช
๊ฒ์ฆํค์ ์ ํจ๊ธฐ๊ฐ๋ณด๋ค ์งง์
Certificate Policies
์ต์ข
๊ฐ์
์์ธ์ฆ์: ํด๋น ์ธ์ฆ์์ ์ฌ์ฉ๋ชฉ์ ๊ณผ ๋ฐํ์ ์ฑ
CA์ธ์ฆ์: ์์ ์ ํฌํจํ๋ ์ธ์ฆ๊ฒฝ๋ก ์ ์ฑ
์งํฉ์ ์ ํ
์ธ์ฆ๊ฒฝ๋ก ๊ฒ์ฆ์ ๊ฐ์ฅ ์ค์ํ ์์๋ก ํ์ฉ
Policy Mappings
์์ ์ด๋ฃจ๋ ๋ ์ธ์ฆ์ ์ ์ฑ
์ด ์๋ก ๋๋ฑํจ์ ๋ํ๋
์ธ์ฆ์๋น์ค ์์ญ๊ฐ์ ์ํธ ์ธ์ฆ์ ์๋๋ฐฉ ์ธ์ฆ์๋น์ค ์์ญ์ ์ธ์ฆ์ ์ ์ฑ
์ ๋ฐ์๋ค์ด๊ณ ์ ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋จ
CA์ธ์ฆ์์๋ง ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๊ตญ๋ด ๊ธฐ์ ๊ท๊ฒฉ์์๋ ์ต์์์ธ์ฆ๊ธฐ๊ด์ธ์ฆ์์๋ง ์ฌ์ฉํ ์ ์๋๋ก ํจ
CRL Distribution Points
์ธ์ฆ์์ ์ํ์ ๋ณด๋ฅผ ํ์ธํ๊ธฐ ์ํ์ฌ ์ธ์ฆ์ ํจ๋ ฅ์ ์ง ๋ฐ ํ์ง๋ชฉ๋ก์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ์ด๋ฅผ ํ๋ํ ์ ์๋ ๋๋ ํ ๋ฆฌ ์๋ฒ์ ์์น ์ ๋ณด๋ฅผ ํ์
Authority Information Access
์ธ์ฆ์์ ๋ฐ๊ธ์์ ํด๋นํ๋ CA์ ์ ๋ณด๋ฅผ ํ๋ํ๊ธฐ ์ํ ์ ๋ณด๋ฅผ ํ์ํจ
OCSP ์๋น์ค๋ฅผ ์ํ ๊ฒฝ๋ก
Subject Alternative Name
์ธ์ฆ์ ์์ ์์ ์ถ๊ฐ์ ์ธ ๋ช
์นญ ํ๊ธฐ
์๋ณ๋ฒํธ๋ฅผ ์ด์ฉํ ๋ณธ์ธํ์ธ ๊ธฐ์ ๊ท๊ฒฉ์ ์ํด ์ธ์ฆ์ ์์ ์์ ์ค๋ช
๊ณผ ๋ณธ์ธํ์ธ ์ ๋ณด๊ฐ ๋ณธ ํ๋์ ํฌํจ๋จ
Issuer Alternative Name
CA์ธ์ฆ์์ ์ถ๊ฐ์ ์ธ ๋ช
์นญ ํ๊ธฐ
Basic Constraint
CA์ธ์ฆ์ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ CA ์ธ์ฆ์ ์ธ ๊ฒฝ์ฐ ์ธ์ฆ๊ฒฝ๋ก์ ๊ธธ์ด๋ฅผ ์ ํํจ
Policy Constraint
์ธ์ฆ์์ ์ฑ
๊ฒ์ฌ ์๊ตฌ ๋ฐ ์ธ์ฆ์์ ์ฑ
๋งคํ์ ๋ํ ๊ธ์ง ๋ฑ์ ๋ํ ์ ๋ณด
Name Constraint
์์ ์๋ช
๋ฐ ์์ ์ ๋์ฒด ๋ช
์นญ ํ์ฅํ๋์ ์ฌ์ฉ๋๋ ๋ช
์นญ์ ๋ฒ์ ์ ํ
X.509 ์ธ์ฆ์ ASN.1 Syntax
*RFC 3280 ๋ฌธ์๋ด์์ ์ธ์ฆ์ ASN.1 ์ ์ฃผ์ ๋ถ๋ถ
RFC 3280 ์์ X.509 Certificate ASN.1 Syntax ์ ์ผ๋ถ๋ถ์ด๋ค.
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signature BIT STRING }
TBSCertificate ::= SEQUENCE {
version [0] Version DEFAULT v1,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version MUST be v2 or v3
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version MUST be v2 or v3
extensions [3] Extensions OPTIONAL
-- If present, version MUST be v3 -- }
Version ::= INTEGER { v1(0), v2(1), v3(2) }
CertificateSerialNumber ::= INTEGER
Validity ::= SEQUENCE {
notBefore Time,
notAfter Time }
Time ::= CHOICE {
utcTime UTCTime,
generalTime GeneralizedTime }
UniqueIdentifier ::= BIT STRING
Housley, et. al. Standards Track [Page 97]
RFC 3280 Internet X.509 Public Key Infrastructure April 2002
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
Extension ::= SEQUENCE {
extnID OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING }
* ์ธ์ฆ์ BER ์ธ์ฝ๋ฉ ์์ ๊ฐ ๋ณด๊ธฐ
'PKI > X509 Profile' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[X.509] ์ธ์ฆ์ ์ฃผ์ฒดํค ์๋ณ์(Subject Key Identifier) ์ ๊ธฐ๊ดํค ์๋ณ์(Authority Key Identifier) (0) | 2023.07.13 |
---|---|
[X.509] ์ธ์ฆ์ ๊ธฐ๋ณธ ์ ํ(Basic Constraints)์ ๋ํด์ (0) | 2023.07.06 |
[X.509] ์ธ์ฆ์ ํค ์ฉ๋(KeyUsage) ์ค๋ช (0) | 2023.06.28 |
[X509] ์ธ์ฆ์ DN ( Distinguished Name ) ์ด๋? (0) | 2023.06.13 |
X.509 CRL ํ๋กํ์ผ (0) | 2022.11.21 |