์ธ์ด: English | ํ๊ตญ์ด | Espaรฑol | Franรงais | เคนเคฟเคจเฅเคฆเฅ | ็ฎไฝไธญๆ
์ด ๋ฌธ์๋ 0disoft๊ฐ ์์ ํ ์ ์ฅ์์ ๊ธฐ๋ณธ์ผ๋ก ์ ์ฉ๋๋ ๋ณด์ ์ ์ฑ
์
๋๋ค. ๊ฐ ์ ์ฅ์์ ๋ณ๋์ SECURITY.md๊ฐ ์๋ค๋ฉด, ํด๋น ์ ์ฅ์์ ๋ณด์ ์ ์ฑ
์ด ์ฐ์ ์ ์ฉ๋ฉ๋๋ค.
๋ณด์ ์ ๋ณด๋ ํ์ฌ ์ ์ง๋ณด์ ์ค์ธ ์ ์ฅ์๋ฅผ ๋์์ผ๋ก ๊ฒํ ํฉ๋๋ค.
๋ณด๊ด ์ฒ๋ฆฌ๋ ์ ์ฅ์, ์คํ์ฉ ์ ์ฅ์, ๋ ์ด์ ๊ถ์ฅ๋์ง ์๋ ์ ์ฅ์, ์ ์ง๋ณด์๋์ง ์๋ ์ ์ฅ์์๋ ๋ณด์ ์์ ์ด ์ ๊ณต๋์ง ์์ ์ ์์ต๋๋ค.
์ ์ฅ์์ ๋ณ๋ ์๋ด๊ฐ ์๋ ํ, ๋ณด์ ๋์์ ๊ธฐ๋ณธ ๋ธ๋์น์ ์ต์ ๊ณต๊ฐ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ๋ฅํ ๋ฒ์ ์์์ ์ฒ๋ฆฌํฉ๋๋ค. ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ ์ฅ์๋ผ๋ฉด ๊ธฐ๋ณธ ๋ธ๋์น๋ฅผ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค.
์ธ์ฆ, ๊ถํ ๋ถ์ฌ, ์ํธํ, ๋น๋ฐ๊ฐ ์ฒ๋ฆฌ, ๊ฒฐ์ ์ฒ๋ฆฌ, ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ, ๋คํธ์ํฌ์ ๋ ธ์ถ๋๋ ๋์์ ์๋ก ์ถ๊ฐํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ์์ ์ ๋ฉ์ธํ ์ด๋์ ์ถ๊ฐ ๊ฒํ ๊ฐ ํ์ํฉ๋๋ค.
์ํธํ ๋์์ ์๋ก ์ถ๊ฐํ๊ฑฐ๋, ๋ณ๊ฒฝํ๊ฑฐ๋, ์ํธํ ๋์์ ์์กดํ๋ ๋ณ๊ฒฝ์ ํ ๋๋ ๋ค์ ๊ธฐ์ค์ ๋ฐ๋ฆ ๋๋ค.
- ๋ฉ์ธํ ์ด๋์ ๋ช ์์ ์ธ ์น์ธ๊ณผ ์ ์ ํ ๋ณด์ ๊ฒํ ์์ด ์ง์ ์ํธํ ๋ฐฉ์์ ๊ตฌํํ๊ฑฐ๋ ์ํธํ ๊ตฌ์ฑ ์์๋ฅผ ์ง์ ์กฐํฉํ์ง ๋ง์ธ์.
- ๊ฒ์ฆ๋ ํ๋กํ ์ฝ, ํ๋ฐํ ์ ์ง๋ณด์๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ์คํ ์ ์ฐจ๋ฅผ ๊ฑฐ์น ๊ตฌํ์ ์ฐ์ ์ฌ์ฉํฉ๋๋ค.
- ๋์นญํค ์ํธ์ ํด์ ํจ์๋ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ๋์ ์ธ ์ธ์ฆ ์ํธํ, ๋ฉ์์ง ์ธ์ฆ, ํด์ ๊ตฌ์ฑ ์์๋ฅผ ์ ์ง๋ณด์๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ฌ์ฉํด ์ฃผ์ธ์.
- ์ํธํ ์ ํ์ง๋ ๊ฐ๋ฅํ ํ ์ค์ ๊ฐ๋ฅํ๊ณ ๊ต์ฒด ๊ฐ๋ฅํ๊ฒ ์ค๊ณํด์ผ ํฉ๋๋ค. ํ๋กํ ์ฝ ํ์์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ ์ ์ฌ์ฉํ ์ ์๋ค๋ฉด ์๊ณ ๋ฆฌ์ฆ์ ์ฝ๋์ ๊ณ ์ ํ์ง ๋ง์ธ์.
- ์๋ก์ด ๊ณต๊ฐํค ์ํธํ, ํค ์ค์ , ์ ์์๋ช ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋๋ ์ด์ ํ๊ฒฝ์์ ์ฌ์ฉํ ์ ์๋ ์ง์์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ ๋ฏธ๊ตญ ๊ตญ๋ฆฝํ์ค๊ธฐ์ ์ฐ๊ตฌ์(NIST)๊ฐ ํ์คํํ ์์๋ด์ฑ์ํธ(PQC, Post-Quantum Cryptography)๋ฅผ ์ฐ์ ๊ฒํ ํฉ๋๋ค.
- ์๋ก์ด ํค ์ค์ ์๋ ML-KEM์, ์๋ก์ด ์ ์์๋ช ์๋ ํ๋กํ ์ฝ๊ณผ ์คํ ํ๊ฒฝ์ ๋ง๋ ๊ฒฝ์ฐ ML-DSA ๋๋ SLH-DSA๋ฅผ ์ฐ์ ๊ฒํ ํฉ๋๋ค.
- FN-DSA์ HQC๋ฅผ ํฌํจํด NIST ํ์ค ๋๋ ํ์คํ ์ ์ฐจ์ ์๋ ์ถ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ์๋๋ฅผ ๊ณ์ ํ์ธํฉ๋๋ค.
- ์ํธ์ด์ฉ์ฑ์ ์ํด ํ์ํ ๊ฒฝ์ฐ ๊ธฐ์กด ์ํธ ๋ฐฉ์๊ณผ ์์๋ด์ฑ์ํธ๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ํ์ด๋ธ๋ฆฌ๋ ๊ตฌ์ฑ์ ํ์ฉํฉ๋๋ค. ๋ค๋ง ์ธ์ ๋ ํ๋กํ ์ฝ, ํ๋กํ์ผ, ๋๋ ๊ณต๊ธ์๊ฐ ์ง์ํ๋ ํ์ค์ ๋ฐ๋ผ์ผ ํฉ๋๋ค.
- ํธํ์ฑ์ ์ํด ํ์ํ ๊ฒฝ์ฐ ๊ธฐ์กด RSA, Diffie-Hellman, ECDH, ECDSA, EdDSA ์ฌ์ฉ์ ์ ์งํ ์ ์์ต๋๋ค. ๋ค๋ง ์๋ก ์ถ๊ฐํ๋ ์ฅ๊ธฐ ๋ณด๊ด ๋น๋ฐ๊ฐ, ์ฅ๊ธฐ ์ ๋ขฐ ๋ฃจํธ, ์๋ก์ด ์ํธ ํ๋กํ ์ฝ ์ค๊ณ๋ ๊ฐ๋ฅํ ํ ์์๋ด์ฑ ์ ํ์ ์ผ๋์ ๋์ด์ผ ํฉ๋๋ค.
- ํ์ค์ด ์๋๊ฑฐ๋, ์คํ์ ์ด๊ฑฐ๋, ์ฐ๊ตฌ์ฉ์ ๊ฐ๊น์ด ์์๋ด์ฑ์ํธ ๋ฐฉ์์ ๋ฉ์ธํ ์ด๋์ ๋ช ์์ ์ธ ์น์ธ๊ณผ ๋ณด์ ๊ฒํ ์์ด ์ด์ ์ฝ๋์ ์ฌ์ฉํ์ง ๋ง์ธ์.
๋ชฉํ๋ ๊ธฐ์กด ์ํธ ๋ฐฉ์์ ์ฆ์ ๋ชจ๋ ๊ธ์งํ๋ ๊ฒ์ด ์๋๋๋ค. ๋ถํ์ํ๊ฒ ์์์ปดํจํฐ์ ์ทจ์ฝํ ๊ณต๊ฐํค ์์กด์ฑ์ ์๋ก ๋๋ฆฌ์ง ์๊ณ , ์ํธํ ๊ตฌ์ฑ ์์๋ฅผ ๋์ค์ ๊ต์ฒดํ ์ ์๊ฒ ์ ์งํ๋ ๊ฒ์ด ๋ชฉํ์ ๋๋ค.
ํ๋ก์ ํธ๊ฐ ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ฅํ๋ค๋ฉด ๋ค์ ๊ธฐ์ค์ ๋ฐ๋ฆ ๋๋ค.
- ๋น๋ฐ๋ฒํธ๋ฅผ ํ๋ฌธ์ผ๋ก ์ ์ฅํ๊ฑฐ๋ ๋ณตํธํ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์ ์ฅํ์ง ์์ต๋๋ค.
- MD5, SHA-1, SHA-256, SHA-512 ๊ฐ์ ๋น ๋ฅธ ์ผ๋ฐ ํด์ ํจ์๋ฅผ ๋น๋ฐ๋ฒํธ์ ์ง์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
- ์ ๋น๋ฐ๋ฒํธ ํด์ฑ์๋ Argon2id๋ฅผ ์ฐ์ ์ฌ์ฉํฉ๋๋ค.
- ๋น๋ฐ๋ฒํธ๋ง๋ค ๊ณ ์ ํ๊ณ ๋ฌด์์๋ก ์์ฑ๋ ์ํธ ๊ฐ(salt)์ ์ฌ์ฉํฉ๋๋ค. Argon2id ๋น๋ฐ๋ฒํธ ํด์ฑ์๋ 16๋ฐ์ดํธ ์ํธ ๊ฐ์ด ๊ถ์ฅ๋ฉ๋๋ค.
- ์ ์ง๋ณด์๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ์ค ๋น๋ฐ๋ฒํธ ํด์ ํ์์ ์ฐ์ ์ฌ์ฉํฉ๋๋ค.
- Argon2id ์ค์ ๊ฐ์ ํ๋์จ์ด ์ฑ๋ฅ๊ณผ ๋ฐฐํฌ ํ๊ฒฝ์ ๋ง๊ฒ ์กฐ์ ํ ์ ์์ด์ผ ํ๋ฉฐ, ์๊ฐ์ด ์ง๋๋ฉด์ ์ฌ๊ฒํ ํด์ผ ํฉ๋๋ค.
- ์ ์ฅ์๋ณ ์ ์ฑ ์์ ๋ ์๊ฒฉํ ๊ธฐ์ค์ ์ ํ์ง ์๋ ํ, ์ต์ํ OWASP๊ฐ ๊ถ์ฅํ๋ Argon2id ์ต์ ์ค์ ์ธ ๋ฉ๋ชจ๋ฆฌ 19 MiB, ๋ฐ๋ณต 2ํ, ๋ณ๋ ฌ๋ 1์ ์ฌ์ฉํฉ๋๋ค.
- Argon2id๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์๋ ๊ฐ๋ฅํ ํ scrypt๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ์กด ์์คํ ์์๋ ์ ์ ํ ์์ ๊ณ์์ ์ด์ ๊ณํ์ด ์์ ๋ bcrypt๋ฅผ ์์๋ก ์ ์งํ ์ ์์ต๋๋ค. FIPS-140 ์ค์๊ฐ ํ์ํ๋ค๋ฉด ์น์ธ๋ ์์ ๊ณ์๋ก PBKDF2-HMAC-SHA-256์ ์ฌ์ฉํฉ๋๋ค.
- ๋น ๋ฅธ ํด์, ์ํธ ๊ฐ ์๋ ํด์, ์ง์ ๋ง๋ ๋น๋ฐ๋ฒํธ ํด์ฑ ๋ฐฉ์์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
- ๋์ค์ ํด์๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ์ ์๋๋ก ์๊ณ ๋ฆฌ์ฆ, ์ค์ ๊ฐ, ์ํธ ๊ฐ, ํด์ ๋ฒ์ ์ ๊ฐ ๋น๋ฐ๋ฒํธ ํด์์ ํจ๊ป ์ ์ฅํฉ๋๋ค.
์๋ฒ๊ฐ ์์ฑํ๋ ํ ํฐ, API ํค, ๋ณต๊ตฌ ์ฝ๋์ ๊ฐ์ ๋น๋ฐ๊ฐ์ ๋ค์ ๊ธฐ์ค์ ๋ฐ๋ฆ ๋๋ค.
- ๋น๋ฐ๊ฐ์ ์ํธํ์ ์ผ๋ก ์์ ํ ๋์ ์์ฑ๊ธฐ๋ก ์์ฑํฉ๋๋ค.
- ๋ช ํํ ์ด์์ ํ์๊ฐ ์๋ค๋ฉด API ํค, ์ ๊ทผ ํ ํฐ, ๊ฐฑ์ ํ ํฐ, ์ธ์ ํ ํฐ, ๋ณต๊ตฌ ์ฝ๋๋ฅผ ์๋ฌธ์ผ๋ก ์ ์ฅํ์ง ์์ต๋๋ค.
- ์๋ฌธ ๋ณต๊ตฌ๊ฐ ํ์ํ์ง ์๋ค๋ฉด ๋น๋ฐ ํค๋ฅผ ์ฌ์ฉํ๋ ํด์(HMAC ๋ฑ), ์ผ๋ฐ ํด์, ๋๋ ๋๋๋ฆด ์ ์๋ ๊ฒ์ฆ์๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ ์ฐ์ ์ฌ์ฉํฉ๋๋ค.
- ๋น๋ฐ๊ฐ์ ์ ์ฅ์์ ์ปค๋ฐํ๊ฑฐ๋, ๋ก๊ทธ์ ๋จ๊ธฐ๊ฑฐ๋, ์ค๋ฅ ๋ฉ์์ง์ ๋ ธ์ถํ๊ฑฐ๋, ํ ์คํธ ๋ฐ์ดํฐ์ ํฌํจํ์ง ์์ต๋๋ค.
- ์ด์ ๋น๋ฐ๊ฐ์ ๋น๋ฐ๊ฐ ๊ด๋ฆฌ์, ํ๊ฒฝ๋ณ ๋น๋ฐ๊ฐ ์ ์ฅ์, ๋๋ ํ๋ซํผ์ ์ํธํ๋ ๋น๋ฐ๊ฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค.
- ์์กด์ฑ์ ํฉ๋ฆฌ์ ์ธ ๋ฒ์ ์์์ ์ต์ ์ํ๋ก ์ ์งํฉ๋๋ค.
- ๋ณด์์ ์ํฅ์ ์ค ์ ์๋ ์์กด์ฑ ๋ณ๊ฒฝ์ ๋ฆด๋ฆฌ์ค ์ ์ ๊ฒํ ํด์ผ ํฉ๋๋ค.
- ์ํธํ, ์ธ์ฆ, ๊ถํ ๋ถ์ฌ, ์ง๋ ฌํ, ํ ํ๋ฆฟ ๋ ๋๋ง, ๋คํธ์ํฌ ๋ฐ์ดํฐ ํ์ฑ๊ณผ ๊ด๋ จ๋ ์์กด์ฑ์ ๋ฉ์ธํ ์ด๋ ๊ฒํ ์์ด ์ถ๊ฐํ์ง ์์ต๋๋ค.
๋ณด์ ์ทจ์ฝ์ ์ ๊ณต๊ฐ ์ด์, ํ ๋ฆฌํ์คํธ, ํ ๋ก ์ผ๋ก ์ ๊ณ ํ์ง ๋ง์ธ์.
์ ์ฅ์์์ GitHub ๋น๊ณต๊ฐ ์ทจ์ฝ์ ์ ๊ณ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค๋ฉด ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํด ์ฃผ์ธ์.
๋น๊ณต๊ฐ ์ทจ์ฝ์ ์ ๊ณ ๊ธฐ๋ฅ์ด ์๋ค๋ฉด, ์ ์ฉ ๋ฐฉ๋ฒ์ด๋ ์ธ๋ถ ๋ด์ฉ์ ๊ณต๊ฐํ์ง ๋ง์ธ์. ์ ์ฅ์ ๋๋ ๋ฉ์ธํ ์ด๋์ GitHub ํ๋กํ์ ์ ํ ๋น๊ณต๊ฐ ์ฐ๋ฝ ์๋จ์ ์ฌ์ฉํด ์ฃผ์ธ์.
์ทจ์ฝ์ ์ ์ ๊ณ ํ ๋๋ ๋ค์ ๋ด์ฉ์ ํฌํจํด ์ฃผ์ธ์.
- ์ํฅ์ ๋ฐ๋ ์ ์ฅ์
- ์ํฅ์ ๋ฐ๋ ๋ฒ์ , ๋ธ๋์น, ์ปค๋ฐ์ด ์๋ ค์ ธ ์๋ค๋ฉด ํด๋น ์ ๋ณด
- ๋ฌธ์ ์ ๋ํ ๋ช ํํ ์ค๋ช
- ๋ฌธ์ ๋ฅผ ์ฌํํ๋ ์ ์ฐจ
- ์์๋๋ ์ํฅ
- ๊ฐ๋ฅํ ์ํ ๋ฐฉ๋ฒ์ด ์๋ค๋ฉด ํด๋น ๋ด์ฉ
์ ๋ณด๋ ์ ์์ ๋ฐ๋ผ ๊ฒํ ํฉ๋๋ค.
๋ฉ์ธํ ์ด๋๋ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์์ฒญํ๊ฑฐ๋, ์์ ์ฌํญ์ ์ค๋นํ๊ฑฐ๋, ๊ณต๊ฐ ์์ ์ ์กฐ์จํ๊ฑฐ๋, ์ ๋ณด๋ ๋ฌธ์ ๊ฐ ๋ณด์ ์ทจ์ฝ์ ์ ํด๋นํ์ง ์๋๋ค๊ณ ํ๋จํ ์ ์์ต๋๋ค.
์์ ๋๋ ์ํ ๋ฐฉ๋ฒ์ด ์ค๋น๋๊ธฐ ์ ๊น์ง๋ ๋ฌธ์ ๋ฅผ ๊ณต๊ฐํ์ง ๋ง์ ์ฃผ์ธ์. ๋ค๋ง ๋ฉ์ธํ ์ด๋๊ฐ ํฉ๋ฆฌ์ ์ธ ๊ธฐ๊ฐ ๋์ ์๋ตํ์ง ์๋ ๊ฒฝ์ฐ๋ ์์ธ๋ก ๋ณผ ์ ์์ต๋๋ค.