PKI 76

์ธ์ฆ์„œ์™€ ํ‚ค์— ๋Œ€ํ•œ ํ™•์žฅ์ž ํ˜•์‹(PEM CER DER CRT CSR, PFX, P12 )

PKI ๊ด€๋ จ ์ผ์„ ํ•˜๋ฉด ์ธ์ฆ์„œ๋‚˜ ๊ฐœ์ธํ‚ค๋ฅผ ๋‹ค๋ฃจ๊ฒŒ ๋˜๋Š” ๋ฐ ์ด๋•Œ ์ด๋“ค์˜ ํŒŒ์ผ๋งˆ๋‹ค ๋‹ค์–‘ํ•œ ํ™•์žฅ์ž๋ฅผ ๋‹ค๋ฃจ๊ฒŒ ๋œ๋‹ค. ์ด๋•Œ ์ฃผ๋กœ ๋งŒ๋‚˜๊ฒŒ ๋˜๋Š” ํ™•์žฅ์ž๊ฐ€ pem, cer, der, crt, csr, pfx, p12 ๋˜๋Š” key ์ด๋‹ค. ์ด๋Ÿฐ ํ™•์žฅ์ž์— ๋Œ€ํ•ด์„œ ํ•œ๋ฒˆ ์ •๋ฆฌ๋ฅผ ํ•ด ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. PEM PEM (Privacy Enhanced Mail)์€ Base64 ๋กœ ์ธ์ฝ”๋”ฉํ•œ ํ…์ŠคํŠธ ํ˜•์‹์˜ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. Binary ํ˜•์‹์˜ ํŒŒ์ผ์„ ์ „์†กํ•  ๋•Œ ์†์ƒ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ TEXT ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉฐ ์†Œ์Šค ํŒŒ์ผ์€ ๋ชจ๋“  ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ฃผ๋กœ ์ธ์ฆ์„œ๋‚˜ ๊ฐœ์ธํ‚ค๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ Base64 ์ธ์ฝ”๋”ฉ๋œ ๋ฐ์ดํƒ€์— ํฌ๋งท์— ์ฒ˜์Œ๊ณผ ๋ ๋ถ€๋ถ„์— -----BEGIN, -----END ์— ํŒŒ์ผ์— ๋Œ€ํ•œ ํƒ€์ž… ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ€๋Š”๋ฐ ์–ด๋–ค ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ PEM ์œผ๋กœ..

์ธ์ฆ์„œ ๊ฒ€์ฆ

* ์ธ์ฆ์„œ ๊ฒ€์ฆ์ด๋ž€? ์‹ ๋ขฐ๋‹น์‚ฌ์ž๊ฐ€ ์ž์‹ ์ด ์‹ ๋ขฐํ•˜๋Š” TrustAnchor์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๊ฒ€์ฆํ•˜๊ณ ์ž ํ•˜๋Š” ๋Œ€์ƒ ์ธ์ฆ์„œ์˜ ์†Œ์œ ์ž ๋ช…๊ณผ ๊ณต๊ฐœํ‚ค์˜ ์—ฐ๊ฒฐ์ด ์˜ฌ๋ฐ”๋ฅธ๊ฐ€๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ ์šฉ์–ด ์ •์˜ ๊ฐ€) ๋Œ€์ƒ ์ธ์ฆ์„œ : ๊ฒ€์ฆ ๋Œ€์ƒ์ด ๋˜๋Š” ์ธ์ฆ์„œ ๋‚˜) ์‹ ๋ขฐ ๋‹น์‚ฌ์ž : ๋Œ€์ƒ ์ธ์ฆ์„œ์˜ ์‹ ๋ขฐ์„ฑ์„ ํ™•์ธ ํ•˜๊ธฐ ์œ„ํ•ด ์ธ์ฆ์„œ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ ํ•˜๋Š”์ž ๋‹ค) TrustAnchor : ์‹ ๋ขฐ๋‹น์‚ฌ์ž์˜ ์ตœ์ƒ์œ„ ์ธ์ฆ๊ธฐ๊ด€ ( ์‹ ๋ขฐ์˜ ์ถœ๋ฐœ ์  ) Self-Sign ์ธ์ฆ์„œ * ์ธ์ฆ์„œ ํ™•์žฅ ํ•„๋“œ critical์˜ ์ฒ˜๋ฆฌ * ์ธ์ฆ์„œ ๊ฒ€์ฆ ์ ˆ์ฐจ 1) ์ธ์ฆ์„œ ๊ฒฝ๋กœ ๊ตฌ์ถ• ์ธ์ฆ์„œ ๊ฒฝ๋กœ ๊ฒ€์ฆ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ธ์ฆ์„œ ๊ฒฝ๋กœ ๋ฐ ์ธ์ฆ์„œ ์ƒํƒœ ์ •๋ณด๋ฅผ ํš๋“ํ•˜๋Š” ๊ณผ์ • 2) ์ธ์ฆ์„œ ๊ฒฝ๋กœ ๊ฒ€์ฆ ์ธ์ฆ์„œ ๊ฒฝ๋กœ ๊ตฌ์ถ• ๊ณผ์ •์„ ํ†ตํ•ด ํš๋“๋œ ์ •๋ณด๋ฅผ ์ด์šฉํ•ด ๋Œ€์ƒ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์ฆ ํ•˜๋Š” ..

PKCS#5 ์™€ PKCS#7 ํŒจ๋”ฉ ๋ฐฉ๋ฒ•

ํŒจ๋”ฉ์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ์ง€๋งŒ ์ฃผ๋กœ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์— ์‚ฌ์šฉ ๋˜๋Š” ํŒจ๋”ฉ ๋ฐฉ์‹์ด PKCS#7 ๋ฐฉ์‹์ด๋‹ค. PKCS#7 ์€ RFC 5652 ์„ ์ฐธ์กฐ ํ•˜๋ฉด ๋œ๋‹ค. ๋Œ€์นญํ‚ค ์•”ํ˜ธ๋Š” ์›๋ฌธ์„ ๋ธ”๋ก ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์›๋ฌธ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋ธ”๋ก ์‚ฌ์ด์ฆˆ ๋ณด๋‹ค ์ž‘์„ ์‹œ ๋ธ”๋ก ์‚ฌ์ด์ฆˆ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๊ธฐ ์œ„ํ•ด ํŒจ๋”ฉ์„ ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํŒจ๋”ฉ ๋ฐฉ๋ฒ•์ด PKCS#7 ์— ๋‚˜์˜ค๋Š” ๋ฐฉ์‹์ด๋‹ค. * ํŒจ๋”ฉ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์€ ์ถ”๊ฐ€ ๋˜๋Š” ํŒจ๋”ฉ์˜ ์ˆ˜๊ฐ€ ์ž…๋ ฅ ๋œ๋‹ค. N ๋ฐ”์ดํŠธ์˜ ํŒจ๋”ฉ์„ ํ•˜๋ ค๋ฉด N๋ฐ”์ดํŠธ์˜ ๊ฐ’์ด N๋ฒˆ ์ถ”๊ฐ€ ํ•œ๋‹ค. ํŒจ๋”ฉ์€ ๋‹ค์Œ์˜ ๊ฐ’ ์ฒ˜๋Ÿผ ๋œ๋‹ค. 01 ( 1byte ํŒจ๋”ฉ ) 02 02 ( 2byte ํŒจ๋”ฉ ) 03 03 03 ( 3byte ํŒจ๋”ฉ ) 04 04 04 04 05 05 05 05 05 06 06 06 06 06 06 etc...

PKI/Cryptography 2022.12.13

ECIES ์•Œ๊ณ ๋ฆฌ์ฆ˜

* ECIES(Elliptic Curve Integreated Encryption Scheme) : ํ†ตํ•ฉ ์•”ํ˜ธํ™” ๋ฐฉ์‹(Public Key๋กœ ์•”ํ˜ธํ™”ํ•˜๊ณ  Private Key๋กœ ๋ณตํ˜ธํ™”) ECIES ๋Š” ECC ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ECDH ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ‚ค ๊ตํ™˜ ํ›„ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋ฅผ ํ•˜๋Š”๊ฒƒ์ด๋‹ค. Receiver loads the EC key (public/private/curve) Receiver sends its public key and curve to the Transmitter Transmitter generates a new ephemeral EC key on the curve Transmitter generates the shared symmetric key Transmitter encrypts the data..

PKI/Cryptography 2022.12.09

RSA ์•Œ๊ณ ๋ฆฌ์ฆ˜

RSA ์„ค๋ช… youtube ์˜์ƒ https://www.youtube.com/watch?v=kGUlfVpIfaQ PKI ๊ด€๋ จ ๊ฐœ๋ฐœ ํ•˜๋ฉด์„œ ์ˆ˜ํ•™์ด ํ•ญ์ƒ ์–ด๋ ค์› ๋Š”๋ฐ ๊ทธ๋ž˜๋„ ์ด ์œ ํŠœ๋ธŒ ์˜์ƒ์ด RSA ์— ์‚ฌ์šฉ๋˜๋Š” ์ˆ˜ํ•™์„ ์‰ฝ๊ฒŒ ์ž˜ ์„ค๋ช…์„ ํ•ด์ฃผ๋„ค์š”. RSA ์œ„ํ‚ค ํŽ˜์ด์ง€ https://ko.wikipedia.org/wiki/RSA_%EC%95%94%ED%98%B8 RSA ์•”ํ˜ธ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „ ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. RSA[1] ์•”ํ˜ธ๋Š” ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ์‹œ์Šคํ…œ์˜ ํ•˜๋‚˜๋กœ, ์•”ํ˜ธํ™”๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ „์ž์„œ๋ช…์ด ๊ฐ€๋Šฅํ•œ ์ตœ์ดˆ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค. RSA๊ฐ€ ๊ฐ–๋Š” ์ „์ž์„œ๋ช… ๊ธฐ๋Šฅ์€ ์ธ์ฆ์„ ์š”๊ตฌ ko.wikipedia.org

PKI/Cryptography 2022.12.08

SM2 SM3 SM4 ์•Œ๊ณ ๋ฆฌ์ฆ˜

* SM2, SM3 ๊ทธ๋ฆฌ๊ณ  SM4 ๋Š” ์ค‘๊ตญ ์•”ํ˜ธ ํ‘œ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋‹ค. ์—ฌ๊ธฐ๋Š” SM์€ ShangMi ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. * SM2 ๋Š” Elliptic Curve Cryptography (ECC) ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ „์ž ์„œ๋ช… ๋ฐ ๊ฒ€์ฆ์„ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. * SM3๋Š” ํ•ด์‰ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ * SM4 ๋Š” ์•”/๋ณตํ˜ธํ™”๋ฅผ ์œ„ํ•œ ๋ธ”๋ก ์‚ฌ์ดํผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋‹ค. ์ฐธ๊ณ ) ๊ฐœ์ธ์ ์œผ๋กœ ์•”ํ˜ธํ™”์— ๋Œ€ํ•œ ์ˆ˜ํ•™์  ์ดํ•ด๋Š” ์–ด๋ ต๊ตฌ ๋‹จ์ง€ ๊ด€๋ จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ํŠน์„ฑ๋งŒ ์„ค๋ช…ํ•œ๋‹ค. SM3 * SM3์˜ ๊ฒฝ์šฐ 32๋ฐ”์ดํŠธ์˜ ๊ธธ์ด์˜ ๊ฒฐ๊ณผ ๊ฐ’์„ ๋ณด์—ฌ์ค€๋‹ค. SM4 * SM4 ์˜ ๊ฒฝ์šฐ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์ด๋ฉด ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” SM4์šฉ ํ‚ค ๊ธธ์ด๋Š” 16๋ฐ”์ดํŠธ๋กœ ๊ณ ์ •์ด๋ฉฐ IV ๋ฐ ์šด์˜ ๋ชจ๋“œ๋Š” ๋ชจ๋‘ ๋™์ผํ•œ๋‹ค. SM2 * SM2 ์˜ ๊ฒฝ์šฐ ์ „์ž ์„œ๋ช…์šฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ฉฐ ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•ด์‰ฌ๋Š” S..

PKI/Cryptography 2022.12.06

X.509 CRL ํ”„๋กœํŒŒ์ผ

CRL(Certificate RevocationList) ๊ตฌ์กฐ CRL ํ”„๋กœํŒŒ์ผ * CRL Entry Extension Reason Code ์ธ์ฆ์„œ ํ์ง€ ๋ฐ ํšจ๋ ฅ์ •์ง€์˜ ์‚ฌ์œ  ์ •์˜ * CRL Extension Authority Key Identifier ๋ฐœ๊ธ‰์ž๊ฐ€ ๋ณต์ˆ˜์˜ ์ „์ž์„œ๋ช…ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ, ๊ณต๊ฐœํ‚ค๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์  ํ‚ค์‹๋ณ„์ž(์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐœ๊ธ‰์ž ๊ณต๊ฐœํ‚ค ํ•ด์‰ฌ๊ฐ’), ๋ฐœ๊ธ‰์ž๋ช…, ๋ฐœ๊ธ‰์ž ์ธ์ฆ์„œ ์ผ๋ จ๋ฒˆํ˜ธ๋กœ ๊ตฌ์„ฑ CRL Number ์‚ฌ์šฉ์ž๋กœ ํ•˜์—ฌ๊ธˆ ํŠน์ • CRL์ด ๋‹ค๋ฅธ CRL์— ์šฐ์„ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ ๋‹จ์กฐ์ฆ๊ฐ€ํ•˜๋Š” ์–‘์˜ ์ •์ˆ˜ Issuing Distribution Point ํ•ด๋‹น CRL์— ๋Œ€ํ•œ ๋ถ„๋ฐฐ์ ์„ ์‹๋ณ„ํ•˜๊ณ  ํŠน์ • CRL์— ๋Œ€ํ•œ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•จ CRL ASN.1 Syntax * RFC 3280 ์—์„œ CRL..

PKI/X509 Profile 2022.11.21

X.509 ์ธ์ฆ์„œ ํ”„๋กœํŒŒ์ผ

X509 ์ธ์ฆ์„œ ๊ตฌ์กฐ X509 ์ธ์ฆ์„œ ํ”„๋กœํŒŒ์ผ Authority Key Identifier ๋ฐœ๊ธ‰์ž๊ฐ€ ๋ณต์ˆ˜์˜ ์ „์ž์„œ๋ช…ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ, ๊ณต๊ฐœํ‚ค๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์  ํ‚ค์‹๋ณ„์ž(์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐœ๊ธ‰์ž ๊ณต๊ฐœํ‚ค ํ•ด์‰ฌ๊ฐ’), ๋ฐœ๊ธ‰์ž๋ช…, ๋ฐœ๊ธ‰์ž ์ธ์ฆ์„œ ์ผ๋ จ๋ฒˆํ˜ธ๋กœ ๊ตฌ์„ฑ Subject Key Identifier ํŠน์ • ๊ณต๊ฐœํ‚ค๋ฅผ ํฌํ•จํ•˜๋Š” ์ธ์ฆ์„œ๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์  CA ์ธ์ฆ์„œ์ธ ๊ฒฝ์šฐ, ํ•ด๋‹น ์†Œ์œ ์ž์— ์˜ํ•ด ๋ฐœ๊ธ‰๋˜๋Š” ์ธ์ฆ์„œ์˜ AKI ํ™•์žฅํ•„๋“œ์˜ ํ‚ค์‹๋ณ„์ž๊ฐ’๊ณผ ๋™์ผ ํ‚ค์‹๋ณ„์ž(์ผ๋ฐ˜์ ์œผ๋กœ ์†Œ์œ ์ž ๊ณต๊ฐœํ‚ค ํ•ด์‰ฌ๊ฐ’)๋กœ ๊ตฌ์„ฑ Key Usage ์ธ์ฆ์„œ์™€ ์—ฐ๊ด€๋œ ๊ณต๊ฐœํ‚ค์Œ์˜ ์‚ฌ์šฉ๋ชฉ์ ์„ ์ •์˜ํ•จ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณต๊ฐœํ‚ค์Œ์˜ ์‚ฌ์šฉ ์šฉ๋„๋ฅผ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์  ์ „์ž์„œ๋ช…, ๋ถ€์ธ๋ด‰์‡„, ํ‚ค์ „์†ก, ๋ฐ์ดํ„ฐ์•”ํ˜ธํ™”, ํ‚ค๊ณต์œ , ์ธ์ฆ์„œ์„œ๋ช…, CRL์„œ๋ช…, ํ‚ค๊ณต์œ ์‹œ ์•”ํ˜ธํ™” ์ˆ˜ํ–‰, ํ‚ค๊ณต..

PKI/X509 Profile 2022.11.21

PKCS ๋ฌธ์„œ ๋ฒˆํ˜ธ ์ •์˜

PKI ๊ด€๋ จ ๊ธฐ์ˆ  ์ผ์„ ํ•˜๋‹ค ๋ณด๋ฉด PKIX ๋ผ๋Š” ํ‘œ์ค€๋“ค์ด ์žˆ๋‹ค. ์ด ๋ฌธ์„œ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์„ค๋ช…์ด๋‹ค. PKCS #1: RSA Cryptography Standard RSA ํ‚ค, ์•”/๋ณตํ˜ธํ™” ASN.1 ์— ๋Œ€ํ•œ ํ‘œ์ค€ PKCS #2: PKCS#1 ์— ํฌํ•จ ๋จ PKCS #3: Diffie-Hellman Key Agreement Standard DH ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ํ‘œ์ค€ ๋ฌธ์„œ PKCS #4: PKCS#1 ์— ํฌํ•จ ๋จ PKCS #5: Password-Based Cryptography Standard KDF ๋ฐ ๊ฐœ์ธํ‚ค ์•”ํ˜ธ์— ๋Œ€ํ•œ ์ •๋ณด PKCS #6: Extended-Certificate Syntax Standard PKCS #7: Cryptographic Message Syntax Standard CMS ๋ฉ”์„ธ์ง€ ์ฒ˜๋ฆฌ์—..

Distinguished Encoding Rules

BER๊ณผ ๋น„์Šทํ•˜๋‚˜ BER์— ๋ช‡ ๊ฐ€์ง€ ์ œ์•ฝ์‚ฌํ•ญ์„ ๊ฐ€์ง DER ์ œ์•ฝ์‚ฌํ•ญ Length Octets · ์ตœ์†Œ์˜ octets ์ˆ˜ ์•ˆ์—์„œ definite form length๋ฅผ ์‚ฌ์šฉ BIT STRING, OCTET STRING · Constructed form์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ BOOLEAN value · TRUE์ด๋ฉด ๋ชจ๋“  8bits ๊ฐ’์€ 1 (0xFF) BIT STRING · ๋งˆ์ง€๋ง‰ octet์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” bit๋Š” ‘0’์œผ๋กœ ์„ค์ • · tailing 0 bits๋Š” ์ธ์ฝ”๋”ฉ ํ•˜์ง€ ์•Š์Œ · 1bit๋„ ๊ฐ’์œผ๋กœ ๊ฐ€์ง€์ง€ ์•Š์œผ๋ฉด, “03 01 00”์œผ๋กœ ์ธ์ฝ”๋”ฉ ํ•จ Time · ์˜๋ฏธ์—†์ด ๋”ฐ๋ผ์˜ค๋Š” 0์€ ์ธ์ฝ”๋”ฉ ํ•˜์ง€ ์•Š์Œ · UTCTime์ผ ๊ฒฝ์šฐ, ์†Œ์ˆ˜์  ์ดํ•˜๊ฐ€ ์—†์œผ๋ฉด ‘.’ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ · GeneralizedTime์ผ ๊ฒฝ์šฐ,..

PKI/ASN.1 2022.11.07