๊ด€๋ฆฌ ๋ฉ”๋‰ด

Bin's Blog

์˜ค๋Š˜์˜ CS(HTTPS) ๋ณธ๋ฌธ

CS

์˜ค๋Š˜์˜ CS(HTTPS)

hotIce 2023. 8. 18. 18:16
728x90

๐Ÿค” HTTPS๋ž€?

๐Ÿ‘‰ HTTPS๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต๊ณผ ์ „์†ก ๊ณ„์ธต ์‚ฌ์ด์— ์‹ ๋ขฐ ๊ณ„์ธต์ธ SSL/TLS ๊ณ„์ธต์„ ๋„ฃ์€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” HTTP ์š”์ฒญ์„ ๋งํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด "ํ†ต์‹ ์„ ์•”ํ˜ธํ™” ํ•œ๋‹ค"

 

๐Ÿ“š SSL/TLS

๐Ÿ‘‰ SSL(Secure Socket Layer)/ TLS(Transport Layer Security Protocol)์€ ์ „์†ก ๊ณ„์ธต์—์„œ ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ํ•  ๋•Œ SSL/TLS๋ฅผ ํ†ตํ•ด ์ œ 3์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋„์ฒญํ•˜๊ฑฐ๋‚˜ ๋ณ€์กฐํ•˜์ง€ ๋ชปํ•˜๋„๋ก ๋ง‰๋Š”๋‹ค. 

๐Ÿ‘‰ SSL/TLS๋ฅผ ํ†ตํ•ด์„œ ๊ณต๊ฒฉ์ž๊ฐ€ ์„œ๋ฒ„์ธ ์ฒ™ํ•˜๋ฉฐ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๊ฐ€๋กœ์ฑ„๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์˜ ์ธํ„ฐ์…‰ํ„ฐ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. 

๐Ÿ‘‰ SSL/TLS๋Š” ๋ณด์•ˆ ์„ธ์…˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋ฉฐ ๋ณด์•ˆ ์„ธ์…˜์ด ๋งŒ๋“ค์–ด์งˆ ๋•Œ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜, ํ‚ค ๊ตํ™˜ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‚ฌ์šฉ๋œ๋‹ค. 

 

1๏ธโƒฃ ๋ณด์•ˆ ์„ธ์…˜

๐Ÿ‘‰ ๋ณด์•ˆ ์„ธ์…˜์ด๋ž€ ๋ณด์•ˆ์ด ์‹œ์ž‘๋˜๊ณ  ๋๋‚˜๋Š” ๋™์•ˆ ์œ ์ง€๋˜๋Š” ์„ธ์…˜(์šด์˜์ฒด์ œ๊ฐ€ ์–ด๋– ํ•œ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž์‹ ์˜ ์ž์‚ฐ ์ด์šฉ์„ ํ—ˆ๋ฝํ•˜๋Š” ๊ธฐ๊ฐ„), SSL/TLS๋Š” ํ•ธ๋“œ์…ฐ์ดํฌ๋ฅผ ํ†ตํ•ด ๋ณด์•ˆ ์„ธ์…˜์„ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒํƒœ ์ •๋ณด ๋“ฑ์„ ๊ณต์œ ํ•œ๋‹ค. 

๐Ÿ‘‰ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์™€ ํ‚ค๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ธ์ฆ, ์ธ์ฆ ํ™•์ธ ๋“ฑ์˜ ์ž‘์—…์ด ์ผ์–ด๋‚˜๋Š” ๋‹จ ํ•œ ๋ฒˆ์˜ 1-RTT๊ฐ€ ์ƒ๊ธด ํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ‘‰ ํด๋ผ์ด์–ธํŠธ์—์„œ ์‚ฌ์ดํผ ์ŠˆํŠธ(ํ”„๋กœํ† ์ฝœ, AEAD(๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜) ์‚ฌ์ดํผ ๋ชจ๋“œ, ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋‚˜์—ด๋œ ๊ทœ์•ฝ)๋ฅผ ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๋ฉด ์„œ๋ฒ„๋Š” ๋ฐ›์€ ์‚ฌ์ดํผ ์ŠˆํŠธ์˜ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. 

๐Ÿ‘‰ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์ธ์ฆ์„œ๋ฅผ ๋ณด๋‚ด๋Š” ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์‹œ์ž‘๋˜๊ณ  ์ดํ›„ ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ์œผ๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ์˜ ์†ก์ˆ˜์‹ ์ด ์‹œ์ž‘๋œ๋‹ค. 

๐Ÿ‘‰ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ CA(Certificate Authorities)์—์„œ ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ์•ˆ์ „ํ•œ ์—ฐ๊ฒฐ์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ์žˆ์–ด ํ•„์š”ํ•œ "๊ณต๊ฐœํ‚ค"๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ œ๊ณตํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•œ ์„œ๋ฒ„๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์ž„์„ ๋ณด์žฅ

 

2๏ธโƒฃ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜

๐Ÿ‘‰ ๋Œ€์ˆ˜๊ณก์„  ๊ธฐ๋ฐ˜์˜ ECDHE ๋˜๋Š” ๋ชจ๋“ˆ์‹ ๊ธฐ๋ฐ˜์˜ DHE๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋‘˜ ๋‹ค ๋‹คํ”ผ-ํ—ฌ๋งŒ ๋ฐฉ์‹์„ ๊ทผ๊ฐ„์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค.

๐Ÿ‘‰ ๋””ํ”ผ-ํ—ฌ๋งŒ ํ‚ค ๊ตํ™˜ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•”ํ˜ธํ‚ค๋ฅผ ๊ตํ™˜ํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•์ด๋‹ค. ์ฒ˜์Œ์— ๊ณต๊ฐœ ๊ฐ’์„ ๊ณต์œ ํ•˜๊ณ  ๊ฐ์ž์˜ ๋น„๋ฐ€ ๊ฐ’๊ณผ ํ˜ผํ•ฉํ•œ ํ›„์— ํ˜ผํ•ฉ ๊ฐ’์„ ๊ณต์œ ํ•œ๋‹ค. ๊ทธ๋‹ค์Œ ๊ฐ์ž์˜ ๋น„๋ฐ€ ๊ฐ’๊ณผ ๋˜ ํ˜ผํ•ฉํ•œ๋‹ค. ๊ทธ ์ดํ›„์— ๊ณตํ†ต์˜ ์•”ํ˜ธํ‚ค์ธ PSK(Pre-Shared Key)๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. 

๐Ÿ‘‰ PSK๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ๊ณต๊ฒฉ์ž๊ฐ€ ๊ฐœ์ธํ‚ค ๋˜๋Š” ๊ณต๊ฐœํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด๋„ ์•„๋ฌด๊ฒƒ๋„ ํ•  ์ˆ˜ ์—†๋‹ค.

 

3๏ธโƒฃ ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๐Ÿ‘‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ •ํ•˜๊ธฐ ํž˜๋“  ๋” ์ž‘๊ณ , ์„ž์—ฌ ์žˆ๋Š” ์กฐ๊ฐ์œผ๋กœ ๋งŒ๋“œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. SHA-256 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉฐ ๋น„ํŠธ ์ฝ”์ธ์„ ๋น„๋กฏํ•œ ๋งŽ์€ ๋ธ”๋ก์ฒด์ธ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. ์ „์ฒ˜๋ฆฌ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด์‹œ(๋‹ค์–‘ํ•œ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ •๋œ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋กœ ๋งคํ•‘ํ•œ ๊ฐ’)๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

4๏ธโƒฃ HTTPS ๊ตฌ์ถ•๋ฐฉ๋ฒ•

๐Ÿ‘‰ ์ง์ ‘ CA์—์„œ ๊ตฌ๋งคํ•œ ์ธ์ฆํ‚ค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ HTTPS ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ฑฐ๋‚˜, ์„œ๋ฒ„ ์•ž๋‹จ์˜ HTTPS๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋‘๊ฑฐ๋‚˜, ์„œ๋ฒ„ ์•ž๋‹จ์— HTTPS๋ฅผ ์ œ๊ณตํ•˜๋Š” CDN์„ ๋‘ฌ์„œ ๊ตฌ์ถ•ํ•œ๋‹ค. 

 

โ—๏ธHTTPS๋Š” ๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™”์—๋„ ๋„์›€์ด ๋œ๋‹ค. 

 

728x90