TLS ko - FrankoonG/hy2scale GitHub Wiki

๐ŸŒ English | ไธญๆ–‡ | ํ•œ๊ตญ์–ด

TLS ์ธ์ฆ์„œ ๊ด€๋ฆฌ

HY2 SCALE์€ Hysteria 2, ์›น UI, IKEv2 MSCHAPv2๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ์ธ์ฆ์„œ๋ฅผ ๋‹ค๋ฃจ๋Š” ์ž‘์€ PKI UI๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

TLS ํŽ˜์ด์ง€

์ธ์ฆ์„œ ์ €์žฅ

์ธ์ฆ์„œ๋Š” /data/tls/ ์•„๋ž˜์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค:

/data/tls/
โ”œโ”€โ”€ default.crt     # PEM ์ธ์ฆ์„œ
โ”œโ”€โ”€ default.key     # ๊ฐœ์ธํ‚ค
โ””โ”€โ”€ default.name    # ํ‘œ์‹œ ์ด๋ฆ„

๊ฐ ์ธ์ฆ์„œ๋Š” {id}.crt, {id}.key, {id}.name ์‚ผ์ค‘ ์„ธํŠธ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ธ์ฆ์„œ

์ตœ์ดˆ ๋ถ€ํŒ… ์‹œ ์ž์ฒด ์„œ๋ช… ์ธ์ฆ์„œ๊ฐ€ ์ž๋™ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค:

  • ID โ€” default
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ โ€” ECDSA P-256
  • ์œ ํšจ ๊ธฐ๊ฐ„ โ€” 10๋…„
  • CN/SAN โ€” ๋…ธ๋“œ ID + ํŒŒ์ƒ ๋„๋ฉ”์ธ

Hysteria 2 QUIC ์„œ๋ฒ„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ธ์ œ๋“  ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž‘์—…

TLS ํ‘œ๋Š” HY2 SCALE ๊ณต์šฉ์˜ ใ€Œ๋จผ์ € ์„ ํƒ, ๊ทธ๋‹ค์Œ ์ž‘์—…ใ€ ํŒจํ„ด์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค: ์ธ์ฆ์„œ ํ–‰์„ ๋‹จ์ผ ํด๋ฆญํ•ด ๋‹จ์ผ ์„ ํƒํ•œ ๋’ค, ์นด๋“œ ์šฐ์ƒ๋‹จ์˜ ๋…น์ƒ‰ Edit ๋ฒ„ํŠผ (Bulk Delete์™€ + New ์‚ฌ์ด)์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์นด๋“œ ๋ณธ๋ฌธ ๋ฐ”๊นฅ โ€” ํŽ˜์ด์ง€ ํ—ค๋”ฉ, ์นด๋“œ ํ—ค๋” โ€” ์–ด๋””๋“  ํด๋ฆญํ•˜๋ฉด ๋‹จ์ผ ํ–‰ ์„ ํƒ์ด ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค (๋‹ค์ค‘ ์„ ํƒ์€ ์œ ์ง€). ์•ž์ชฝ ์ฒดํฌ๋ฐ•์Šค ์…€์€ ์ž‘์€ ์ž…๋ ฅ๋งŒ์ด ์•„๋‹ˆ๋ผ ํŒจ๋”ฉ์ด ์ ์šฉ๋œ ์˜์—ญ ์ „์ฒด๊ฐ€ ํด๋ฆญ ์˜์—ญ์ž…๋‹ˆ๋‹ค.

์ƒ์„ฑ

+ New๋ฅผ ํด๋ฆญํ•ด ํ•ญ๋ชฉ์„ ์ฑ„์›๋‹ˆ๋‹ค:

ํ•„๋“œ ์„ค๋ช…
์ด๋ฆ„ ํ‘œ์‹œ ์ด๋ฆ„
๋„๋ฉ”์ธ Subject Alternative Name (์‰ผํ‘œ ๊ตฌ๋ถ„)
์ผ์ˆ˜ ์œ ํšจ ๊ธฐ๊ฐ„ (๊ธฐ๋ณธ 3650)
CA ์ฒดํฌํ•˜๋ฉด CA ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑ

์ƒ์„ฑ๋œ ์ธ์ฆ์„œ๋Š” ๋žœ๋ค 128๋น„ํŠธ ์‹œ๋ฆฌ์–ผ๊ณผ ECDSA P-256์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

PEM ๊ฐ€์ ธ์˜ค๊ธฐ

PEM ํ…์ŠคํŠธ๋กœ ์ธ์ฆ์„œ์™€ ๊ฐœ์ธํ‚ค๋ฅผ ๋ถ™์—ฌ ๋„ฃ์Šต๋‹ˆ๋‹ค.

๊ฒฝ๋กœ์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ

๋””์Šคํฌ์˜ ๊ธฐ์กด ํŒŒ์ผ (/etc/letsencrypt/live/example.com/fullchain.pem ๋“ฑ)์„ UI์— ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์€ /data/tls/๋กœ ๋ณต์‚ฌ๋˜๋ฉฐ, ์ดํ›„ ์›๋ณธ ๋ณ€๊ฒฝ์€ ์ถ”์ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

CA๋กœ ์„œ๋ช…

๋ชฉ๋ก์— CA ์ธ์ฆ์„œ๊ฐ€ ์žˆ๋‹ค๋ฉด Sign์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค: ์„œ๋ช…์ž๋ฅผ ์„ ํƒํ•˜๊ณ  subject CN ๋ฐ SAN์„ ์ž…๋ ฅํ•˜๊ณ  ์œ ํšจ ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•˜๋ฉด, ๋ถ€๋ชจ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” CA ๋ฐฐ์ง€์™€ ํ•จ๊ป˜ ์ƒˆ ๋ฆฌํ”„ ์ธ์ฆ์„œ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

๋‚ด๋ณด๋‚ด๊ธฐ

๊ฐ ์ธ์ฆ์„œ์˜ PEM ๋ฒ„ํŠผ์ด ํ•ด๋‹น ์ธ์ฆ์„œ๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์‚ญ์ œ

๊ฒฝ๊ณ  โ€” Hysteria 2, HTTPS, IKEv2์—์„œ ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ์ธ์ฆ์„œ๋ฅผ ๋‹ค๋ฅธ ์ธ์ฆ์„œ๋กœ ๋จผ์ € ์ „ํ™˜ํ•˜์ง€ ์•Š๊ณ  ์‚ญ์ œํ•˜์ง€ ๋งˆ์„ธ์š”. ์‚ฌ์šฉ ์ค‘์ธ ์ธ์ฆ์„œ๋ฅผ ์‚ญ์ œํ•˜๋ฉด ์žฌ์„ค์ • ์ „๊นŒ์ง€ ์„œ๋น„์Šค๊ฐ€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

์ธ์ฆ์„œ ์‚ฌ์šฉ์ฒ˜

์„œ๋น„์Šค ์—ญํ• 
Hysteria 2 ํ•„์ˆ˜ โ€” QUIC TLS
์›น UI HTTPS ์„ ํƒ โ€” /scale์— ๋Œ€ํ•œ HTTPS
IKEv2 MSCHAPv2 ํ•„์ˆ˜ โ€” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์— ์ž์‹ ์„ ์ธ์ฆ

Hysteria 2

๊ธฐ๋ณธ ์ž์ฒด ์„œ๋ช… ์ธ์ฆ์„œ๋Š” ๋ฉ”์‹œ ๋ฆด๋ ˆ์ด์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค (ํ”ผ์–ด๊ฐ€ insecure: true๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ca๋กœ ์ธ์ฆ์„œ๋ฅผ ๊ณ ์ •). ๊ณต๊ฐœ Hysteria 2 ํด๋ผ์ด์–ธํŠธ์šฉ์œผ๋กœ๋Š” Let's Encrypt๋‚˜ ์ž์ฒด CA์˜ ์‹ค์ œ ์ธ์ฆ์„œ๋กœ ๊ต์ฒดํ•˜์„ธ์š”.

HTTPS ์›น UI

์„ค์ • โ†’ Web โ†’ HTTPS์—์„œ ์ธ์ฆ์„œ๋ฅผ ์„ ํƒํ•˜์„ธ์š”. ์ดํ›„ HTTP ์š”์ฒญ์€ HTTPS๋กœ ๋ฆฌ๋””๋ ‰ํŠธ๋ฉ๋‹ˆ๋‹ค.

IKEv2 MSCHAPv2 โ€” CA ์›Œํฌํ”Œ๋กœ

MSCHAPv2๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„ ์ธ์ฆ์„œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ถŒ์žฅ ํ๋ฆ„:

  1. CA ์ธ์ฆ์„œ๋ฅผ Generateํ•ฉ๋‹ˆ๋‹ค (CA ์ฒดํฌ๋ฐ•์Šค ์„ ํƒ).
  2. Proxies โ†’ IKEv2/IPsec์—์„œ ์„œ๋ฒ„ ์ธ์ฆ์„œ ์„ ํƒ๊ธฐ๋กœ CA๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ์‹œ์ž‘ ์‹œ HY2 SCALE์ด CN/SAN์ด local_id์™€ ์ผ์น˜ํ•˜๋Š” ์„œ๋ฒ„ ์ธ์ฆ์„œ๋ฅผ CA๋กœ ์ž๋™ ์„œ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ตœ๋Œ€ ํด๋ผ์ด์–ธํŠธ ํ˜ธํ™˜์„ฑ (iOS / macOS / Windows / Android)์„ ์œ„ํ•ด RSA-2048์ž…๋‹ˆ๋‹ค.
  4. CA ์ธ์ฆ์„œ๋ฅผ ๋‚ด๋ณด๋‚ด ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ ๊ธฐ๊ธฐ์— ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  5. ์ดํ›„ ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๋ฅผ ์‹ ๋ขฐํ•˜๊ณ  HY2 SCALE ์‚ฌ์šฉ์ž๋ช… + ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค.

CA ์ธ์ฆ์„œ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ

CA ์ธ์ฆ์„œ๋Š” ๋ชฉ๋ก์— CA ๋ฐฐ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌํ”„ ์ธ์ฆ์„œ๋Š” ์„œ๋ช…์ž ์ด๋ฆ„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. PKI๋ฅผ ์‚ฌ์šฉํ•ด:

  • IKEv2 ์„œ๋ฒ„ ์ธ์ฆ์„œ๋ฅผ ์ž๋™ ์„œ๋ช…
  • ๋‹ค๋ฅธ ๋‚ด๋ถ€ ์„œ๋น„์Šค์šฉ ํ•˜์œ„ ์ธ์ฆ์„œ ์„œ๋ช…
  • ์™ธ๋ถ€ ์˜์กด์„ฑ ์—†์ด ์†Œ๊ทœ๋ชจ ๋ฉ”์‹œ ์ „์ฒด PKI ๊ตฌ์ถ•