๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ณด์•ˆ

[๋ณด์•ˆ] ์ธ์ฆ์„œ

by cheezzz 2021. 12. 30.
๋ฐ˜์‘ํ˜•
  • ์ธ์ฆ์„œ๋ž€
    ๊ณต๊ฐœํ‚ค์™€ ๊ณต๊ฐœํ‚ค์˜ ์†Œ์œ ์ž๋ฅผ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋Š” ์ „์ž๋ฌธ์„œ(๋ณตํ˜ธํ™” ํ‚ค์ธ ๊ณต๊ฐœํ‚ค๋ฅผ ํŒŒ์ผ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด ๋†“์€ ๊ฒƒ)

 

  • ๊ณต๋™์ธ์ฆ์„œ๋ž€ (๊ตฌ ๊ณต์ธ์ธ์ฆ์„œ)
    ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ๊ธฐ๊ด€(CA)์ด ์ „์ž์„œ๋ช…ํ•˜์—ฌ ์ƒ์„ฑํ•˜๋ฉฐ ์ธ์ฆ๊ธฐ๊ด€์ด ๊ณต๊ฐœํ‚ค๋ฅผ ๊ณต์ฆ
    ๊ฐœ์ธํ‚ค์™€ ๊ณต๊ฐœํ‚ค ์Œ์„ ๋งŒ๋“ค๊ณ , ๊ทธ ๊ฐœ์ธํ‚ค๋ฅผ ๊ณต์ธ์ธ์ฆ๊ธฐ๊ด€์—์„œ ์ ๋ฒ•ํ•œ ์ ˆ์ฐจ๋ฅผ ํ†ตํ•ด์„œ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ์ธ์ฆ์„œ๋ฅผ ๋ฐœํ–‰ํ•˜๋Š” ๊ฒƒ

 

  • ์ธ์ฆ์„œ ํฌํ•จ ๋‚ด์šฉ
    ๊ฐœ์ธํ‚ค๋ฅผ ๋ณด์ฆํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ ์Œ์ด ๋˜๋Š” ๊ณต๊ฐœํ‚ค
    ์ธ์ฆ์„œ๋ฅผ ๊ณต์ธ์ธ์ฆ๊ธฐ๊ด€์ด ์ •์‹์œผ๋กœ ๋ฐœํ–‰ํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ๊ณต์ธ์ธ์ฆ๊ธฐ๊ด€์˜ ์ „์ž์„œ๋ช…
    (์ „์ž์„œ๋ช…: ์ธ์ฆ์„œ์— ๊ธฐ๋ก๋œ ์—ฌ๋Ÿฌ ์ •๋ณด๋ฅผ ํ•˜๋‚˜๋กœ ๋ชจ์€ ํ›„ ํ•ด์‹œ ํ•จ์ˆ˜์— ์ž…๋ ฅํ•˜์—ฌ ์ง€๋ฌธ์„ ์–ป์–ด๋‚ด๊ณ , ๋ฐœ๊ธ‰์ž(๋ฐœ๊ธ‰ํ•ด์ฃผ๋Š” ๊ณณ)์˜ ์•”ํ˜ธํ™”ํ‚ค(๊ฐœ์ธํ‚ค)๋กœ ํ•ด๋‹น ์ง€๋ฌธ์— ๋Œ€ํ•œ ์•”ํ˜ธํ™” ํ•œ ๊ฒฐ๊ณผ)

 

  • ์ธ์ฆ์„œ ํ‘œ์ค€
    X.509 ์ธ์ฆ์„œ(๋ฒ„์ „3), SPKI์ธ์ฆ์„œ, PGP์ธ์ฆ์„œ

 

  • ์ธ์ฆ์„œ ์˜์—ญ
    ๊ธฐ๋ณธ์˜์—ญ : ๋ฒ„์ „, ์ผ๋ จ๋ฒˆํ˜ธ, (๋ฐœ๊ธ‰์ž์˜)์„œ๋ช…์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋ฐœ๊ธ‰์ž, ์œ ํšจ๊ธฐ๊ฐ„(์‹œ์ž‘, ๋), ์ฃผ์ฒด(์ธ์ฆ์„œ ์†Œ์œ ์ž์˜ DN), ๊ณต๊ฐœํ‚ค
    ํ™•์žฅ์˜์—ญ : ๊ธฐ๊ด€ ํ‚ค ์‹๋ณ„์ž, ์ฃผ์ฒด ํ‚ค ์‹๋ณ„์ž, ์ฃผ์ฒด ๋Œ€์ฒด ์ด๋ฆ„, CRL ๋ฐฐํฌ ์ง€์ , ๊ธฐ๊ด€ ์ •๋ณด ์•ก์„ธ์Šค, ํ‚ค ์‚ฌ์šฉ ์šฉ๋„, ์ธ์ฆ์„œ ์ •์ฑ…, ์†๋„์žฅ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์†๋„์žฅ

 

  • ์ธ์ฆ์„œ ํŠน์„ฑ
    ๋ˆ„๊ตฌ๋‚˜ ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ์„œ๋ฅผ ํš๋“ํ•˜๊ณ , ๊ณต๊ฐœํ‚ค๋ฅผ ํš๋“ํ•  ์ˆ˜ ์žˆ๋‹ค.
    ์ธ์ฆ๊ธฐ๊ด€ ์ด์™ธ์—๋Š” ์ธ์ฆ์„œ๋ฅผ ์ˆ˜์ •/๋ฐœ๊ธ‰ํ•  ์ˆ˜ ์—†๋‹ค.
    ๊ฐ™์€ ์ธ์ฆ ๊ตฌ์กฐ ๋‚ด์˜ ์‚ฌ์šฉ์ž๋Š” ์ƒํ˜ธ์ธ์ฆ์„œ ์‹ ๋ขฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

  • ์ธ์ฆ์„œ ์ข…๋ฅ˜
    SignCert(.der): ์„œ๋ช…์šฉ ์ธ์ฆ์„œ
                             ์ƒ๋Œ€๋ฐฉ(์ž์‹ )์ด ์ „์ž์„œ๋ช…ํ•œ ๋ฐ์ดํ„ฐ์˜ ์ „์ž์„œ๋ช… ์ •๋‹น์„ฑ ๊ฒ€์ฆ
    SignPri(.key): ์„œ๋ช…์šฉ ๊ฐœ์ธํ‚ค
    KmCert(.der): ์•”ํ˜ธ์šฉ ์ธ์ฆ์„œ
                   ์ž์‹ ์˜ PC๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•ด ์ €์žฅํ•ด PC๋ณด์•ˆ์— ์ด์šฉ
                   ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ์ž„์˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•ด ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ
    KmPri(.key): ์•”ํ˜ธ์šฉ ๊ฐœ์ธํ‚ค

 

  • ์ธ์ฆ์„œ ํ๊ธฐ
    ๋ชฉ์ : ์‹œ๊ธฐ์ ์ ˆํ•˜๊ฒŒ ํ๊ธฐํ•˜์—ฌ ์ธ์ฆ์„œ ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ ํ”ผํ•ด ์ค„์ด๊ธฐ
    ์ธ์ฆ์„œ ํ๊ธฐ ๋ชฉ๋ก(CRL): ์ธ์ฆ๊ธฐ๊ด€์ด ์ „์ž์„œ๋ช…์„ ํ•˜์—ฌ ํ๊ธฐ๋œ ์ธ์ฆ์„œ ๋ชฉ๋ก์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐœ๊ธ‰

    ๋‚˜์œ ๋ชฉ๋ก ๋ฐฉ๋ฒ•: ํ๊ธฐ๋œ ์ธ์ฆ์„œ์— ๊ด€ํ•œ ์ •๋ณด๋งŒ ์œ ์ง€
    ์ข‹์€ ๋ชฉ๋ก ๋ฐฉ๋ฒ•: CRL์— ํฌํ•จ๋œ ์ธ์ฆ์„œ๋งŒ ์‚ฌ์šฉ, ๋‚˜์œ ๋ชฉ๋ก์—์„œ๋Š” CRL์— ํฌํ•จ๋˜์ง€ ์•Š์€ ์ธ์ฆ์„œ๋งŒ ์‚ฌ์šฉ

 

  • ์ธ์ฆ์„œ ๊ด€๋ จ ํ”„๋กœํ† ์ฝœ
    ์ธ์ฆ์„œ ์š”์ฒญ ๋ฉ”์‹œ์ง€ ํ˜•์‹(PKCS#10, CRMF)
    ์ธ์ฆ์„œ๊ฐ€ ์ˆ˜๋‚ฉ๋œ ์‘๋‹ต ๋ฉ”์‹œ์ง€์˜ ํ˜•์‹(PKCS#7, CMS- ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์š”์ฒญ์— ๋Œ€ํ•ด CA๋Š” PKCS#7/CMS์˜ SignedData ๋ฉ”์‹œ์ง€ ํ˜•์‹์— ์ธ์ฆ์„œ๋ฅผ ์ˆ˜๋‚ฉํ•˜์—ฌ ์ „์†ก)
    ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์š”์ฒญ ๋ฐ ์‘๋‹ต์ ˆ์ฐจ(CMP, CMC)

    PKCS#7, CMS: CA๊ฐ€ ์ธ์ฆ์„œ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ, ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜์—ˆ๋Š”์ง€ ๋ช…์‹œํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์•”ํ˜ธํ™” ๋ฐฉ์‹์ด๋‚˜ ํ‚ค ์ •๋ณด ๋“ฑ์„ ์ˆ˜๋‚ฉํ•˜๊ธฐ ์œ„ํ•œ ๊ณตํ†ต์˜ ๋ฉ”์‹œ์ง€ ํ˜•์‹ ํ•„์š”

 

  • signed-data
    PKCS#7, CMS์˜ Content Type ์ค‘ ํ•˜๋‚˜
    ๋ณธ๋ฌธ๊ณผ ์ด์— ๋Œ€ํ•œ ์„œ๋ช… ๊ฐ’์„ ์ˆ˜๋‚ฉํ•˜๋Š” ์ „์ž์„œ๋ช… ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ํฌ๋งท
    ์›๋ณธ์„ Hash ํ•  ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์›๋ณธ๋ฐ์ดํ„ฐ(ํ‰๋ฌธ), ์ธ์ฆ์„œ, ์ธ์ฆ์„œํ๊ธฐ๋ชฉ๋ก, ์„œ๋ช…์ž์ •๋ณด(์„œ๋ช…์žID(๋ฐœ๊ธ‰์ž์ •๋ณด+์‹œ๋ฆฌ์–ผ), ์ถ”๊ฐ€ ์˜๊ฒฌ, ์ „์ž์„œ๋ช…)๋กœ ๊ตฌ์„ฑ
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€