HTTPS

HTTP์˜ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

  • HTTP ํ”„๋กœํ† ์ฝœ ๋‚ด์šฉ ์ž์ฒด๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ TCP/IP ํ†ต์‹ ์„ ์ˆ˜ํ–‰

  • SSL(Secure Socket Layer) ๋˜๋Š” TLS(Transport Layer Security) ๋ณด์•ˆ ๊ณ„์ธต ์œ„์—์„œ ๋™์ž‘

HTTP์˜ ๋ณด์•ˆ ์ทจ์•ฝ์ 

HTTP๋Š” ํ…์ŠคํŠธ๋ฅผ ํ‰๋ฌธ์œผ๋กœ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ์Šค๋‹ˆํ•‘(Sniffing)๊ณผ ๊ฐ™์€ ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•˜๋‹ค.

  1. ๋„์ฒญ ๊ฐ€๋Šฅ(Confidentiality ์นจํ•ด)

    • TCP/IP ํŒจํ‚ท์€ ํ†ต์‹  ๊ฒฝ๋กœ ์ƒ์˜ ๋ผ์šฐํ„ฐ๋‚˜ ๋„คํŠธ์›Œํฌ ์žฅ๋น„์—์„œ ํƒˆ์ทจ ๊ฐ€๋Šฅ

    • ํŒจํ‚ท ์บก์ฒ˜ ๋„๊ตฌ(Wireshark ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋กœ๊ทธ์ธ์ด ID/PW ๋“ฑ์„ ์‰ฝ๊ฒŒ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ์Œ

  2. ์œ„์žฅ ๊ฐ€๋Šฅ(Authentication ๋ถ€์žฌ)

    • ํด๋ผ์ด์–ธํŠธ๋Š” ์ž์‹ ์ด ์š”์ฒญ์„ ๋ณด๋‚ธ ์„œ๋ฒ„๊ฐ€ ์ •๋ง ๋„ค์ด๋ฒ„๋‚˜ ๊ตฌ๊ธ€ ๊ฐ™์€ ์‹ค์ œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์ธ์ง€ ํ™•์ธํ•  ๋ฐฉ๋ฒ•์ด ์—†์Œ

    • ๊ณต๊ฒฉ์ž๊ฐ€ ์œ„์กฐ๋œ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด ํด๋ผ์ด์–ธํŠธ๋ฅผ ์†์ผ ์ˆ˜ ์žˆ์Œ

  3. ๋ณ€์กฐ ๊ฐ€๋Šฅ(Integrity ์นจํ•ด)

    • ์„œ๋ฒ„์—์„œ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋„์ฐฉํ•˜๊ธฐ ์ „์— ์ค‘๊ฐ„์ž(Man-in-the-Middle)๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๋กœ์ฑ„ ์•…์„ฑ์ฝ”๋“œ๋ฅผ ์‹ฌ๊ฑฐ๋‚˜ ๋‚ด์šฉ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

HTTPS์˜ ํ•ต์‹ฌ ์›๋ฆฌ

HTTPS๋Š” ์œ„์˜ ์„ธ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด SSL/TLS ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • ๊ธฐ๋ฐ€์„ฑ(Encryption): ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋„์ฒญ๋˜๋”๋ผ๋„ ๋‚ด์šฉ์„ ์•Œ ์ˆ˜ ์—†๊ฒŒ ํ•จ

  • ๋ฌด๊ฒฐ์„ฑ(Integrity): ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก ์ค‘์— ๋ณ€์กฐ๋˜์ง€ ์•Š์•˜์Œ์„ ๋ณด์žฅ (MAC: Message Authentication Code ์‚ฌ์šฉ)

  • ์ธ์ฆ(Authentication): ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ๊ธฐ๊ด€(CA)์˜ ์ธ์ฆ์„œ๋ฅผ ํ†ตํ•ด ์ ‘์†ํ•œ ์„œ๋ฒ„๊ฐ€ ์ •๋‹นํ•œ ์„œ๋ฒ„์ž„์„ ๋ณด์žฅ

HTTP
HTTPS

HTTP - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต

HTTP - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต

-

SSL or TLS - ๋ณด์•ˆ ๊ณ„์ธต

TCP - ์ „์†ก ๊ณ„์ธต

TCP - ์ „์†ก ๊ณ„์ธต

IP - ๋„คํŠธ์›Œํฌ ๊ณ„์ธต

IP - ๋„คํŠธ์›Œํฌ ๊ณ„์ธต

๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค - ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต

๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค - ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต

์ธ์ฝ”๋”ฉ ๋ฐ ๋””์ฝ”๋”ฉ ์ž‘์—…์€ ๋Œ€๋ถ€๋ถ„ SSL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด๋ถ€์—์„œ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์›น ํด๋ผ์ด์–ธํŠธ๋‚˜ ์„œ๋ฒ„๊ฐ€ ๋ณ„๋„๋กœ ํฌ๊ฒŒ ์ฒ˜๋ฆฌํ•  ๋ถ€๋ถ„์€ ์—†๋‹ค.

๋Œ€์นญํ‚ค์™€ ๋น„๋Œ€์นญํ‚ค์˜ ํ˜ผ์šฉ(ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•”ํ˜ธํ™”)

HTTPS๋Š” ์†๋„์™€ ๋ณด์•ˆ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ํ˜ผํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

  • ์—ฐ๊ฒฐ ์ˆ˜๋ฆฝ ๋‹จ๊ณ„(Handshake): ๊ณต๊ฐœํ‚ค(๋น„๋Œ€์นญํ‚ค) ์•”ํ˜ธํ™” ์‚ฌ์šฉ

    • ๋ชฉ์ : ๋Œ€์นญํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•จ

    • ํŠน์ง•: ๋ณด์•ˆ์„ฑ์€ ๋†’์œผ๋‚˜ ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋น„์‹ธ๊ณ  ์†๋„๊ฐ€ ๋А๋ฆผ

  • ๋ฐ์ดํ„ฐ ์ „์†ก ๋‹จ๊ณ„: ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ์‚ฌ์šฉ

    • ๋ชฉ์ : ์‹ค์ œ HTTP ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†ก

    • ํŠน์ง•: ๊ณ„์‚ฐ ๋น„์šฉ์ด ์ €๋ ดํ•˜๊ณ  ์†๋„๊ฐ€ ๋น ๋ฆ„

SSL๊ณผ TLS์˜ ๊ด€๊ณ„

  • SSL(Secure Sockets Layer): ๋„ท์Šค์ผ€์ดํ”„์‚ฌ๊ฐ€ ๊ฐœ๋ฐœํ•œ ์ดˆ๊ธฐ ํ”„๋กœํ† ์ฝœ๋กœ, ํ˜„์žฌ๋Š” ๋ณด์•ˆ ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ

  • TLS(Transport Layer Security): SSL์„ ํ‘œ์ค€ํ™”ํ•˜์—ฌ ๋ฐœ์ „์‹œํ‚จ ํ”„๋กœํ† ์ฝœ๋กœ, ํ˜„์žฌ๋Š” TLS 1.2์™€ TLS 1.3์ด ์ฃผ๋กœ ์‚ฌ์šฉ

  • ์‹ค๋ฌด์—์„œ๋Š” ๊ด€์Šต์ ์œผ๋กœ SSL์ด๋ผ ๋ถ€๋ฅด์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” TLS ํ”„๋กœํ† ์ฝœ์„ ์˜๋ฏธ

HTTP / HTTPS ํŠธ๋žœ์žญ์…˜ ๋น„๊ต

URL ํ”„๋กœํ† ์ฝœ ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ HTTP/HTTPS๋กœ ํ†ต์‹ ํ•˜๊ฒŒ ๋˜๋ฉฐ, ๊ฐ๊ฐ ์•„๋ž˜์™€ ๊ฐ™์€ ํŠธ๋žœ์žญ์…˜์„ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค.

์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ HTTP ํŠธ๋žœ์žญ์…˜
์•”ํ˜ธํ™”๋œ HTTPS ํŠธ๋žœ์žญ์…˜

์„œ๋ฒ„์˜ 80ํฌํŠธ๋กœ TCP ์ปค๋„ฅ์…˜ ์ˆ˜๋ฆฝ

์„œ๋ฒ„์˜ 443ํฌํŠธ๋กœ TCP ์ปค๋„ฅ์…˜ ์ˆ˜๋ฆฝ

-

SSL ๋ณด์•ˆ ๋งค๊ฐœ๋ณ€์ˆ˜ ํ•ธ๋“œ์…ฐ์ดํฌ

TCP๋ฅผ ํ†ตํ•ด ๋ณด๋‚ด์ง„ HTTP ์š”์ฒญ

SSL์„ ํ†ตํ•ด ๋ณด๋‚ด์ง„ HTTP ์š”์ฒญ / TCP๋ฅผ ํ†ตํ•ด ๋ณด๋‚ด์ง„ ์•”ํ˜ธํ™”๋œ ์š”์ฒญ

TCP๋ฅผ ํ†ตํ•ด ๋ณด๋‚ด์ง„ HTTP ์‘๋‹ต

SSL์„ ํ†ตํ•ด ๋ณด๋‚ด์ง„ HTTP ์‘๋‹ต / TCP๋ฅผ ํ†ตํ•ด ๋ณด๋‚ด์ง„ ์•”ํ˜ธํ™”๋œ ์‘๋‹ต

-

SSL ๋‹ซํž˜ ํ†ต์ง€

TCP ์ปค๋„ฅ์…˜ ๋‹ซํž˜

TCP ์ปค๋„ฅ์…˜ ๋‹ซํž˜

SSL Handshake

TCP 3-way Handshake ์ดํ›„์— TLS Handshake๊ฐ€ ์ˆ˜ํ–‰๋œ๋‹ค.(TLS 1.2 ๊ธฐ์ค€)

  1. Client Hello: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ง€์›ํ•˜๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹ ๋ชฉ๋ก(Cipher Suite)๊ณผ ๋‚œ์ˆ˜(Random Value)๋ฅผ ์ „์†ก

  2. Server Hello: ์„œ๋ฒ„๊ฐ€ ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์„ ํƒํ•˜๊ณ , ์ž์‹ ์˜ ์ธ์ฆ์„œ์™€ ๋‚œ์ˆ˜๋ฅผ ์ „์†ก

  3. ์ธ์ฆ์„œ ๊ฒ€์ฆ: ํด๋ผ์ด์–ธํŠธ๋Š” CA์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ์„œ๋ฒ„ ์ธ์ฆ์„œ์˜ ์ „์ž ์„œ๋ช…์„ ๊ฒ€์ฆ

  4. ํ‚ค ๊ตํ™˜: ํด๋ผ์ด์–ธํŠธ๋Š” ์ž„์‹œ ๋น„๋ฐ€ํ‚ค(Pre-Master Secret)๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ด๋ฅผ ์„œ๋ฒ„ ์ธ์ฆ์„œ์— ์žˆ๋Š” ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†ก

  5. ์„ธ์…˜ํ‚ค ์ƒ์„ฑ: ์„œ๋ฒ„๋Š” ์ž์‹ ์˜ ๊ฐœ์ธํ‚ค๋กœ ์ด๋ฅผ ๋ณตํ˜ธํ™”ํ•จ. ์ด์ œ ์–‘์ชฝ์€ ๋™์ผํ•œ ํ‚ค(์„ธ์…˜ํ‚ค)๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋จ

  6. ํ†ต์‹  ์‹œ์ž‘: ์ดํ›„ ๋ชจ๋“  HTTP ๋ฉ”์‹œ์ง€๋Š” ์ด ์„ธ์…˜ํ‚ค๋ฅผ ์ด์šฉํ•ด ์•”ํ˜ธํ™”๋˜์–ด ์ „์†ก

์ตœ์‹  TLS 1.3์€ ๋ณด์•ˆ์ด ์ทจ์•ฝํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๊ฑฐํ•˜๊ณ , ์œ„ ํ•ธ๋“œ์…ฐ์ดํฌ ๊ณผ์ •์„ ๊ฐ„์†Œํ™”ํ•˜์—ฌ(1-RTT) ์—ฐ๊ฒฐ ์†๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ๊ฐœ์„ ํ–ˆ๋‹ค.

์‚ฌ์ดํŠธ ์ธ์ฆ์„œ ๊ฒ€์‚ฌ

SSL ์ž์ฒด๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ธ์ฆ์„œ ๊ฒ€์ฆ ์š”๊ตฌ๋ฅผ ํ•˜์ง€ ์•Š์ง€๋งŒ, ์ตœ์‹  ์›น๋ธŒ๋ผ์šฐ์ € ๋Œ€๋ถ€๋ถ„์ด ์ธ์ฆ์„œ์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ ์ธ ๊ฒ€์‚ฌ๋ฅผ ํ•œ ๋’ค ๋†’์€ ์ˆ˜์ค€์˜ ๊ฒ€์‚ฌ๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค.

์ธ์ฆ์„œ ๊ฒ€์‚ฌ ์ ˆ์ฐจ

๋„ท์Šค์ผ€์ดํ”„์—์„œ๋Š” ์›น ์„œ๋ฒ„ ์ธ์ฆ์„œ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“ค์–ด ๊ธฐ์ดˆ๋ฅผ ๊ตฌ์ถ•ํ–ˆ์œผ๋ฉฐ, ์ˆ˜ํ–‰ ๋‹จ๊ณ„์—์„œ ์•„๋ž˜์˜ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • ๋‚ ์งœ ๊ฒ€์‚ฌ: ์ธ์ฆ์„œ์˜ ์‹œ์ž‘ ๋ฐ ์ข…๋ฃŒ์ผ ๊ฒ€์‚ฌ

  • ์„œ๋ช…์ž ์‹ ๋ขฐ๋„ ๊ฒ€์‚ฌ: ๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ๋œ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰์ž ๋ชฉ๋ก๊ณผ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰์ž์˜ ์ด๋ฆ„์„ ๋น„๊ต(์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐœ๊ธ‰์ž์ธ์ง€ ๊ฒ€์‚ฌ)

  • ์„œ๋ช… ๊ฒ€์‚ฌ: ์„œ๋ช…๊ธฐ๊ด€์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์„œ๋ช…์— ์ ์šฉํ•˜์—ฌ ์ฒดํฌ์„ฌ๊ณผ ๋น„๊ตํ•˜์—ฌ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ

  • ์‚ฌ์ดํŠธ ์‹ ์› ๊ฒ€์‚ฌ: ์ธ์ฆ์„œ ๋ณต์‚ฌ ํ˜น์€ ํŠธ๋ž˜ํ”ฝ ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ธ์ฆ์„œ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„๊ณผ ํ†ต์‹  ์ค‘์ธ ์„œ๋ฒ„ ํ˜ธ์ŠคํŠธ์˜ ๋„๋ฉ”์ธ์ด ์ผ์น˜ํ•˜๋Š”์ง€ ๊ฒ€์‚ฌ

์ฐธ๊ณ ์ž๋ฃŒ

Last updated

Was this helpful?