PKI/X509 Profile

[X.509] μ†Œμœ μž λŒ€μ²΄ λͺ…μΉ­(Subject Alternative Name) μ΄λž€

JayKimπŸ™‚ 2023. 8. 22. 09:11

μ†Œμœ μž λŒ€μ²΄ λͺ…μΉ­ ν™•μž₯ ν•„λ“œλŠ” μ†Œμœ μžμ— λŒ€ν•œ 좔가적인 λͺ…칭을 λ‚˜νƒ€λ‚Έλ‹€.
즉 Subject DN의 μΆ”κ°€ λͺ…μΉ­ 정보λ₯Ό λ‚˜νƒ€λ‚Έλ‹€.

참고둜 μ†Œμœ μž λŒ€μ²΄ λͺ…μΉ­κ³Ό 같은 ν˜•μ‹μ„ μ‚¬μš©ν•˜λŠ” λ°œκΈ‰μž λŒ€μ²΄ λͺ…μΉ­ (Issuer Alternative Name) 도 쑴재 ν•˜λŠ”λ°
이 값은 λ°œκΈ‰μž 즉 μΈμ¦κΈ°κ΄€μ˜ μΆ”κ°€ 적인 λͺ…칭을 λ‚˜νƒ€λ‚Έλ‹€.

μ•„λž˜ 그림은 Subject Alternative Name 을 μ‚¬μš©ν•œ μΈμ¦μ„œ 예제 이닀.

이 κ·Έλ¦Όμ—μ„œλŠ” DNS 이름 정보λ₯Ό μ†Œμœ μž λŒ€μ²΄ λͺ…μΉ­μœΌλ‘œ μ‚¬μš© λ˜μ—ˆλ‹€.

μ†Œμœ μž λŒ€μ²΄ λͺ…μΉ­μ˜ μ’…λ₯˜

μ†Œμœ μž λŒ€μ²΄ λͺ…μΉ­μ˜ νƒ€μž…μ—λŠ” 9κ°€μ§€ ν˜•μ‹μ΄ 지원 λœλ‹€.

  • rfc822Name : 인터넷 μ „μž 메일
  • dNSName : DNS 이름
  • iPAddress : IP μ£Όμ†Œ
  • uniformResourceIdentifier : URL μ£Όμ†Œ
    그외에도 x400Address, ediPartyName 그리고 registerID ν˜•μ‹μ΄ μžˆλ‹€.
    λ˜ν•œ λ‹€μ–‘ν•œ νƒ€μž… 지원을 μœ„ν•΄ otherName ν˜•μ‹μ΄ μžˆλ‹€.

참고둜 곡동 μΈμ¦μ„œ 경우 신원 확인을 μœ„ν•œ VID ν˜•μ‹ 값일 μ €μž₯ ν•˜λŠ”λ° 이 값이
μ†Œμœ μž λŒ€μ²΄ λͺ…μΉ­μœ otherName ν˜•μ‹μ„ μ‚¬μš© ν•˜μ˜€λ‹€.

μ†Œμœ μž λŒ€μ²΄ λͺ…μΉ­(Subject Alternative Name) ASN.1

   id-ce-subjectAltName OBJECT IDENTIFIER ::=  { id-ce 17 }

   SubjectAltName ::= GeneralNames

   GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName

   GeneralName ::= CHOICE {
        otherName                       [0]     OtherName,
        rfc822Name                      [1]     IA5String,
        dNSName                         [2]     IA5String,
        x400Address                     [3]     ORAddress,
        directoryName                   [4]     Name,
        ediPartyName                    [5]     EDIPartyName,
        uniformResourceIdentifier       [6]     IA5String,
        iPAddress                       [7]     OCTET STRING,
        registeredID                    [8]     OBJECT IDENTIFIER }

   OtherName ::= SEQUENCE {
        type-id    OBJECT IDENTIFIER,
        value      [0] EXPLICIT ANY DEFINED BY type-id }

   EDIPartyName ::= SEQUENCE {
        nameAssigner            [0]     DirectoryString OPTIONAL,
        partyName               [1]     DirectoryString }

μœ„μ˜ ASN.1 ν˜•μ‹μ„ 보면 GeneralName μ—μ„œ 9κ°€μ§€ 데이타 νƒ€μž…μ΄ 쑴재 ν•œλ‹€.
그리고 νŠΉλ³„νžˆ λ‹€μ–‘ν•œ 정보λ₯Ό μœ„ν•΄μ„œ OtherName ν˜•μ‹μ΄ μžˆλŠ”λ°
OtherName 의 경우 type-id 지정을 ν†΅ν•œ λ‹€μ–‘ν•œ value 값을 μ§€μ • ν•˜μ—¬ μ‚¬μš© ν•  수 μžˆλ‹€.

마무리

μ†Œμœ μž λŒ€μ²΄ λͺ…칭은 SSL μΈμ¦μ„œλ‚˜ λ˜λŠ” SMIME용 이메일 그리고 곡동 μΈμ¦μ„œ 신원 ν™•μΈμ˜ VID κ°’λ“±
ν•΄λ‹Ή μΈμ¦μ„œμ— ν•„μš”ν•œ 좔가적인 정보λ₯Ό μ €μž₯ 및 확인을 μœ„ν•œ X.509 ν™•μž₯ ν•„λ“œ 이닀.

λ°˜μ‘ν˜•