๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

1. ์–ด๋–ค ๋ณด์•ˆ ์œ„ํ—˜์ด ์žˆ๋‹ค๋Š” ๊ฑฐ์ง€?

์ฒซ ์งธ: ๊ฐœ์ธ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ์ •๋ณด๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ผ ๋•Œ, ์–ด๋–ค ๋†ˆ์ด ๊ฐˆ์ทจํ•ด๊ฐˆ ์ˆ˜ ์žˆ์Œ
๋‘˜ ์งธ: ํ”ผ์‹ฑ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด ๊ฐœ์ธ ์ •๋ณด๋ฅผ ๊ฐˆ์ทจํ•ด๊ฐˆ ์ˆ˜ ์žˆ์Œ

 

HTTPS๋Š” ์‚ฌ์ดํŠธ์— ๋ณด๋‚ด๋Š” ์ •๋ณด๋ฅผ ์ œ 3์ž๊ฐ€ ๋ณด์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋ฉฐ, ์ ‘์†ํ•œ ์‚ฌ์ดํŠธ๊ฐ€ ๋ฏฟ์„ ๋งŒํ•œ ์‚ฌ์ดํŠธ์ธ์ง€ ์•Œ๋ ค์ค€๋‹ค.

 

2. HTTPS๋ฅผ ์ดํ•ดํ•˜๋ ค๋ฉด

1) ๋Œ€์นญํ‚ค ๋ฐฉ์‹: ์•”ํ˜ธํ™”์— ์“ฐ์ด๋Š” ํ‚ค์™€ ๋ณตํ˜ธํ™”์— ์“ฐ์ด๋Š” ํ‚ค๊ฐ€ ๋™์ผํ•œ ๊ธฐ๋ฒ•

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ๋Œ€์นญํ‚ค ๋ฐฉ์‹์œผ๋กœ ํ†ต์‹ ์„ ํ•œ๋‹ค๋ฉด ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„ ๋ชจ๋‘ ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์• ์ดˆ์— ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ํ‚ค๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ ์ž์ฒด๋„ ์œ„ํ—˜ํ•˜๋ฉฐ, ๋˜ํ•œ ํด๋ผ์ด์–ธํŠธ์˜ ์Šค์ฝ”๋“œ๋Š” ๋ˆ„๊ตฌ๋“ ์ง€ ์—ด์–ด๋ณผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ๋„ ๊ต‰์žฅํžˆ ์œ„ํ—˜ํ•˜๋‹ค. ์ฆ‰, ์›๊ฑฐ๋ฆฌ์—์„œ ๋Œ€์นญํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์–ด๋ ต๋‹ค.

2) ๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹: ๊ณต๊ฐœํ‚ค์™€ ๋น„๋ฐ€ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•

๊ณต๊ฐœํ‚ค: ๋ˆ„๊ตฌ๋‚˜ ํš๋“ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐœ๋œ ํ‚ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์ด ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•ด์„œ ์ „์†กํ•œ๋‹ค.

๊ฐœ์ธํ‚ค(๋น„๋ฐ€ํ‚ค): ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค. ์„œ๋ฒ„๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์ด ๋ฐฉ๋ฒ•์€ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค!

3) ์ธ์ฆ์„œ์™€ CA(Certificate authority)

์ธ์ฆ์„œ์˜ ๋‚ด์šฉ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

  1. ์„œ๋น„์Šค์˜ ์ •๋ณด (CA, ๋„๋ฉ”์ธ ๋“ฑ๋“ฑ)
  2. ์„œ๋ฒ„ ์ธก์˜ ๊ณต๊ฐœํ‚ค (๊ณต๊ฐœํ‚ค์˜ ๋‚ด์šฉ, ๊ณต๊ฐœํ‚ค์˜ ์•”ํ˜ธํ™” ๋ฐฉ์‹)

CA๋Š” ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•ด์ฃผ๋Š” ๊ธฐ์—…์„ ๋งํ•œ๋‹ค. ์ธ์ฆ์„œ๊ฐ€ ๋ณด์•ˆ์— ๊ด€๋ จ๋œ ๊ฒƒ์ธ ๋งŒํผ ์ด CA๋Š” ์˜ํ–ฅ๋ ฅ์žˆ๊ณ  ์‹ ๋ขฐํ• ์ˆ˜ ์žˆ๋Š” ๊ธฐ์—…์—์„œ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋•Œ, ๋ธŒ๋ผ์šฐ์ €์—๋Š” ๊ณต์ธ๋œ CA ๋ฆฌ์ŠคํŠธ ๋ฏธ๋ฆฌ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

 

2. HTTPS ํ†ต์‹ ๊ณผ์ • ๋ฐ ์›๋ฆฌ

HTTPS๋Š” ๋Œ€์นญํ‚ค ๋ฐฉ์‹๊ณผ ๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹ ๋ชจ๋‘ ์‚ฌ์šฉํ•œ๋‹ค.

 

๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹์œผ๋กœ ์ผ์ผ์ด ์•”ํ˜ธํ™” ๋ณตํ˜ธํ™”๋ ค๋ฉด ์ปดํ“จํ„ฐ์— ๋ถ€๋‹ด์ด ์ปค์ง„๋‹ค.

๋”ฐ๋ผ์„œ ๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹์œผ๋กœ ๋Œ€์นญํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๊ณ , ์ „๋‹ฌ๋œ ๋Œ€์นญํ‚ค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.

 

1) ์ „์ฒด์ ์ธ ๊ณผ์ •

1. HandShake

ํด๋ผ์ด์–ธํŠธ๋Š” ๋žœ๋ค ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ, ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค.

์„œ๋ฒ„๋Š” ๋‹ต๋ณ€์œผ๋กœ, ๋žœ๋ค ๋ฐ์ดํ„ฐ์™€ ์ธ์ฆ์„œ๋ฅผ ๋ณด๋‚ธ๋‹ค.

 

2. ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์ธ์ฆ์„œ ํ™•์ธ

๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ๋œ CA๋“ค์˜ ์ •๋ณด๋กœ ์ธ์ฆ์„œ์˜ ์ง„์œ„์—ฌ๋ถ€๋ฅผ ํŒŒ์•…ํ•œ๋‹ค. 

์šฐ์„ , CA์˜ ์ธ์ฆ์„ ๋ฐ›์€ ์ธ์ฆ์„œ๋“ค์€ CA๋งŒ ๊ฐ–๊ณ ์žˆ๋Š” ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™” ๋˜์–ด์žˆ๋‹ค.

 

์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์ธ์ฆ์„œ๊ฐ€ ์ง„์งœ๋ผ๋ฉด, ๋ธŒ๋ผ์šฐ์ €์— ์žˆ๋Š” CA์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™” ๋  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด ๊ฐœ์ธํ‚ค๋ฅผ ๊ฐ€์ง„CA ๋ฟ์ด๋‹ˆ๊น!

๋งŒ์•ฝ, CA ๋ฆฌ์ŠคํŠธ ์ค‘์— ์ธ์ฆ์„œ๊ฐ€ ํ•ด๋‹น๋˜๋Š” ๊ฒŒ ์—†๋‹ค๋ฉด ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— HTTPS ์ธ์ฆ ์‹คํŒจ๊ฐ€ ๋œฌ๋‹ค.

๋ณตํ˜ธํ™”์— ์„ฑ๊ณต๋˜์—ˆ๋‹ค๋ฉด, ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๊ฐ€ ํฌํ•จ๋ผ์žˆ๋‹ค.

 

3. ๋Œ€์นญํ‚ค ์ƒ์„ฑ

ํด๋ผ์ด์–ธํŠธ์—์„œ ์ƒ์„ฑํ•œ ๋žœ๋ค ๋ฐ์ดํ„ฐ, ์„œ๋ฒ„์—์„œ ์„ฑ์ƒํ•œ ๋žœ๋ค ๋ฐ์ดํ„ฐ๋ฅผ ํ˜ผํ•ฉํ•ด์„œ ์ž„์‹œํ‚ค๋ฅผ ๋งŒ๋“ ๋‹ค.

์ž„์‹œํ‚ค๋Š” ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋ผ์„œ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์ง„๋‹ค.

์ด ์ž„์‹œํ‚ค๋Š” ์–‘์ชฝ์—์„œ ์ผ๋ จ์˜ ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„, ๋™์ผํ•œ ๋Œ€์นญํ‚ค๊ฐ€ ๋œ๋‹ค.

์ด์ œ ์ด ๋Œ€์นญํ‚ค๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๋‘˜๋งŒ ๊ฐ–๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ดํ›„ ์„œ๋กœ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ œ 3์ž๊ฐ€ ๋“ค์—ฌ๋‹ค ๋ณผ ์ˆ˜ ์—†๋‹ค.

 

2) ์ƒ์„ธ ๊ณผ์ • 

 

1. Client Hello

๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์ง€์›ํ•˜๋Š” ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ TLS ๋ฒ„์ „์ด ๋‹ค๋ฅด๋ฏ€๋กœ ํ•ด๋‹น ์ •๋ณด๋ฅผ ์ „์†กํ•˜๋ฉฐ, ๋‚œ์ˆ˜ ๊ฐ’์„ ์ƒ์„ฑํ•˜์—ฌ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

 

2. Server Hello

์‚ฌ์šฉํ•  TSL ๋ฒ„์ „, ์‚ฌ์šฉํ•  ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋‚œ์ˆ˜๊ฐ’์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

 

3. Certificate

CA๋กœ ๋ถ€ํ„ฐ ๋ฐœ๊ธ‰๋ฐ›์€ ์ธ์ฆ์„œ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

 

4. Server Key Exchange

ํ‚ค ๊ตํ™˜์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉด ์ด ๊ณผ์ •์€ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•œ๋ฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ํ‚ค๊ตํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ Diffie-Hellman์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์†Œ์ˆ˜, ์›์‹œ๊ทผ ๋“ฑ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์ด๊ฒƒ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค

 

5. Certificate Request

์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ธ์ฆํ•ด์•ผํ• ๋•Œ ์ธ์ฆ์„œ๋ฅผ ์š”๊ตฌํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ์š”์ฒญํ•˜์ง€ ์•Š์„์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

6. Server Hello Done

 

7. Client Key Exchange, Change Cipher Spec

pre-master-key ๋ผ๋Š” ๊ฒƒ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์ด ํ‚ค๋Š” 1,2 ๋‹จ๊ณ„์—์„œ ์ƒ์„ฑํ•œ ๋‚œ์ˆ˜๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ƒ์„ฑํ•˜๊ฒŒ๋˜๋ฉฐ ๋Œ€์นญํ‚ค๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์•ˆ์ „ํ•œ ์ „์†ก์„ ์œ„ํ•ด์„œ ๊ณต๊ฐœํ‚ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

 

8. Change Cipher Spec

ํด๋ผ์ด์–ธํŠธ๋กœ ๋ถ€ํ„ฐ ์ „์†ก๋ฐ›์€ pre-master-key๋ฅผ ์ •์ƒ์ ์œผ๋กœ ๋ณตํ˜ธํ™” ํ›„ master-key(๋Œ€์นญํ‚ค)๋กœ ์Šน๊ฒฉ ํ›„ ๋ณด์•ˆ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ ์šฉํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋ ๋•Œ ๋ณด๋‚ด๋Š” ์•Œ๋ฆผ์ž…๋‹ˆ๋‹ค.

์œ„ ๊ณผ์ •์„ ํ†ตํ•ด์„œ ๊ณต๊ฐœํ‚ค ๋ฐฉ์‹์œผ๋กœ ๋Œ€์นญํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์„ค์ •ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก, ์ˆ˜์‹ ํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

๊ฐ๊ฐ์˜ ๋ฐฉ์‹์˜ ์žฅ์ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์ ์„ ๋ณด์•ˆํ•œ ์ผ€์ด์Šค์ž…๋‹ˆ๋‹ค.

3. HTTPS๋Š” SEO์— ์œ ๋ฆฌํ•˜๋‹ค

๊ฒ€์ƒ‰ ํฌํ„ธ ์‚ฌ์ดํŠธ์ธ ๊ตฌ๊ธ€, ๋„ค์ด๋ฒ„, ๋‹ค์Œ ๋ชจ๋‘์—์„œ ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™” SEO : Search Engine Optimization)๋ฅผ ํ†ตํ•ด https๋ฅผ ์ƒ์œ„๋…ธ์ถœ ํ•˜๊ณ  ์žˆ๋‹ค. ๋™์ผํ•œ ํ‚ค์›Œ๋“œ์˜ ํŽ˜์ด์ง€ ์ค‘์—์„œ https ๊ธฐ๋ฐ˜์˜ ์‚ฌ์ดํŠธ๊ฐ€ ์šฐ์„  ์ˆœ์œ„๋กœ ๋…ธ์ถœ๋œ๋‹ค. ๋ณด๋‹ค ์•ˆ์ „ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ์‚ฌ์ดํŠธ์— ๊ฐ€์‚ฐ์ ์„ ์ค€๋‹ค.

์ถœ์ฒ˜: https://mysterico.tistory.com/30

๋ฐ˜์‘ํ˜•