PKI 76

ASN.1 Type Notation (1/3)

* Type ํ• ๋‹น - ์ƒˆ๋กœ์šด ํƒ€์ž…์„ ์ •์˜ ํ•˜๊ณ  ๋ช…๋ น ํ• ๋•Œ ์‚ฌ์šฉ ::= - ํŠน์ง• * ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด ์ฒ˜๋Ÿผ Simple type (INTEGER๋“ฑ)์„ ๊ฐ€์ง * Simple Type ์œผ๋กœ ์ƒˆ๋กœ์šด Type ์ •์˜ ๊ฐ€๋Šฅ * ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, ํ•˜์ดํ”ˆ(-) ์‚ฌ์šฉ ๊ฐ€๋Šฅ * type ์ด๋ฆ„์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ ํ•ด์•ผ ํ•จ * ํ•˜์ดํ”ˆ(-)์œผ๋กœ ๋๋‚˜๊ฑฐ๋‚˜ "--"๋ฅผ ํฌํ•จ ํ•˜๋ฉด ์•ˆ๋จ ex) My-Integer ::= INTEGER * Type ์ข…๋ฅ˜ Simple Structured Tagged Other BIT STRING IA5STring INTEGER NULL .... SEQUENCE SEQUENCE OF SET SET OF ... IMPLICIT EXPLICIT CHOICE ANY - Simple Types * Atomic Type * ..

PKI/ASN.1 2022.11.02

RFC3280-PKIX1Implicit88 ASN.1

X.509 ๊ธฐ๋ฐ˜ ์ธ์ฆ์„œ ๋ฐ CRL ์— ๋Œ€ํ•œ Implicit ๋กœ ์ •์˜ ๋œ ASN.1 -- -- ASN.1 module found by ./crfc2asn1.pl in rfc3280.txt at line 5850 -- PKIX1Implicit88 { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit(19) } DEFINITIONS IMPLICIT TAGS ::= BEGIN -- EXPORTS ALL -- IMPORTS id-pe, id-kp, id-qt-unotice, id-qt-cps, -- delete following line if "new" typ..

PKI/ASN.1 2022.11.02

RFC3280-PKIX1Explicit88 ASN.1

X.509 ๊ธฐ๋ฐ˜ ์ธ์ฆ์„œ ๋ฐ CRL ์— ๋Œ€ํ•œ Explicit ๋กœ ์ •์˜ ๋œ ASN.1 -- -- ASN.1 module found by ./crfc2asn1.pl in rfc3280.txt at line 5124 -- PKIX1Explicit88 { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit(18) } DEFINITIONS EXPLICIT TAGS ::= BEGIN -- EXPORTS ALL -- -- IMPORTS NONE -- -- UNIVERSAL Types defined in 1993 and 1998 ASN.1 -- and required ..

PKI/ASN.1 2022.11.02

ASN.1 ๊ธฐ๋ณธ ๊ตฌ์กฐ

ASN.1 ์€ ํ…์ŠคํŠธ๋กœ ๋œ Syntax ์ด๋‹ค. ์ฆ‰ ์–ธ์–ด ํ‘œํ˜„์ด๋‹ค. ์ด ASN.1 ๋ฐ์ดํƒ€๋ฅผ ์ž‘์„ฑ ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ ๊ทœ์น™์„ ์„ค๋ช… ํ•œ๋‹ค. ASN.1 ๋ฌธ์ž ์…‹ A-Z, a-z, 0-9 : = , { } ํŠน์ง• ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ณ„ ๋ ˆ์ด์•„์›ƒ์€ ์ž์œ  ํฌ๋งท์ด๋ฉฐ ๊ฐœํ–‰๋ฌธ์ž (End Of Line) ์€ ํ•˜๋‚˜์˜ ๊ณต๋ฐฑ ๋ฌธ์ž๋กœ ์ธ์‹ํ•จ ์ฃผ์„์˜ ๊ฒฝ์šฐ "--"๋กœ ์‹œ์ž‘ ํ•ด์„œ "--"๋กœ ๋๋‚จ ๋˜๋Š” ๊ฐœํ–‰ ๋ฌธ์ž๋กœ ๋๋‚จ ์˜ˆ์•ฝ์–ด BOOLEAN, CHARACTER, FALSE, IA5String, INTEGER, NULL, OCTET, etc SET, SEQUENCE, CHOICE and etc BEGINE, END, OPTIONAL, COMPONENTS, UNION, WITH etc ๋Œ€๋žต ๋‹ค๋ฅธ..

PKI/ASN.1 2022.11.02

ASN.1 ์ด์šฉํ•œ ๊ฐœ๋ฐœ ํ๋ฆ„

ASN.1 ์„ ์ด์šฉ ๊ฐœ๋ฐœ์‹œ ์ผ๋ฐ˜์ ์œผ๋กœ 4 ๋‹จ๊ณ„์˜ ๊ณผ์ •์ด ์žˆ๋‹ค. 1. ๋‹จ๊ณ„1 : Specify - ASN.1 ํ”„๋กœํ† ์ฝœ ๋””์ž์ธ 2. ๋‹จ๊ณ„2 : Translate - ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ ์–ธ์–ด๋กœ ASN.1 ์— ๋Œ€ํ•ด ์ปดํŒŒ์ผ 3. ๋‹จ๊ณ„3 : Build - ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— 2๋‹จ๊ณ„์—์„œ ์ปดํŒŒ์ผ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉ ๊ฐœ๋ฐœ 4. ๋‹จ๊ณ„4 : Run - ์‚ฌ์šฉ ์‹œ์Šคํ…œ์— ๊ฐœ๋ฐœ ํ”„๋กœ๊ทธ๋žจ์„ ์šด์˜ ์œ„ ๊ทธ๋ฆผ์€ oss.com ์˜ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ ์™”์Œ ์ฐธ๊ณ ) ์œ„์—์„œ ์„ค๋ช…ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ASN.1 ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ด ์ด๋ฃจ์–ด์ง€๋Š” ๊ตฌ์กฐ์ด๋‹ค. PKI ๊ฐœ๋ฐœ์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” OpenSSL ์„ ์ด์šฉ์‹œ OpenSSL ์ด ์ž์ฒด ASN.1 ๋ฐ DER ์ธ์ฝ”๋”ฉ/๋””์ฝ”๋”ฉ ๊ธฐ๋Šฅ์ด ์ง€์› ๋˜์–ด์„œ ๋ณ„๋„์˜ ASN.1 ์ •์˜ ๋ฐ ์ปดํŒŒ์ผ ์—†์ด ๋ฐ”๋กœ ๊ฐœ๋ฐœ ๋‹จ๊ณ„๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

PKI/ASN.1 2022.11.02

ASN.1 ์ด๋ž€?

1. ASN.1 ์˜๋ฏธ๋Š”? Abstract Syntax Notation Dot One ์ด๋ฉฐ ITU ( International Telecommunication Unit ) ์—์„œ ๋„คํŠธ์›Œํฌ ์ƒ ๋ฐ์ดํƒ€ ๊ตํ™˜์„ ์œ„ํ•ด ์ •์˜ํ•œ ํ”„๋กœํ† ์ฝœ ํ‘œ์ค€์ด๋‹ค. ๋ฐ์ดํƒ€ ๊ตฌ์„ฑ์„ ํ‘œํ˜„ ํ•˜๋Š” ๋ฌธ๋ฒ•(์–ธ์–ด) ์ด๋‹ค. 2. ASN.1 ์˜ ์‚ฌ์šฉ ์ด์œ ๋Š”? ๋„คํŠธ์›Œํฌ ์ƒ ๋‹ค์–‘ํ•œ ์ž์‹ ๋งŒ์˜ ๋ฐ์ดํƒ€ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ์‹œ์Šคํ…œ์ด ์กด์žฌํ•˜๋Š”๋ฐ ์ด๋“ค๊ฐ„์˜ ๋ฐ์ดํƒ€ ์ „์†ก์˜ ํ‘œ์ค€์„ ํ†ตํ•œ ์„œ๋กœ๊ฐ„์˜ ๋ฐ์ดํƒ€์˜ ํ˜ธํ™˜์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ PKI ์—์„œ ์ธ์ฆ์„œ์—์„œ ์‚ฌ์šฉ์ด ๋˜์–ด ์ง„๋‹ค. 3. ASN.1 ์˜ˆ์ œ ํฌ๋งท Certificate ::= SEQUENCE { tbsCertificate TBSCertificate, signatureAlgorithm AlgorithmIdent..

PKI/ASN.1 2022.11.02