๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
WIL

๋ ˆ์ธ๋ณด์šฐ ํ…Œ์ด๋ธ”

by Jaeguk 2024. 5. 1.

๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ


๊ฐ‘์ž๊ธฐ ์™œ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋๋ƒ๋ฉด,,,

ํ˜„์žฌ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•  ๋•Œ, ํ‰๋ฌธ์— 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


 

Rainbow table - Wikipedia

From Wikipedia, the free encyclopedia Password cracking dataset A rainbow table is a precomputed table for caching the outputs of a cryptographic hash function, usually for cracking password hashes. Passwords are typically stored not in plain text form, bu

en.wikipedia.org

 

Rainbow Table Attack ์•Œ์•„๋ณด๊ธฐ

Rainbow Table Attack ์•Œ์•„๋ณด๊ธฐ 1. ๊ฐœ์š” ์˜ค๋Š˜์€ Rainbow Table Attack์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Rainbow Table Attack์€ ์ฃผ๋กœ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์•Œ๊ณ  ์žˆ๊ณ  ์ž์œ ๋กญ๊ฒŒ ํ‰๋ฌธ-์•”ํ˜ธ๋ฌธ ์Œ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์˜

dokhakdubini.tistory.com

 

Why CAPTCHA Pictures Are So Unbearably Depressing

They force you to look at the world the way an AI does

onezero.medium.com

 

728x90

'WIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Two-Phase Locking (2PL)  (0) 2024.05.10
๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ  (1) 2024.03.08
GraphQL๊ณผ N + 1 ๋ฌธ์ œ  (2) 2024.02.27