์น์ฌ์ดํธ ๊ฐ๋ฐ์ ๋งฅ๋ฝ์์ SSL ํธ๋์ ฐ์ดํฌ๋ ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ๋ AppMaster ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ฐ์ ํด๋ผ์ด์ธํธ์ AppMaster์์ ์์ฑ๋ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ฐ์ ์๋ฒ ๊ฐ์ ์ํธํ๋ ํต์ ์ฑ๋์ ์ค์ ํ๋ ์ค์ํ ๋ณด์ ํ๋ก์ธ์ค์ ๋๋ค. SSL(Secure Socket Layer)๊ณผ ๊ทธ ํ์์ธ TLS(Transport Layer Security) ํ๋กํ ์ฝ์ ์ด์์ธ ํธ๋์ ฐ์ดํฌ๋ ์ธํฐ๋ท์ ํตํด ๊ตํ๋๋ ๊ธฐ๋ฐ ์ ๋ณด๋ฅผ ๋ณดํธํ๊ณ ํด๋ผ์ด์ธํธ๊ฐ ํต์ ํ๋ ์๋ฒ์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
SSL ํธ๋์ ฐ์ดํฌ๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ๊ตํ๋๋ ๋ณต์กํ ์ผ๋ จ์ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด์ ํต์ ๋งค๊ฐ๋ณ์๋ฅผ ํ์ํฉ๋๋ค. ํธ๋์ ฐ์ดํฌ ํ๋ก์ธ์ค๋ ํ๋กํ ์ฝ ๋ฒ์ ์ค์ , ์ํธ ์ ํ๊ตฐ ์ ํ, ํค ๊ตํ, ์๋ฒ ์ธ์ฆ, ๋์นญ ํค ์ค์ ๋ฑ 5๊ฐ์ง ๊ธฐ๋ณธ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
1. ํ๋กํ ์ฝ ๋ฒ์ ํ์ : ํด๋ผ์ด์ธํธ๋ ์ง์ํ๋ ๊ฐ์ฅ ๋์ SSL/TLS ํ๋กํ ์ฝ ๋ฒ์ ์ ์ง์ ํ์ฌ ClientHello ๋ฉ์์ง๋ฅผ ์๋ฒ์ ๋ณด๋ด ํธ๋์ ฐ์ดํฌ๋ฅผ ์์ํฉ๋๋ค. ์๋ฒ๋ ์ ํํ ํ๋กํ ์ฝ์ ํ์ธํ๋ ServerHello ๋ฉ์์ง๋ก ์๋ตํฉ๋๋ค. ์ต์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์ผ๋ฐ์ ์ผ๋ก TLS ๋ฒ์ 1.2 ๋๋ 1.3์ ์ ํํฉ๋๋ค. ์ด์ SSL ๋ฒ์ ์ ๋ ์ด์ ์์ ํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
2. ์ํธ ์ ํ๊ตฐ ์ ํ : ClientHello ๋ฉ์์ง์๋ ํด๋ผ์ด์ธํธ๊ฐ ์ง์ํ๋ ์ํธ ์ ํ๊ตฐ ๋ชฉ๋ก๋ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ํธ๋ ์์ผ๋ก ์์๊ฐ ๋งค๊ฒจ์ ธ ์์ต๋๋ค. ์ํธํ ์ ํ๊ตฐ์ ํค ๊ตํ, ์ธ์ฆ, ์ํธํ ๋ฐ ๋ฌด๊ฒฐ์ฑ ํ์ธ์ ์ํ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์กฐํฉ์ ๋๋ค. ServerHello ๋ฉ์์ง์ ์๋ฒ ์๋ต์๋ ์ ํํ ์ํธํ ์ ํ๊ตฐ์ด ํฌํจ๋๋ฉฐ, ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ ๋น์ฌ์๊ฐ ์ง์ํ๋ ๊ฐ์ฅ ์์ ํ ์ต์ ์ ๋๋ค.
3. ํค ๊ตํ : ํค ๊ตํ ํ๋ก์ธ์ค๋ ์ ํํ ์ํธ ์ ํ๊ตฐ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ DH(Diffie-Hellman) ํค ๊ตํ ๋๋ ECDH(Elliptic Curve Diffie-Hellman) ํค ๊ตํ๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ด ์๋ฐ๋ฉ๋๋ค. TLS 1.3์์ ํธ๋์ ฐ์ดํฌ ํ๋ก์ธ์ค๋ ์๋ฒฝํ ์ ๋ฌ ๋ณด์์ ์ด์งํ๊ธฐ ์ํด ์ด๋ฌํ ๋ฐฉ๋ฒ(DHE ๋ฐ ECDHE)์ ์์ ๋ณํ๋ง ์ฌ์ฉํ์ฌ ํค ๊ตํ์ ๋จ์ํํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ณต๊ฒฉ์๊ฐ ๊ฐ์ธ ํค๋ฅผ ์์์ํค๋ ๊ฒฝ์ฐ ๊ณผ๊ฑฐ ํต์ ์ธ์ ์ ํด๋ ํ ์ ์์ต๋๋ค.
4. ์๋ฒ ์ธ์ฆ : ์๋ฒ๋ ์์ ์ ์ ์์ ์ฆ๋ช ํ๊ธฐ ์ํด ์ ๋ขฐํ ์ ์๋ ์ธ์ฆ ๊ธฐ๊ด(CA)์ด ์๋ช ํ ๋์งํธ ์ธ์ฆ์์ ํด๋น ๊ณต๊ฐ ํค๋ฅผ ๋ณด๋ ๋๋ค. ํด๋ผ์ด์ธํธ๋ ์ธ์ฆ์์ ์๋ช , ์ ํจ ๊ธฐ๊ฐ, ๋ฐ๊ธ์๋ฅผ ํ์ธํ์ฌ ์ธ์ฆ์์ ์ง์ ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค. ์ด ๋จ๊ณ์์๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ฅ์๊ฐ ์๋ ์๋ํ ์๋ฒ์ ํต์ ํ๊ณ ์๋์ง ํ์ธํ์ฌ ์ค๊ฐ์ ๊ณต๊ฒฉ์ ๋ฐฉ์งํฉ๋๋ค.
5. ๋์นญํค ์ค์ : ๋ง์ง๋ง์ผ๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ํค ๊ตํ ๊ณผ์ ์์ ์์ฑ๋ ๊ณต์ ๋น๋ฐํค์ ๊ตํ๋ ๊ณต๊ฐํค๋ฅผ ์ด์ฉํ์ฌ ๋์ผํ ๋์นญํค๋ฅผ ์์ฑํ๋ค. ์ด๋ฌํ ๋์นญ ํค๋ ๋ชจ๋ ํ์ ํต์ ์ ์ํธํ ๋ฐ ํด๋ ํ์ฌ ๊ธฐ๋ฐ์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, SSL ํธ๋์ ฐ์ดํฌ๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์์ ํ๊ณ ์ํธํ๋ ์ฐ๊ฒฐ์ ์ด์งํ๋ฏ๋ก ์น ์ฌ์ดํธ ๊ฐ๋ฐ์ ์์ด ํ์์ ์ธ ๋ณด์ ๊ตฌ์ฑ ์์์ ๋๋ค. AppMaster ์์ฑ ์ ํ๋ฆฌ์ผ์ด์ ์ SSL/TLS ํ๋กํ ์ฝ์ ๊ตฌํํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๋์ ๋ณด์ ํ์ค์ ์ ์งํ๊ณ ์ ์ฌ์ ์ธ ๊ณต๊ฒฉ์๋ก๋ถํฐ ์ค์ํ ๋ฐ์ดํฐ ๊ตํ์ ๋ณดํธํ ์ ์์ต๋๋ค. ๋ํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๊ณ ์ต์ ํ๋กํ ์ฝ ๋ฒ์ ๊ณผ ์ํธ ์ ํ๊ตฐ์ ์ฑํํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์์ ๊ทน๋ํํ๊ณ ์งํํ๋ ์ํ์ ๋ค์ฒ์ง์ง ์์ ์ ์์ต๋๋ค.
AppMasterno-code ํ๋ซํผ์ ์ํฐํ๋ผ์ด์ฆ๊ธ ๋ณด์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ์ ๊ฐ์ถ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์์ฑ์ ์ง์ํ๋ฏ๋ก ์ต์ SSL/TLS ํ๋กํ ์ฝ์ ํ์ฉํ๋ฉด ํ์ฅ ๊ฐ๋ฅํ๊ณ ์์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ ํ๋ซํผ์ ๊ธฐ๋ฅ์ด ๋์ฑ ๊ฐํ๋ฉ๋๋ค. ์ค๋๋ ์ ๋์งํธ ํ๊ฒฝ์์ ๋ณด์ ํต์ ์ฑ๋์ ํ์ ๋ถ๊ฐ๊ฒฐ์ฑ์ ๊ณ ๋ คํ ๋ SSL ํธ๋์ ฐ์ดํฌ ํ๋ก์ธ์ค๋ฅผ ํ์คํ ์ดํดํ๋ ๊ฒ์ AppMaster ํ๋ซํผ๊ณผ ์น ์ฌ์ดํธ ๊ฐ๋ฐ ์ปค๋ฎค๋ํฐ ์ ์ฒด๋ฅผ ํ์ฉํ๋ ๊ฐ๋ฐ์์๊ฒ ๋งค์ฐ ์ค์ํฉ๋๋ค.