L7 ์ ํ๋ฆฌ์ผ์ด์
์ ์ก ๊ณ์ธต์ ์ ์ก ์ ์ด๋ฅผ ํ๊ณ ์ ํ๋ฆฌ์ผ์ด์
๋ณ๋ก ํจํท์ ๋ถ๋ฅํ๋ ๊ฒ ๊น์ง๋ง ๋ด๋นํ๋ค. ์ ํ๋ฆฌ์ผ์ด์
๊ณ์ธต์ ํจํท์ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ์ฒ๋ฆฌํ๊ณ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ์ฌ์ฉ์๋ฅผ ์ฐ๊ฒฐํ๋ ๊ณ์ธต์ด๋ค.
OSI 7๊ณ์ธต์ L5, L6์ ๋ค๋ฃจ์ง ์๋ ์ด์
OSI 7๊ณ์ธต ๋ชจ๋ธ์์๋ ์ธ์
๊ณ์ธต(L5)๊ณผ ํ๋ ์ ํ
์ด์
๊ณ์ธต(L6)์ด ๋ณ๋๋ก ์ ์๋์ด ์๋ค. ์ธ์
๊ณ์ธต์ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ์ ์ธ์
(์ฐ๊ฒฐ) ์ค์ , ๊ด๋ฆฌ, ์ข
๋ฃ๋ฅผ ๋ด๋นํ๊ณ , ํ๋ ์ ํ
์ด์
๊ณ์ธต์ ๋ฐ์ดํฐ์ ํ์ ๋ณํ, ์ํธํ, ์์ถ์ ๋ด๋นํ๋ค.
ํ์ง๋ง ํ๋ ์ธํฐ๋ท์ ๊ทผ๊ฐ์ธ TCP/IP ๋ชจ๋ธ์์๋ ์ด ๋ ๊ณ์ธต์ ์ ํ๋ฆฌ์ผ์ด์
๊ณ์ธต๊ณผ ๋ถ๋ฆฌํ์ง ์๋๋ค. TCP/IP ๋ชจ๋ธ์ OSI์ L5~L7์ ํ๋์ ์ ํ๋ฆฌ์ผ์ด์
๊ณ์ธต์ผ๋ก ํตํฉํ๋ฉฐ ์ธ์
๊ด๋ฆฌ๋ ๋ฐ์ดํฐ ํํ ๋ฐฉ์์ ๊ฐ ์ ํ๋ฆฌ์ผ์ด์
ํ๋กํ ์ฝ์ด ์์ฒด์ ์ผ๋ก ์ฒ๋ฆฌํ๋ค. ์๋ฅผ ๋ค์ด TCP๋ ์ด๋ฏธ ์ ์ก ๊ณ์ธต์์ ์ฐ๊ฒฐ์ ์ค์ ๊ณผ ํด์ (3-way handshake, 4-way handshake)๋ฅผ ๊ด๋ฆฌํ๊ณ TLS๋ ์ ํ๋ฆฌ์ผ์ด์
ํ๋กํ ์ฝ ์์ค์์ ์ํธํ์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ฒ๋ฆฌํ๋ค.
์ค์ ๋ก RFC 3439์๋ "Layering considered harmful"์ด๋ผ๋ ์น์
์ด ์์ ์ ๋๋ก ์๊ฒฉํ ๊ณ์ธต ๋ถ๋ฆฌ๋ณด๋ค๋ ์ค์ฉ์ ์ธ ํ๋กํ ์ฝ ์ค๊ณ๊ฐ ์ค์๋๋ค. ์ด๋ฌํ ์ด์ ๋ก ์ด ์ฑ
์์๋ L5, L6์ ๋ณ๋๋ก ๋ค๋ฃจ์ง ์๊ณ ์ ํ๋ฆฌ์ผ์ด์
ํ๋กํ ์ฝ๋ก ํตํฉํ์ฌ ์ค๋ช
ํ๋ค.
๋ค์ํ ํ๋กํ ์ฝ
์ด ์ฑ
์์๋ HTTP, SSL/TLS, DNS, DHCP์ ๋ํด์ ๋ค๋ฃฌ๋ค.
-
HTTP(Hypertext Transfer Protocol): ์น ๋ธ๋ผ์ฐ์ ์ ์น ์๋ฒ ๊ฐ์ ํต์ ์ ์ํ ํ๋กํ ์ฝ์ด๋ค. ์์ฒญ-์๋ต ๋ฐฉ์์ผ๋ก ๋์ํ๋ฉฐ, ์น ํ์ด์ง, ์ด๋ฏธ์ง, API ๋ฐ์ดํฐ ๋ฑ ๋ค์ํ ๋ฆฌ์์ค๋ฅผ ์ ์กํ๋ค.
-
SSL/TLS(Secure Sockets Layer/Transport Layer Security): ๋คํธ์ํฌ ํต์ ์ ์ํธํํ์ฌ ๋ณด์์ ์ ๊ณตํ๋ ํ๋กํ ์ฝ์ด๋ค. HTTPS๋ HTTP์ TLS๋ฅผ ๊ฒฐํฉํ ๊ฒ์ผ๋ก ์น์์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ณด์ ํต์ ๋ฐฉ์์ด๋ค.
-
DNS(Domain Name System): ๋๋ฉ์ธ ์ด๋ฆ(์: www.example.com)์ IP ์ฃผ์๋ก ๋ณํํ๋ ์์คํ
์ด๋ค. ์ฌ์ฉ์๊ฐ ๊ธฐ์ตํ๊ธฐ ์ฌ์ด ๋๋ฉ์ธ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์น์ฌ์ดํธ์ ์ ์ํ ์ ์๊ฒ ํด์ค๋ค.
-
DHCP(Dynamic Host Configuration Protocol): ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ์ฅ์น์๊ฒ IP ์ฃผ์, ์๋ธ๋ท ๋ง์คํฌ, ๊ธฐ๋ณธ ๊ฒ์ดํธ์จ์ด, DNS ์๋ฒ ๋ฑ์ ๋คํธ์ํฌ ์ค์ ์ ์๋์ผ๋ก ํ ๋นํ๋ ํ๋กํ ์ฝ์ด๋ค.
HTTP๋ ๋ฐ๋ก ์ ๋ฆฌํ์ง ์์ ๊ฒ์ด๊ณ , TLS, DNS, DHCP์ ๋ํด์๋ง ์ ๋ฆฌ ํ ๊ฒ์ด๋ค.
TLS
TLS(SSL)์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํธํํ๋ ํ๋กํ ์ฝ์ด๋ค.
SSL์์ TLS๋ก์ ์ ํ
SSL์ 1995๋
Netscape๊ฐ ์น ํต์ ๋ณด์์ ์ํด ๊ฐ๋ฐํ ํ๋กํ ์ฝ์ด๋ค. SSL 2.0์ด ์ต์ด๋ก ๊ณต๊ฐ๋์์ง๋ง ์ฌ๊ฐํ ๋ณด์ ์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋์ด 1996๋
SSL 3.0์ผ๋ก ๋์ฒด๋์๋ค. ์ดํ IETF(Internet Engineering Task Force)๊ฐ SSL์ ํ์คํํ๋ ๊ณผ์ ์์ ํ๋กํ ์ฝ ์ด๋ฆ์ด TLS(Transport Layer Security)๋ก ๋ณ๊ฒฝ๋์๋ค. 1999๋
TLS 1.0์ด RFC 2246์ผ๋ก ๋ฐํ๋์๋๋ฐ ์ด๋ SSL 3.0์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ํธ ์ด์ฉ์ฑ์ด ์์ ์ ๋๋ก ์ถฉ๋ถํ ์ฐจ์ด๊ฐ ์์๋ค.
SSL 3.0์ 2014๋
POODLE(Padding Oracle On Downgraded Legacy Encryption) ๊ณต๊ฒฉ ์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋ ํ 2015๋
๊ณต์์ ์ผ๋ก ํ๊ธฐ๋์๋ค. TLS 1.0๊ณผ 1.1๋ 2020๋
์ฃผ์ ๋ธ๋ผ์ฐ์ ๋ค์ ์ํด ์ง์์ด ์ค๋จ๋์๊ณ 2021๋
RFC 8996์ ํตํด ๊ณต์ ํ๊ธฐ๋์๋ค.
ํ์ฌ๋ TLS 1.2(2008๋
์ถ์)์ TLS 1.3(2018๋
์ถ์)์ด ์ฌ์ฉ๋๋ฉฐ TLS 1.3์ด ๊ถ์ฅ๋๋ค.
์ฑ
์์๋ TLS 1.2์ RSA๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๋ช
ํ๊ณ ์์ง๋ง ์ด ํฌ์คํ
์์๋ TLS 1.3๊ณผ Ed25519, X25519๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ฆฌ ํ ๊ฒ์ด๋ค.
TLS๋ก ๋ง์ ์ ์๋ ์ํ
TLS๋ ์คํธํ, ๋ณ์กฐ, ๋์ฒญ์ด๋ผ๋ ์ธ ๊ฐ์ง ์ฃผ์ ๋ณด์ ์ํ์ ๋ฐฉ์งํ๋ค.
์ํธํ๋ก ๋์ฒญ ๋ฐฉ์ง
๋์ฒญ์ ํต์ ๋น์ฌ์๊ฐ ์๋ ์ 3์๊ฐ ๋คํธ์ํฌ๋ฅผ ํ๋ฅด๋ ๋ฐ์ดํฐ๋ฅผ ๋ชฐ๋ ๊ฐ๋ก์ฑ ์ฝ๋ ํ์์ด๋ค. ๊ณต๊ณต ์์ดํ์ด์์ ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ํ์น๊ฑฐ๋ ๋คํธ์ํฌ ํจํท์ ์บก์ฒํ์ฌ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ํ์ทจํ๋ ๊ฒ์ด ๋ํ์ ์ธ ์๋ค.
์ํธํ๋ ์ ํด์ง ๊ท์น(์ํธํ ์๊ณ ๋ฆฌ์ฆ)์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๋ ๊ธฐ์ ์ด๋ค. TLS๋ ๋์นญํค ์ํธํ๋ฅผ ์ฌ์ฉํ์ฌ ํต์ ๋ด์ฉ์ ์ํธ๋ฌธ์ผ๋ก ๋ณํํ๋ค. ๋์ฒญ์๊ฐ ์ํธํ๋ ํจํท์ ๊ฐ๋ก์ฑ๋๋ผ๋ ๋ณตํธํ ํค ์์ด๋ ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ์ ์ ์๋ค.
ํด์ฑ์ผ๋ก ๋ณ์กฐ ๋ฐฉ์ง
๋ณ์กฐ(Tampering)๋ ํต์ ์ค์ธ ๋ฐ์ดํฐ๋ฅผ ์ 3์๊ฐ ์ค๊ฐ์์ ๊ฐ๋ก์ฑ์ด ๋ด์ฉ์ ๋ฐ๊พธ๋ ํ์์ด๋ค. ์๋ฅผ ๋ค์ด ์ํ ์ก๊ธ ์์ฒญ์์ ์์ ์ ๊ณ์ข๋ฒํธ๋ ๊ธ์ก์ ๋ณ๊ฒฝํ๋ ์ค๊ฐ์ ๊ณต๊ฒฉ(Man-in-the-Middle Attack)์ด ์๋ค.
ํด์ฑ์ ๋ถ๊ท์นํ ๊ธธ์ด์ ๋ฐ์ดํฐ์์ ์ ํด์ง ๊ณ์ฐ(ํด์ฑ ์๊ณ ๋ฆฌ์ฆ)์ ๋ฐ๋ผ ๊ณ ์ ๋ ๊ธธ์ด์ ๋ฐ์ดํฐ(ํด์๊ฐ)๋ฅผ ์์ฑํ๋ ๊ธฐ์ ์ด๋ค. TLS๋ ๋ฉ์์ง ์ธ์ฆ ์ฝ๋(MAC)๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ๋ฉ์์ง์ ํด์ ๊ธฐ๋ฐ ํ๊ทธ๋ฅผ ๋ถ์ธ๋ค. ์์ ์๋ ๋ฐ์ ๋ฐ์ดํฐ๋ก ๋์ผํ ํด์๋ฅผ ๊ณ์ฐํ๊ณ ์ก์ ์๊ฐ ๋ณด๋ธ MAC ํ๊ทธ์ ๋น๊ตํ๋ค. ๋ง์ฝ ๋ฐ์ดํฐ๊ฐ ์กฐ๊ธ์ด๋ผ๋ ๋ณ๊ฒฝ๋์๋ค๋ฉด ํด์๊ฐ์ด ์์ ํ ๋ฌ๋ผ์ง๋ฏ๋ก ๋ณ์กฐ๋ฅผ ์ฆ์ ํ์งํ ์ ์๋ค.
๋์งํธ ์ธ์ฆ์๋ก ์คํธํ ๋ฐฉ์ง
์คํธํ(Spoofing)์ ๊ณต๊ฒฉ์๊ฐ ๋ค๋ฅธ ์๋ฒ๋ ์ฌ์ฉ์๋ก ์์ฅํ์ฌ ํต์ ์๋๋ฐฉ์ ์์ด๋ ํ์์ด๋ค. ๊ฐ์ง ์ํ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด ์ฌ์ฉ์์ ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ํ์ทจํ๋ ํผ์ฑ ๊ณต๊ฒฉ์ด ๋ํ์ ์ด๋ค.
๋์งํธ ์ธ์ฆ์๋ ์ธํฐ๋ท์ ์๋ ๋ค๋ฅธ ๋จ๋ง์ "๋๋ ์ง์ง์
๋๋ค!"๋ผ๊ณ ์ฆ๋ช
ํ๋ ํ์ผ์ด๋ค. TLS๋ ์ ๋ขฐํ ์ ์๋ ์ธ์ฆ ๊ธฐ๊ด(CA, Certificate Authority)์ด ๋ฐ๊ธํ ๋์งํธ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ์ ์ ์์ ๊ฒ์ฆํ๋ค. ํด๋ผ์ด์ธํธ๋ ์๋ฒ๊ฐ ์ ์ํ ์ธ์ฆ์๊ฐ ์ ๋ขฐํ ์ ์๋ CA์ ์ํด ์๋ช
๋์๋์ง ์ธ์ฆ์์ ๋๋ฉ์ธ์ด ์ ์ํ๋ ค๋ ๋๋ฉ์ธ๊ณผ ์ผ์นํ๋์ง ํ์ธํ๋ค. ์ด ๊ฒ์ฆ์ ํตํด ๊ฐ์ง ์๋ฒ์ ์ฐ๊ฒฐ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.
TLS๋ฅผ ์งํฑํ๋ ๊ธฐ์
TLS๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ, ํค ๊ตํ ์๊ณ ๋ฆฌ์ฆ, ๋์ง์ปฌ ์๋ช
์๊ณ ๋ฆฌ์ฆ, ๋ฉ์์ง ์ธ์ฆ ์๊ณ ๋ฆฌ์ฆ 4๊ฐ์ง ๊ธฐ์ ์ ์กฐํฉํ์ฌ ์ฌ์ฉํ๋ค.
์ํธํ ์๊ณ ๋ฆฌ์ฆ
์ํธํ๋ ํ๋ฌธ(์๋ณธ ๋ฐ์ดํฐ)์ ์ํธ๋ฌธ(์ฝ์ ์ ์๋ ํํ)์ผ๋ก ๋ณํํ๋ ๊ณผ์ ์ด๋ฉฐ ๋ณตํธํ๋ ์ํธ๋ฌธ์ ๋ค์ ํ๋ฌธ์ผ๋ก ๋๋๋ฆฌ๋ ๊ณผ์ ์ด๋ค. TLS์์ ์ค์ ๋ฐ์ดํฐ ์ํธํ์๋ ๋์นญํค(๊ณตํตํค) ์ํธํ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
๋์นญํค ์ํธํ๋ ์ํธํ์ ๋ณตํธํ์ ๋์ผํ ํค๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค. AES-GCM์ด๋ ChaCha20-Poly1305 ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ด ๋ํ์ ์ด๋ฉฐ ์ฒ๋ฆฌ ์๋๊ฐ ๋นจ๋ผ ๋์ฉ๋ ๋ฐ์ดํฐ ์ํธํ์ ์ ํฉํ๋ค.
ํ์ง๋ง ๋์นญํค ์ํธํ์๋ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๊ฐ ์๋ค. ํต์ ์ ์์ํ๊ธฐ ์ ์ ์์ธก์ด ๋์ผํ ํค๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋๋ฐ ์ด ํค๋ฅผ ์ด๋ป๊ฒ ์์ ํ๊ฒ ์ ๋ฌํ ๊ฒ์ธ๊ฐ? ํค๋ฅผ ํ๋ฌธ์ผ๋ก ๋คํธ์ํฌ์ ์ ์กํ๋ฉด ๋์ฒญ์์๊ฒ ํ์ทจ๋นํ ์ ์๋ค. ํค๊ฐ ํ์ทจ๋๋ฉด ํด๋น ํค๋ก ์ํธํ๋ ๋ชจ๋ ํต์ ๋ด์ฉ์ด ๋
ธ์ถ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก 'ํค ์ ๋ฌ ๋ฌธ์ '์ด๋ฉฐ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํค ๊ตํ ์๊ณ ๋ฆฌ์ฆ์ด ํ์ํ๋ค.
ํค ๊ตํ ์๊ณ ๋ฆฌ์ฆ
๊ณตํตํค ์ํธ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ํค ์ ๋ฌ์ ๋ณด์ ๋ฌธ์ ๋ฅผ ํผํ ์ ์๋ค. ํค ๊ตํ ์๊ณ ๋ฆฌ์ฆ์ ๋์ฒญ์๊ฐ ์ง์ผ๋ณด๋ ๊ณต๊ฐ ์ฑ๋์ ํตํด์๋ ์์ธก์ด ์์ ํ๊ฒ ๊ณต์ ๋น๋ฐ(Shared Secret)์ ์์ฑํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ์ ์ด๋ค.
RSA์ ๋ฌธ์ ์
์ด์ ์๋ RSA ํค ๊ตํ์ ์ฌ์ฉํ๋ค. ํด๋ผ์ด์ธํธ๊ฐ ๋ฌด์์ ๋น๋ฐ๊ฐ์ ์์ฑํ๊ณ ์๋ฒ์ RSA ๊ณต๊ฐํค๋ก ์ํธํํ์ฌ ์ ์กํ๋ฉด ์๋ฒ๊ฐ ์์ ์ ๊ฐ์ธํค๋ก ๋ณตํธํํ๋ ๋ฐฉ์์ด๋ค. ํ์ง๋ง ์ด ๋ฐฉ์์๋ ์ฌ๊ฐํ ๋ฌธ์ ๊ฐ ์๋ค.
๋ง์ฝ ๊ณต๊ฒฉ์๊ฐ ์ํธํ๋ ํต์ ์ ๋ชจ๋ ์ ์ฅํด๋์๋ค๊ฐ, ๋์ค์ ์๋ฒ์ RSA ๊ฐ์ธํค๊ฐ ์ ์ถ๋๋ฉด ๊ณผ๊ฑฐ์ ๋ชจ๋ ํต์ ์ ๋ณตํธํํ ์ ์๋ค. ์ด๋ฅผ '์ ๋ฐฉ ๋น๋ฐ์ฑ(Forward Secrecy)'์ด ์๋ค๊ณ ํ๋ค.
X25519๋ก์ ์ ํ
TLS 1.3์์๋ RSA ํค ๊ตํ์ด ์์ ํ ์ ๊ฑฐ๋๊ณ , X25519(๋๋ ECDHE) ๊ฐ์ ์์(Ephemeral) Diffie-Hellman ํค ๊ตํ๋ง ์ฌ์ฉํ๋ค. X25519๋ Curve25519 ํ์ ๊ณก์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ ECDH(Elliptic Curve Diffie-Hellman) ํค ๊ตํ ํจ์๋ก Daniel J. Bernstein์ด 2006๋
์ ์ค๊ณํ๋ค.
X25519์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ๋ค:
- ์์ ์๋ฐฉํฅ ๋น๋ฐ์ฑ(Perfect Forward Secrecy): ๋งค ์ธ์
๋ง๋ค ์๋ก์ด ์์ ํค ์์ ์์ฑํ๋ฏ๋ก ์๋ฒ์ ์ธ์ฆ์ ๊ฐ์ธํค๊ฐ ์ ์ถ๋์ด๋ ๊ณผ๊ฑฐ ์ธ์
์ ํต์ ๋ด์ฉ์ ๋ณตํธํํ ์ ์๋ค.
- ๋์ ์ฑ๋ฅ: 256๋นํธ ํค๋ก 128๋นํธ ๋ณด์ ์์ค์ ์ ๊ณตํ๋ฉด์๋ ๊ธฐ์กด ์๊ณ ๋ฆฌ์ฆ๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๋ค.
- ๊ตฌํ ์์ ์ฑ: ํ์ด๋ฐ ๊ณต๊ฒฉ ๋ฑ ๋ถ์ฑ๋ ๊ณต๊ฒฉ์ ๊ฐํ๋๋ก ์ค๊ณ๋์๋ค.
X25519 ํค ๊ตํ ๋์ ์๋ฆฌ
- ํค ์ ์์ฑ: ์ํฌ์ ์ฒ ์๋ ๊ฐ๊ฐ 32๋ฐ์ดํธ์ ๋ฌด์์ ๊ฐ์ธํค(a, b)๋ฅผ ์์ฑํ๋ค.
- ๊ณต๊ฐํค ๊ณ์ฐ: ๊ฐ์ ์์ ์ ๊ฐ์ธํค์ ํ์ ๊ณก์ ์ ๊ธฐ์ค์ (G)์ ๊ณฑํ์ฌ ๊ณต๊ฐํค๋ฅผ ๊ณ์ฐํ๋ค. ์ํฌ์ ๊ณต๊ฐํค = a ร G, ์ฒ ์์ ๊ณต๊ฐํค = b ร G
- ๊ณต๊ฐํค ๊ตํ: ์ํฌ์ ์ฒ ์๋ ์์ ์ ๊ณต๊ฐํค๋ฅผ ์๋๋ฐฉ์๊ฒ ์ ์กํ๋ค. ์ด ๊ณต๊ฐํค๋ ๋์ฒญ์๊ฐ ๋ณผ ์ ์์ด๋ ์์ ํ๋ค.
- ๊ณต์ ๋น๋ฐ ๊ณ์ฐ: ์ํฌ๋ ์์ ์ ๊ฐ์ธํค(a)์ ์ฒ ์์ ๊ณต๊ฐํค(b ร G)๋ฅผ ๊ณฑํ์ฌ ๊ณต์ ๋น๋ฐ์ ๊ณ์ฐํ๋ค. ์ฒ ์๋ ์์ ์ ๊ฐ์ธํค(b)์ ์ํฌ์ ๊ณต๊ฐํค(a ร G)๋ฅผ ๊ณฑํ๋ค. ํ์ ๊ณก์ ์ ์ํ์ ํน์ฑ์ ์ํด a ร (b ร G) = b ร (a ร G)๊ฐ ์ฑ๋ฆฝํ๋ฏ๋ก, ์์ธก์ ๋์ผํ ๊ณต์ ๋น๋ฐ์ ์ป๋๋ค.
- ์ธ์
ํค ์ ๋: ๊ณต์ ๋น๋ฐ์ HKDF(HMAC-based Key Derivation Function)๋ฅผ ํตํด ์ค์ ์ํธํ์ ์ฌ์ฉํ ์ธ์
ํค๋ก ๋ณํ๋๋ค.
๋์ฒญ์๋ ๊ณต๊ฐํค(a ร G, b ร G)๋ง ๋ณผ ์ ์๋๋ฐ ์ฌ๊ธฐ์ ๊ฐ์ธํค(a, b)๋ฅผ ์์๋ด๋ ๊ฒ์ ํ์ ๊ณก์ ์ด์ฐ ๋ก๊ทธ ๋ฌธ์ (ECDLP)๋ฅผ ํธ๋ ๊ฒ์ผ๋ก ํ์ฌ ๊ธฐ์ ๋ก๋ ๊ณ์ฐ์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ๋ค.
๋์งํธ ์๋ช
์๊ณ ๋ฆฌ์ฆ
์์ ์ธ๊ธํ๋ฏ์ด TLS๋ ๋์งํธ ์ธ์ฆ์์ ํฌํจ๋ ๋์งํธ ์๋ช
์ ํตํด ์๋๋ฐฉ์ด ์ 3์๊ฐ ์ ๋ขฐ ํ ์์๋ ์๋์ธ์ง ์ฌ๋ถ๋ฅผ ํ๋จํ๋ค.
RSA์์ Ed25519๋ก
์์ ์๋ RSA๊ฐ ๋์งํธ ์๋ช
์ ๋๋ฆฌ ์ฌ์ฉ๋์์ง๋ง ๋ช ๊ฐ์ง ํ๊ณ๊ฐ ์๋ค. ๋๋ฑํ ๋ณด์ ์์ค์ ์ํด ํจ์ฌ ํฐ ํค ํฌ๊ธฐ๊ฐ ํ์ํ๊ณ (RSA 3072๋นํธ โ Ed25519 256๋นํธ) ์๋ช
์์ฑ ์๋๊ฐ ์๋์ ์ผ๋ก ๋๋ฆฌ๋ฉฐ ๊ตฌํ ์ ํจ๋ฉ ์ค๋ผํด ๊ณต๊ฒฉ ๋ฑ์ ์ทจ์ฝํ ์ ์๋ค.
Ed25519๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ํ๋์ ์ธ ๋์งํธ ์๋ช
์๊ณ ๋ฆฌ์ฆ์ด๋ค. Edwards ๊ณก์ ๊ธฐ๋ฐ์ EdDSA(Edwards-curve Digital Signature Algorithm) ๊ตฌํ์ฒด๋ก, Daniel J. Bernstein ํ์ด ์ค๊ณํ๋ค. 2023๋
FIPS 186-5์ ๊ณต์ ํฌํจ๋์ด ๋ฏธ๊ตญ ์ฐ๋ฐฉ ์ ๋ถ ์์คํ
์์๋ ์น์ธ๋ ์๋ช
์๊ณ ๋ฆฌ์ฆ์ด ๋์๋ค.
Ed25519์ ํน์ง
- ์์ ํค์ ์๋ช
ํฌ๊ธฐ: ๊ณต๊ฐํค 32๋ฐ์ดํธ, ์๋ช
64๋ฐ์ดํธ๋ก ๋งค์ฐ ์ปดํฉํธํ๋ค.
- ๋น ๋ฅธ ์ฑ๋ฅ: ์๋ช
์์ฑ์ด RSA๋ณด๋ค ์ฝ 33๋ฐฐ ๋น ๋ฅด๋ค.
- ๋์ ๋ณด์์ฑ: 128๋นํธ ๋ณด์ ์์ค์ ์ ๊ณตํ๋ฉฐ, ๋ถ์ฑ๋ ๊ณต๊ฒฉ์ ๊ฐํ๋๋ก ์ค๊ณ๋์๋ค.
- ๊ฒฐ์ ์ ์๋ช
: ๋์ ์์ฑ๊ธฐ์ ์์กดํ์ง ์์ ๊ตฌํ ์ค๋ฅ๋ก ์ธํ ๊ฐ์ธํค ๋
ธ์ถ ์ํ์ด ์๋ค. (Sony PlayStation 3 ํ์จ์ด ์๋ช
ํค ์ ์ถ ์ฌ๊ฑด์ ECDSA์ ์๋ชป๋ ๋์ ์ฌ์ฉ์ผ๋ก ๋ฐ์ํ๋ค.)
๋์งํธ ์๋ช
์์ฑ๊ณผ ๊ฒ์ฆ ๊ณผ์
์๋ช
์์ฑ (์๋ฒ/๋ฐ๊ธ์ ์ธก):
- ์๋ช
ํ ๋ฉ์์ง(์: ์ธ์ฆ์ ๋ด์ฉ)๋ฅผ ์ค๋นํ๋ค.
- ๊ฐ์ธํค์ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ์ฌ ํด์๋ฅผ ๊ณ์ฐํ๋ค.
- ์ด ํด์์ ๊ฐ์ธํค๋ฅผ ํ์ ๊ณก์ ์ฐ์ฐ์ ์ฌ์ฉํ์ฌ ์๋ช
๊ฐ(R, s)์ ์์ฑํ๋ค.
- ์๋ช
์ ๋ฉ์์ง(์ธ์ฆ์)์ ์ฒจ๋ถํ๋ค.
์๋ช
๊ฒ์ฆ (ํด๋ผ์ด์ธํธ ์ธก):
- ์๋ฒ๋ก๋ถํฐ ์ธ์ฆ์์ ์๋ช
์ ๋ฐ๋๋ค.
- ์ธ์ฆ์์ ํฌํจ๋ ๊ณต๊ฐํค๋ฅผ ์ถ์ถํ๋ค.
- ๊ณต๊ฐํค, ๋ฉ์์ง, ์๋ช
์ ์ฌ์ฉํ์ฌ ํ์ ๊ณก์ ๋ฐฉ์ ์์ ๊ฒ์ฆํ๋ค.
- ๋ฐฉ์ ์์ด ์ฑ๋ฆฝํ๋ฉด ์๋ช
์ด ์ ํจํ๊ณ , ์ธ์ฆ์๊ฐ ํด๋น ๊ฐ์ธํค ์์ ์์ ์ํด ์๋ช
๋์์์ด ์ฆ๋ช
๋๋ค.
ํต์ ์๋๋ฐฉ ์ธ์ฆ:
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ฐ๊ฒฐํ๋ฉด ์๋ฒ๋ ์์ ์ ๋์งํธ ์ธ์ฆ์๋ฅผ ์ ์ํ๋ค.
- ์ธ์ฆ์์๋ ์๋ฒ์ ๊ณต๊ฐํค์ CA(์ธ์ฆ ๊ธฐ๊ด)์ ๋์งํธ ์๋ช
์ด ํฌํจ๋์ด ์๋ค.
- ํด๋ผ์ด์ธํธ๋ ์ด๋ฏธ ์ ๋ขฐํ๊ณ ์๋ CA์ ๊ณต๊ฐํค๋ก ์ธ์ฆ์์ ์๋ช
์ ๊ฒ์ฆํ๋ค.
- ๊ฒ์ฆ์ด ์ฑ๊ณตํ๋ฉด ์ธ์ฆ์์ ์๋ ์๋ฒ ๊ณต๊ฐํค๊ฐ ์ง์ง ํด๋น ์๋ฒ์ ๊ฒ์์ด ๋ณด์ฅ๋๋ค.
๋ฉ์์ง ์ธ์ฆ ์๊ณ ๋ฆฌ์ฆ
TLS์์ ์์ ์ธ๊ธํ ๋์งํธ ์๋ช
์๊ณ ๋ฆฌ์ฆ์ ํต์ ์๋๋ฐฉ์ ์ธ์ฆํ๋ ๊ฒ์ผ ๋ฟ ์ดํ ์ฃผ๊ณ ๋ฐ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฐ์ดํฐ(๋ฉ์์ง)๋ฅผ ์ธ์ฆํ๋ ๊ฒ์ ์๋๋ค.
๋์งํธ ์๋ช
์ ๋น๋์นญํค ์ํธํ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ฐ์ฐ ๋น์ฉ์ด ๋๋ค. ๋งค ๋ฉ์์ง๋ง๋ค ์๋ช
์ ์์ฑํ๊ณ ๊ฒ์ฆํ๋ ๊ฒ์ ์ฑ๋ฅ์ ๋นํจ์จ์ ์ด๋ค. ๋ฐ๋ผ์ TLS๋ ํธ๋์
ฐ์ดํฌ ๊ณผ์ ์์ ํฉ์ํ ๋์นญํค๋ฅผ ์ฌ์ฉํ๋ MAC(Message Authentication Code)์ผ๋ก ๊ฐ ๋ฉ์์ง์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ธ์ฆ์ ๋ณด์ฅํ๋ค.
MAC์ด๋?
MAC์ ๋ฉ์์ง์ ๊ณต์ ๋น๋ฐํค๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฐ์ ๊ณ ์ ๊ธธ์ด์ ์ธ์ฆ ํ๊ทธ๋ฅผ ์์ฑํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋จ์ํ ํด์์ ๋ฌ๋ฆฌ, ๋น๋ฐํค๊ฐ ์์ผ๋ฉด ์ฌ๋ฐ๋ฅธ MAC ํ๊ทธ๋ฅผ ์์ฑํ ์ ์๋ค. ๋ฐ๋ผ์ MAC์ ๋ฉ์์ง ๋ฌด๊ฒฐ์ฑ(๋ณ์กฐ ์ฌ๋ถ)๊ณผ ๋ฉ์์ง ์ธ์ฆ(๋ฐ์ ์ ํ์ธ)์ ๋์์ ์ ๊ณตํ๋ค.
TLS์์๋ ์ฃผ๋ก HMAC(Hash-based MAC)์ ์ฌ์ฉํ๋ค. HMAC์ SHA-256 ๊ฐ์ ํด์ ํจ์์ ๋น๋ฐํค๋ฅผ ๊ฒฐํฉํ์ฌ MAC ํ๊ทธ๋ฅผ ์์ฑํ๋ค. TLS 1.3์์๋ AEAD(Authenticated Encryption with Associated Data) ๋ชจ๋์ธ AES-GCM์ด๋ ChaCha20-Poly1305๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ด๋ค์ ์ํธํ์ ๋ฉ์์ง ์ธ์ฆ์ ๋์์ ์ํํ๋ค.
MAC์ผ๋ก ๋ณ์กฐ ๊ฒ์ฆํ๋ ๊ณผ์
- ์ก์ ์: ์ํธํ๋ ๋ฉ์์ง์ ๊ณต์ ๋น๋ฐํค๋ฅผ MAC ์๊ณ ๋ฆฌ์ฆ์ ์
๋ ฅํ์ฌ MAC ํ๊ทธ๋ฅผ ์์ฑํ๋ค.
- ์ ์ก: ์ํธํ๋ ๋ฉ์์ง์ MAC ํ๊ทธ๋ฅผ ํจ๊ป ์ ์กํ๋ค.
- ์์ ์: ๋ฐ์ ๋ฉ์์ง์ ๋์ผํ ๊ณต์ ๋น๋ฐํค๋ก MAC์ ์ง์ ๊ณ์ฐํ๋ค.
- ๋น๊ต: ๊ณ์ฐํ MAC๊ณผ ๋ฐ์ MAC ํ๊ทธ๋ฅผ ๋น๊ตํ๋ค.
- ํ์ : ๋ ๊ฐ์ด ์ผ์นํ๋ฉด ๋ฉ์์ง๊ฐ ๋ณ์กฐ๋์ง ์์์์ด ๋ณด์ฅ๋๋ค. ์ผ์นํ์ง ์์ผ๋ฉด ๋ฉ์์ง๊ฐ ์ ์ก ์ค์ ๋ณ์กฐ๋์๊ฑฐ๋ ์ฌ๋ฐ๋ฅธ ํค๋ฅผ ๊ฐ์ง ๋ฐ์ ์๊ฐ ๋ณด๋ธ ๊ฒ์ด ์๋๋ฏ๋ก ๋ฉ์์ง๋ฅผ ํ๊ธฐํ๋ค.
์ด ๊ณผ์ ์์ ๊ณต๊ฒฉ์๊ฐ ๋ฉ์์ง ๋ด์ฉ์ ์กฐ๊ธ์ด๋ผ๋ ๋ฐ๊พธ๋ฉด ํด์๊ฐ์ด ์์ ํ ๋ฌ๋ผ์ง๋ฏ๋ก ์ฌ๋ฐ๋ฅธ MAC ํ๊ทธ๋ฅผ ์์ฑํ ์ ์๋ค. ๋ํ ๊ณต์ ๋น๋ฐํค ์์ด๋ ์์กฐ๋ ๋ฉ์์ง์ ๋ํ ์ ํจํ MAC์ ๋ง๋ค ์ ์์ด ๋ฉ์์ง์ ์ถ์ฒ๋ ๊ฒ์ฆ๋๋ค.
Read more โ