JiYoung Dev πŸ–₯

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

Study/λ³΄μ•ˆ

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

Shinjio 2023. 12. 5. 23:02

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


 

정보 λ³΄μ•ˆ(Information Security)λž€?


μΈν„°λ„·μ—μ„œ μ„œμΉ˜ν•œ κ²°κ³Ό 정보 보호, 정보 λ³΄μ•ˆμ„ λ”°λ‘œ κ΅¬λ³„ν•˜κΈ°λ„ ν•˜λŠ” 것 κ°™μœΌλ‚˜ μ €λŠ” κ°„λž΅ν•˜κ²Œ μ•„λž˜μ˜ λ‚΄μš©μœΌλ‘œ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

 

μ •λ³΄μ˜ μˆ˜μ§‘, 가곡, μ €μž₯, 검색, 솑신, μˆ˜μ‹  쀑 λ°œμƒν•˜λŠ”

μ •λ³΄μ˜ 훼손, λ³€μ‘°, 유좜 등을 λ°©μ§€ν•˜κΈ° μœ„ν•œ 관리적, 기술적 방법

 

κ°„λ‹¨νžˆ 정보λ₯Ό μ—¬λŸ¬κ°€μ§€ μœ„ν˜‘μœΌλ‘œλΆ€ν„° λ³΄ν˜Έν•˜λŠ” 것이라 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

정보 λ³΄μ•ˆ(Information Security)의 λͺ©ν‘œ


정보λ₯Ό λ³΄μ•ˆμ—λŠ” μ΅œμ’…μ μΈ λͺ©ν‘œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ–΄λ– ν•œ λͺ©ν‘œλ₯Ό 지ν–₯ν•˜λŠλƒμ— 따라 정보 λ³΄μ•ˆμ„ μœ„ν•œ 관리적, 기술적 방법이 λ‹¬λΌμ§‘λ‹ˆλ‹€. 

 

1. κΈ°λ°€μ„±(Confidentiality) 

μΈκ°€λœ μ‚¬μš©μžλ§Œμ΄ 정보 μžμ‚°μ— 접근이 κ°€λŠ₯

κΆŒν•œμ΄ μžˆλŠ” μ‚¬μš©μžλ§Œμ΄ 정보λ₯Ό μ‚¬μš©ν•  수 있음

μ „μ†‘λ˜λŠ” λ°μ΄ν„°μ˜ λΉ„λ°€ 보μž₯

 

2. 무결성(Integrity)

κΆŒν•œμ„ 가진 μ‚¬μš©μžκ°€ μΈκ°€ν•œ λ°©λ²•μœΌλ‘œλ§Œ 정보λ₯Ό λ³€κ²½ν•  수 있음

μ „μ†‘λ˜λŠ” 정보가 μ‘°μž‘λ˜μ§€ μ•ŠμŒμ„ 보μž₯

 

3. κ°€μš©μ„±(Availability)

ν•„μš”ν•œ μ‹œμ μ— 정보 μžμ‚°μ— λŒ€ν•œ 접근이 κ°€λŠ₯ν•˜λ„λ‘ 함

 

4. μ‚¬μš©μž 인증(Authentication)

정보 λ˜λŠ” μ‚¬μš©μž 자격 증λͺ…μ˜ μ‹ λ’°μ„± 확인 

 

5. 뢀인방지(Non-Repudiation)

μ‚¬μš©μžκ°€ μ΄μ „μ˜ 약속 λ˜λŠ” μž‘μ—…μ„ λΆ€μΈν•˜μ§€ λͺ»ν•˜λ„둝 함

정보λ₯Ό 보낸 μ‚¬λžŒμ΄ λ‚˜μ€‘μ— 정보λ₯Ό λ³΄λƒˆλ‹€λŠ” 것을 λΆ€μΈν•˜μ§€ λͺ»ν•˜λ„둝 함

 

ν—ˆκ°€λœ μ‚¬μš©μžλ§Œμ΄ 데이터에 μ ‘κ·Όν•  수 μžˆλŠ” 기밀성은 λŒ€μΉ­ν‚€/λΉ„λŒ€μΉ­ν‚€ μ•”ν˜Έν™”λ₯Ό 톡해 달성할 수 있고, Hash ν•¨μˆ˜λ₯Ό 톡해 μ•Œλ €μ§„ Hash μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ 원본 데이터λ₯Ό ν•΄μ‹±ν•œ κ°’κ³Ό μ†‘μ‹ μžλ‘œλΆ€ν„° 전달받은 ν•΄μ‹œ κ²°κ³Όλ₯Ό λΉ„κ΅ν•˜μ—¬ 값이 λ™μΌν•œμ§€λ₯Ό 톡해 μ •λ³΄μ˜ 무결성을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, μ „μž μ„œλͺ…을 톡해 μ‚¬μš©μžλ₯Ό 인증할 수 μžˆμŠ΅λ‹ˆλ‹€. 

 

μ—¬λŸ¬ 자료λ₯Ό 톡해 곡뢀λ₯Ό ν•  λ•Œ μœ„μ˜ μš©μ–΄κ°€ 많이 λ“±μž₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ•”ν˜Έν™”μ™€ κ΄€λ ¨ν•œ 곡뢀λ₯Ό ν•˜μ‹ λ‹€λ©΄ μœ„μ˜ μš©μ–΄μ— λŒ€ν•΄ μˆ™μ§€ν•΄ λ‘λŠ” 편이 κ³΅λΆ€ν•˜λŠ” 데 도움이 되리라 μƒκ°ν•©λ‹ˆλ‹€. 

 

정보 λ³΄μ•ˆμ˜ νŠΉμ„±
1. 정보 λ³΄μ•ˆμ€ 100% μ™„λ²½ν•˜κ²Œ 달성할 수 μ—†λ‹€.
2. 정보 λ³΄μ•ˆ λŒ€μ±…μ˜ μ„€μΉ˜μ‹œ ν•„μš”μ„±μ„ ν™•μ‹ ν•  수 μ—†λ‹€. 
3. 정보 λ³΄μ•ˆ λŒ€μ±…μ˜ νš¨κ³Όμ„±μ€ μ‹€νŒ¨μœ¨μ— μ˜ν•΄ μΈ‘μ •λœλ‹€. 
4. 2가지 μ΄μƒμ˜ λŒ€μ±…μ„ λ™μ‹œμ— μ‚¬μš©ν•˜λ©΄ μœ„ν—˜μ„ 크게 쀄일 수 μžˆλ‹€. 

 

 

μ•”ν˜Έν™”(Encryption)λž€?


μ΄μ œλΆ€ν„° 본격적으둜 μ•”ν˜Έν™”μ— λŒ€ν•œ λ‚΄μš©μ΄ ν•˜λ‚˜μ”© λ“±μž₯ν•©λ‹ˆλ‹€. λ¨Όμ € μ•”ν˜Έν™”λž€ 무엇인지 κ°„λ‹¨νžˆ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€. 

 

μ•”ν˜Έ μ•Œκ³ λ¦¬μ¦˜(μˆ˜ν•™μ  ν•¨μˆ˜)와 ν‚€μ˜ 쑰합을 톡해 평문을 μ•”ν˜Έλ¬ΈμœΌλ‘œ λ³€ν™˜ν•˜λŠ” 기술

 

μ•”ν˜Έν™”λž€, 정보λ₯Ό λ³΄ν˜Έν•˜λŠ” 방식 쀑 ν•˜λ‚˜λ‘œ, λ³΄ν˜Έν•˜κ³ μž ν•˜λŠ” 데이터λ₯Ό μˆ˜ν•™μ  ν•¨μˆ˜μ™€ ν‚€μ˜ μ‘°ν•©μœΌλ‘œ ν•΄λ…ν•˜μ§€ λͺ»ν•˜λŠ” μ•”ν˜Έλ¬ΈμœΌλ‘œ λ³€ν™˜ν•˜μ—¬ ν‚€λ₯Ό κ°€μ§„μžλ§Œμ΄ μ•”ν˜Έλ¬Έμ„ λ³΅ν˜Έν™”ν•΄ 데이터λ₯Ό λ³Ό 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. 

 

κ΄€λ ¨ μš©μ–΄
- 평문(Plain-text) : μ•”ν˜Έν™” ν•˜κ³ μž ν•˜λŠ” λ¬Έμž₯
- μ•”ν˜Έλ¬Έ(Cipher-text) : 평문을 μ•”ν˜Έν™” μ•Œκ³ λ¦¬μ¦˜κ³Ό ν‚€λ₯Ό μ΄μš©ν•˜μ—¬ μ•”ν˜Έν™”ν•œ λ¬Έμž₯
- ν‚€(Key) : μ•”ν˜Έν™” μ•Œκ³ λ¦¬μ¦˜μ˜ λ§€κ°œλ³€μˆ˜ 
- λ³΅ν˜Έν™”(Decryption) : λ³΅ν˜Έν™” ν‚€λ₯Ό μ΄μš©ν•˜μ—¬ μ›λž˜μ˜ ν‰λ¬ΈμœΌλ‘œ λ³€ν™˜μ‹œν‚€λŠ” κ³Όμ •
- μ•”ν˜Έ μ•Œκ³ λ¦¬μ¦˜(Encryption Algorithm) : μ•”ν˜Έν™”μ™€ λ³΅ν˜Έν™”μ— μ΄μš©λ˜λŠ” μ•Œκ³ λ¦¬μ¦˜

 

μ•”ν˜Έν™”(Encryption)의 λΆ„λ₯˜


 

μ•„λž˜μ˜ κ·Έλ¦Όκ³Ό 같이 μ•”ν˜Έν™”λŠ” 크게 단방ν–₯ μ•”ν˜Έν™”μ™€ μ–‘λ°©ν–₯ μ•”ν˜Έν™”λ‘œ ꡬ뢄할 수 μžˆμŠ΅λ‹ˆλ‹€. 

단방ν–₯ μ•”ν˜Έν™”λŠ” μ•”ν˜Έν™”λ§Œ κ°€λŠ₯ν•˜κ³ , λ³΅ν˜Έν™”λŠ” λΆˆκ°€λŠ₯ν•œ 방식을 λ°œν•˜λ©° ν•΄μ‹œλ₯Ό 톡해 κ΅¬ν˜„ν•©λ‹ˆλ‹€. 

μ–‘λ°©ν–₯ μ•”ν˜Έν™”λŠ” μ•”ν˜Έν™”μ™€ λ³΅ν˜Έν™”κ°€ λͺ¨λ‘ κ°€λŠ₯ν•œ λ°©μ‹μœΌλ‘œ λŒ€μΉ­ν‚€ μ•”ν˜Έν™”, λΉ„λŒ€μΉ­ν‚€(κ³΅κ°œν‚€) μ•”ν˜Έν™” 방식이 μ‚¬μš©λ©λ‹ˆλ‹€. 

 

좜처 : https://veneas.tistory.com/entry/%EB%B3%B4%EC%95%88-%EC%95%94%ED%98%B8%ED%99%94%EC%99%80-%EB%B3%B5%ED%98%B8%ED%99%94-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%95%94%ED%98%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%A2%85%EB%A5%98

 

단방ν–₯ μ•”ν˜Έν™”

μœ„μ—μ„œ μ„€λͺ…ν–ˆλ“―이 단방ν–₯ μ•”ν˜Έν™”λŠ” 평문을 μ•”ν˜Έλ¬ΈμœΌλ‘œ λ°”κΎΈλŠ” μ•”ν˜Έν™”λŠ” κ°€λŠ₯ν•˜μ§€λ§Œ, μ•”ν˜Έλ¬Έμ„ ν‰λ¬ΈμœΌλ‘œ λ°”κΎΈλŠ” λ³΅ν˜Έν™”λŠ” λΆˆκ°€λŠ₯ν•œ μ•”ν˜Έν™” 방식을 λ§ν•©λ‹ˆλ‹€. 단방ν–₯ μ•”ν˜Έν™”μ˜ 경우 단 1bit만 λ°”λ€Œμ–΄λ„ λ‹€λ₯Έ μ•”ν˜Έλ¬Έμ΄ 되기 λ•Œλ¬Έμ— 데이터가 λ³€μ‘°λ˜μ§€ μ•Šμ•˜μŒμ„ 증λͺ…ν•˜λŠ” 무결성을 λ‚˜νƒ€λ‚Ό λ•Œ μ‚¬μš©μ΄ λ©λ‹ˆλ‹€. 

 

 

단방ν–₯ μ•”ν˜Έν™”λŠ” ν•΄μ‹œ(Hash)λ₯Ό 톡해 κ΅¬ν˜„μ΄ λ˜λŠ”λ°, ν•΄μ‹œ(Hash)λŠ” μž„μ˜μ˜ 길이의 데이터λ₯Ό μž…λ ₯λ°›μ•„ μΌμ •ν•œ 길이의 λ°μ΄ν„°λ‘œ λ³€ν™˜μ‹œμΌœμ£ΌλŠ” ν•¨μˆ˜λ₯Ό λœ»ν•©λ‹ˆλ‹€. 

 

 

ν•΄μ‹œλŠ” μ–΄λ–€ 길이의 λ¬Έμžμ—΄μ΄λ“  λ™μΌν•œ 길이의 λ°μ΄ν„°λ‘œ λ³€ν™˜μ‹œμΌœμ€€λ‹€λŠ” 것이 κ°€μž₯ 큰 νŠΉμ§•μž…λ‹ˆλ‹€. 

이 단방ν–₯ μ•”ν˜Έν™”λŠ” λ‹€μ‹œ keyλ₯Ό μ‚¬μš©ν•˜λƒ μ•ˆν•˜λƒμ— 따라 MDC와 MAC둜 κ΅¬λΆ„λ©λ‹ˆλ‹€. 

 

MDC(Modification Detection Code)

MDCλŠ” key 없이 Hash만 μ‚¬μš©ν•˜λŠ” 단방ν–₯ μ•”ν˜Έν™” λ°©μ‹μœΌλ‘œ λ©”μ‹œμ§€μ˜ 변경이 μΌμ–΄λ‚¬λŠ”μ§€ 무결성 확인을 μœ„ν•΄ 주둜 μ‚¬μš©λ©λ‹ˆλ‹€. Key값이 μ—†μœΌλ―€λ‘œ 좜처λ₯Ό 확인할 수 μ—†κ³ , μ£Όμš” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œλŠ” MD5와 SHAκ°€ μžˆμŠ΅λ‹ˆλ‹€. 

 

MD5(Message Digest Algorithm 5)

1. λ©”μ‹œμ§€λ₯Ό 512λΉ„νŠΈλ‘œ 된 λΈ”λ‘μœΌλ‘œ λ‚˜λˆ„κ³ , 128λΉ„νŠΈ λ‹€μ΄μ œμŠ€νŠΈ(ν•΄μ‹œκ°’)λ₯Ό 좜λ ₯

2. μž…λ ₯ λ©”μ‹œμ§€ 길이 μ œν•œμ΄ μ—†μŒ

3. ν˜„μž¬ MD5 μ•Œκ³ λ¦¬μ¦˜μ€ λ³΄μ•ˆ κ΄€λ ¨ μš©λ„λ‘œ ꢌμž₯ν•˜μ§€ μ•ŠμŒ

 

SHA(Secure Hash Algorithm)

1. MD4에 기초

2. SHA-1 : ν•΄μ‹œκ°’μœΌλ‘œ 160λΉ„νŠΈλ₯Ό 좜λ ₯, 좩돌 λ°œμƒμœΌλ‘œ 점차적으둜 지원 쀑단

*** ν•΄μ‹œ 좩돌 : μ„œλ‘œ λ‹€λ₯Έ 두 개의 μž…λ ₯값에 λŒ€ν•˜μ—¬ λ™μΌν•œ 좜λ ₯값을 λ‚΄λŠ” 상황

3. SHA-2 : ν•΄μ‹œκ°’μ΄ 각각 256, 384, 512λΉ„νŠΈμΈ 3개의 μƒˆλ‘œμš΄ SHA 버전(SHA-256, SHA-384, SHA-512)

 

좜처 : https://blog.naver.com/sdug12051205/221575584222

 

- μ†‘μ‹ μžλŠ” μˆ˜μ‹ μžμ—κ²Œ 원문과 ν•΄μ‹œ κ²°κ³Όλ₯Ό 전달

- μˆ˜μ‹ μžλŠ” μ†‘μ‹ μžμ™€ 같은 ν•΄μ‹œ μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ 원문을 ν•΄μ‹±ν•˜κ³ , 이 ν•΄μ‹±ν•œ κ²°κ³Όκ°’κ³Ό μ†‘μ‹ μžλ‘œλΆ€ν„° 받은 ν•΄μ‹œ κ²°κ³Όκ°€ 같은지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜μ—¬ 무결성을 검증

 

MAC(Message Authentication Code)

MDC와 달리 MACλŠ” μ†‘μ‹ μžμ™€ μˆ˜μ‹ μžκ°€ κ³΅μœ ν•˜λŠ” keyλ₯Ό 톡해 무결성과 ν•¨κ»˜ μ†‘μ‹ μž 인증을 μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

좜처 : https://blog.naver.com/sdug12051205/221575584222

 

- μ†‘μ‹ μžμ™€ μˆ˜μ‹ μžλŠ” λ³„λ„μ˜ 채널을 톡해 key 곡유

- μ†‘μ‹ μžλŠ” keyλ₯Ό μ΄μš©ν•΄ 원문을 ν•΄μ‹œν•˜κ³  원문과 ν•΄μ‹œ κ²°κ³Όλ₯Ό μˆ˜μ‹ μžμ—κ²Œ 전달

- μˆ˜μ‹ μžλŠ” μ†‘μ‹ μžλ‘œλΆ€ν„° 전달받은 원문을 곡유된 key둜 ν•΄μ‹œν•˜κ³ , 

- μ†‘μ‹ μžλ‘œλΆ€ν„° 받은 ν•΄μ‹œ 결과와 μžμ‹ μ΄ ν•΄μ‹œν•œ 결과와 같은지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜μ—¬ 무결성을 κ²€μ¦ν•˜κ³  인증된 μ‚¬μš©μžλ‘œλΆ€ν„° μ†‘μ‹ λ˜μ—ˆμŒμ„ 보μž₯ν•  수 있음

 

MAC의 μ£Όμš” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ HMAC이 μžˆλŠ”λ°, HMAC은 OTPμ—μ„œ μ‚¬μš©λ˜λŠ” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ λ‹€μŒ λΈ”λ‘œκ·Έμ—μ„œ OTPκ΅¬ν˜„μ— λŒ€ν•œ λ‚΄μš©μ„ ν¬μŠ€νŒ…ν•˜λ©΄μ„œ μžμ„Έν•˜κ²Œ 풀어내보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€. 

 

μ–‘λ°©ν–₯ μ•”ν˜Έν™” 

μ–‘λ°©ν–₯ μ•”ν˜Έν™”λŠ” μ•”ν˜Έν™”λœ 데이터에 λŒ€ν•œ λ³΅ν˜Έν™”κ°€ κ°€λŠ₯ν•œ μ•”ν˜Έν™”λ°©μ‹μœΌλ‘œ λŒ€μΉ­ν‚€ μ•”ν˜Έν™” 방식과 λΉ„λŒ€μΉ­ν‚€(κ³΅κ°œν‚€) μ•”ν˜Έν™” 방식이 μžˆμŠ΅λ‹ˆλ‹€. 

 

λŒ€μΉ­ν‚€ μ•”ν˜Έν™” 방식은 μ•”ν˜Έν™” 킀와 λ³΅ν˜Έν™” ν‚€κ°€ λ™μΌν•œ λ°©μ‹μœΌλ‘œ μ£Όμš” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ DES, SEED, ARIA, AES 등이 μžˆμŠ΅λ‹ˆλ‹€. λŒ€μΉ­ν‚€ μ•”ν˜Έν™” 방식은 λΉ λ₯΄μ§€λ§Œ μ†‘μ‹ μžμ™€ μˆ˜μ‹ μžκ°€ ν‚€λ₯Ό κ³΅μœ ν•˜λŠ” κ³Όμ •μ—μ„œ ν‚€λ₯Ό νƒˆμ·¨λ‹Ήν•  수 μžˆλ‹€λŠ” μœ„ν—˜μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ ν‚€ νƒˆμ·¨ 방지λ₯Ό μœ„ν•΄ λ“±μž₯ν•œ κ°œλ…μ΄ λΉ„λŒ€μΉ­ν‚€(κ³΅κ°œν‚€) μ•”ν˜Έν™” λ°©μ‹μž…λ‹ˆλ‹€. 

 

λΉ„λŒ€μΉ­ν‚€ ν˜Ήμ€ κ³΅κ°œν‚€ μ•”ν˜Έν™” 방식은 μ•”ν˜Έν™” 킀와 λ³΅ν˜Έν™” ν‚€κ°€ μ„œλ‘œ λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ 주둜 μ•”ν˜Έν™”μ—λŠ” κ³΅κ°œν‚€λ₯Ό μ‚¬μš©ν•˜κ³  λ³΅ν˜Έν™”μ—λŠ” λΉ„λ°€ν‚€λ₯Ό μ‚¬μš©ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.(μ„œλ‘œ λ°˜λŒ€κ°€ 될 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.) μ£Όμš” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œλŠ” RSA, ECC 등이 μžˆμŠ΅λ‹ˆλ‹€. 

λΉ„λŒ€μΉ­ μ•”ν˜Έν™” 방식은 λŒ€μΉ­ν‚€ μ•”ν˜Έν™” 방식보닀 μ–΄λ €μš΄ μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•¨μœΌλ‘œμ¨ λ³΄μ•ˆμ„ κ°•ν™”ν•œ ν•œνŽΈ, μ—°μ‚° 속도가 λŠλ¦¬λ‹€λŠ” 단점을 가지고 μžˆμŠ΅λ‹ˆλ‹€. 

 

 

인터넷 ν†΅μ‹ μ—μ„œμ˜ μ•”ν˜Έν™” 방식


λ§Œμ•½μ— ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„κ°„ ν†΅μ‹ μ—μ„œ λ³΄μ•ˆμ„ μœ„ν•΄ λΉ„λŒ€μΉ­ν‚€ μ•”ν˜Έν™” 방식을 μ‚¬μš©ν•œλ‹€λ©΄ μ–΄λ–»κ²Œ λ κΉŒμš”?

데이터 κ΅ν™˜μ„ μœ„ν•΄ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ λͺ¨λ‘ ν‚€ μŒμ„ 생성할 것이고, ν΄λΌμ΄μ–ΈνŠΈμ˜ κ³΅κ°œν‚€, μ„œλ²„μ˜ κ³΅κ°œν‚€λ₯Ό μ„œλ‘œ κ³΅μœ ν•˜μ—¬ 데이터λ₯Ό μ£Όκ³  λ°›κ²Œ 될 κ²ƒμž…λ‹ˆλ‹€. 

 

 

κ·ΈλŸ¬λ‚˜ μ΄λŸ¬ν•œ 방식은 데이터가 점차 컀질 경우 μ—°μ‚° 속도가 λŠλ €μ§€κ³ , ν‚€ 쌍 생성 μžμ²΄κ°€ μžμ›μ΄ 많이 λ“œλŠ” λ°©μ‹μ΄λ―€λ‘œ λΉ„νš¨μœ¨μ μΈ 방법이 λ©λ‹ˆλ‹€. 

 

κ·Έλž˜μ„œ 전문가듀은 λŒ€μΉ­ν‚€μ™€ λΉ„λŒ€μΉ­ν‚€ μ•”ν˜Έν™” 방식을 μ–΄λ–»κ²Œ ν•˜λ©΄ 효율적으둜 잘 μ‚¬μš©ν•  수 μžˆμ„κΉŒν•˜λŠ” μƒκ°μ—μ„œ λ‚˜μ˜¨ 것이 λ°”λ‘œ 'λŒ€μΉ­ν‚€λ₯Ό λΉ„λŒ€μΉ­ν‚€μ˜ κ³΅κ°œν‚€λ‘œ μ•”ν˜Έν™”ν•˜λŠ” 방식'μž…λ‹ˆλ‹€. 

 

 

ν΄λΌμ΄μ–ΈνŠΈμ˜ λ°μ΄ν„°λŠ” λŒ€μΉ­ν‚€λ‘œ μ•”ν˜Έν™”ν•˜κ³ , ν΄λΌμ΄μ–ΈνŠΈμ˜ λŒ€μΉ­ν‚€λ₯Ό μ„œλ²„μ˜ κ³΅κ°œν‚€λ‘œ μ•”ν˜Έν™”ν•˜μ—¬ private keyλ₯Ό μ†Œμœ ν•œ μ„œλ²„λ§Œμ΄ μ•”ν˜Έν™”λœ ν΄λΌμ΄μ–ΈνŠΈμ˜ λŒ€μΉ­ν‚€λ₯Ό λ³΅ν˜Έν™”μ— 데이터λ₯Ό λ³΅ν˜Έν™”ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ 방식은 톡신을 ν•  λ•Œλ§ˆλ‹€ μƒμ„±λ˜λŠ” key라고 ν•΄μ„œ session key라고도 ν•˜λ©° μ΄λŸ¬ν•œ 방식은 IKE(Internet Key Exchange)라고 ν•©λ‹ˆλ‹€. 

 

κ·ΈλŸ¬λ‚˜ μ—¬κΈ°μ„œ ν•œ κ°€μ§€μ˜ λ¬Έμ œκ°€ 더 λ°œμƒν•©λ‹ˆλ‹€. 

λ°”λ‘œ 이 μ„œλ²„κ°€ μ œκ³΅ν•˜λŠ” κ³΅κ°œν‚€κ°€ μ§„μ§œ μ„œλ²„κ°€ μ œκ³΅ν•˜λŠ” κ³΅κ°œν‚€μΈμ§€ 증λͺ…ν•  수 μžˆλŠ”κ°€μž…λ‹ˆλ‹€. 

 

 

μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ κ³΅κ°œν‚€λ₯Ό 믿을 수 μžˆλŠ” 제 3자λ₯Ό 톡해 κ³΅κ°œν‚€μ˜ μ†Œμœ μžλ₯Ό 증λͺ…ν•˜λŠ” 방식인 PKIκ°€ λ“±μž₯ν•œ κ²ƒμž…λ‹ˆλ‹€. 

 


 

μ‹œκ°„ 관계상 ν¬μŠ€νŒ…μ€ μ—¬κΈ°κΉŒμ§€ μž‘μ„±ν•˜κ³  λ‹€μŒ ν¬μŠ€νŒ…μ—μ„œ PKI와 μ „μžμ„œλͺ…, μΈμ¦μ„œμ— λŒ€ν•œ λ‚΄μš©μ„ μžμ„Ένžˆ 담도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή λ‚΄μš©μ„ μ΄ν•΄ν•˜λŠ”λ°μ—λŠ” λ„λ„ν•œκ°œλ°œμžλ‹˜μ˜ 유튜브 κ°•μ˜κ°€ λ§Žμ€ 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ•„λž˜ 링크 λ‚¨κ²¨λ†“μ„ν…Œλ‹ˆ κ΄€μ‹¬μžˆμœΌμ‹  뢄듀은 λ³΄μ‹œλŠ”κ±Έ μΆ”μ²œν•©λ‹ˆλ‹€.(μœ λ£Œμž…λ‹ˆλ‹€)

 

λ„λ„ν•œκ°œλ°œμž λ³΄μ•ˆ 기초 κ°•μ˜ 

 

참고자료 

 

[λ³΄μ•ˆ] μ•”ν˜Έν™”μ™€ λ³΅ν˜Έν™” 그리고 μ•”ν˜Έ μ•Œκ³ λ¦¬μ¦˜ μ’…λ₯˜

λͺ©μ°¨ 1. μ•”ν˜Έν™” 1.1. μ•”ν˜Έν™”λž€? - 평문(plain text)을 μ•”ν˜Έλ¬Έ(Crypto text)으둜 λ³€ν™˜ν•˜λŠ” κ³Όμ • - μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 데이터λ₯Ό μ•Œμ•„λ³Ό 수 μ—†λŠ” λ°μ΄ν„°λ‘œ λ³€κ²½ν•˜λŠ” κ³Όμ • - μ•”ν˜Έλ¬Έμ˜ ν˜•νƒœλ‘œ 정보λ₯Ό κΈ°μ–΅ μž₯μΉ˜μ—

veneas.tistory.com

 

HTTPS와 SSL μΈμ¦μ„œ - μƒν™œμ½”λ”©

HTTPS VS HTTP HTTPλŠ” Hypertext Transfer Protocol의 μ•½μžλ‹€. 즉 Hypertext 인 HTML을 μ „μ†‘ν•˜κΈ° μœ„ν•œ ν†΅μ‹ κ·œμ•½μ„ μ˜λ―Έν•œλ‹€. HTTPSμ—μ„œ λ§ˆμ§€λ§‰μ˜ SλŠ” Over Secure Socket Layer의 μ•½μžλ‘œ SecureλΌλŠ” 말을 ν†΅ν•΄μ„œ μ•Œ 수 μžˆλ“―μ΄

opentutorials.org

 

[JAVA] AES-256 μ•”ν˜Έν™” ν•˜κΈ°

1. AES λž€? AESλŠ” κ³ κΈ‰ μ•”ν˜Έν™” ν‘œμ€€μ΄λΌλŠ” 의미이며, μ•”ν˜Έν™” 및 λ³΅ν˜Έν™” μ‹œ λ™μΌν•œ ν‚€λ₯Ό μ‚¬μš©ν•˜λŠ” λŒ€μΉ­ν‚€ μ•Œκ³ λ¦¬μ¦˜μž…λ‹ˆλ‹€. AES의 μ’…λ₯˜λŠ” AES-128, AES-192, AES-256이 있고 각각 뒀에 뢙은 μˆ«μžκ°€ ν‚€μ˜ 길이

bamdule.tistory.com