PKI/TLS 4

SSL ์ธ์ฆ์„œ์™€ https ๋„๋ฉ”์ธ ์ฃผ์†Œ ์—ฐ๊ด€์„ฑ

์ผ๋ฐ˜์ ์œผ๋กœ ์šฐ๋ฆฌ๋‚˜๋ผ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ธ์ฆ์„œ์ค‘์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ ๋˜๋Š” ์ธ์ฆ์„œ๊ฐ€ ๊ณต๋™ ์ธ์ฆ์„œ์™€ SSL ์šฉ ์ธ์ฆ์„œ์ด๋‹ค. ์‚ฌ์‹ค ์ธ์ฆ์„œ๋Š” ์ธ์ฆ์„œ์˜ ์šฉ๋„์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ํ”„๋กœํŒŒ์ผ์— ๋”ฐ๋ผ ๋งŒ๋“ค์–ด ์ง€๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ธํ„ฐ๋„ท ๋ฑ…ํ‚น ๊ฐ™์€ ๊ณต๋™์ธ์ฆ์„œ๋Š” KISA ์—์„œ ํ•ด๋‹น ์ธ์ฆ์„œ ํ”„๋กœํŒŒ์ผ์„ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋Ÿผ SSL ์— ์ง€์ •๋œ ์ธ์ฆ์„œ์˜ ์ฃผ์š” ํ”„๋กœํŒŒ์ผ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž ์—ฌ๊ธฐ์„œ SSL ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ ํ•˜๋Š” CA ์ธ์ฆ์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ CA ์šฉ ์ธ์ฆ์„œ๋ผ ์„ค๋ช…์„ ์ œ์™ธ ํ•œ๋‹ค. ์‚ฌ์‹ค SSL ์ธ์ฆ์„œ๋Š” ์ง€์ •๋œ ๋„๋ฉ”์ธ๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค. ์ฆ‰ SSL ์ธ์ฆ์„œ๋Š” ์ง€์ •๋œ ๋„๋ฉ”์ธ ์ฃผ์†Œ์—์„œ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ง€์ •๋œ ๋„๋ฉ”์ธ์ด ์•„๋‹ˆ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ด ๋„๋ฉ”์ธ ์ฃผ์†Œ๋Š” ์ธ์ฆ์„œ ์ฃผ์ฒด์ž์˜ DN (Distinguished Name) ๋ถ€๋ถ„์—์„œ CN (Commo..

PKI/TLS 2023.06.08

TLS ํ•ธ๋“œ์‰์ดํฌ ๊ธฐ๋Šฅ ๊ฐ„๋‹จ ์„ค๋ช…

TLS ํ•ธ๋“œ์‰์ดํฌ์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํžˆ ์š”์•ฝ์„ ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค ClientHello ( Client ) ์„œ๋ฒ„์—๊ฒŒ TLS ์—ฐ๊ฒฐ์„ ์ฒ˜์Œ ์‹œ๋„ ํ•œ๋‹ค ์•ˆ๋…•ํ•˜๋Š” ์ธ์‚ฌ ํด๋ผ์ด์–ธํŠธ์˜ ๋žœ๋ค ๊ฐ’๊ณผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ Cipher Suite ์ •๋ณด๋ฅผ ์•Œ๋ ค ์ค€๋‹ค. DTLS ์—์„œ๋Š” cookie ๊ฐ’์ด ์—†์ด ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ๋ฐ›์œผ๋ฉด ๊ทธ ๊ฐ’์„ ์‚ฌ์šฉํ•ด์„œ ClientHello ๋ฅผ ํ•œ๋ฒˆ๋” ์‚ฌ์šฉ ํ•œ๋‹ค. HelloVerifyRequest ( Server ) DTLS ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„ธ์ง€ ์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ cookie ๊ฐ’์„ ์ „๋‹ฌํ•˜์—ฌ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๊ตฌ๋ถ„๊ฐ’์œผ๋กœ ์“ด๋‹ค (DTLS๋Š” ์—ฐ๊ฒฐ ๋ณด์žฅ์ด ์•ˆ๋˜์š”) ServerHello ( Server ) ClientHello ์—์„œ ๋ฐ›์€ Cipher Suite ์—์„œ ์ตœ์ข… ์‚ฌ์šฉํ•  Cipher Suite ๊ฐ’์„ ์•Œ๋ ค์ค€๋‹ค. ..

PKI/TLS 2023.06.08

TLS ์—์„œ ECDH ํ‚ค ํ•ฉ์˜ ๊ฒฝ์šฐ PRF (PseudoRandom Function) ๋ฐฉ์‹

TLS ํ”„๋กœํ† ์ฝœ์€ ์•”ํ˜ธํ™” ํ†ต์‹ ์ด๋‹ค. ์ด ๋•Œ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— ํ‚ค์— ๋Œ€ํ•œ ํ•ฉ์˜๊ฐ€ ์ด๋ฃจ์–ด ์ ธ์•ผ ํ•˜๋Š”๋ฐ ์ด ๋•Œ PRF๋ฅผ ํ†ตํ•ด ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ํ˜„์žฌ ์„ค๋ช…์€ ECDH ๋ฅผ ํ†ตํ•œ ํ‚ค ์ƒ์„ฑ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๋‹ค. ์ฐธ๊ณ ๋กœ ์•„๋ž˜ ์„ค๋ช… ํ•˜๋Š” ๋‚ด์šฉ์€ RFC5246 ์„ ๋‚ด์šฉ์„ ๋ถ„์„ํ•œ ๊ฒƒ์ด๋‹ค. P_hash(secret, seed) = HMAC_hash(secret, A(1) + seed) + HMAC_hash(secret, A(2) + seed) + HMAC_hash(secret, A(3) + seed) + ... A() is defined as: A(0) = seed A(i) = HMAC_hash(secret, A(i-1)) PRF(secret, label, seed) = P_(secret, label + seed) ๊ฐ„๋‹จํžˆ ๋ง..

PKI/TLS 2023.04.14

TLS ์™€ DTLS ๋ฒ„์ „ 1.2 ์— ๊ด€ํ•œ ํŠน์„ฑ

์ด ๊ธ€์€ ๋‚ด๊ฐ€ ECDSA ๊ธฐ๋ฐ˜ TLS 1.2 ์™€ DTLS 1.2 ์ŠคํŽ™์„ ๊ตฌํ˜„ ํ•˜๋ฉด์„œ ์•Œ๊ฒŒ ๋œ ๋‚ด์šฉ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ๋ณด๋‹ˆ ์•Œ๊ฒŒ ๋œ ๋ฉ”๋ชจ๊ธ€์ด๋ผ ์ˆ˜์‹œ๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์˜ˆ์ •์ด๋‹ค. ๊ธฐ์กด์— TLS ๊ด€๋ จ ์ง€์‹์€ ๋‹ค์Œ ๋งํฌ๋ฅผ ์ฐธ์กฐ ํ•˜๋ฉด ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋‹จ์ง€ ๊ฐœ๋ฐœ ํ•˜๋ฉด์„œ ํŒŒ์•…๋œ ๋‚ด์šฉ์„ ๊ฐ„๋‹จํžˆ ๊ธฐ๋ก ํ•˜์˜€๋‹ค. ๋งŒ์•ฝ์— TLS์— ๊ด€ํ•œ ๊ธฐ๋ณธ ์ง€์‹์„ ํŒŒ์•…ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐ ํ•˜์„ธ์š”. TLS ์— ๊ด€ํ•œ ์ •๋ณด ๋งํฌ https://dokydoky.tistory.com/462 https://dokydoky.tistory.com/463 https://dokydoky.tistory.com/464 DTLS ํŠน์„ฑ DTLS ( Datagram Transformt Layer ) ๋Š” UDP ํ™˜๊ฒฝ์—์„œ TLS ์ „์†ก์„ ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  D..

PKI/TLS 2023.04.11