μ• μ •μ“° 2022. 2. 23. 18:44

HTTP / HTTPS

 

- HTTP : μ„œλ‘œ λ‹€λ₯Έ μ‹œμŠ€ν…œλ“€ μ‚¬μ΄μ—μ„œ 톡신을 μ£Όκ³ λ°›κ²Œ ν•˜λŠ” κ°€μž₯ 기본적인 ν”„λ‘œν† μ½œ(μ„œλ²„μ—μ„œ λΈŒλΌμš°μ €λ‘œ 데이터λ₯Ό μ „μ†‘ν•˜λŠ” μš©λ„λ‘œ κ°€μž₯ 많이 μ‚¬μš©ν•¨)

문제점 -  μ„œλ²„μ—μ„œ λΈŒλΌμš°μ €λ‘œ μ „μ†‘λ˜λŠ” 정보가 μ•”ν˜Έν™”λ˜μ§€ μ•ŠλŠ”λ‹€.

 

- HTTPS :  SSL(λ³΄μ•ˆ μ†ŒμΌ“ 계측) μ‚¬μš©, μ„œλ²„μ™€ λΈŒλΌμš°μ € 사이에 μ•ˆμ „ν•˜κ²Œ μ•”ν˜Έν™”λœ 연결을 λ§Œλ“€ 수 있게 도와쀀닀. μ„œλ²„μ™€ λΈŒλΌμš°μ €κ°€ λ―Όκ°ν•œ 정보λ₯Ό 주고받을 λ•Œ ν•΄λ‹Ή 정보가 λ„λ‚œλ‹Ήν•˜λŠ” 것을 λ§‰μ•„μ€Œ. HTTP 자체λ₯Ό μ•”ν˜Έν™”ν•˜λŠ” 것이 μ•„λ‹Œ HTTP Message Bodyλ₯Ό μ•”ν˜Έν™”ν•œλ‹€. (즉, HeaderλŠ” μ•”ν˜Έν™”λ˜μ§€ μ•ŠλŠ”λ‹€)

 

HTTPS μ‚¬μš©ν•΄μ•Όν•˜λŠ” 이유

1. 쀑간에 데이터λ₯Ό κ°€λ‘œμ±„λ„ μ•”ν˜Έν™”λ˜μ–΄ 있기 λ•Œλ¬Έμ— μ•ˆμ „ν•˜λ‹€.

2. ꡬ글은 HTTPS μ›Ή μ‚¬μ΄νŠΈμ— 가산점을 쀌

3. AMPλ₯Ό λ§Œλ“€ λ•Œ HTTPSλ₯Ό μ‚¬μš©ν•΄μ•Όλ§Œ 함.

 

 

SSL/TLS

 

SSL : Secure Sockets Layer - Netscape μ—μ„œ μ›Ή μ„œλ²„μ™€ μ›Ή λΈŒλΌμš°μ €κ°„μ˜ λ³΄μ•ˆμ„ μœ„ν•΄ λ§Œλ“  ν”„λ‘œν† μ½œ κ³΅κ°œν‚€/κ°œμΈν‚€ λŒ€μΉ­ν‚€ 기반으둜 μ‚¬μš©

 

κ³΅κ°œν‚€ 방식

μ„œλ‘œ λ‹€λ₯Έ ν‚€λ‘œ μ•”ν˜Έν™”μ™€ λ³΅ν˜Έν™”λ₯Ό μˆ˜ν–‰ν•˜λŠ” 방식 (λΉ„λŒ€μΉ­ν‚€ 방식)

데이터 μ•”ν˜Έν™” μ‹œμ—λŠ” κ³΅κ°œν‚€λ₯Ό μ‚¬μš©ν•˜κ³  데이터 λ³΅ν˜Έν™” μ‹œμ—λŠ” κ°œμΈν‚€λ₯Ό μ‚¬μš©

κ³΅κ°œν‚€λ‘œ μ•”ν˜Έν™”ν•œ λ°μ΄ν„°λŠ” 였직 κ°œμΈν‚€λ‘œλ§Œ λ³΅ν˜Έν™”ν•  수 μžˆλ‹€. (즉, κ³΅κ°œν‚€λŠ” λˆ„κ°€ 가져도 μƒκ΄€μ—†μŒ)

 

 

λŒ€μΉ­ν‚€ 방식

λ™μΌν•œ ν‚€λ‘œ μ•”ν˜Έν™”ν•˜μ—¬ λ³΅ν˜Έν•˜λ₯Ό μˆ˜ν–‰ν•˜λŠ” 방법

:λˆ„κ΅¬λ“ μ§€ μ•”ν˜Έν™”μ— 이용된 ν‚€λ₯Ό κ°–κ³  있으면  ν•΄λ‹Ή 데이터λ₯Ό λ³΅ν˜Έν™”ν•  수 μžˆλ‹€.

 

 

SSL 톡신과정

( κ³΅κ°œν‚€ λ°©μ‹μœΌλ‘œ λŒ€μΉ­ν‚€λ₯Ό 전달 ) -> (이 λŒ€μΉ­ν‚€λ₯Ό ν™œμš©ν•΄μ„œ μ•”ν˜Έν™”μ™€ λ³΅ν˜Έν™”) -> (μ„œλ²„μ™€ λΈŒλΌμš°μ €κ°„ 톡신 진행)

 

1. a -> b 접속 μš”μ²­

2. b -> a μžμ‹  의 κ³΅κ°œν‚€ 전솑 

3. a μžμ‹ μ˜ λŒ€μΉ­ν‚€λ₯Ό bκ°€ μ€€ κ³΅κ°œν‚€λ‘œ μ•”ν˜Έν™”ν•œλ‹€.

4. a ->b μ•”ν˜Έν™”ν•œ λŒ€μΉ­ν‚€ 전달

5. bλŠ” a의 λŒ€μΉ­ν‚€λ₯Ό μžμ‹ μ˜ κ°œμΈν‚€λ‘œ λ³΅ν˜Έν™”ν•˜μ—¬ a의 λŒ€μΉ­ν‚€λ₯Ό μ–»λŠ”λ‹€.

6. μ΄λ ‡κ²Œ 얻은 λŒ€μΉ­ν‚€λ‘œ a,b λŠ” μ•ˆμ „ν•˜κ²Œ ν†΅μ‹ ν•œλ‹€.

 

데이터 μ•”ν˜Έν™”, λ³΅ν˜Έν™”λ₯Ό μœ„ν•œ ν•œ μͺ½μ˜ λŒ€μΉ­ν‚€λ₯Ό λ‹€λ₯Έ μͺ½μ˜ κ³΅κ°œν‚€λ‘œ μ•”ν˜Έν™”ν•˜μ—¬ μ „μ†‘ν•˜λ©΄, λ°˜λŒ€ νŽΈμ—μ„œ μžμ‹ μ˜ 개인 ν‚€λ‘œ λ³΅ν˜Έν™”ν•˜μ—¬ κ·Έ λ°˜λŒ€νŽΈμ˜ λŒ€μΉ­ν‚€λ₯Ό μ•Œμ•„λ‚Έ ν›„ 톡신을 ν•  수 μžˆλ‹€.

 

 

μ‚¬μš©μžκ°€ μ ‘μ†ν•œ μ‚¬μ΄νŠΈκ°€ μœ νš¨ν•œ μ‚¬μ΄νŠΈμΈμ§€λŠ” μ–΄λ–»κ²Œ 확인 ν• κΉŒ?

 

1. 인증기관에 μ‚¬μ΄νŠΈ 정보, μ‚¬μ΄νŠΈ κ³΅κ°œν‚€ 전달

2. 전달 받은 데이터 검증 ν›„ 인증기관 κ°œμΈν‚€λ‘œ μ„œλͺ…

3. μ‚¬μ΄νŠΈ μΈμ¦μ„œ 생성 ν•˜μ—¬ μ‚¬μ΄νŠΈμ— 전달

4. 인증기관이 μ‚¬μš©μžμ—κ²Œ 인증기관 κ³΅κ°œν‚€λ₯Ό 전달 (인증기관 κ³΅κ°œν‚€λŠ” μ‚¬μš©μž λΈŒλΌμš°μ €μ— λ‚΄μž₯λœλ‹€)

(μ‚¬μ΄νŠΈ 접속)

5. μ‚¬μš©μž -> μ‚¬μ΄νŠΈ 접속 μš”μ²­

6. μ‚¬μ΄νŠΈκ°€ μžμ‹ μ΄ μ‹ λ’°ν•  수 μžˆλŠ” μ‚¬μ΄νŠΈ μž„μ„ 증λͺ…ν•˜κΈ° μœ„ν•΄ μ‚¬μš©μžμ—κ²Œ μžμ‹ μ˜ μΈμ¦μ„œ 전달

7. μ‚¬μš©μžλŠ” ν•΄λ‹Ή μΈμ¦μ„œλ₯Ό μΈμ¦κΈ°κ΄€μ—μ„œ 받은 κ³΅κ°œν‚€λ‘œ λ³΅ν˜Έν™”ν•œλ‹€. (μ‚¬μ΄νŠΈ 정보, μ‚¬μ΄νŠΈ κ³΅κ°œν‚€λ₯Ό μ–»μŒ)

8. μ‚¬μ΄νŠΈ κ³΅κ°œν‚€λ‘œ μžμ‹ μ˜ λŒ€μΉ­ν‚€λ₯Ό μ•”ν˜Έν™”ν•œλ‹€.

9. μ•”ν˜Έν™”ν•œ λŒ€μΉ­ν‚€λ₯Ό μ‚¬μ΄νŠΈμ— 전달

10. μžμ‹ μ˜ κ°œμΈν‚€λ‘œ μ‚¬μš©μž λŒ€μΉ­ν‚€λ₯Ό μ–»λŠ”λ‹€

11. μ΄λ ‡κ²Œ 얻은 λŒ€μΉ­ν‚€λ₯Ό ν™œμš©ν•˜μ—¬ ssl 톡신을 ν•œλ‹€.

 

 

μ•„μ£Ό κ°„λ‹¨ν•˜κ²Œ κ°œλ…λ§Œ μ•Œκ³  μžˆμ—ˆλŠ”λ° 이전에 봀던 λ©΄μ ‘μ—μ„œ μ§ˆλ¬Έμ„ λ°›μ•˜λ‹€κ°€ 잘 λŒ€λ‹΅ν•˜μ§€ λͺ»ν•΄μ„œ 곡뢀할 수 μžˆμ—ˆλ‹€!

 

ν•΄λ‹Ή μ˜μƒμ„λ³΄κ³  κ³΅λΆ€ν–ˆμŠ΅λ‹ˆλ‹€!(졜고 γ…œγ…œ)

https://www.youtube.com/watch?v=wPdH7lJ8jf0

 

λ°˜μ‘ν˜•