HTTPS

Http ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์€ ํŒจํ‚ท์„ ํ†ตํ•ด payload๋ฅผ ํ†ตํ•ด ๋‚ด์šฉ์„ ํ›”์ณ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ์ ์˜ ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•˜์—ฌ, ๋งŒ๋“  Http์˜ Secure๋ฅผ ๋ถ™์ธ HTTPSํ”„๋กœํ† ์ฝœ (Http + SSL/TLS)

์•”ํ˜ธํ™” ํ†ต์‹  ์ฑ„๋„์„ ์„ค์ •ํ›„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ผ์ข…์˜ ์ „์†ก ๊ณ„์ธต ์œ„์— ํ•˜๋‚˜์˜ ์ถ”๊ฐ€์ ์ธ ๊ณ„์ธต์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ  ๋ณตํ˜ธํ™” ํ•˜์—ฌ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฐฉ์‹ (์ „์†ก๊ณ„์ธต ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ)

ํŠน์ง•

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

  • ๊ธฐ๋ฐ€์„ฑ : DES, RC4์™€ ๊ฐ™์€ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ฐ€์„ฑ ์ œ๊ณต ( ๋น„๋ฐ€ํ‚ค๋Š” handshake ๊ณผ์ • ์ค‘ ์ƒ์„ฑ)

  • ์ƒํ˜ธ ์ธ์ฆ : ์ธ์ฆ์—๋Š” RSA(๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜), DSS(์ „์ž์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜), X.509(๊ณต๊ฐœํ‚ค ์•Œ๊ณ ๋ฆฌ์ฆ˜) ์ด ์‚ฌ์šฉ

  • ๋ฉ”์‹œ์ง€ ๋ฌด๊ฒฐ์„ฑ : ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด ๋ฉ”์‹œ์ง€ ์ธ์ฆ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด ๋ฉ”์‹œ์ง€์— ํฌํ•จ์‹œ์ผœ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ํ†ต์‹  ๊ฐ€๋Šฅ

๋™์ž‘ ๊ณผ์ •

์›น์„œ๋ฒ„์˜ ์ •๋ณด ๋“ฑ๋ก ๊ณผ์ •

  1. ์›น ์„œ๋ฒ„๋Š” ์ž์‹ ์˜ ์ •๋ณด์™€ ๊ณต๊ฐœํ‚ค๋ฅผ ์ธ์ฆ๊ธฐ๊ด€(CA)์— ์ œ์ถœ

  2. ์ธ์ฆ๊ธฐ๊ด€์€ ๊ฒ€์ฆ์„ ๊ฑฐ์นœ ํ›„ ์ด ์ •๋ณด๋ฅผ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™” -> ์‚ฌ์ดํŠธ ์ธ์ฆ์„œ

  3. ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ์ธ์ฆ๊ธฐ๊ด€์˜ ๊ณต๊ฐœํ‚ค๋ฅผ, ์„œ๋ฒ„๋Š” ์ธ์ฆ์„œ๋ฅผ ๊ฐ–๋Š”๋‹ค.

ํด๋ผ์ด์–ธํŠธ์˜ ์—ฐ๊ฒฐ ๊ณผ์ • (SSL hanshake)

  1. 3-Way HandShaking

  2. ํด๋ผ๋ฆฌ์–ธํŠธ๋Š” ์„œ๋ฒ„์—๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ SSL๋ฒ„์ „,์„ธ์…˜ ์‹๋ณ„์ž,์•”ํ˜ธ ๋ฐฉ์‹(Ciper Suit), ์••์ถ•๋ฐฉ๋ฒ•๊ณผ ๋žœ๋ค ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์—๊ฒŒ ์•Œ๋ฆฐ๋‹ค. (Client Hello)

  3. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ SSL๋ฒ„์ „,์„ธ์…˜ ์‹๋ณ„์ž,์„ ํƒํ•œ ์•”ํ˜ธ ๋ฐฉ์‹(select Ciper Suit), ์••์ถ•๋ฐฉ๋ฒ•๊ณผ ๋žœ๋ค ๋ฐ์ดํ„ฐ๋ฅผ ์‘๋‹ต (Server Hello)

    1. ์ธ์ฆ์„œ๋ฅผ ๊ฐ™์ด ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐœ์†ก (Certificate Message)

    2. ์ธ์ฆ์„œ๊ฐ€ ์—†๊ฑฐ๋‚˜ ์„œ๋ช…์šฉ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด Server key Exchange ๋ฉ”์‹œ์ง€ ์ „์†ก

    3. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‹ ๋ขฐ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ฆ์„œ๋ฅผ ์š”๊ตฌํ•˜๊ธฐ๋„ ํ•˜๋Š”๋ฐ ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค.

  4. ์„œ๋ฒ„์˜ ์ „์†ก์ด ๋๋‚˜๋ฉด Server Hello Done ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ

  5. ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐ›์€ ์ธ์ฆ์„œ๋ฅผ ์‹ ๋ขฐ๊ธฐ๊ด€์œผ๋กœ ๋ถ€ํ„ฐ ์œ ํšจํ•œ ์ธ์ฆ์„œ์ธ์ง€ ํ™•์ธํ›„ ์„ธ์…˜ํ‚ค๋กœ ์‚ฌ์šฉํ•  48byte์˜ Pre-Master Key(๋Œ€์นญ ํ‚ค๋กœ ํ™œ์šฉ)๋ฅผ ๋žœ๋ค ๋ฐ์ดํ„ฐ1,2๋ฅผ ์กฐํ•ฉํ•ด ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•ด์„œ ์„œ๋ฒ„์—๊ฒŒ ์ „์†ก (Client key Exchange)

  6. ์„œ๋ฒ„๋Š” ๊ฐœ์ธํ‚ค๋กœ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ Pre-Master Key๋ฅผ ๋ณตํ˜ธํ™”

  7. ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋Š” Pre-Master Key ->master secret -> session key(๋Œ€์นญ ํ‚ค) ์ƒ์„ฑ Session

  8. session key(๋Œ€์นญ ํ‚ค)๋ฅผ ํ™œ์šฉํ•ด ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹ ํ†ต์‹  end session

  9. ์„ธ์…˜์ข…๋ฃŒ ํ›„ session key(๋Œ€์นญ ํ‚ค) ํ๊ธฐ

SSL

Secure Sockets Layer์˜ ์•ฝ์ž๋กœ Netscape์‚ฌ์—์„œ ๊ฐœ๋ฐœ ํ•˜์˜€๋‹ค.

๊ณผ๊ฑฐ์˜ ํ”„๋กœํ† ์ฝœ๋กœ v1.0, v2.0๋Š” ๋ณด์•ˆ ์ทจ์•ฝ์  ์ด์Šˆ๊ฐ€ ์žˆ์–ด 3.0๋ฒ„์ „์œผ๋กœ ๊ฐœ์„ ์ด ๋˜์—ˆ์œผ๋ฉฐ, v3.0์€ TLS 1.0์˜ ๊ธฐ์ดˆ๊ณผ ๋˜์—ˆ๋‹ค.

TLS

Transport Layer Security์˜ ์•ฝ์ž๋กœ IETF๊ฐ€ ๊ฐœ๋ฐœ ํ•˜์˜€๋‹ค.

2015๋…„์— IETF์— ์˜ํ•ด SSL3.0 ์‚ฌ์šฉ ์ค‘์ง€๊ฐ€ ๋˜์–ด SSL๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ์ƒํ˜ธ ํ˜ธํ™˜์ด ๋˜์ง€ ์•Š๋Š” ํ”„๋กœํ† ์ฝœ

  • v1.0 : SSL 3.0์˜ ์ทจ์•ฝ์ ์ด ๊ฑฐ์˜ ํ•ด๊ฒฐ๋˜์—ˆ๊ณ  SHA1์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ฃผ๋กœ ์‚ฌ์šฉ ๋˜๊ณ  SHA256๋„ ์ง€์›๋˜๋‚˜ XP,vista์—์„œ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ง€์›๋˜์—ˆ๋‹ค.

  • v1.1 : 2006๋…„์— ๊ณต๊ฐœ๋˜์–ด ๋ธ”๋ก ์ฒด์ธ๊ณต๊ฒฉ์˜ ๋ฐฉ์–ด์™€ IANA๋“ฑ๋ก ํŒŒ๋ผ๋ฏธํ„ฐ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. (๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ € vendor๋“ค์€ ์ง€์› ์ค‘๋‹จ)

  • v1.2 : 2008๋…„ 8์›”์— ๋ฐฐํฌ ๋˜์–ด ์ทจ์•ฝํ•œ SHA1์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฒ„๋ฆฌ๊ณ  SHA256๋งŒ ์‚ฌ์šฉํ•œ๋‹ค

  • v1.3 : 2018๋…„์— ์ฒ˜์Œ ๊ฒŒ์‹œ๊ฐ€ ๋˜์–ด handshaking ์‹œ์— RTT์„ 2->1๋กœ ์ค„์ด๊ณ  0-RTT๊ธฐ๋Šฅ์œผ๋กœ ์—ฐ๊ฒฐ ์†๋„๋ฅผ ํ–ฅ์ƒ ์‹œ์ผฐ๋‹ค.

    ํ™•์žฅ ๊ธฐ๋Šฅ์œผ๋กœ SNIํ•„๋“œ์— ๋Œ€ํ•œ ์•”ํ˜ธํ™” ๊ทœ๊ฒฉ์ธ ESNI ์ดˆ์•ˆ์„ ์ œ์‹œํ•˜์˜€์œผ๋‚˜ ํ‘œ์ค€์—๋Š” ํฌํ•จ x

    RC4, RSA, SHA-1, CBC Mode Ciphers, MD5, Various Diffie-Hellman groups, DES, 3DES, EXPRT-strength ciphers ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ง€์› ์ค‘๋‹จ

    SNI

    HandShaking๊ณผ์ • ์ค‘์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋Š ๋„๋ฉ”์ธ์— ์ ‘์† ํ•˜๋ ค๋Š”์ง€ ์„œ๋ฒ„์— ์•Œ๋ฆฌ๋Š” ์—ญํ• ์˜ ๊ธฐ์ˆ ๋กœ ํ•˜๋‚˜์˜ ์›น ์„œ๋ฒ„ ๋„๋ฉ”์ธ(๊ฐ™์€ IP์ฃผ์†Œ์™€ TCPํฌํŠธ ๋ฒˆํ˜ธ)์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธ์ฆ ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ์–ด๋–ค ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ• ์ง€ ๋ชจ๋ฅด๋Š” ์ธ์ฆ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฐ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•

    ํ•˜๋‚˜์˜ ์ธ์ฆ์„œ์˜ ๋ชจ๋“  ํ˜ธ์ŠคํŠธ๋ช…์„ ์ง‘์–ด๋„ฃ๊ฒŒ ๋˜๋ฉด ์–ด๋ ต๊ฑฐ๋‚˜ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— SNI๋ผ๋Š” ๊ฐ€์ƒ ๋„๋ฉ”์ธ์˜ ํ˜ธ์ŠคํŠธ๋ช…์„ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜์—ฌ ๊ทธ์— ๋งž๋Š” ์ธ์ฆ์„œ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ์ˆ 

    SSL ์ธ์ฆ์„œ DNS name์ •๋ณด๋ฅผ ์›น์„œ๋ฒ„ ๋„๋ฉ”์ธ ํ—ค๋”์ •๋ณด์™€ ๋งค์นญ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ 

    ํ‘œ์ค€์ด ์•„๋‹ˆ๋ผ ํ™•์žฅ ๊ธฐ๋Šฅ์ด๊ธฐ ๋•Œ๋ฌธ์— SNI์˜ ์•”ํ˜ธ ๋ฐฉ์‹์ด ์—†๊ณ  ํ‰๋ฌธ์œผ๋กœ ์ „์†ก -> ESNI๊ธฐ์ˆ  ๋“ฑ์žฅ

    ESNI

    ํ‰๋ฌธ์œผ๋กœ ์ „๋‹ฌ๋œ๋‹ค๋Š” SNI์˜ ํŠน์„ฑ๋•Œ๋ฌธ์— ๊ฐ์ฒญ์„ ๋ฐฉ์ง€ ํ•˜๊ธฐ์œ„ํ•ด ๋‚˜์˜จ ๊ธฐ์ˆ ๋กœ ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌ๋˜๋Š” ์‹œ์ ์„ DNSํ†ต์‹  ๋‹จ๊ณ„๋กœ ์•ž๋‹น๊ฒจ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐํ•˜๋Š” ์‹œ์ ์— ํ•ด๋‹น ๊ณต๊ฐœํ‚ค๋กœ ๋„๋ฉ”์ธ(SNI)๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š” ๋ฐฉ์‹

    DoH(DNS over HTTPS)๊ฐ€ ํ™œ์„ฑํ™” ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด DNSํ†ต์‹  ์•”ํ˜ธํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€ ์•Š์•„ ํ˜„์žฌ๋Š” firefox์—์„œ๋งŒ ์ง€์›์ด ๋œ๋‹ค.

ํ•œ๊ตญ์˜ https ์ฐจ๋‹จ๊ณผ ๊ด€๋ จํ•ด์„œ

ํ˜„์žฌ ํ•œ๊ตญ์˜ Https ์ฐจ๋‹จ ๋ฐฉ์‹์€ SNI๊ฐ€ ํ‰๋ฌธ์œผ๋กœ ์ „์†ก๋œ๋‹ค๋Š” ์ ์„ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ https์—ฐ๊ฒฐ์ค‘ ์ฐจ๋‹จ SNI๋ผ๋ฉด ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ตํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋นจ๋ฆฌ ์‘๋‹ต(error page)๋ฅผ ๋ณด๋‚ด ์ฐจ๋‹จ ํ•˜๋Š” ๋ฐฉ์‹

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  • DoH / ESNI : CloudFlaure Dns (1.1.1.1)์ด ESNI๋ฅผ ์ง€์›ํ•˜๋Š” ์ ์„ ์ด์šฉํ•˜์—ฌ ํœด๋Œ€ํฐ์€ ์–ดํ”Œ์„ ํ†ตํ•ด ์šฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ , PC๋Š” ์ด๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜๋Š” ๊ฒƒ์€ ์•„์ง firefox๋ฟ์ด๋‹ค.

    ๋‹จ์  : ์ ‘์†ํ•˜๋Š” ip์ฃผ์†Œ๋Š” ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ์ด ๋˜๊ณ  ํŠธ๋ž˜์ปค์˜ ์•„๋ฌด๋Ÿฐ ๋ฐฉ์–ด์„ฑ๋Šฅ์ด ์—†๋‹ค.

  • VPN : Virtural Private Network ์˜ ์•ฝ์ž๋กœ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ์™€ ์ต๋ช…์„ฑ ์œ ์ง€๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ  ๋ผ์šฐํŒ…ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋จผ ์ง€์—ญ์˜ ๋ผ์šฐํ„ฐ๋ถ€ํ„ฐ ์š”์ฒญ์„ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค.

  • MTU ์ชผ๊ฐœ๊ธฐ : Maximum Transmission Unit์˜ ์•ฝ์ž๋กœ ํ•œ๋ฒˆ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ท์˜ ์ตœ๋Œ€ ๋‹จ์œ„์ธ๋ฐ ๊ธฐ๋ณธ 1500byte๋กœ ์„ค์ •์ด ๋˜์–ด์žˆ๋Š”๋ฐ ์ž˜๊ฒŒ ์ชผ๊ฐœ์–ด ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ชผ๊ฐœ ์ ‘์†ํ•˜๋ ค๋Š” ๋„๋ฉ”์ธ์„ ์•Œ์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•

Last updated