๐Ÿ”ฌComputer Science/๋„คํŠธ์›Œํฌ

TIL) HTTPS ์ด๋ž€? HTTPS ํŠน์ง•, HTTPS ๋ชฉ์ 

hellohailie 2022. 7. 14. 11:00

 

HTTPS ์ด๋ž€? (Hyper Text Transfer Protocol Secure Socket layer )

HTTP ํ”„๋กœํ† ์ฝœ ๋‚ด์šฉ์„ ์•”ํ˜ธํ™” (HTTP + Secure)

HTTP over SSL(TLS), HTTP over Secure๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค. 

HTTPS๋Š” HTTP ์š”์ฒญ์„ SSL ํ˜น์€ TLS๋ผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด, HTTP ํ†ต์‹ ์„ ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 


HTTPS ํŠน์ง•

  • ์ธ์ฆ์„œ (certificate)

- ๋ฐ์ดํ„ฐ ์ œ๊ณต์ž ์‹ ์› ๋ณด์žฅ = ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•œ ์„œ๋ฒ„๊ฐ€ ์ •๋ง๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ค€ ์„œ๋ฒ„์ธ์ง€ ์ธ์ฆ, ํ™•์ธํ•˜๋Š” ์šฉ๋„์ด๋‹ค. 

- ๋„๋ฉ”์ธ ์ข…์† = ์ธ์ฆ์„œ ๋‚ด์šฉ์— ์„œ๋ฒ„์˜ ๋„๋ฉ”์ธ ๊ด€๋ จ ์ •๋ณด๊ฐ€ ์žˆ์–ด์„œ ๋ฐ์ดํ„ฐ ์ œ๊ณต์ž์˜ ์ธ์ฆ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•œ๋‹ค. ์ธ์ฆ์„œ์˜ ๋„๋ฉ”์ธ๊ณผ ์‘๋‹ต๊ฐ์ฒด์˜ ๋„๋ฉ”์ธ์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

  • CA (certificate authority = ๊ณต์ธ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ๊ธฐ๊ด€)

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

๋˜ํ•œ CA๋Š” ์ž๊ฒฉ์„ ๊ณ„์† ์œ ์ง€ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๊ณ  ์ž๊ฒฉ์„ ๋ฐ•ํƒˆ ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. 

  • ๋น„๋Œ€์นญ ํ‚ค ์•”ํ˜ธํ™”

๋‹ค๋ฅธ ํ‚ค ํ•œ์Œ์œผ๋กœ ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

์˜ˆ๋ฅผ๋“ค์–ด, Aํ‚ค๋กœ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™” ํ•œ๋‹ค๋ฉด, ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™”ํ•˜๋Š”๋ฐ Aํ‚ค์™€ ํ•œ์Œ์ธ Bํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

๊ทธ๋ž˜์„œ ํ‚ค ์ค‘์—์„œ ํ•˜๋‚˜๋Š” ๋น„๋ฐ€๋กœ ์ˆจ๊ฒจ๋‘๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ํด๋ผ์ด์–ธํŠธ์— ๊ณต๊ฐœ๋ฅผ ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. 

๋‹ค๋งŒ ๋ชจ๋“  ํ†ต์‹ ์— ๋Œ€ํ•ด์„œ ๊ณต๊ฐœํ‚ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค! ํ†ต์‹ ์˜ ์ดˆ์ฐฝ๊ธฐ์— ๋น„๋ฐ€ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

 

ํ†ต์‹  ๊ณผ์ •

 

Hand Shake : ์„œ๋กœ๋ฅผ ํ™•์ธํ•˜๊ณ  ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— ๊ณต๊ฐœํ‚ค ํ•œ์Œ์˜ ํ‚ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. 

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

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

 

์ดํ›„, ์ด ๋น„๋ฐ€ํ‚ค๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ฐ์ดํ„ฐ ์†ก,์ˆ˜์‹ ์— ํ•„์š”ํ•œ ๋™์ผ ํ‚ค ์•”ํ˜ธํ™” ๋ฐ ๋ณตํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. 

 


HTTPS ๋ชฉ์ 

 

์•”ํ˜ธํ™” = ์ œ 3์ž๊ฐ€ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฃผ๊ณ ๋ฐ›๋Š” ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•  ์ˆ˜ ์—†๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋กœ ํ•ฉ์˜ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•ด์„œ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ์ค‘๊ฐ„์— ์ œ3์ž๊ฐ€ ํƒˆ์ทจํ•ด๋„ ๊ทธ ๋‚ด์šฉ์„ ์•Œ์•„๋ณด์ง€ ๋ชปํ•œ๋‹ค. 

๋‚ด์šฉ์ด ์•”ํ˜ธํ™”๋˜์–ด ์ „์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•ํ•œ ํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ์–ด๋–ค ๋‚ด์šฉ์ธ์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค. 

 

HTTPS๋Š” ๋Œ€์นญํ‚ค์™€ ๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•œ๋‹ค.

1. ๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹ = ๊ฐ๊ฐ ๊ณต๊ฐœํ‚ค์™€ ๋น„๋ฐ€ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์ƒ๋Œ€๊ฐ€ ๋‚˜์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐœ์ธ์ด ๊ฐ€์ง„ ๋น„๋ฐ€ํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜๋Š” ๊ฒƒ

2. ๋Œ€์นญํ‚ค ๋ฐฉ์‹ = ์–‘์ชฝ์ด ๊ณตํ†ต์˜ ๋น„๋ฐ€ ํ‚ค๋ฅผ ๊ณต์œ ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™” ๋ฐ ๋ณตํ˜ธํ™”ํ•˜๋Š” ๊ฒƒ

 

์ธ์ฆ์„œ = ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์˜ ์‘๋‹ต๊ณผ ํ•จ๊ป˜ ์ „๋‹ฌ๋œ ์ธ์ฆ์„œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•ด์ฃผ๋Š” ๊ณต์ธ๋œ ๊ธฐ๊ด€์„ Certificate Authority, CA๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. CA๋Š” ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค์™€ ์ •๋ณด๋ฅผ CA์˜ ๋น„๋ฐ€ํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ๋‹ค. 

 

์ธ์ฆ์„œ๊ฐ€ CA์˜ ๋น„๋ฐ€ํ‚ค๋กœ ์•”ํ˜ธํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— CA์˜ ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™” ๊ฐ€๋Šฅํ•˜๋‹ค.
๋”ฐ๋ผ์„œ ํ•ด๋‹น CA์—์„œ ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ๋ผ๋Š” ๊ฒƒ์„ ๋ณด์ฆํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

ํ™•์ธ ๊ณผ์ •

์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ CA์—์„œ ๋ฐœ๊ธ‰๋ฐ›์€ ์ธ์ฆ์„œ๋ฅผ ์ „๋‹ฌํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” OS ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ €์— ๋ฏธ๋ฆฌ ๋‚ด์žฅ๋˜์–ด ์žˆ๋˜ CA ๋ฆฌ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ธ์ฆ๋œ CA์—์„œ ๋ฐœ๊ธ‰๋ฐ›์€ ์ธ์ฆ์„œ์ธ์ง€ ๋จผ์ € ํ™•์ธํ•œ๋‹ค.

๋งŒ์•ฝ ์ธ์ฆ๋œ CA์—์„œ ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ™”๋ฉด์— ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์›Œ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ์ด ์•ˆ์ „ํ•˜์ง€ ์•Š๋‹ค๋Š” ํ™”๋ฉด์„ ๋ณด์—ฌ์ค€๋‹ค. 

 

 

๋งŒ์•ฝ ์ธ์ฆ์„œ๊ฐ€ ํ™•์ธ๋˜์—ˆ๋‹ค๋ฉด ๋ธŒ๋ผ์šฐ์ €์— ์ œ๊ณต๋œ ํ•ด๋‹น CA ๊ธฐ๊ด€์˜ ๊ณต๊ฐœํ‚ค๋กœ ์„œ๋ฒ„ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™”ํ•œ๋‹ค. 

๋ณตํ˜ธํ™”ํ•ด ์–ป์€ ๊ณต๊ฐœํ‚ค๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๋ฅผ ๋ฏฟ์„๋งŒํ•œ ๋Œ€์ƒ์ธ ์ง€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋‹ค. (๋งŒ์•ฝ ์ธ์ฆ์„œ๊ฐ€ ์œ„์กฐ๋˜์—ˆ๋‹ค๋ฉด CA์˜ ๊ณต๊ฐœํ‚ค๋กœ ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์—†์„ํ…Œ๋‹ˆ๊นŒ!)

 

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ„์˜ CA๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋ฅผ ์ธ์ฆํ•˜๋Š” ๊ณผ์ •๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š” ๊ณผ์ •์„ ์•„์šฐ๋ฅธ ํ”„๋กœํ† ์ฝœ์„ TLS ๋˜๋Š” SSL์ด๋ผ๊ณ  ํ•œ๋‹ค. (*SSL๊ณผ TLS๋Š” ์‚ฌ์‹ค์ƒ ๋™์ผํ•œ ๊ทœ์•ฝ์„ ๋œปํ•˜๋ฉฐ SSL์ด ํ‘œ์ค€ํ™”๋˜๋ฉฐ ๋ฐ”๋€ ์ด๋ฆ„์ด TLS)