PKI/Geneal Infomation

SSL μΈμ¦μ„œ 및 μ½”λ“œ μ„œλͺ… μΈμ¦μ„œ μš©λ„ 확인 방법

JayKimπŸ™‚ 2024. 1. 30. 18:26

PKI μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©ν•˜λŠ” μΈμ¦μ„œλŠ” μΈμ¦μ„œ λ§ˆλ‹€ μ‚¬μš©ν•˜λŠ” μš©λ„κ°€ μžˆλ‹€.
κ·Έμ€‘μ—μ„œ 많이 μ‚¬μš©ν•˜λŠ” λŒ€ν‘œμ μΈ μΈμ¦μ„œμ˜ μš©λ„κ°€ SSL μΈμ¦μ„œμ™€ μ½”λ“œ μ„œλͺ…μš© μΈμ¦μ„œκ°€ μžˆλ‹€.

SSL μΈμ¦μ„œλŠ” 일반적으둜 μ›Ήμ„œλ²„μ—μ„œ HTTPS 톡신을 ν•˜κΈ°μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μΈμ¦μ„œμ΄λ‹€.
μ½”λ“œμ„œλͺ… (Code Sign) μΈμ¦μ„œλŠ” μ•±μ΄λ‚˜ ν”„λ‘œκ·Έλž¨ λ˜λŠ” 라이브러리 같은 λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ— μœ„λ³€μ‘°λ₯Ό 방지 ν•˜κΈ°μœ„ν•΄
μ „μž μ„œλͺ…을 ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μΈμ¦μ„œμ΄λ‹€.

그럼 SSL μΈμ¦μ„œμ™€ μ½”λ“œ μ„œλͺ…μš© μΈμ¦μ„œκ°€ λ§žλŠ”μ§€ ꡬ별 ν•˜κΈ° μœ„ν•΄μ„œλŠ”
μΈμ¦μ„œμ—λŠ” μš©λ„λ³„λ‘œ μΈμ¦μ„œκ°€ κ°€μ Έμ•Ό ν•˜λŠ” ν•„λ“œκ°€ μ‘΄μž¬ν•œλ‹€.
μ—¬κΈ°μ„œ μΈμ¦μ„œ μ •λ³΄μ˜ ν•„λ“œλ₯Ό 보기 μœ„ν•΄μ„œ BerEditor λ₯Ό μ‚¬μš©ν•˜μ˜€λ‹€.

μΈμ¦μ„œ μš©λ„ ꡬ별 ν•„λ“œ

SSL μΈμ¦μ„œμ™€ μ½”λ“œ μ„œλͺ… μΈμ¦μ„œ μš©λ„λ₯Ό ꡬ별 ν•˜κΈ° μœ„ν•΄ 확인이 ν•„μš”ν•œ μ£Όμš” ν•„λ“œλŠ” 2가지 인데
ν‚€ μš©λ„( keyUsage ) 와 ν™•μž₯ ν‚€ μ‚¬μš©( Extended Key Usage ) 두 ν•„λ“œ 확인을 ν•˜λ©΄ λœλ‹€.

ν‚€ μš©λ„, ν™•μž₯ν‚€ μ‚¬μš© 같은 μš©μ–΄λŠ” λ¬Έμ„œλ‚˜ ν”„λ‘œκ·Έλž¨μ— 따라 μ‘°κΈˆμ”© λ‹€λ₯΄κ²Œ ν‘œν˜„μ΄ λ˜κΈ°λ„ ν•œλ‹€.

기본적으둜 SSL μΈμ¦μ„œμ™€ μ½”λ“œ μ„œλͺ…μš© μΈμ¦μ„œμ˜ KeyUsage ν•„λ“œμ—μ„œ Digital Signature λŠ” ν•„μˆ˜μ μœΌλ‘œ μžˆμ–΄μ•Ό ν•œλ‹€.
이 ν™•μž₯ ν•„λ“œλŠ” critical 둜 μ„€μ • λ˜μ–΄μ•Ό ν•œλ‹€.
SSL μΈμ¦μ„œ 경우 keyEncipherment λ˜λŠ” KeyAgreement 값이 μ„€μ • λ˜μ–΄μ•Ό ν•œλ‹€.
RSA μΈμ¦μ„œ 경우 SSL μ—μ„œ KeyEnciphermentλ₯Ό μ‚¬μš©ν•˜κ³  ECDSA μΈμ¦μ„œ 경우 KeyAgreement κ°€ μ‚¬μš©λ˜λŠ” κ²ƒμœΌλ‘œ 보면 λœλ‹€.

그리고 ExtendedKeyUsage ν•„λ“œμ—μ„œ ν•΄λ‹Ή μΈμ¦μ„œμ˜ μš©λ„κ°€ λ‚˜μ™€μ•Ό ν•˜λŠ”λ°
SSL용 μ„œλ²„ μΈμ¦μ„œλŠ” μ„œλ²„ 인증(TLS Web Server Authentication) ν•„λ“œκ°€ μžˆμ–΄μ•Ό ν•œλ‹€.
μ½”λ“œ μ„œλͺ…μš© μΈμ¦μ„œμ—λŠ” μ½”λ“œ μ„œλͺ…( Code Signing) ν•„λ“œκ°€ μžˆμ–΄μ•Ό ν•œλ‹€.
μ‹€μ œλ‘œ ν•΄λ‹Ή 값은 μš©λ„λ³„ OID κ°’μœΌλ‘œ λ§Œλ“€μ–΄μ Έ μžˆλ‹€.

ExtendedKeyUsage μ‹€μ œ OID κ°’ 예제

SSL μΈμ¦μ„œ ꡬ별 μš”μ†Œ

  • KeyUsage : Digital Signature 그리고 Key Encipherment λ˜λŠ” Key Agreement
  • Extended Key Usage : μ„œλ²„ 인증 ( TLS Web Server Authentication )

μ½”λ“œ 사인 μΈμ¦μ„œ ꡬ별 μš”μ†Œ

  • KeyUsage : Digital Signature
  • Extended Key Usage : μ½”λ“œ μ„œλͺ… ( Code Signing )

SSL μΈμ¦μ„œ 예제

μ•„λž˜ μ˜ˆμ œλŠ” BerEditor -> File -> Open Certificate 메뉴을 μ΄μš©ν•΄ μ—° SSL μΈμ¦μ„œ 화면이닀.

SSL μ„œλ²„ μΈμ¦μ„œ 예제

μœ„ κ·Έλ¦Όμ—μ„œ νŒŒλž€μƒ‰μœΌλ‘œ ν‘œμ‹œν•œ KeyUsage 에 DigitalSignature κ°€ 있음이 확인 λœλ‹€.
그리고 빨간색 λŠλ‚Œν‘œ λ§ˆν¬λŠ” critical μ„€μ •μ΄λΌλŠ” 것이닀.
그리고 extendedKeyUsage μ—μ„œ TLS Web Server Authentication 을 λ³΄μ—¬μ£ΌλŠ”λ° 이 값이 SSL μ„œλ²„μš© μΈμ¦μ„œ μž„μ„ λ‚˜νƒ€λ‚Έλ‹€.

μ°Έκ³ ) TLS Web Client Authentication 은 SSL μ—μ„œ μƒν˜ΈμΈμ¦ ν•˜λŠ” 경우 ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μ‚¬μš©ν•˜λŠ” μš©λ„λ₯Ό λ‚˜νƒ€λ‚Έλ‹€.

μ½”λ“œ μ„œλͺ… μΈμ¦μ„œ 예제

μ½”λ“œ μ„œλͺ…μš© μΈμ¦μ„œλ„ Open Certificate 메뉴λ₯Ό μ΄μš©ν•΄ μ—° μ½”λ“œ μ„œλͺ… μΈμ¦μ„œ 화면이닀.

μ½”λ“œ 사인 μΈμ¦μ„œ 예제

μœ„ κ·Έλ¦Όμ—μ„œ νŒŒλž€μƒ‰μœΌλ‘œ ν‘œμ‹œν•œ KeyUsage 에 DigitalSignature κ°€ 있음이 확인 λœλ‹€.
그리고 빨간색 λŠλ‚Œν‘œ λ§ˆν¬λŠ” critical μ„€μ •μ΄λΌλŠ” 것이닀.
그리고 extendedKeyUsage μ—μ„œ Code Signing 을 λ³΄μ—¬μ£ΌλŠ”λ° 이 값이 μ½”λ“œ μ„œλ²„μš© μΈμ¦μ„œ μž„μ„ λ‚˜νƒ€λ‚Έλ‹€.

마무리

μΈμ¦μ„œλŠ” μš©λ„λ³„λ‘œ λͺ¨λ‘ ν”„λ‘œνŒŒμΌ μ •μ˜κ°€ 있고 ν•„μˆ˜μ μœΌλ‘œ μΈμ¦μ„œ ν•„λ“œμ—μ„œ μ‚¬μš©λ˜μ–΄μ•Ό ν•˜λŠ” 값이 μžˆλ‹€.
보톡 μ›Ήμ„œλ²„ μΈμ¦μ„œλ₯Ό μ„€μΉ˜ ν•˜κ±°λ‚˜ ν”„λ‘œκ·Έλž¨μ— μ½”λ“œ μ„œλͺ…을 ν•˜κΈ° μœ„ν•΄ μΈμ¦μ„œμ™€ κ°œμΈν‚€λ₯Ό μ‚¬μš©ν•œλ‹€.
μ΄λ•Œ μ‚¬μš©ν•˜λŠ” μΈμ¦μ„œκ°€ μš©λ„κ°€ λ§žλŠ”μ§€ 확인이 ν•„μš” ν•  λ•Œκ°€ μžˆλ‹€.
이 두가지 μš©λ„λ₯Ό ν™•μΈν• λ•Œ BerEditor λ˜λŠ” μœˆλ„μš° μƒμ—μ„œ μΈμ¦μ„œλ₯Ό μ—΄μ–΄μ„œ KeyUsage 와 Extended Key Usage 확인을 ν•΄ 보면 λœλ‹€.