JiYoung Dev πŸ–₯

[μ•”ν˜Έν™”] PKI(Public Key Infrastructure)의 이해 - (2) PKI, μΈμ¦μ„œ, μ „μžμ„œλͺ… λ³Έλ¬Έ

Study/λ³΄μ•ˆ

[μ•”ν˜Έν™”] PKI(Public Key Infrastructure)의 이해 - (2) PKI, μΈμ¦μ„œ, μ „μžμ„œλͺ…

Shinjio 2023. 12. 12. 23:16

2023.12.05 - [Study/λ³΄μ•ˆ] - [μ•”ν˜Έν™”] PKI(Public Key Infrastructure)의 이해 - (1)

 

[μ•”ν˜Έν™”] PKI(Public Key Infrastructure)의 이해 - (1)

μ•”ν˜Έν™”μ™€ PKI에 λŒ€ν•œ 기반 지식을 읡힐 κΈ°νšŒκ°€ μžˆμ–΄μ„œ ν•™μŠ΅ν•œ λ‚΄μš©μ„ λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ—¬λŸ¬ λ¬Έμ„œ, λΈ”λ‘œκ·Έ κΈ€ 등을 톡해 ν•™μŠ΅ν•œ 자료둜 잘λͺ»λœ 뢀뢄이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. μˆœμ„œλŠ” κ°„λ‹¨ν•˜

danyoujeong.tistory.com

 

이전 ν¬μŠ€νŒ…μ— 이어 PKI에 λŒ€ν•΄ κ³„μ†ν•΄μ„œ 이야기해 보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€. μ˜€λŠ˜μ€ PKIλž€ 무엇인지 PKI의 λ“±μž₯λ°°κ²½κ³Ό κ΅¬μ„±μš”μ†Œ, λ™μž‘ 방식에 λŒ€ν•΄ 이야기 ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€. μ•„λž˜μ˜ λ‚΄μš©μ€ μ œκ°€ μ‘°μ‚¬ν•œ μžλ£Œμ™€ κ°•μ˜λ₯Ό λ°”νƒ•μœΌλ‘œ μž‘μ„±ν•œ λ‚΄μš©μ΄λ―€λ‘œ ν‹€λ¦° λ‚΄μš©μ΄ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€!

 

 


 

 

λͺ©μ°¨
1. PKI의 λ“±μž₯λ°°κ²½
2. PKIλž€? 
3. PKI의 ν™œμš©

 

1. PKI(Public Key Infrastructure) λ“±μž₯λ°°κ²½

이전 ν¬μŠ€νŒ…μ—μ„œ ν†΅μ‹ μ‹œ λΉ„κ³΅κ°œν‚€μ™€ κ³΅κ°œν‚€ 기반 ꡬ쑰의 λ¬Έμ œμ μ— λŒ€ν•˜μ—¬ μ΄μ•ΌκΈ°ν–ˆμŠ΅λ‹ˆλ‹€.

 

짧게 μš”μ•½ν•˜μžλ©΄

1) λΉ„κ³΅κ°œν‚€ μ•”ν˜Έν™”μ˜ 경우 λΉ λ₯΄μ§€λ§Œ λΉ„λ°€ν‚€ νƒˆμ·¨μ˜ μœ„ν—˜μ΄ μ‘΄μž¬ν•œλ‹€. 

2) 이λ₯Ό λ³΄μ™„ν•˜κΈ° μœ„ν•΄ κ³΅κ°œν‚€ μ•”ν˜Έν™” 방식이 λ“±μž₯ν–ˆλ‹€.

    - κ³΅κ°œν‚€ μ•”ν˜Έν™” 방식은 μ•”ν˜Έν™”λŠ” λͺ¨λ‘μ—κ²Œ 곡개된 κ³΅κ°œν‚€λ‘œ, λ³΅ν˜Έν™”λŠ” μžμ‹ λ§Œμ΄ 가지고 μžˆλŠ” λΉ„λ°€ν‚€λ‘œ λ³΅ν˜Έν™”λ₯Ό ν•©λ‹ˆλ‹€.

    - 물둜 λ°˜λŒ€λ„ κ°€λŠ₯ν•˜μ§€λ§Œ μ•”ν˜Έν™”μ—μ„œλŠ” λŒ€λΆ€λΆ„ 이 방식을 μ±„νƒν•©λ‹ˆλ‹€. 

    - λ°˜λŒ€μ˜ 방법이 λ°”λ‘œ μ „μžμ„œλͺ…μ΄λΌλŠ” 것인데 이에 λŒ€ν•΄μ„œλŠ” λ‹€μŒ ν¬μŠ€νŒ…μ—μ„œ μžμ„Ένžˆ λ‹€λ£¨κ² μŠ΅λ‹ˆλ‹€. 

3) κ·ΈλŸ¬λ‚˜ κ³΅κ°œν‚€ μ•”ν˜Έν™” 방식은 ν‚€ μŒμ„ λ§Œλ“œλŠ” 것 μžμ²΄κ°€ μžμ›μ„ 많이 μ†Œλͺ¨ν•œλ‹€. 

4) κ·Έλž˜μ„œ κ³΅κ°œν‚€ μ•”ν˜Έν™” 방식을 효율적으둜 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ λΉ„κ³΅κ°œν‚€ μ•”ν˜Έν™” 방식과 κ³΅κ°œν‚€ μ•”ν˜Έν™” 방식은 ν˜Όμš©ν•˜λŠ” 방식이 λ“±μž₯ν–ˆλ‹€.

    - μ΄λŠ” λ°μ΄ν„°λŠ” λΉ„λ°€ν‚€(λΉ„κ³΅κ°œν‚€)둜 μ•”ν˜Έν™” ν•˜κ³  이 λΉ„λ°€ν‚€λ₯Ό κ³΅κ°œν‚€λ‘œ μ•”ν˜Έν™”ν•œ ν›„ μ „μ†‘ν•œλ‹€. μˆ˜μ‹ μΈ‘μ—μ„œλŠ” κ³΅κ°œν‚€μ™€ μŒμ„ μ΄λ£¨λŠ” λΉ„κ³΅κ°œν‚€λ‘œ λΉ„λ°€ν‚€λ₯Ό λ³΅ν˜Έν™”ν•˜κ³ , ν•΄λ‹Ή λΉ„λ°€ν‚€λ‘œ 데이터λ₯Ό λ³΅ν˜Έν™” ν•œλ‹€. 

5) κ·ΈλŸ¬λ‚˜ μ—¬κΈ°μ„œ 또 λ¬Έμ œκ°€ λ°œμƒν•œλ‹€. κ³Όμ—° 곡개된 κ³΅κ°œν‚€λŠ” 믿을 수 μžˆλŠ”κ°€? 

 

 

 

μ΄λŸ¬ν•œ λ°°κ²½μ—μ„œ λ“±μž₯ν•œ 것이 λ°”λ‘œ PKI μž…λ‹ˆλ‹€. 

 

2. PKI(Public Key Infrastructure)λž€?

 

PKIλž€ 곡신λ ₯μžˆλŠ” 인증기관이 μΈν„°λ„·μƒμ—μ„œ μ‚¬μš©μžκ°„μ— 법적 효λ ₯이 μžˆλŠ” μΈμ¦μ„œλ₯Ό μ „μžμ μœΌλ‘œ λΆ„λ°°, 전달, μ œκ³΅ν•¨μœΌλ‘œμ¨ λΉ„μΈκ°€λœ μžλ‘œλΆ€ν„° κ°œμΈμ •λ³΄λ³΄ν˜Έ, μ „μžμƒκ±°λž˜ μœ„λ³€μ‘° 방지 등을 ν•  수 있게 ν•˜λŠ” 것을 λ§ν•©λ‹ˆλ‹€. 

μ΄ν•΄ν•˜κΈ° μ‰½κ²Œ μž‘μ„±ν•˜μžλ©΄ κ³΅κ°œν‚€ 기반 ꡬ쑰둜, μΈμ¦μ„œλ₯Ό 톡해 μ„œλ‘œ μ‹ λ’°ν•  수 μžˆλŠ” ꡬ쑰λ₯Ό λ§ν•©λ‹ˆλ‹€. 

 

PKI의 ꡬ성

PKIλŠ” μΈμ¦μ„œ(Certificate), 인증기관(CA), 등둝기관, λ””λ ‰ν† λ¦¬λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€. 

 

 

 

1) μΈμ¦μ„œ(Certificate)

λ¨Όμ € μΈμ¦μ„œλž€ κ³΅κ°œν‚€λ‚˜ κ³΅κ°œν‚€μ˜ 정보λ₯Ό ν¬ν•¨ν•˜λŠ” μΈμ¦μ„œλ₯Ό λ§ν•©λ‹ˆλ‹€.

κ³΅κ°œν‚€ 기반 κ΅¬μ‘°μ—μ„œ κ°€μž₯ μ€‘μš”ν•œ 것 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. 

 

 

 

μΈμ¦μ„œλž€ λ°”λ‘œ κ³΅κ°œν‚€λ₯Ό λ§ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이 κ³΅κ°œν‚€λŠ” μ‹ λ’°μ„± 보μž₯을 μœ„ν•΄ μ—¬λŸ¬ 정보와 ν•¨κ»˜ μΈμ¦κΈ°κ΄€μ˜ 디지털 μ„œλͺ…이 λ“€μ–΄κ°‘λ‹ˆλ‹€. 

 

μΈμ¦μ„œ λ°œν–‰ 과정은 μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€. 

 

1. λ¨Όμ € μ„œλ²„μΈ‘μ€ 인증기관(CA ν˜Ήμ€ RA)에 λΉ„λŒ€μΉ­ 생성을 μš”μ²­ν•©λ‹ˆλ‹€. 

    - RA ν˜Ήμ€ CAλŠ” λΉ„λŒ€μΉ­ν‚€λ₯Ό μƒμ„±ν•œ ν›„ μ„œλ²„μΈ‘μ— μ €μž₯ν•©λ‹ˆλ‹€. 

    - λΉ„λŒ€μΉ­ν‚€λ₯Ό 전달할 λ•Œ CA/RAλŠ” κ³΅κ°œν‚€μ— 뢀가적인 정보와 μ „μžμ„œλͺ…을 ν•¨κ»˜ λ„£μ–΄ μΈμ¦μ„œμ˜ ꡬ쑰둜 μ„œλ²„μ— μ „λ‹¬ν•©λ‹ˆλ‹€.

2. μ„œλ²„μΈ‘μ€ μžμ‹ μ˜ μ„œλ²„μ— λΉ„κ³΅κ°œν‚€μ™€ μΈμ¦μ„œλ₯Ό μ €μž₯ν•©λ‹ˆλ‹€. 

 

μΈμ¦μ„œ 검증 κ³Όμ •

1. μ„œλ²„λŠ” ν΄λΌμ΄μ–ΈνŠΈ 츑에 μΈμ¦μ„œλ₯Ό κ³΅κ°œν•©λ‹ˆλ‹€. 

2. ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„œλ²„μ—μ„œ μ œκ³΅ν•˜λŠ” μΈμ¦μ„œλ‘œ λŒ€μΉ­ν‚€(λΉ„λ°€ν‚€)λ₯Ό μ•”ν˜Έν™”ν•΄ 데이터λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€. 

3. ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„œλ²„κ°€ μ œκ³΅ν•˜λŠ” μΈμ¦μ„œλ₯Ό κ²€μ¦ν•˜κΈ° μœ„ν•΄ μœˆλ„μš°/λΈŒλΌμš°μ €μ— μ„€μΉ˜λœ μΈμ¦κΈ°κ΄€μ˜ μΈμ¦μ„œμ˜ κ³΅κ°œν‚€λ₯Ό 톡해 μ„œλ²„κ°€ μ œκ³΅ν•˜λŠ” μΈμ¦μ„œμ˜ μ „μžμ„œλͺ…을 λ³΅ν˜Έν™”ν•˜μ—¬ μΌμΉ˜μ—¬λΆ€λ₯Ό ν™•μΈν•©λ‹ˆλ‹€. 

 

μœ„μ˜μ„œ μ–ΈκΈ‰μ˜ μΈμ¦μ„œμ˜ 검증 과정이 μ–΄λ ΅κ²Œ λ‹€κ°€μ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€. 

μžμ‹ μ˜ PCμ—λŠ” CA와 MS ν˜Ήμ€ λΈŒλΌμš°μ €μ™€ κ³΅μœ λ˜λŠ” CAκΈ°κ΄€μ˜ μΈμ¦μ„œλ₯Ό λ³΄μœ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ μΈμ¦μ„œλŠ” μœˆλ„μš° μ—…λ°μ΄νŠΈλ₯Ό 진행할 λ•Œ ν•¨κ»˜ μ—…λ°μ΄νŠΈ λœλ‹€κ³  ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” PC ν˜Ήμ€ λΈŒλΌμš°μ €κ°€ λ³΄μœ ν•˜κ³  μžˆλŠ” CA의 μΈμ¦μ„œ(κ³΅κ°œν‚€)λ₯Ό 가지고 μ„œλ²„κ°€ μ œκ³΅ν•˜λŠ” μΈμ¦μ„œμ˜ μ „μžμ„œλͺ…을 λ³΅ν˜Έν™”ν•©λ‹ˆλ‹€. 

 

μ „μžμ„œλͺ…κ³Ό CA의 κ³΅κ°œν‚€λ‘œ μΈμ¦μ„œλ₯Ό Hashν•œ κ²°κ³Ό 값을 λΉ„κ΅ν•˜μ—¬ κ³΅κ°œν‚€λ₯Ό 신원을 증λͺ…ν•©λ‹ˆλ‹€. 

 

 

 

2) μ „μžμ„œλͺ…(Digital Sign)

μœ„μ—μ„œ μΈμ¦μ„œμ—λŠ” μ„œλ²„μ˜ κ³΅κ°œν‚€μž„μ„ 증λͺ…ν•˜κΈ° μœ„ν•΄ CA의 μ „μžμ„œλͺ…이 λ“€μ–΄κ°„λ‹€κ³  ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ λ§ν•˜λŠ” μ „μžμ„œλͺ…μ΄λž€ κ³΅κ°œν‚€ 기반 μ•”ν˜Έν™” 방식을 기반으둜 μ•”ν˜Έν™”λ₯Ό ν•  λ•ŒλŠ” λΉ„λ°€ν‚€λ‘œ λ³΅ν˜Έν™”λ₯Ό ν•  λ•ŒλŠ” κ³΅κ°œν‚€λ₯Ό μ‚¬μš©ν•¨μœΌλ‘œμ¨ μžμ‹ λ§Œμ΄ 가지고 μžˆλŠ” λΉ„λ°€ν‚€λ‘œ 데이터λ₯Ό μ•”ν˜Έν™”ν•˜κΈ° λ•Œλ¬Έμ— λ°œν–‰μžκ°€ λ³ΈμΈμž„μ„ 증λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

μ „μžμ„œλͺ…은 λ‹€μŒκ³Ό 같은 λ°©λ²•μœΌλ‘œ μƒμ„±λ©λ‹ˆλ‹€. 

 

 

3. PKI의 ν™œμš©

 

이 뢀뢄이 μ œκ°€ PKIλ₯Ό μ΄ν•΄ν•˜λŠ”λ° λ§Žμ€ ν˜Όλ™μ„ μ£Όμ—ˆλ˜ λ‚΄μš©μž…λ‹ˆλ‹€. PKIλ₯Ό κ³΅λΆ€ν•˜λŠ”λ° λ“±μž₯ν•˜λŠ” HTTPS와 PKIκ°€ λ§ν•˜λŠ” μΈμ¦μ„œκ°€ κ³΅μΈμΈμ¦μ„œμΈκ°€? ν•˜λŠ” λ‚΄μš©μž…λ‹ˆλ‹€. 

 

 

 

κ°„λž΅ν•˜κ²Œ μ„€λͺ…ν•˜μžλ©΄, 

μ„œλ²„μ˜ 톡신체계가 μ›ΉμœΌλ‘œ HTTP μœ„μ—μ„œ λŒμ•„κ°€λŠ” PKIκ°€ λ°”λ‘œ HTTPSμž…λ‹ˆλ‹€. μ΅œκ·Όμ—λŠ” λŒ€λΆ€λΆ„μ˜ μ‚¬μ΄νŠΈλ“€μ΄ HTTPSλ₯Ό μ μš©ν•˜λŠ”λ°μš”. μ›Ήμ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” μ„œλ²„μΈ‘μ€ μœ„μ™€ 같이 μΈμ¦μ„œλ₯Ό λ°œκΈ‰λ°›μŒμœΌλ‘œμ¨ κ³΅κ°œν‚€μ˜ 신원을 보μž₯ν•©λ‹ˆλ‹€. 

 

λ˜ν•œ, μ•žμ„œ μ΄μ•ΌκΈ°ν•œ μΈμ¦μ„œλŠ” μ„œλ²„μΈ‘μ—μ„œ λ°œν–‰μ„ μš”μ²­ν•˜μ—¬ μƒμ„±λœ κ³΅κ°œν‚€λ₯Ό 기반으둜 λ§Œλ“€μ–΄μ§„ μΈμ¦μ„œμž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ μš°λ¦¬κ°€ 자주 μ ‘ν•˜λŠ” κ³΅μΈμΈμ¦μ„œλŠ” κ³΅κ°œν‚€ λ°œν–‰ 주체가 λ°”λ‘œ 개인이 된 것을 μ˜λ―Έν•©λ‹ˆλ‹€. 개인이 κ³΅κ°œν‚€ λ°œν–‰ μš”μ²­ 주체가 되고, 은행이 이 μΈμ¦μ„œλ₯Ό λ°œν–‰ν•΄μ£Όκ³ (RA), 은행 μœ„μ˜ Yessign이 CA인 ꡬ쑰λ₯Ό λ°”λ‘œ κ³΅μΈμΈμ¦μ„œλΌκ³  ν•©λ‹ˆλ‹€. 

 

 


 

 

μ—¬κΈ°κΉŒμ§€κ°€ 기본적인 μ•”ν˜Έν™” 지식과 PKI에 λŒ€ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. 정보 μΆœμ²˜λŠ” 1편과 λ™μΌν•©λ‹ˆλ‹€.

그럼 λ‹€μŒ ν¬μŠ€νŒ…μ—μ„œλŠ” μ•”ν˜Έν™” μ•Œκ³ λ¦¬μ¦˜ κ΅¬ν˜„μ— λŒ€ν•˜μ—¬ ν¬μŠ€νŒ…ν•˜κ² μŠ΅λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€.