[์ปดํ“จํ„ฐ ๋ณด์•ˆ] ํ•ด์‹œํ•จ์ˆ˜ (์ •์˜, ํšจ๊ณผ, ์šฉ๋„, ์ข…๋ฅ˜, ๊ตฌํ˜„, ์•ฝ์ )

์ผ๋ฐฉํ–ฅ ํ•ด์‹œํ•จ์ˆ˜

์ •์˜

ํ•ด์‹œํ•จ์ˆ˜ ์ค‘ ์—ญ์ƒ์ €ํ•ญ์„ฑ, ์ œ2์—ญ์ƒ์ €ํ•ญ์„ฑ, ์ถฉ๋Œ์ €ํ•ญ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ•จ์ˆ˜

  • ํ•ด์‹œํ•จ์ˆ˜ : ์ž„์˜ ๊ธธ์ด์˜ ๋ฉ”์„ธ์ง€๋ฅผ ์ผ์ • ๊ณ ์ • ๊ธธ์ด์˜ ํ•ด์‰ฌ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜์‹œ์ผœ์ฃผ๋Š” ๋‹จ๋ฐฉํ–ฅ์„ฑ ํ•จ์ˆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ์—ญ์ƒ ์ €ํ•ญ์„ฑ(preimage resistance) : ์ œ 1 ์—ญ์ƒ ๊ณต๊ฒฉ์— ๋Œ€ํ•˜์—ฌ ์•ˆ์ „ํ•œ ๊ฒƒ

    ์ œ 1 ์—ญ์ƒ ๊ณต๊ฒฉ : ํ•ด์‹œ๊ฐ’์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ํ•ด์‹œ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ์ž…๋ ฅ๊ฐ’์„ ์ฐพ๋Š” ๊ณต๊ฒฉ

    ๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™”์™€ ๊ด€๋ จ ์žˆ์Œ

  • ๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” : A => f => B (์•”ํ˜ธํ™”) A <= f^(-1) <= B (๋ณตํ˜ธํ™”) f์˜ ์—ญํ•จ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†์–ด์„œ ๋‹ค์‹œ A๋กœ ์—ญ์‚ฐ(๋ณตํ˜ธํ™”)ํ•  ์ˆ˜ ์—†๋Š” ์•”ํ˜ธํ™”
  • ์ œ 2 ์—ญ์ƒ ์ €ํ•ญ์„ฑ(second preimage resistance) : ์ œ 2 ์—ญ์ƒ ๊ณต๊ฒฉ์— ๋Œ€ํ•˜์—ฌ ์•ˆ์ „ํ•œ ๊ฒƒ

    ์ œ 2 ์—ญ์ƒ ๊ณต๊ฒฉ : ์ž…๋ ฅ๊ฐ’์ด ์ฃผ์–ด์ ธ ์žˆ์„ ๋•Œ, ๊ทธ ์ž…๋ ฅ๊ณผ ๊ฐ™์€ ํ•ด์‹œ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋‹ค๋ฅธ ์ž…๋ ฅ๊ฐ’์„ ์ฐพ๋Š” ๊ณต๊ฒฉ

  • ์ถฉ๋Œ ์ €ํ•ญ์„ฑ(collision resistance) : ํ•ด์‹œ ์ถฉ๋Œ์— ๋Œ€ํ•ด ์•ˆ์ „ ํ•œ ๊ฒƒ

    M2 ≠ M1 ์ผ ๋•Œ, H(M1) = H(M2) ์ธ M1๊ณผ M2์ธ ์Œ์„ ์ฐพ๊ธฐ ์–ด๋ ค์›€

    ํ•ด์‹œ ์ถฉ๋Œ ๊ณต๊ฒฉ (birthday attack) : ํ•ด์‹œ ํ•จ์ˆ˜์˜ ์ถœ๋ ฅ๊ฐ’์ด ๊ณ ์ •๋˜์–ด ์žˆ์ง€ ์•Š๊ณ , ํ•ด์‹œ ์ถฉ๋Œ์ด ์ผ์–ด๋‚˜๋Š” ๋‘ ์ž…๋ ฅ๊ฐ’์„ ์ฐพ๋Š” ๊ณต๊ฒฉ

ํšจ๊ณผ

  • ์••์ถ• ํšจ๊ณผ

    ํ•ด์‹œ ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ž‘์€ ํ•ด์‹œ๊ฐ’๋งŒ์œผ๋กœ๋„ ๊ฑฐ๋Œ€ํ•œ ํฌ๊ธฐ์˜ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋Š” ํšจ๊ณผ

    ex_) SHA-256์€ 100GB์˜ ํŒŒ์ผ ๋ฌด๊ฒฐ์„ฑ์„ 256bit์˜ ํ•ด์‹œ๊ฐ’์œผ๋กœ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•จ

  • ๋ˆˆ์‚ฌํƒœ ํšจ๊ณผ

    ์•„์ฃผ ์ž‘์€ ๋ณ€ํ™”๋กœ๋„ ๊ฒฐ๊ณผ๊ฐ’์ด ์ „ํ˜€ ๋‹ค๋ฅด๊ฒŒ ๋„์ถœ๋˜๋Š” ํšจ๊ณผ

    ๋˜ํ•œ ๋ณ€๊ฒฝ๋˜๋Š” ๋ถ€๋ถ„์— ์žˆ์–ด ์–ด๋– ํ•œ ๊ทœ์น™์„ฑ๋„ ์ฐพ์„ ์ˆ˜ ์—†์Œ

์šฉ๋„

  1. ์ •๋ณด์˜ ๋ฌด๊ฒฐ์„ฑ ํ™•์ธ

    ์ž์‹ ์ด ๋ฐ›์€ ์•”ํ˜ธํ™”์˜ ๊ฒฐ๊ณผ์— ๊ฒฐ์†์ด ์˜์‹ฌ๋œ๋‹ค๋ฉด?

    ๊ณต๊ฐœ๋œ ํ•ด์‹œ๊ฐ’๊ณผ ๊ฒ€์‚ฌํ•ฉ(Checksum)์„ ๋น„๊ตํ•˜๋ฉด ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ์Œ

    ํ•ด์‹œ ๊ฐ’์„ ๋ฐ์ดํ„ฐ์˜ ์ง€๋ฌธ์ฒ˜๋Ÿผ ํ™œ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

  2. ์•”ํ˜ธ ์ €์žฅ

    ์•”ํ˜ธ ์ €์žฅ ์‹œ ๊ทธ๋Œ€๋กœ ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ํ•ด์‹œํ•จ์ˆ˜๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ €์žฅํ•ด์•ผ DB๊ฐ€ ๋…ธ์ถœ๋˜์–ด๋„ ์•”ํ˜ธ๊ฐ€ ๋…ธ์ถœ๋˜์ง€ ์•Š์Œ

  3. ํ•ด์‹œํ…Œ์ด๋ธ”์—์„œ์˜ ํ™œ์šฉ

    ๋ฐ์ดํ„ฐ ๋ชฉ๋ก์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๋•Œ, ํ‚ค ๊ฐ’์œผ๋กœ ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Œ

ex_) OTP, ๋ฉ”์„ธ์ง€ ์ธ์ฆ ์ฝ”๋“œ, ...

์ข…๋ฅ˜

  • ์•”ํ˜ธํ•™์  ํ•ด์‹œํ•จ์ˆ˜
    • MD5 ๊ณ„์—ด
    • SHA ๊ณ„์—ด
      • SHA-1
      • SHA-2
  • ๋น„์•”ํ˜ธํ•™์  ํ•ด์‹œํ•จ์ˆ˜

MD5

: Message-Digest algorithm

128bit ๊ฐ’์„ ์ƒ์„ฑํ•˜๋Š” ํ•ด์‹œ ํ•จ์ˆ˜

SHA2

: Secure Hash Algorithm

SHA-0์€ ๋ฏธ๊ตญ NSA์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง

160bit ๊ฐ’์„ ์ƒ์„ฑํ•˜๋Š” ํ•ด์‹œ ํ•จ์ˆ˜

SHA-0๊ณผ SHA-1์— ๋Œ€ํ•œ ๊ณต๊ฒฉ์€ ์ด๋ฏธ ๋ฐœ๊ฒฌ๋˜์—ˆ์Œ

SHA-2์— ๋Œ€ํ•œ ๊ณต๊ฒฉ์€ ์•„์ง ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์Œ

๊ตฌํ˜„

  • ๋‚˜๋ˆ—์…ˆ ๋ฒ• : h(k) = k mod m
  • ๊ณฑ์…ˆ๋ฒ„
  • ์œ ๋‹ˆ๋ฒ„์„ค ํ•ด์‹ฑ๋ฒ•

์•ฝ์ 

  1. ์—ญ์‚ฐ ๋ง๊ณ ๋„ ์›๋ณธ ๊ฐ’์„ ์•Œ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•˜๋‹ค.
  • ๋ฐฉ๋Œ€ํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์‚ฌ์ „์˜ ํ˜•ํƒœ๋กœ ๋งŒ๋“  ํ›„ ๋Œ€์กฐํ•ด๋ณด๋Š” ๋ฐฉ์‹ (Rainbow attack)

  • ์ž„์˜์˜ ์ˆ˜๋ฅผ ๋ฌด์ฐจ๋ณ„์ ์œผ๋กœ ๋Œ€์ž…ํ•˜์—ฌ ์ฐพ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ• (Brute-force attack)

  • ์•”ํ˜ธ ์ฒด๊ณ„์˜ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌํ˜„ ๊ณผ์ •์˜ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ณต๊ฒฉ ๋ฐฉ๋ฒ• (side channel attack)

    • ์†Œ์š” ์‹œ๊ฐ„ ๋ถ„์„
    • ์ „๋ ฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ณต๊ฒฉ
    • ์ „์ž๊ธฐํŒŒ ๊ณต๊ฒฉ
    • ์Œ์„ฑ ์•”ํ˜ธ ํ•ด๋…
    • ์ฐจ๋ถ„ ์˜ค๋ฅ˜ ๋ถ„์„
    • ์ž”์กด ๋ฐ์ดํ„ฐ
    • ๋กœ์šฐ ํ•ด๋จธ ๊ณต๊ฒฉ
  1. ์ถฉ๋Œ ์Œ์˜ ์กด์žฌ

    SHA-1๋„ ์ถฉ๋Œ ์Œ์ด ๋“œ๋Ÿฌ๋‚œ ์ ์ด ์žˆ์Œ

    ๋น„๋‘˜๊ธฐ ์ง‘์˜ ์›๋ฆฌ์— ์˜ํ•ด ์ž…๋ ฅ๋ณด๋‹ค ์ถœ๋ ฅ์ด ์ž‘์€ ๊ฐ’์ด๋ผ๋ฉด ์ถฉ๋Œ ์Œ์ด ๋‚˜ํƒ€๋‚  ์ˆ˜ ๋ฐ–์— ์—†๋‹ค.

    ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ์ถฉ๋Œ์Œ์˜ ๊ฒฝ์šฐ๋ฅผ ๋„์ถœํ•˜๋ ค๋ฉด ์–ด๋งˆ์–ด๋งˆํ•œ ๊ฐ€์น˜์˜ ๊ฒฝ์ œ์  ๋น„์šฉ์ด ๋“ค๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ๋ ‡๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค๊ณ  ํ•œ๋‹ค.

์ฐธ๊ณ  : http://www.ktword.co.kr/word/abbr_view.php?m_temp1=1211

https://velog.io/@zuyonze/%ED%95%B4%EC%8B%9C%ED%95%A8%EC%88%98%EC%97%90-%EB%8C%80%ED%95%9C-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC%ED%95%98%EA%B8%B0

https://hsp1116.tistory.com/35

https://steemit.com/kr/@yahweh87/2

๋ฐ˜์‘ํ˜•