์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
Server Name Indication

1. ๊ฐœ์š”2. ์•”ํ˜ธํ™”
2.1. ESNI2.2. ECH
3. ์ธํ„ฐ๋„ท ๊ฒ€์—ด
3.1. 2019๋…„ 2์›” 11์ผ ํ•ด์™ธ ์‚ฌ์ดํŠธ ์ฐจ๋‹จ
4. ๋„๋ฉ”์ธ ํ”„๋ŸฐํŒ…5. ๊ด€๋ จ ๋ฌธ์„œ

1. ๊ฐœ์š”[ํŽธ์ง‘]

TLS์˜ ํ™•์žฅ ํ‘œ์ค€ ์ค‘ ํ•˜๋‚˜๋กœ, ์ธ์ฆ์„œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

์ด ๊ธฐ์ˆ ์ด ๋‚˜์˜ค๊ฒŒ ๋œ ํฐ ์ด์œ ๋Š” ํ•˜๋‚˜์˜ ์›น์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ ์›น์‚ฌ์ดํŠธ๋ฅผ ์„œ๋น„์Šคํ•˜๋ฉด์„œ ์ธ์ฆ์„œ ์ธ์ฆ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ธฐ์กด๊นŒ์ง€๋Š” ๋Œ€์ƒ ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ์™€ ๋„๋ฉ”์ธ์ด 1:1 ๋Œ€์‘ ๊ด€๊ณ„๋ผ์„œ ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ ์ œ๊ณต์— ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์ง€๋งŒ, ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์„ ํ•˜๋‚˜์˜ IP ์ฃผ์†Œ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ์„œ๋น„์Šค๊ฐ€ ๋Œ€์ค‘ํ™”๋˜๋ฉด์„œ ๋ณด๋‚ผ ์ธ์ฆ์„œ๋ฅผ ํŠน์ •ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋ฉด์„œ ๋„๋ฉ”์ธ ์ •๋ณด๋ฅผ ๋ณด๋‚ด๋„๋ก ๋ณ€๊ฒฝํ•œ ๊ฒƒ์ด๋‹ค.

์ด SNI๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ํ•˜๋‚˜์˜ ์›น ์„œ๋ฒ„์—์„œ ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์˜ ์›น์‚ฌ์ดํŠธ๋ฅผ ์„œ๋น„์Šคํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•œ HTTPS๋ฅผ ํ™œ์„ฑํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

2. ์•”ํ˜ธํ™”[ํŽธ์ง‘]

TLS ํ‘œ์ค€์—๋Š” SNI ์•”ํ˜ธํ™”๊ฐ€ ์—†์–ด์„œ, SNI ๋ถ€๋ถ„์ด ํ‰๋ฌธ ํ˜•ํƒœ๋กœ ์ „์†ก๋œ๋‹ค. ์ด๋กœ ์ธํ•ด ์ œ 3์ž์—๊ฒŒ ์‰ฝ๊ฒŒ ๋…ธ์ถœ์ด ๋˜์–ด ๋ณด์•ˆ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์—, TLS์— SNI์˜ ์•”ํ˜ธํ™” ๊ทœ๊ฒฉ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฌธ์ œ๋Š” ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋…ผ์˜๋˜์–ด ์™”๋‹ค.

DNS ์•”ํ˜ธํ™”๋ž‘ ๋‹ฌ๋ฆฌ ์ดˆ์•ˆ, ์ฆ‰ ๋น„ํ‘œ์ค€์ด๋‹ค. ๊ทธ๋Ÿฐ ์ด์œ ๋กœ Firefox๋Š” ์‹คํ—˜์ ์œผ๋กœ ์ง€์›ํ•˜๊ณ , ๋‚˜๋จธ์ง€ ๋ธŒ๋ผ์šฐ์ €๋“ค์€ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋‚˜๋ฌด์œ„ํ‚ค๋„ ํŒŒ์ด์–ดํญ์Šค๋กœ ์ ‘์†ํ•˜๋ฉด SSL_ERROR_MISSING_ESNI_EXTENSION์ด๋ผ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋œฐ ๋•Œ๊ฐ€ ๋งŽ๋‹ค.

2.1. ESNI[ํŽธ์ง‘]

2018๋…„ 7์›” 2์ผ์— Apple, Cloudflare, Fastly, Mozilla์— ์˜ํ•ด ์ž‘์„ฑ๋œ, TLS 1.3์„ ์ „์ œ๋กœ ํ•œ ํ™•์žฅ ๊ทœ๊ฒฉ์œผ๋กœ์„œ์˜ SNI ์•”ํ˜ธํ™” ๊ทœ๊ฒฉ์˜ ์ดˆ์•ˆ ๋ฌธ์„œ๊ฐ€ IETF์— ๋“ฑ์žฌ๋๋‹ค. Encrypted Server Name Indication, ์ค„์—ฌ์„œ ESNI ๋ผ๊ณ  ํ•œ๋‹ค.

2018๋…„ 9์›” 24์ผ์— Cloudflare๊ฐ€ ์œ„ ์ดˆ์•ˆ ๊ทœ๊ฒฉ์— ์˜ํ•œ ESNI ์‹œ๋ฒ” ์„œ๋น„์Šค๋ฅผ ๊ฐœ์‹œํ–ˆ๋‹ค.

2018๋…„ 12์›” 12์ผ๋ถ€ํ„ฐ Firefox์˜ ์ตœ์‹  ์•ˆ์ •ํ™” ๋ฒ„์ „์—์„œ ESNI ์ง€์›์ด ์‹œ์ž‘๋˜์—ˆ๋‹ค. ๋ฐ˜๋ฉด 2019๋…„ 2์›” ๊ธฐ์ค€ ์—ฃ์ง€, ํฌ๋กฌ ๋“ฑ ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค. IE๋Š” ์ง€์›๋  ๊ฐ€๋Šฅ์„ฑ์ด ์ ˆ๋Œ€ ์—†์œผ๋‹ˆ ์ œ๋ฐœ ๊ฐ–๋‹ค ๋ฒ„๋ฆฌ์ž.

์ด ESNI ๊ตฌํ˜„์€ ํด๋ผ์ด์–ธํŠธ ๋ธŒ๋ผ์šฐ์ €์— ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ์‹œ์ ์„ DNS ํ†ต์‹  ๋‹จ๊ณ„๋กœ ์•ž๋‹น๊ฒจ์„œ, ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐํ•˜๋Š” ์‹œ์ ์— ํ•ด๋‹น ๊ณต๊ฐœํ‚ค๋กœ ๋„๋ฉ”์ธ์ด ์•”ํ˜ธํ™”๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํŒŒ์ด์–ดํญ์Šค๋Š” ESNI ๊ตฌํ˜„์ด DNS ํ†ต์‹ ์˜ ์•”ํ˜ธํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š” ์ƒํ™ฉ์—์„œ๋Š” ๋ณ„ ์˜๋ฏธ๊ฐ€ ์—†๋‹ค๋Š” ์ ์„ ๋“ค์–ด, ESNI๊ฐ€ ์ž‘๋™ํ•˜๋ ค๋ฉด DoH(DNS over HTTPS)๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์„ ๊ฒƒ์„ ์š”๊ตฌํ•˜๊ณ  ์žˆ๋‹ค. ์ฐจํ›„ ์šด์˜์ฒด์ œ ๊ธฐ๋Šฅ์— DNS ํ†ต์‹  ์•”ํ˜ธํ™”๊ฐ€ ๊ตฌํ˜„๋˜๊ฑฐ๋‚˜ ํ”Œ๋ž˜๊ทธ ๋“ฑ์ด ๋งŒ๋“ค์–ด์ ธ์„œ ์•”ํ˜ธํ™” ํ†ต์‹ ์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค๋ฉด ์šด์˜์ฒด์ œ ๊ธฐ๋Šฅ์œผ๋กœ๋„ ESNI๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ์ œ์•ฝ์ด ํ’€๋ฆด ๋“ฏ.
๋ชจ์งˆ๋ผ ํŒŒ์ด์–ดํญ์Šค(๋ฒ„์ „ 64 ์ด์ƒ)์—์„œ์˜ ํ™œ์„ฑํ™” ๋ฐฉ๋ฒ•
  1. ํŒŒ์ด์–ดํญ์Šค ์ฃผ์†Œ์ฐฝ์— about:config ๋ฅผ ์ณ์„œ ๊ณ ๊ธ‰ ์„ค์ •์ฐฝ์— ์ ‘์†ํ•œ๋‹ค. ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๋ฉด, ใ€Œ์œ„ํ—˜์„ ๊ฐ์ˆ˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!ใ€ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ง„ํ–‰ํ•œ๋‹ค.
  2. ํ™”๋ฉด ์ƒ๋‹จ์˜ ๊ฒ€์ƒ‰์ฐฝ์— trr์ด๋ผ๊ณ  ์ž…๋ ฅํ•œ๋‹ค. ์ž๋™์œผ๋กœ ๊ฒ€์ƒ‰์ด ์ด๋ฃจ์–ด์ง„๋‹ค.
  3. network.trr.mode๋ผ๋Š” ์„ค์ •๊ฐ’์˜ ์ˆซ์ž๋ฅผ 2๋กœ ๋ฐ”๊พผ๋‹ค.[1]
  4. ๋งŒ์•ฝ์— network.trr.uri๊ฐ€ ๋น„์–ด์žˆ๋‹ค๋ฉด https://mozilla.cloudflare-dns.com/dns-query๋กœ ๋ฐ”๊พผ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์„ ์‹ ๊ทœ ์„ค์น˜ํ•˜์˜€์„ ๊ฒฝ์šฐ ์ด ๋ถ€๋ถ„์— ์ด๋ฏธ ํ•ด๋‹น ์ฃผ์†Œ๊ฐ’์ด ์ž…๋ ฅ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, ๊ฑด๋“œ๋ฆด ํ•„์š” ์—†๋‹ค.
  5. ํ™”๋ฉด ์ƒ๋‹จ์˜ ๊ฒ€์ƒ‰์ฐฝ์—์„œ trr์„ ์ง€์šด ๋‹ค์Œ esni๋ผ๊ณ  ์ž…๋ ฅํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•œ๋‹ค.
  6. network.security.esni.enabled๋ฅผ true๋กœ ๋ฐ”๊พผ๋‹ค.
  7. ๊ณ ๊ธ‰ ์„ค์ •์ฐฝ์„ ๋‹ซ๋Š”๋‹ค.
์กฐ๊ธˆ ๋” ์„ค์ •ํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ์„ค๋ช…
network.trr.mode
0์€ ๊ธฐ๋ณธ๊ฐ’(ํ˜„์žฌ๋Š” ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ), 1์€ DNS์™€ DoH[2] ์ค‘ ๋น ๋ฅธ ์ชฝ์„ ํƒํ•ด์„œ ์ ‘์†, 2๋Š” DoH ์ ‘์†์„ ๋จผ์ € ์‹œ๋„ํ•œ ๋‹ค์Œ ์‹คํŒจํ•˜๋ฉด DNS๋กœ ์ ‘์†, 3์€ DoH๋งŒ ์ด์šฉ, 5๋Š” ์ด ๊ธฐ๋Šฅ์„ ์™„์ „ํžˆ ๊บผ๋ฒ„๋ฆผ.
network.trr.uri
DoH๋ฅผ ์ด์šฉํ•  ์ฃผ์†Œ. DoH์˜ ์ •์˜์ƒ ๋ฐ˜๋“œ์‹œ https://๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ฃผ์†Œ๋ผ์•ผ ํ•œ๋‹ค. ํ˜„์žฌ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ฃผ์†Œ๋Š” https://mozilla.cloudflare-dns.com/dns-query์™€ https://dns.google.com/experimental, https://dns.quad9.net/dns-query ๊ทธ๋ฆฌ๊ณ  https://dns.adguard.com/dns-query๋“ฑ์ด ์žˆ๋‹ค.
network.trr.bootstrapAddress
์œ„ network.trr.uri์— ๊ธฐ์žฌ๋œ DoH ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ. DoH ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋Š” ์ดˆ๊ธฐ๋‹จ๊ณ„์— ์„œ๋ฒ„๋ช…์„ IP์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๋ณดํ†ต ์ด๋Š” ๊ธฐ๋ณธ DNS๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋ค„์ง€์ง€๋งŒ ๊ธฐ๋ณธ DNS๊ฐ€ DoH ์„œ๋ฒ„๋ฅผ ๋ง‰๋Š” ๊ฒฝ์šฐ๋‚˜ ๋˜๋Š” ๊ธฐ๋ณธ DNS๋ฅผ ์ „ํ˜€ ์“ฐ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ (์ฆ‰ network.trr.mode๋ฅผ 3์œผ๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ) DoH ์„œ๋ฒ„๋ช…์„ ์ˆ˜๋™์œผ๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์—ฌ๊ธฐ์— ์ž…๋ ฅํ•œ๋‹ค. https://dns.google.com/๋“ฑ์˜ DNS๋„๊ตฌ๋กœ DoH ์„œ๋ฒ„๋ช…์„ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฅผ ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค. mozilla.cloudflare-dns.com โ†’ 104.16.248.249, dns.google.com โ†’ 8.8.8.8 ์ด๋Ÿฐ ์‹์ด๋‹ค.
network.trr.wait-for-portal
์™€์ดํŒŒ์ด ์ ‘์†์‹œ ์ฒ˜์Œ์— ๊ด‘๊ณ  ํŽ˜์ด์ง€ ๋“ฑ์ด ๊ฐ•์ œ๋กœ ๋œจ๋Š”์ง€ ํ™•์ธํ• ์ง€์˜ ์—ฌ๋ถ€. ๊ทธ๋Ÿฐ ๊ด‘๊ณ  ํŽ˜์ด์ง€์—์„œ๋Š” ๋ณดํ†ต DoH๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์กด์žฌํ•˜๋Š” ์˜ต์…˜์ด๋‹ค. ๋˜๋„๋ก์ด๋ฉด ๊ธฐ๋ณธ๊ฐ’์ธ true๋กœ ๋†”๋‘๊ณ  ๊ฑด๋“œ๋ฆฌ์ง€ ๋ง์ž.
network.trr.confirmationNS
์œ„ wait-for-portal์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์“ฐ๋Š” ์‚ฌ์ดํŠธ ์ฃผ์†Œ. ๊ธฐ๋ณธ๊ฐ’์€ http://example.com์ด๋‹ค. ๊ฑด๋“œ๋ฆด ํ•„์š” ์—†๋‹ค.

Firefox ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์žฌ์‹œ์ž‘[3]ํ•œ ํ›„ ํด๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด ESNI Checker ์‚ฌ์ดํŠธ์—์„œ ์ •์ƒ์ ์šฉ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, DNS๊ฐ€ ํด๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ Secure DNS ํ•ญ๋ชฉ์€ ๋ถˆํ™•์‹คํ•  ์ˆ˜ ์žˆ๋‹ค.

์ž์ž˜ํ•œ ํŒ์œผ๋กœ, ๊ฐ€๋” ESNI ์ž‘๋™์ด ํ’€๋ฆด ๊ฒฝ์šฐ network.trr.mode ๋ฐ network.security.esni.enabled ์„ค์ •์„ ๋ฐ”๊ฟจ๋‹ค๊ฐ€ ๋ณต์›ํ•˜๋ฉด ๊ธฐ๋Šฅ์ด ๋Œ์•„์˜จ๋‹ค.

ํด๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฐœ๋ณ„ ์›น์‚ฌ์ดํŠธ์—์„œ ์•”ํ˜ธํ™” ์—ฌ๋ถ€๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด, ๋„๋ฉ”์ธ ๋’ค์— /cdn-cgi/trace๋ฅผ ๋ถ™์—ฌ ์ ‘์†ํ•˜๋ฉด ๋œ๋‹ค. ๋‚˜๋ฌด์œ„ํ‚ค๋ผ๋ฉด https://namu.wiki/cdn-cgi/trace๋กœ, ํŒŒ์ด์–ดํญ์Šค์—์„œ ์œ„ ์„ค์ •์„ ๋งˆ์นœ ๋’ค ์ ‘์†ํ•˜๋ฉด tls=TLSv1.3, sni=encrypted๋ผ๋Š” ๊ฐ’์ด ๋‚˜์˜ฌ ๊ฒƒ์ด๋‹ค.

2018๋…„ 10์›” 24์ผ, ๋ฏธ๊ตญ ์˜ค๋ ˆ๊ณค ์ƒ์›์˜์› Ron Wyden์ด ๋ฏธ๊ตญ ๊ตญํ† ์•ˆ๋ณด๋ถ€์— ๊ตญ๋‚ด ๊ธฐ์—…๋“ค์— ๋Œ€ํ•œ DNS ์•”ํ˜ธํ™” ๋ฐ ESNI์˜ ์ ์šฉ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋„๋ก ์›€์ง์—ฌ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜์˜€๋‹ค. #

2021๋…„ 1์›” 26์ผ์— ์ถœ์‹œ๋˜๋Š” Firefox 85๋ถ€ํ„ฐ๋Š” ํ›„์ˆ ํ•  ECH๋กœ ๋Œ€์ฒด๋˜์–ด ์ง€์›์ด ์‚ญ์ œ๋œ๋‹ค. ๊ธฐ์กด ESNI๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์žฅ๊ธฐ์ง€์›์šฉ ESR ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

2.2. ECH[ํŽธ์ง‘]

2020๋…„ 6์›” 1์ผ, Encrypted ClientHello, ์ค„์—ฌ์„œ ECH ๋ผ๋Š” ๋ช…์นญ์„ ๊ฐ€์ง„ ์ƒˆ ์•”ํ˜ธํ™” ๊ทœ๊ฒฉ์ด ๊ณต๊ฐœ๋˜์—ˆ๋‹ค. SNI ์•”ํ˜ธํ™” ๊ธฐ์ˆ ์ด ํ™•๋Œ€๋˜์–ด TLS์˜ ClientHello ์ „๋ถ€๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋„๋ก ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค. ํ‰๋ฌธ SNI์ธ ClientHelloOuter์™€ ์•”ํ˜ธํ™”๋œ SNI์ธ ClientHelloInner๋กœ ์ด๋ฃจ์–ด์ € ์žˆ์œผ๋ฉฐ, ์„œ๋ฒ„๊ฐ€ ์•”ํ˜ธํ™”๋ฅผ ์ง€์›ํ•˜๋ฉด ClientHelloInner๋ฅผ, ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฉด ClientHelloOuter๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋ ‡๊ฒŒ ๋  ๊ฒฝ์šฐ ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ClientHelloOuter์˜ ํ‰๋ฌธ SNI๋ฅผ ํƒˆ์ทจํ•ด์„œ ๋‹ค์‹œ ๊ฒ€์—ด์ด ๊ฐ€๋Šฅํ•ด ์งˆ ๊ฑฐ๋ผ๋Š” ์šฐ๋ ค์˜ ๋ชฉ์†Œ๋ฆฌ๋„ ์žˆ๋‹ค.[4] ๋ณธ๊ฒฉ์ ์œผ๋กœ ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋˜์–ด์•ผ ์‚ฌ์‹ค ์—ฌ๋ถ€๋ฅผ ์•Œ ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋„ˆ๋ฌด ์ ˆ๋งํ•˜์ง€๋Š” ๋ง์ž.

2021๋…„ 1์›” 26์ผ, Firefox 85๊ฐ€ ์ถœ์‹œ๋˜๋ฉด์„œ ๊ธฐ์กด์˜ ESNI ์ง€์›์ด ์‚ญ์ œ๋˜๊ณ , ECH๋กœ ๋Œ€์ฒด๋˜์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํด๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด ๋“ฑ์—์„œ ECH๋ฅผ ์•„์ง ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ ESNI ๊ธฐ์ˆ ์ด ์ƒ๋‹น์ˆ˜์˜ ์›น์‚ฌ์ดํŠธ์—์„œ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๊ณ  ์žˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ํด๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด ์—ญ์‹œ ESNI์—์„œ ECH๋กœ์˜ ์›€์ง์ž„์„ ๋ณด์ด๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„์ง๊นŒ์ง€ ๊ทธ๋ฆผ์˜ ๋–ก์œผ๋กœ ๋‹จ์ •์ง“๊ธฐ์—” ์ด๋ฅด๋‹ค.

about:config์—์„œ network.dns.echconfig.enabled , network.dns.use_https_rr_as_altsvc ๋ฅผ true๋กœ ์„ค์ •ํ•˜์—ฌ ECH๋ฅผ ํ™œ์„ฑํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

3. ์ธํ„ฐ๋„ท ๊ฒ€์—ด[ํŽธ์ง‘]

ํ˜„์žฌ HTTPS๋Š” ์•”ํ˜ธํ™”๋ฅผ ์œ„ํ•ด TLS๋ฅผ ์ด์šฉํ•˜๋Š”๋ฐ, ์ด ๊ฒฝ์šฐ ์ธ์ฆ ํ›„์˜ ์‚ฌ์šฉ์ž์™€ ์›น์„œ๋ฒ„ ์‚ฌ์ด์˜ ํ†ต์‹ ์€ ์•”ํ˜ธํ™”๋˜์ง€๋งŒ, ์ธ์ฆ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ํ†ต์‹ ์€ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š๊ณ  ์ง„ํ–‰๋œ๋‹ค. ์ด ์ธ์ฆ ๊ณผ์ •์—์„œ SNI ํŒจํ‚ท์„ ์ฃผ๊ณ  ๋ฐ›์•„์•ผ ํ•˜๊ณ , ์ด SNI ํŒจํ‚ท์— ๊ธฐ๋ก๋œ ๋„๋ฉ”์ธ์„ ๋ณด๊ณ  ํŠน์ • ์›น์‚ฌ์ดํŠธ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ์‹์œผ๋กœ ์ด์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ›„์ˆ ํ•  ํ•ด์™ธ ์‚ฌ์ดํŠธ ์ฐจ๋‹จ์ด ๋ฐ”๋กœ ์ด ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•œ ๊ฒƒ์ด๋‹ค.

์œ„์— ๋‚˜์™€ ์žˆ๋“ฏ์ด ์›น์‚ฌ์ดํŠธ๊ฐ€ TLS 1.3์„ ์ง€์›ํ•˜๊ณ  SNI ์•”ํ˜ธํ™”๊ฐ€ ๊ตฌํ˜„๋œ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋ฉด SNI ํŒจํ‚ท์— ๊ธฐ๋ก๋œ ๋„๋ฉ”์ธ ๋˜ํ•œ ์•”ํ˜ธํ™”๋˜๋ฏ€๋กœ ์ฐจ๋‹จ์„ ํšŒํ”ผํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ์•„์ง ์ •์‹ ํ‘œ์ค€์œผ๋กœ ์ฑ„ํƒ๋˜์ง€ ์•Š์€ ์ดˆ์•ˆ ๋‹จ๊ณ„์ด๊ธฐ ๋•Œ๋ฌธ์— ์ ์šฉ๋˜๋Š” ๊ณณ์ด ๋งŽ์ง€ ์•Š๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํด๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ๋Š” TLS 1.3์™€ SNI ์•”ํ˜ธํ™”๊ฐ€ ์ง€์›๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ฐจ๋‹จ๋˜์–ด๋„ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ํด๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š๋Š” ์‚ฌ์ดํŠธ๋„ ์ƒ๋‹นํžˆ ๋งŽ๊ณ , ๊ทธ๋Ÿฐ ์‚ฌ์ดํŠธ๋“ค์€ ์ง์ ‘ ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ๋ฅผ ์ค€๋น„ํ•ด์•ผ ํ•ด์„œ TLS 1.3 ๋ฒ„์ „์˜ ๋„์ž…๋„ ๋Šฆ์–ด์ง€๋ฏ€๋กœ ํ‘œ์ค€ํ™”๋˜์ง€ ์•Š์€ SNI ์•”ํ˜ธํ™”์˜ ๋„์ž…์€ ์ƒ๋‹นํžˆ ๋จผ ์ผ์ด ๋œ๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ € ๋˜ํ•œ ์•„์ง ๋ชจ์งˆ๋ผ ํŒŒ์ด์–ดํญ์Šค๋งŒ ์ง€์›ํ•˜๋ฉฐ, ๊ทธ๋งˆ์ €๋„ ์ง์ ‘ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์ธ TLS ํ†ต์‹  ์†Œํ”„ํŠธ์›จ์–ด์ธ OpenSSL์€ SNI ์•”ํ˜ธํ™”์— ๋Œ€ํ•ด ํ‘œ์ค€ ๋“ฑ์žฌ ์ดํ›„์— ์ง€์›ํ•  ๊ฒƒ์ด๋ผ ์–ธ๊ธ‰ํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค. nginx ๊ฐ™์€ ์›น์„œ๋ฒ„๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ OpenSSL์„ ํ™œ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— OpenSSL์˜ SNI ์•”ํ˜ธํ™” ๊ตฌํ˜„ ์ดํ›„์—์•ผ ์ง€์› ๊ฐ€๋Šฅํ•  ๊ฒƒ์ด๋ผ๊ณ  ํ•œ๋‹ค. #

3.1. 2019๋…„ 2์›” 11์ผ ํ•ด์™ธ ์‚ฌ์ดํŠธ ์ฐจ๋‹จ[ํŽธ์ง‘]

4. ๋„๋ฉ”์ธ ํ”„๋ŸฐํŒ…[ํŽธ์ง‘]

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ์— ์ด SNI ์˜์—ญ์„ ํ—ˆ์œ„์˜ ๋„๋ฉ”์ธ ์ •๋ณด๋กœ ์†์—ฌ์„œ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐ๋ฒ•์„ ๋„๋ฉ”์ธ ํ”„๋ŸฐํŒ…(Domain fronting)์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๊ธฐ๋ฒ•์€ ์ธํ„ฐ๋„ท ๊ฒ€์—ด์— ๋Œ€ํ•ญํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๋‹นํžˆ ์“ฐ์ธ ๋ฐ” ์žˆ๊ณ , ์šฐํšŒ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•œ ์ค‘๊ตญ์ธ ์ค‘ 35%๊ฐ€ ์ด ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๊ธฐ๋„ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ด ๊ธฐ๋ฒ•์€ ๋™์‹œ์— ํ•ดํ‚น ๋“ฑ์œผ๋กœ ์•…์šฉ๋˜๊ธฐ๋„ ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์—(ํ…”๋ ˆ๊ทธ๋žจ์˜ ๋„๋ฉ”์ธ ํ”„๋ŸฐํŒ… ํ–‰์œ„์— ๋Œ€ํ•œ ๋Ÿฌ์‹œ์•„ ์ •๋ถ€์˜ ์••๋ฐ•์ด๋ผ๋Š” ์„ค๋„ ์žˆ๋‹ค), ๊ตฌ๊ธ€๊ณผ ์•„๋งˆ์กด์€ ์•ฝ๊ด€์— ๊ทผ๊ฑฐํ•˜์—ฌ ๋„๋ฉ”์ธ ํ”„๋ŸฐํŒ… ํ–‰์œ„๋ฅผ ๋ง‰์•˜๊ณ , ์ด์— ์˜ํ–ฅ์„ ๋ฐ›์€ Signal Private Messenger ์ธก์€ ๋‘ ํšŒ์‚ฌ๋ฅผ ๋น„ํŒํ•˜๋Š” ์„ฑ๋ช…์„ ๊ฒŒ์‹œํ•˜๊ธฐ๋„ ํ•˜์˜€๋‹ค.

5. ๊ด€๋ จ ๋ฌธ์„œ[ํŽธ์ง‘]

[1] TRR๊ด€๋ จ ์„ค์ •์€ ๋ธŒ๋ผ์šฐ์ € ์„ค์ •์ฐฝ์˜ ๋„คํŠธ์›Œํฌ ์„ค์ •์—์„œ๋„ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ณ , ์—ฌ๊ธฐ์„œ ํŽธ์ง‘ํ•˜๋Š”๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.
[2] DNS over HTTPS
[3] ์ตœ์‹  Nightly ๋ฒ„์ „์˜ ๊ฒฝ์šฐ ์žฌ์‹œ์ž‘ํ•  ํ•„์š” ์—†์ด ๊ณง๋ฐ”๋กœ ์„ค์ •์ด ์ ์šฉ๋˜์ง€๋งŒ, ์ž˜ ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๊ธ‰์  ํ•œ๋ฒˆ ์™„์ „ํžˆ ๊ป๋‹ค ์ผœ์ฃผ๋Š” ๊ฒƒ์ด ํ™•์‹คํ•˜๋‹ค.
[4] ECH ๋ฏธ์ง€์› ์‚ฌ์ดํŠธ๋Š” ๊ฒ€์—ด์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฒƒ์œผ๋กœ ๋ณผ ๋•Œ, ์‹ค์ œ๋กœ ๋ฏธ์ง€์› ์‚ฌ์ดํŠธ์—์„œ์˜ ํƒˆ์ทจ๋Š” ๊ฐ€๋Šฅํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.