PKI/Geneal Infomation 12

KMIP ν”„λ‘œν† μ½œμ— κ΄€ν•˜μ—¬

PKI κ΄€λ ¨ κ°œλ°œμ„ ν•˜λ‹€ 보면 κ°€μž₯ μ€‘μš”ν•˜κ²Œ 관리 λ˜μ–΄μ•Ό ν•˜λŠ”κ²Œ ν‚€ 관리이닀. 이 ν‚€ 관리λ₯Ό ν•˜κΈ° μœ„ν•΄μ„œ ν‚€ 관리 μ‹œμŠ€ν…œμ΄λΌκ³  λΆ€λ₯΄λŠ” KMSλ₯Ό 두고 ν‚€λ₯Ό 관리 ν•œλ‹€. ν‚€ 관리 μ‹œμŠ€ν…œκ²½μš° λ‹€μ–‘ν•˜κ²Œ λ§Œλ“€μ–΄μ Έ μžˆλ‹€ λ³΄λ‹ˆ ν‚€ 관리 μ‹œμŠ€ν…œμ— λŒ€ν•œ ν‘œμ€€μ΄ ν•„μš”ν•˜λ‹€κ³  μƒκ°ν•˜μ—¬μ„œ μ•Œκ²Œ λœκ²ƒμ΄ KMIP 이닀. [자료 좜처] https://stormagic.com/resources/beginners-guides/kmip-beginners-guide μ•„λž˜ 글은 μœ„μ˜ 자료 좜처의 글을 λ²ˆμ—­ ν•œκ²ƒμ΄λ‹€. KMIP λž€ 무엇인가? κ°„λ‹¨νžˆ λ§ν•΄μ„œ, KMIP(Key Management Interoperability Protocol)λŠ” ν”Œλž«νΌ μ „λ°˜μ— 걸쳐 μ•ˆμ „ν•œ 데이터 관리λ₯Ό μœ„ν•œ ν‘œμ€€ ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€. μ΄λŠ” ν‚€ 관리 μ‹œμŠ€ν…œκ³Ό μ•”ν˜Έν™” 지원..

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

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

κ°œμΈν‚€ μ•”ν˜Έν™”ν•˜λŠ” 두가지 ν‘œμ€€ 기술( PKCS#8, PKCS#12)

PKI μ‹œμŠ€ν…œμ—μ„œ κ°€μž₯ μ€‘μš”ν•˜κ²Œ 관리 λ˜μ–΄μ•Ό ν•˜λŠ”κ²ƒμ΄ κ°œμΈν‚€μ΄λ‹€. κ·Έλž˜μ„œ κ°œμΈν‚€λŠ” μ•”ν˜Έν™”λ₯Ό ν•΄μ„œ λ³΄κ΄€ν•˜λŠ”κ²ƒμ΄ μΌλ°˜μ μ΄λ‹€. λ¬Όλ‘  쒀더 μ•ˆμ „ν•˜κ²Œ λ³΄κ΄€ν•˜κΈ° μœ„ν•΄ HSM μž₯치λ₯Ό μ΄μš©ν•˜λŠ” 방법도 μžˆλ‹€. 그러면 이 κ°œμΈν‚€λ₯Ό μ•”ν˜Έν™”μ— μ‚¬μš©λ˜λŠ” 두가지 기술 ν‘œμ€€μ΄ μžˆλ‹€. κ·Έ 두가지 기술 ν‘œμ€€μ΄ PKIX μ—μ„œ PKCS#8 κ³Ό PKCS#12 두가지 기술이 μžˆλ‹€. 그럼 PKCS#8 κ³Ό PKCS#12 에 λŒ€ν•΄μ„œ μ•Œμ•„ 보자 PKCS#8 PKCS#8 은 κ°œμΈν‚€ λ§Œμ„ μ•”ν˜Έν™” ν•˜κΈ° μœ„ν•΄ μ‚¬μš© λ˜λŠ” ν‘œμ€€ κΈ°μˆ μ΄λ‹€ [ RFC5208 ] κ°œμΈν‚€ μ•”ν˜Έλ₯Ό μœ„ν•΄μ„œ PrivateKeyInfo 와 EncryptedPrivateKeyInfo 두가지 ASN.1 ν˜•μ‹μ΄ μ‚¬μš©λœλ‹€. λ¨Όμ € κ°œμΈν‚€λ₯Ό μ•”ν˜Έν™” ν•˜κΈ° 전에 PrivateKeyInfo ν˜•μ‹μœΌλ‘œ 개인..

κ°œμΈν‚€, κ³΅κ°œν‚€ 그리고 μΈμ¦μ„œ

PKI μ‹œμŠ€ν…œμ„ μ ‘ν•˜λ‹€ 보면 항상 λ“£κ²Œ λœλŠ” 단어가 μžˆλ‹€. PKI μ‹œμŠ€ν…œμ—μ„œ μ „μž μ„œλͺ…을 ν•˜κΈ° μœ„ν•΄μ„œ 주둜 λ‚˜μ˜€λŠ” 단어가 μΈμ¦μ„œ, κ³΅κ°œν‚€ 그리고 κ°œμΈν‚€ 이닀. λ¬Όλ‘  이 μš©μ–΄λ₯Ό PKI λ₯Ό μ ‘ν•˜κ²Œ 되면 기본적으둜 이해λ₯Ό ν•˜κ³  μžˆλ‹€κ³  λ³Έλ‹€. ν•˜μ§€λ§Œ 쒀더 μ‰½κ²Œ 이야기λ₯Όμ„ ν•΄ 보자. 사싀 κ°œμΈν‚€ κ³΅κ°œν‚€μ™€ 그리고 μΈμ¦μ„œλŠ” μ „μž μ„œλͺ…을 μœ„ν•΄μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄μ΄λ‹€. μ „μž μ„œλͺ…κ°’ λ§Œλ“ λŠ” ν‚€λŠ” κ°œμΈν‚€ μ „μž μ„œλͺ…값을 κ²€μ¦ν•˜λŠ” ν‚€λŠ” κ³΅κ°œν‚€ κ³΅κ°œν‚€μ— λŒ€ν•œ μ†Œμœ μžμ— λŒ€ν•œ 증λͺ…μ„œκ°€ μΈμ¦μ„œ 이닀. μ „μž μ„œλͺ…에 λŒ€ν•œ κ°œλ…μ€ [μ „μžμ„œλͺ…κ³Ό μΈμ¦μ„œ 이야기] 뢀뢄을 μ°Έκ³ ν•˜μž. κ°œμΈν‚€λž€? κ°œμΈν‚€λŠ” μ „μž μ„œλͺ…값을 λ§Œλ“€κΈ° μœ„ν•œ ν‚€ 이닀. κ·Έ 말은 κ°œμΈν‚€κ°€ μ ˆλŒ€ μ†Œμœ μžκ°€ μ•„λ‹Œ λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ 전달 λ˜μ–΄μ„œλŠ” μ•ˆλœλ‹€. PKI μ‹œμŠ€ν…œμ˜ μ£Όμš” 핡심 λ³΄μ•ˆ μš”μ†Œ..

OpenSSL vs MbedTLS 비ꡐ

PKI κ΄€λ ¨ κ°œλ°œμ„ ν•˜λ©΄μ„œ μ—¬λŸ¬κ°€μ§€ μ•”ν˜Έν™” κ΄€λ ¨ λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μ‘΄μž¬ν•œλ‹€. ν•˜μ§€λ§Œ 개인적으둜 κ°€μž₯ 많이 μ‚¬μš©ν•˜κ³  μ°Έκ³  ν•˜λŠ” 것은 OpenSSL κ³Ό MbedTLS 이닀. 이 두가지λ₯Ό 주둜 μ‚¬μš©ν•˜λ©΄μ„œ λ‚΄κ°€ μƒκ°ν•˜λŠ” 차이점에 λŒ€ν•΄ 비ꡐ해 보자 OpenSSL νŠΉμ§• TLS 1.3 이 지원 λœλ‹€. FIPS 인증 κΈ°λŠ₯ 지원 λ‹€μ–‘ν•œ ASN.1 포맷이 지원됨 ( CMP, OCSP, TSP λ“±λ“± ) λ‹€μ–‘ν•œ μ•Œκ³ λ¦¬μ¦˜μ΄ 제곡 λœλ‹€. ASN.1 μΈμ½”λ“œ/λ””μ½”λ“œκ°€ 맀크둜λ₯Ό μ‚¬μš©ν•œλ‹€. OpenSSL λͺ…λ Ήμ–΄λ₯Ό μ΄μš©ν•΄ API κΈ°λŠ₯ ν…ŒμŠ€νŠΈκ°€ κ°€λŠ₯ ν•˜λ‹€. κΈ°λŠ₯이 많고 μ†ŒμŠ€ μ½”λ“œκ°€ 많이 λ³΅μž‘ν•˜λ‹€. Apache V2 λΌμ΄μ„ΌμŠ€ (OpenSSL 3.0 ν•΄λ‹Ή) sm2 sm3 그리고 sm4 쀑ꡭ μ•Œκ³ λ¦¬μ¦˜ 지원 MbedTLS νŠΉμ§• TLS 1.3 지원 λœλ‹€..

μ „μžμ„œλͺ…κ³Ό μΈμ¦μ„œ 이야기

μ „μž μ„œλͺ…κ³Ό μΈμ¦μ„œλŠ” 사싀 PKI 뢄야에 μƒλ‹Ήνžˆ 기술적인 λ‚΄μš©μ΄λ‹€. 이 뢀뢄을 μ’€ 더 μ‰¬μš΄ 말둜 μ„€λͺ…을 ν•΄λ³΄μž μ‹€ μƒν™œμ—μ„œ μ „μžμ„œλͺ…κ³Ό μΈμ¦μ„œλ₯Ό 비ꡐ ν•˜κΈ° κ°€μž₯ μ’‹μ€κ²Œ "인감 증λͺ…μ„œ" 라고 μƒκ°ν•œλ‹€. 인감 증λͺ…μ„œλŠ” μ˜€ν”„λΌμΈμƒμœΌλ‘œ μ–΄λ–€ μ„œλ₯˜λ₯Ό μž‘μ„±ν•˜κ³  날인을 톡해 κ·Έ 날인이 μœ νš¨ν•œ 도μž₯인지 확인 ν•΄ μ£ΌλŠ” 증λͺ…μ„œμ΄λ‹€. 이 과정이 사싀 μ˜€ν”„λΌμΈμœΌλ‘œ μ‚¬λžŒ 듀이 직접 ν•˜κ²Œ λœλ‹€. μ˜€ν”„λΌμΈ μƒμ—μ„œ 이루어진 이런 일듀을 정보화 μ‚¬νšŒλ‘œ λ³€ν•˜λ©΄μ„œ 디지털화와 μ˜¨λΌμΈμƒμœΌλ‘œ ν•˜κ²Œ λ˜λ©΄μ„œ μ–΄λ–€ μ„œλ₯˜ 데이타에 λŒ€ν•΄ κ°œμΈν‚€λ₯Ό μ‚¬μš©ν•΄ μ „μž μ„œλͺ… ν•˜κ³  κ·Έ μ„œλͺ… 값을 κ³΅κ°œν‚€λ₯Ό μ΄μš©ν•΄μ„œ 검증을 ν•˜κ²Œ λœλ‹€. 그리고 κ·Έ κ³΅κ°œν‚€μ— λŒ€ν•œ 증λͺ…μ„œκ°€ μΈμ¦μ„œμ΄λ‹€. 사싀 μ˜€ν”„λΌμΈμƒμ—μ„œλŠ” ν•΄λ‹Ή μ‚¬λžŒμ΄ 신원 확인과 μ„œλ₯˜λ₯Ό 가지고 직접 도μž₯을 찍고 λ˜ν•œ κ·Έ ..

κ³΅κ°œν‚€ 기반 ꡬ쑰 (PKI) κ°œλ…

μš”μ¦˜ λ§Žμ€ λΆ„μ•Όμ—μ„œ PKI λΌλŠ” μš©μ–΄κ°€ μ‚¬μš© λœλ‹€. μ˜€λž«λ™μ•ˆ 이 뢄야에 κ΄€ν•œ 업무λ₯Ό ν•˜λ‹€ λ³΄λ‹ˆ PKI λŠ” 사싀 λ§Žμ€ μ‹œμŠ€ν…œμ— μ•½λ°©μ˜ 감초 같은 μ—­ν™œμ„ ν•˜λŠ”κ±° κ°™λ‹€. 사싀 PKIλŠ” λ…λ¦½μ μœΌλ‘œλ§Œ μ“Έ μˆ˜λŠ” 없어도 μ–΄λ””μ„œλ“  μ“°μ΄λŠ” 정말 κ°μ΄ˆκ°€ μ•„λ‹κΉŒ ν•œλ‹€. κ·Έλž˜μ„œ μ΄λ²ˆμ— PKI κ°œλ… 정리λ₯Ό ν•΄ 보자. 1. PKI μ •μ˜ PKI ( Public Key Infrastructure) λŠ” μ‚¬μš©μž λ˜λŠ” μž₯μΉ˜λ“€μ„ μΈμ¦ν•˜κΈ° μœ„ν•΄ 곡개 ν‚€ μ•”ν˜Έν™”λ₯Ό μ‚¬μš©μ„ μ§€μ›ν•˜λŠ” κΈ°λŠ₯, μ •μ±… 및 μ„œλΉ„μŠ€ μ‹œμŠ€ν…œμ„ λ§ν•œλ‹€. 사싀 이 μ‹œμŠ€ν…œμ˜ ꡬ성 μš”μ†Œμ— λŒ€ν•œ μ •μ˜ ν‘œμ€€μ€ μ—†μ§€λ§Œ 일반적으둜 인증기관인 CA, 등둝기관인 RA을 κ΅¬μ„±ν•˜κ³  이 CAμ—μ„œ λ°œν–‰ν•˜λŠ”μΈμ¦μ„œλ₯Ό μ΄μš©ν•΄ μ‚¬μš©μž λ˜λŠ” μž₯치λ₯Ό μΈμ¦ν•˜λŠ” 기반 μ‹œμŠ€ν…œμ„ λ§ν•œλ‹€. 일반적 λΉ„λŒ€μΉ­ν‚€κ³Ό μ•”ν˜Έν™” μ‹œ..

GnuPG μ‚¬μš© ν•˜κΈ° ( μœˆλ„μš° ν™˜κ²½ gpg4win )

사싀 e 메일은 보낸 μ‚¬λžŒμ˜ 신뒰성에 μ·¨μ•½ν•œ 점이 μžˆλ‹€. 그것을 λ³΄μ™„ν•˜κΈ° μœ„ν•΄ GnuPG λ₯Ό μ΄μš©ν•΄ μ†‘μ‹ μžμ˜ μ „μž μ„œλͺ… 및 μ•”ν˜Έν™” κΈ°λŠ₯을 μ‚¬μš©ν•  수 μžˆμ–΄μ„œ μœˆλ„μš° ν™˜κ²½μ—μ„œ μ‚¬μš©λ²•μ„ 기둝해 λ‘μ—ˆλ‹€. ν˜„μž¬ GnuPG 경우 μ‚¬μš©μžμ˜ κ³΅κ°œν‚€ κ³΅μœ κ°€ μš°μ„  이루어 μ Έμ•Ό ν•˜λŠ”λ° νŠΉμ • μ„œλ²„λ₯Ό 톡해 곡유 ν•  수 μ—†μ–΄μ„œ λ©”μΌμ΄λ‚˜ λ‹€λ₯Έ λ°©λ²•μœΌλ‘œ μš°μ„  곡유 λ˜μ–΄μ•Ό ν•œλ‹€. 1. GnuPG κ°œμš” Gnu Privacy Guard 의 μ•½μžλ‘œ PGP의 μ˜€ν”ˆμ†ŒμŠ€λ‘œ κ΅¬ν˜„ν•œ 것이닀. ν‘œμ€€ λ¬Έμ„œλŠ” RFC 4880 이닀. GnuPGλŠ” Free Software Foundationμ—μ„œ OpenPGP ν‘œμ€€μ— 따라 κ°œλ°œν•œ ν”„λ‘œκ·Έλž¨μ΄λ©° μœˆλ„μš°μš© 이름은 Gpg4win 이닀 GPL(GNU General Public License) λΌμ΄μ„ΌμŠ€ μ •μ±…ν•˜μ—μ„œ 무료..

OpenSSL 3.0 μ£Όμš” λ³€κ²½ 사항 ( OpenSSL 1.1.1 κ³Ό 비ꡐ )

OpenSSL 은 0.9.xx μ—μ„œ 그리고 1.1.1x λ²„μ „μ—μ„œ 3.0 버전(μΆœμ‹œμΌ: 2021-09-07) 으둜 λ‚˜μ™”λ‹€. ν˜„μž¬ 3.0 λ²„μ „μ—μ„œλŠ” FIPSλͺ¨λ“ˆμ˜ μ‚¬μš©κ³Ό μƒˆλ‘œμš΄ κΈ°λŠ₯을 ν™œμš©ν•΄μ•Ό ν•˜λŠ” 경우 3.0 으둜 변경을 ν•΄μ•Ό ν•œλ‹€. 글을 μ“°λŠ” 이 μ‹œμ μ—λŠ” 3.1 버전 (μΆœμ‹œμΌ: 2023-03-14) κΉŒμ§€ λ‚˜μ™€ μžˆλ‹€. 그럼 μ£Όμš” λ³€κ²½ 사항에 λŒ€ν•΄ μ•Œμ•„ 보자. 이 글은 OpenSSL 3.0 μœ„ν‚€λ₯Ό μ°Έμ‘° ν•˜μ˜€λ‹€. 1. λΌμ΄μ„ΌμŠ€ λ³€κ²½ - κΈ°μ‘΄ openssl 은 OpenSSL κ³Ό SSLeay λΌμ΄μ„ΌμŠ€μ—μ„œ Apache License v2 둜 λ³€κ²½ λ˜μ—ˆλ‹€. 이 뢀뢄은 GPL λΌμ΄μ„ΌμŠ€μ™€μ˜ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ³€κ²½ λ˜μ—ˆλ‹€. 2. FIPS 인증 λͺ¨λ“ˆ 포함 - Openssl 1.1.1 μ—μ„œλŠ” FIPS λͺ¨λ“ˆμ„ λ”°λ‘œ νŒ¨ν‚€μ§€ ..

μΈμ¦μ„œμ™€ 킀에 λŒ€ν•œ ν™•μž₯자 ν˜•μ‹(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 으둜..