What is ๐ŸฅŸ Hash & ๐Ÿง‚ Salt

shleecloudยท2021๋…„ 10์›” 23์ผ
0

Security

๋ชฉ๋ก ๋ณด๊ธฐ
1/6

โœ ๋“ค์–ด๊ฐ€๋ฉฐ

์ตœ๊ทผ ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ ์ž์„ธํ•˜๊ฒŒ ๋ฐฐ์› ๋‹ค. ์ •๋ฆฌ๊ธ€์„ ์“ฐ๊ณ  ์‹ถ์—ˆ์œผ๋‚˜ ํ‰์ผ์—” ์‹œ๊ฐ„์ด ์•ˆ๋‚˜์„œ ์ฃผ๋ง์ธ ์˜ค๋Š˜, ์กฐ๊ธˆ ๋” ํ™•์‹คํ•˜๊ฒŒ ์ •๋ฆฌํ•œ๋‹ค.

๐ŸฅŸ Hash

ํ•ด์‹œ ํ•จ์ˆ˜๋Š” ์ž„์˜์˜ ๊ธธ์ด๋ฅผ ๊ฐ–๋Š” ์ž„์˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ •๋œ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ๋กœ ๋งคํ•‘ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด, ์•„๋ฌด๋ฆฌ ํฐ ์ˆซ์ž๋ฅผ ๋„ฃ๋”๋ผ๋„ ์ •ํ•ด์ง„ ํฌ๊ธฐ์˜ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ค๋Š” ํ•จ์ˆ˜์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ์–ด๋–ค ์ˆซ์ž๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๊ทธ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋„ ํ•ด์‹œ ํ•จ์ˆ˜์ด๋‹ค.

๋ณด์•ˆ์˜ ํ•ต์‹ฌ ์š”์†Œ์ธ ์•”ํ˜ธํ™”๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. Hash๋Š” ์ž˜๊ฒŒ ๋‹ค์ง„๋‹ค๋Š” ์˜๋ฏธ๋‹ค. Hash ํ•จ์ˆ˜๋กœ ์ด์ „์— ์–ด๋–ค ๊ฐ’์ด์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๊ฒŒ ๋งŒ๋“ ๋‹ค. ์•”ํ˜ธํ™”๋ฅผ ํ•ด์ œํ•˜๋Š” ํ‚ค๊ฐ€ ์กด์žฌํ•˜๊ณ  ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธ๊ฐ€๋œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•”ํ˜ธํ™” Key๋ฅผ ๊ฑด๋‚ด์ฃผ๊ณ  ์•”ํ˜ธํ™”๋ฅผ ํ†ตํ•ด ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•œ๋‹ค.

Hash์˜ ํŠน์ง•

  • ๋™์ผํ•œ ์ž…๋ ฅ์—๋Š” ๋™์ผํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.
  • ๊ฐ’์ด ์กฐ๊ธˆ๋งŒ ๋‹ฌ๋ผ์ ธ๋„ ์ „ํ˜€ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.
  • ํ•ด๋…ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ๊ต‰์žฅํžˆ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€๋งŒ ๊ฐ€๋Šฅํ•˜๊ธฐ๋Š” ํ•˜๋‹ค.
  • ์ž…๋ ฅ๊ฐ’ ๊ธธ์ด๋Š” ๋ฌดํ•œ์ธ๋ฐ ์ถœ๋ ฅ๊ฐ’ ๊ธธ์ด๋Š” ๊ณ ์ •๋˜์–ด ์žˆ์–ด์„œ ์ค‘๋ณต๋œ ์•”ํ˜ธ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿง‚ Salt

์•”ํ˜ธํ™”ํ•ด์•ผ ํ•˜๋Š” ๊ฐ’์— ์–ด๋–ค '๋ณ„๋„์˜ ๊ฐ’'(์†Œ๊ธˆ) ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ณ€ํ˜•ํ•˜๋Š” ๊ฒƒ

  • Salt ์—†์ด ์•”ํ˜ธํ™”๋งŒ ํ•ด๋†“๋Š”๋‹ค๋ฉด Hash ๊ฒฐ๊ณผ๊ฐ€ ํ•ญ์ƒ ๋™์ผํ•˜๋‹ค.
    • ์›๋ž˜ ๊ฐ’์„ ํ…Œ์ด๋ธ”(Rainbow Table)๋กœ ๋งŒ๋“ค์–ด์„œ ํ•ด๋…ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
  • ์›๋ณธ ๊ฐ’์— ์‚ฌ์šฉ์ž๋งˆ๋‹ค ์ž„์˜๋กœ '๋ณ„๋„์˜ ๋ฌธ์ž์—ด(Salt)'์„ ์ถ”๊ฐ€ํ•˜์—ฌ Hash๋ฅผ ์ ์šฉํ•˜๋ฉด ๊ธฐ์กด Hash๊ฐ’๊ณผ ์ „ํ˜€ ๋‹ค๋ฅธ ๊ฐ’์ด ๋‚˜์˜จ๋‹ค.
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋…ธ์ถœ๋˜๋”๋ผ๋„ ์›๋ณธ๊ฐ’์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์ƒ์„ฑํ•  ๋•Œ์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ ๋งˆ๋‹ค ์ƒˆ๋กœ์šด Salt๋ฅผ ๋งŒ๋“ ๋‹ค. ์žฌ์‚ฌ์šฉ์€ ๊ธˆ์ง€๋œ๋‹ค.
    • Salt๋ฅผ ์œ ์ถ”ํ•  ์ˆ˜ ์—†์–ด์•ผํ•œ๋‹ค.

๐Ÿ›ก Hash๋กœ ๊ตฌํ˜„๋˜๋Š” ์•”ํ˜ธํ™” SHA

์•”ํ˜ธํ™”๋Š” ์ผ๋ จ์˜ ์ •๋ณด๋ฅผ ์ž„์˜์˜ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ•ด๋‹น ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์†Œ์œ ํ•œ ์‚ฌ๋žŒ์„ ์ œ์™ธํ•˜๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์—†๋„๋ก '์•Œ๊ณ ๋ฆฌ์ฆ˜'์„ ์ด์šฉํ•ด ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ณผ์ •

Hash ํ•จ์ˆ˜๋Š” ์ˆซ์ž์— 1์„ ๋”ํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹ค์ œ ํ™˜๊ฒฝ์—์„  SHA(Secure Hash Algorithm) ๋ผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•”ํ˜ธํ™”๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

  • Database์— ์•”ํ˜ธํ™”๋œ ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•ด์„œ ์›๋ณธํ‚ค๋ฅผ ๋ณดํ˜ธํ•œ๋‹ค.
    • ์›๋ณธํ‚ค๊ฐ€ ์•”ํ˜ธํ™” ๋˜์–ด์žˆ์–ด์„œ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๊นŒ์ง€ ์ ‘์†๋˜๋Š” 2์ฐจ ํ”ผํ•ด๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.
profile
๋ธ”๋กœ๊ทธ ์˜ฎ๊ฒผ์Šต๋‹ˆ๋‹ค. https://shlee.cloud

0๊ฐœ์˜ ๋Œ“๊ธ€