๋ฌธ์ ๋ TLS ์ฌ์์ ์ง์ ์ ์ผ๋ก ์กด์ฌํ๋ฉฐ DH ํค ๊ตํ ํ๋กํ ์ฝ(Diffie-Hellman, TLS_DH_*") ๊ธฐ๋ฐ ์ํธ๋ฅผ ์ฌ์ฉํ๋ ์ฐ๊ฒฐ์๋ง ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ECDH ์ํธํ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ผ๋ฉฐ ๋ณด์์ด ์ ์ง๋ฉ๋๋ค. ๋ฒ์ 1.2๊น์ง์ TLS ํ๋กํ ์ฝ๋ง ์ทจ์ฝํ๋ฉฐ TLS 1.3์ ์ด ๋ฌธ์ ์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค. ์ด ์ทจ์ฝ์ ์ ๋ค์ํ TLS ์ฐ๊ฒฐ์์ DH ๋น๋ฐ ํค๋ฅผ ์ฌ์ฌ์ฉํ๋ TLS ๊ตฌํ์์ ๋ฐ์ํฉ๋๋ค(์ด ๋์์ Alexa Top 4.4M ์๋ฒ์ ์ฝ 1%์์ ๋ฐ์ํฉ๋๋ค).
OpenSSL 1.0.2e ๋ฐ ์ด์ ๋ฆด๋ฆฌ์ค์์๋ SSL_OP_SINGLE_DH_USE ์ต์ ์ ๋ช ์์ ์ผ๋ก ์ค์ ํ์ง ์๋ ํ ๋ชจ๋ ์๋ฒ ์ฐ๊ฒฐ์์ DH ๊ธฐ๋ณธ ํค๊ฐ ์ฌ์ฌ์ฉ๋ฉ๋๋ค. OpenSSL 1.0.2f๋ถํฐ DH ๊ธฐ๋ณธ ํค๋ ์ ์ DH ์ํธ("DH-*", ์: "DH-RSA-AES256-SHA")๋ฅผ ์ฌ์ฉํ ๋๋ง ์ฌ์ฌ์ฉ๋ฉ๋๋ค. OpenSSL 1.1.1์์๋ ์ด ์ทจ์ฝ์ ์ด ๋ํ๋์ง ์์ต๋๋ค. ์ด ๋ถ๊ธฐ๋ DH ๊ธฐ๋ณธ ํค๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ ์ DH ์ํธ๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
DH ํค ๊ตํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฐ๊ฒฐ ์์ชฝ์์ ์์์ ๊ฐ์ธ ํค(์ดํ ํค "a" ๋ฐ ํค "b")๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณต๊ฐ ํค(ga mod p ๋ฐ gb mod p)๊ฐ ๊ณ์ฐ๋์ด ์ ์ก๋ฉ๋๋ค. ๊ฐ ๋น์ฌ์๊ฐ ๊ณต๊ฐ ํค๋ฅผ ๋ฐ์ ํ ์ธ์ ํค๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ณตํต ๊ธฐ๋ณธ ํค(gab mod p)๊ฐ ๊ณ์ฐ๋ฉ๋๋ค. Raccoon ๊ณต๊ฒฉ์ ์ฌ์ฉํ๋ฉด ๋ฒ์ 1.2๊น์ง์ TLS ์ฌ์์์๋ ๊ธฐ๋ณธ ํค์ ๊ด๋ จ๋ ๊ณ์ฐ ์ ์ ๊ธฐ๋ณธ ํค์ ๋ชจ๋ ์ ํ null ๋ฐ์ดํธ๋ฅผ ์ญ์ ํด์ผ ํ๋ค๋ ์ฌ์ค์ ๊ธฐ๋ฐ์ผ๋ก ๋ถ์ฑ๋ ๋ถ์์ ํตํด ๊ธฐ๋ณธ ํค๋ฅผ ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
์๋ฆฐ ๊ธฐ๋ณธ ํค๋ฅผ ํฌํจํ๋ฉด ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ง์ฐ ์๊ฐ์ด ๋ค๋ฅธ ํด์ ํจ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ธ์
ํค ์์ฑ ๊ธฐ๋ฅ์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ์๋ฒ๊ฐ ์ํํ๋ ํค ์ฐ์ฐ์ ํ์ด๋ฐ์ ์ ํํ๊ฒ ์ธก์ ํ๋ฉด ๊ณต๊ฒฉ์๋ ๊ธฐ๋ณธ ํค๊ฐ ์ฒ์๋ถํฐ ์์๋๋์ง ์ฌ๋ถ๋ฅผ ํ๋จํ ์ ์๋ ๋จ์(์ค๋ผํด)๋ฅผ ํ์
ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ณต๊ฒฉ์๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ๊ณต๊ฐ ํค(ga)๋ฅผ ๊ฐ๋ก์ฑ์ ์๋ฒ๋ก ๋ค์ ์ ์กํ๊ณ
๊ฒฐ๊ณผ ๊ธฐ๋ณธ ํค๊ฐ XNUMX๋ถํฐ ์์ํ๋์ง ์ฌ๋ถ.
๊ทธ ์์ฒด๋ก๋ ํค์ XNUMX๋ฐ์ดํธ๋ฅผ ์ ์ํ๋ ๊ฒ๋ง์ผ๋ก๋ ์๋ฌด ๊ฒ๋ ์ป์ ์ ์์ง๋ง ์ฐ๊ฒฐ ํ์ ์ค์ ํด๋ผ์ด์ธํธ๊ฐ ์ ์กํ "ga" ๊ฐ์ ๊ฐ๋ก์ฑ์ ๊ณต๊ฒฉ์๊ฐ "ga"์ ๊ด๋ จ๋ ๋ค๋ฅธ ๊ฐ ์ธํธ๋ฅผ ์์ฑํ์ฌ ํด๋ผ์ด์ธํธ๋ก ๋ณด๋ผ ์ ์์ต๋๋ค. ๋ณ๋์ ์ฐ๊ฒฐ ํ์ ์ธ์
์์ ์๋ฒ. ๊ณต๊ฒฉ์๋ "gri*ga" ๊ฐ์ ์์ฑํ๊ณ ์ ์กํจ์ผ๋ก์จ ์๋ฒ ์๋ต ์ง์ฐ์ ๋ณํ๋ฅผ ๋ถ์ํ์ฌ XNUMX๋ถํฐ ์์ํ๋ ๊ธฐ๋ณธ ํค๋ฅผ ์์ ํ๊ฒ ๋๋ ๊ฐ์ ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฐ์ ๊ฒฐ์ ํ ํ ๊ณต๊ฒฉ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์ ์ ์ธํธ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
OpenSSL ์ทจ์ฝ์
์ถ๊ฐ ๋ฌธ์ ๋ ๋ณ๋๋ก ์ธ๊ธ๋ฉ๋๋ค(
์ถ์ฒ : opennet.ru