๊ณต๋ถํ๊ฒ ๋ ๊ณ๊ธฐ
๊ฐ์๊ธฐ ์ ๊ณต๋ถํ๊ฒ ๋๋๋ฉด,,,
ํ์ฌ ๋ง๋ค๊ณ ์๋ ์๋น์ค์์ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ฅํ ๋, ํ๋ฌธ์ Salt ๊ฐ์ ๋ถ์ธ ๋ค์ Hashing(ํด์ฑ)์ ํด์ DB์ ์ ์ฅ ํ๋๋ก ๊ตฌํํ๋ค.
ํ๋ฌธ์ด ์๋๋ผ ํด์๊ฐ์ ์ ์ฅํ๋ ์ด์ ๋ ํน์ฌ๋ ์ ์์ ์ธ ๊ณต๊ฒฉ์์ ์ํด ๋ ธ์ถ๋์๋ค๊ณ ํ์ ๋, ์ค์ ๋น๋ฐ๋ฒํธ๋ ์์๋ด์ง ๋ชปํ๊ฒ ํ๊ธฐ ์ํจ์ด๋ค.
์ฌ๋ด์ด์ง๋ง ์์ฆ์ ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ๋ฅผ ํ๋ฉด, ๊ธฐ์กด์ ๋น๋ฐ๋ฒํธ๋ฅผ pas*w*rd
์ด๋ฐ ์์ผ๋ก ์๋ ค์ฃผ๋ ๊ฒ ์๋๋ผ ๋ฌด์กฐ๊ฑด ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๊ฒ ํ๋ค.
๊ทธ ์ด์ ๊ฐ ํด์๊ฐ์ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ์๋ ๋น๋ฐ๋ฒํธ๊ฐ ๋ญ์๋์ง ์์ง ๋ชปํ๊ธฐ์, ์๋ ค์ค ์๊ฐ ์๊ธฐ ๋๋ฌธ !
Salt ๊ฐ์ ์ฌ์ฉํ๋ ์ด์ ๋ ์์ ์ ๋ณด์ ์๊ฐ์ ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ์ด๋ผ๋ ๊ณต๊ฒฉ๋ฒ์ ๋ฐฐ์ ์๋๋ฐ,
์ด ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ ๊ณต๊ฒฉ์ ๋์ํ๊ธฐ ์ํด์ ์์์ ์๊ธ์ ์น๋ฏ์ด ๋น๋ฐ๋ฒํธ์ Salt๋ฅผ ๋ถ์ฌ์ ํด์ฑ ์ ํ๋ ๊ฒ์ด๋ผ๊ณ ๋ฐฐ์ ๋ค.
๋์ ์ฐฉ๊ฐ
๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ์ ๋ํ ์คํด
์์ธ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง, ๋๋ ๋ ์ธ๋ณด์ฐ ํ
์ด๋ธ ๊ณต๊ฒฉ๊ณผ ๋ธ๋ฃจํธ ํฌ์ค ๊ณต๊ฒฉ์ ๋น์ทํ ๊ฐ๋
์ผ๋ก ์๊ฐ์ ํ๊ณ ์์๋ค.
๊ทธ๋ฐ๋ฐ Salt๊ฐ์ ๋ถ์ด๋ ๊ฒ ์ ๋ธ๋ฃจํธ ํฌ์ค ๊ณต๊ฒฉ์ ๋ํ ๋ฐฉ์ด์ผ๊น? ๋ผ๊ณ ์๊ฐํ๋ค.
์๋ํ๋ฉด Salt๊ฐ์ ์ฌ์ฉํ๋ ค๋ฉด ๊ฐ ์ฌ์ฉ์์ ๋ํ Salt๊ฐ์ ์ ์ฅํ๊ณ ์์ด์ผ ์ฌ์ฉ์๊ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์กํ์ ๋,
๊ฐ์ Salt๊ฐ์ ์ฌ์ฉํด์ ํด์ฑ์ ํ ํ ์ ์ฅ๋ ํด์๊ฐ(๋น๋ฐ๋ฒํธ)๊ณผ ๋น๊ต๋ฅผ ํ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
- ๋ด๊ฐ ์๊ฐํ ๊ฒ์ ์์ ๊ฐ์ ์ํฉ์ด๋ค
- ๊ณต๊ฒฉ์๊ฐ ์ด์งํผ ํ๋ฌธ์ ๋ํด ๋ธ๋ฃจํธํฌ์ค ๊ณต๊ฒฉ์ ํ๋ฉด ์์์ ์๋ฒ์์ Salt๋ฅผ ๋ถ์ฌ์ ํด์ฑ์ ํ ๋ค์์ ๋น๊ต ๋ฅผ ํ๊ฒ ๋๋๋ฐ ์ด๊ฒ ์ ๋ธ๋ฃจํธ ํฌ์ค ๊ณต๊ฒฉ์ ๋ํ ๋ฐฉ์ด์ง? ๋ผ๊ณ ์๊ฐํ๋ ๊ฒ์ด๋ค
๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ
์คํด๋ฅผ ํ๊ธฐ ์ํด์ ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ์ ๋ํด์ ๋ค์ ๊ณต๋ถ๋ฅผ ํ๋ค
- ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ์ ์ฌ์ฉํ๋ ์ด์ ๋ ๊ณต๊ฒฉ์๊ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ทจํ์ ๋, ํด๋น ๋น๋ฐ๋ฒํธ๊ฐ ํ๋ฌธ์ด ์๋๋ผ ํด์๊ฐ์ผ๋ก ์ ์ฅ๋์ด ์๋ ๊ฒฝ์ฐ์ ํ๋ฌธ์ ๋น ๋ฅด๊ฒ ์์๋ด๊ธฐ ์ํด์ ์ด๋ค
- ์ฌ์ฉ์๋ค์ด ๋ง์ด ์ฌ์ฉํ๋ ๋น๋ฐ๋ฒํธ์ ๋ํด์ ๋ง์ ํด์ ํจ์(SHA-256, MD5, ... ๋ฑ๋ฑ)์ ๋ํด์ ๋ฏธ๋ฆฌ ํด์๊ฐ์ ๋ง๋ค์ด์ ํ ์ด๋ธ๋ก ์ ์ฅ ํด๋๊ณ ํด์๊ฐ์ ํ์ทจํ์ ๋, ๋น ๋ฅด๊ฒ ํ๋ฌธ์ ์์๋ผ ์ ์๊ฒํ๊ธฐ ์ํจ์ด๋ค.
- ๋ธ๋ฃจํธ ํฌ์ค ๊ณต๊ฒฉ์ผ๋ก ๋ถ๋ฅํ๋ค๋ฉด ๊ทธ๋ ๋ค๊ณ ํ ์ ์์ง๋ง, ์ ์ด์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌด์์๋ก ๋์ ํด์ ๋งํ๋ ๊ฒ ์๋๋ผ ํด์ฑ๋ ๊ฐ์ ํ์ทจํ์ ๋ ํ๋ฌธ์ ์์๋ด๊ธฐ ์ํ ๊ณต๊ฒฉ๋ฒ์ด๋ค
๋๋ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ ์์ฒด๋ฅผ ์๋ชป์๊ณ ์์๋ ๊ฒ์ด๋ค.
Salt
Salt๊ฐ ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ์ ๋ํ ๋ฐฉ์ด๋ฒ์ด ๋๋ ์ด์
- ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ์ ํ๋ฌธ์ ๋ํ ํด์๊ฐ์ ๋ง ๋ง๋ค์ด๋๊ณ ์ด๊ฑธ ์ด์ฉํด์ ํด์๊ฐ์ ๋ณด๊ณ ํ๋ฌธ์ ์ ์ถํ๋ ๊ณต๊ฒฉ์ด๋ผ๊ณ ํ๋ค
- ๊ทธ๋ฐ๋ฐ Salt๊ฐ์ ๋ถ์ฌ์ ํด์ฑ์ ํ๊ฒ ๋๋ฉด, ๊ฐ์ ๋น๋ฐ๋ฒํธ์ ๋ํด์๋ ํด์๊ฐ์ด ๋ค๋ฅด๊ฒ ๋์ค๋ ๊ฒ์ด๋ค
- ๊ณต๊ฒฉ์ ์
์ฅ์์ Salt๊ฐ์ด ์ด๋ค ๊ฐ์ผ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์์ฒญ๋ ๊ฒฝ์ฐ์ ์์ ๋ํด ํด์๊ฐ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋์ด์ผ ํ๊ณ , ๊ทธ๋ผ ํ
์ด๋ธ์ ํฌ๊ธฐ๊ฐ ์ปค์ง๊ธฐ ๋๋ฌธ์ ๊ณต๊ฒฉ์ ๋์์ฑ
์ด ๋๋ ๊ฒ์ด๋ค
- Salt๊ฐ 32bit๋ผ๊ณ ํ๋ฉด, ํ ์ด๋ธ์ ํฌ๊ธฐ๊ฐ 2^32๋ฐฐ ์ปค์ง๊ฒ ๋๋ค
๋ธ๋ฃจํธ ํฌ์ค ๊ณต๊ฒฉ์ ๋ง๋ ๋ฐฉ๋ฒ?
๊ทธ๋ ๋ค๋ฉด ๋ด๊ฐ ์๋ ์ฐ๋ คํ๋ ๋ธ๋ฃจํธ ํฌ์ค ๊ณต๊ฒฉ์ ์ด๋ป๊ฒ ๋ฐฉ์ดํ ์ ์์๊น?
- CAPTCHA ๋ฅผ ์ฌ์ฉํด์ ๊ณต๊ฒฉ์์ ๋ฆฌ์์ค๋ฅผ ์๋น์ํค๊ฑฐ๋
- ๋น๋ฐ๋ฒํธ ์๋ ํ์ ์ ํ ์ ๊ฑธ์ด์ ๋ธ๋ฃจํธ ํฌ์ค ๊ณต๊ฒฉ์ ๋ชปํ๊ฒ ํ ์ ์๋ค
๊ณต๊ฒฉ ๋ฐฉ์์ ๋ํด ์คํด๋ฅผ ํด์ ํผ์์ ๊ณต๊ฒฉ์์ ์๋์ฐ ๋ณต์ฑ์ ํ๋๋ฐ, ๋๋ถ์ ๋ ์ ํํ ์ ์ ์์ด์ ์คํ๋ ค ์ข์๋ค
Reference
'WIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Two-Phase Locking (2PL) (0) | 2024.05.10 |
---|---|
๋ฌด์ํ ํ๋กํ ์ฝ (1) | 2024.03.08 |
GraphQL๊ณผ N + 1 ๋ฌธ์ (2) | 2024.02.27 |