PKI/X509 Profile

[X.509] ์ธ์ฆ์„œ ์ฃผ์ฒดํ‚ค ์‹๋ณ„์ž(Subject Key Identifier) ์™€ ๊ธฐ๊ด€ํ‚ค ์‹๋ณ„์ž(Authority Key Identifier)

JayKim๐Ÿ™‚ 2023. 7. 13. 13:49

X.509 ์ธ์ฆ์„œ ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ์—์„œ ์ฃผ์ฒดํ‚ค ์‹๋ณ„์ž์™€ ๊ธฐ๊ด€ํ‚ค ์‹๋ณ„์ž ๊ฐ’์ด ์กด์žฌํ•œ๋‹ค.
์ด ์‹๋ณ„์ž๋Š” ์ธ์ฆ์„œ์˜ ๊ฒฝ๋กœ ๊ตฌ์„ฑ์„ ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๊ณต๊ฐœํ‚ค์— ๋Œ€ํ•œ ๊ตฌ๋ณ„ ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’์ด๋‹ค.
์ด ํ•„๋“œ๋Š” X.509 v3 ์—์„œ ํ™•์žฅ ํ•„๋“œ์˜ ๊ฐ’์ด๋‹ค.

์ฃผ์ฒดํ‚ค ์‹๋ณ„์ž (Subject Key Identifier)

์ฃผ์ฒดํ‚ค ์‹๋ณ„์ž๋Š” ํ•ด๋‹น ์ธ์ฆ์„œ์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ’์ด๋‹ค.

  • ์ฃผ์ฒดํ‚ค ์‹๋ณ„์ž ASN.1
id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 14 }

SubjectKeyIdentifier ::= KeyIdentifier

์ด๋ ‡๊ฒŒ KeyIdentifier ๊ฐ’ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์•„๋ž˜ ์ธ์ฆ์„œ ๊ทธ๋ฆผ์—์„œ ํŒŒ๋ž€์ƒ‰ ๋ถ€๋ถ„์ด ์ฃผ์ฒดํ‚ค ์‹๋ณ„์ž(Subject Key Identifier) ๊ฐ’์ด๋‹ค

์ด ๊ฐ’์€ ํ•ด๋‹น ์ธ์ฆ์„œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐœํ‚ค ๊ฐ’์˜ SHA-1 ํ•ด์‰ฌ ๊ฐ’์ด๋‹ค.
์ด๋•Œ ๊ณต๊ฐœํ‚ค์˜ ๊ฐ’์€ ๊ณต๊ฐœํ‚ค ์ •๋ณด๋ฅผ ์ œ์™ธํ•œ ์ˆœ์ˆ˜ํ•œ ๊ณต๊ฐœํ‚ค ๊ฐ’์˜ ํ•ด์‰ฌ์ด๋‹ค.
์ฆ‰ 20๋ฐ”์ดํŠธ(160๋น„ํŠธ)์˜ ๊ณ ์ • ๊ธธ์ด ๊ฐ’์ด๋‹ค.

์ฆ‰ ํ•ด๋‹น ์ธ์ฆ์„œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐœํ‚ค๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ’์ด๋‹ค.
์‚ฌ์‹ค DN ๊ฐ’์œผ๋กœ๋Š” ๊ฐ™์€ ๊ฐ’์„ ์ค‘๋ณต์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€๋งŒ ํ•˜๋‚˜์˜ ๊ณต๊ฐœํ‚ค ๊ฐ’์€ ํ•˜๋‚˜์˜ ํ•ด์‰ฌ๊ฐ’์ด๋ฏ€๋กœ ๊ณ ์œ ํ•œ ๊ตฌ๋ณ„ ๊ฐ’์œผ๋กœ ๋ณด๋ฉด ๋œ๋‹ค.

๊ธฐ๊ด€ํ‚ค ์‹๋ณ„์ž( Authority Key Identifier )

๊ธฐ๊ด€ํ‚ค ์‹๋ณ„์ž๋Š” ํ•ด๋‹น ์ธ์ฆ์„œ์˜ ๋ฐœ๊ธ‰์ž ๊ณต๊ฐœํ‚ค์— ๋Œ€ํ•œ ์‹๋ณ„์ž ๊ฐ’์ด๋‹ค.
์ฆ‰ ๋ฐœ๊ธ‰ํ•œ CA ์ธ์ฆ์„œ ๊ณต๊ฐœํ‚ค์˜ SHA1 ํ•ด์‰ฌ ๊ฐ’์ด ๋œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ธฐ๊ด€ํ‚ค ์‹๋ณ„์ž๋Š” ์ฃผ์ฒดํ‚ค ์‹๋ณ„์ž์™€๋Š” ๋‹ฌ๋ฆฌ 2๊ฐ€์ง€ ์ •๋ณด๊ฐ€ ๋” ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.
๋ฌผ๋ก  ์ด ๋‘๊ฐ€์ง€ ์ถ”๊ฐ€ ์ •๋ณด๋Š” ์˜ต์…˜์ ์ธ ๊ฐ’์ด๋ผ ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค.
๊ธฐ๊ด€ํ‚ค ์‹๋ณ„์ž ํ™•์žฅ์ž๋Š” CRL ์—์„œ๋„ ์‚ฌ์šฉ ๋œ๋‹ค.

  • ๊ธฐ๊ด€ํ‚ค ์‹๋ณ„์ž ASN.1
id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 35 }

AuthorityKeyIdentifier ::= SEQUENCE {
      keyIdentifier             [0] KeyIdentifier           OPTIONAL,
      authorityCertIssuer       [1] GeneralNames            OPTIONAL,
      authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL  }

KeyIdentifier ::= OCTET STRING

์ด๋ ‡๊ฒŒ keyIdentifier, authorityCertIssuer, authorityCertSerialNumber ๊ฐ’์ด ๋” ์žˆ๋‹ค.
๊ทธ๋Ÿผ ๊ธฐ๊ด€ํ‚ค ์‹๋ณ„์ž์˜ ์•„๋ž˜ ๊ทธ๋ฆผ์„ ์ฐธ์กฐ ํ•ด๋ณด์ž

๊ธฐ๊ด€ํ‚ค ์‹๋ณ„์ž ๊ทธ๋ฆผ

์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€ ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.

  • keyIdentifier : ๋ฐœ๊ธ‰์ž ์ธ์ฆ์„œ ๊ณต๊ฐœํ‚ค์˜ SHA1 ํ•ด์‰ฌ ๊ฐ’
  • authorityCertIssuer : ๋ฐœ๊ธ‰์ž ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ CA ์ธ์ฆ์„œ์˜ DN ๊ฐ’
  • authorityCertSerialNumber : ๋ฐœ๊ธ‰์ž ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ CA ์ธ์ฆ์„œ์˜ ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ

์ด 3๊ฐ€์ง€ ์ •๋ณด๋Š” ๋ฐœ๊ธ‰์ž์ธ ๊ธฐ๊ด€ํ‚ค ๊ตฌ๋ณ„ ๊ฐ’์ด๋ž‘ ์ด ๋ฐœ๊ธ‰์ž์— ๋Œ€ํ•œ ์ƒ์œ„ CA์— ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
์ด ์ •๋ณด๋“ค์€ ์‚ฌ์‹ค ์ธ์ฆ์„œ ๊ฒฝ๋กœ ๊ฒ€์ฆ์„ ์œ„ํ•ด ํ•„์š” ํ•˜๋‹ค.

์ฐธ๊ณ ๋กœ ๊ธฐ๊ด€ํ‚ค ์‹๋ณ„์ž๋„ keyIdentifier ๊ฐ’๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.
ํ•˜์ง€๋งŒ ๊ณต๋™์ธ์ฆ์„œ ๊ฒฝ์šฐ๋Š” 3๊ฐ€์ง€ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉ ํ•œ๋‹ค.