[์ปดํ“จํ„ฐ ๋ณด์•ˆ] ๊ทผ๋Œ€ ์•”ํ˜ธ๋ฐฉ์‹ (SEED, SSL, RSA) ์ •๋ฆฌ

 

SEED

ARIA์™€ ํ•จ๊ป˜ ๋Œ€ํ•œ๋ฏผ๊ตญ ๊ตญ๊ฐ€ ํ‘œ์ค€ ์•”ํ˜ธ๋ฐฉ์‹

<๊ตญ๊ฐ€๋ณ„ ํ‘œ์ค€ ์•”ํ˜ธ๋ฐฉ์‹>

์ฐธ๊ณ  : https://ojava.tistory.com/103

ํŠน์ง•

  • 1999๋…„ 2์›” ํ•œ๊ตญ์ •๋ณด๋ณดํ˜ธ์ง„ํฅ์›์ด ๊ฐœ๋ฐœํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • DES์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌ์กฐ๊ฐ€ ๊ธฐ์ˆ ์ ์œผ๋กœ ๋น„์Šทํ•จ

    • feistel ๊ตฌ์กฐ ์‚ฌ์šฉ
  • ์ธํ„ฐ๋„ท ๋ฑ…ํ‚น, ์‡ผํ•‘ ํ™˜๊ฒฝ์—์„œ ์ฃผ๋กœ ์“ฐ์ž„

  • ActiveX๋กœ ๋ฐฐํฌ๋จ

    => ์›น ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ

    ์›น ์‚ฌ์ดํŠธ๊ฐ€ ์›น ํ‘œ์ค€์„ ์–ด๊ธฐ๊ณ  MS์‚ฌ์˜ IE์—์„œ๋งŒ ์ž‘๋™๋˜๋Š” ๋น„ํ‘œ์ค€ ๊ธฐ์ˆ ์„ ๋‚จ์šฉํ•˜๋Š” ๊ฒƒ

2000๋…„๋Œ€ ์ดํ›„ SSL์ด ๊ตญ์ œ ํ‘œ์ค€์œผ๋กœ ์ธ์ •๋˜์—ˆ์œผ๋‚˜ ๋Œ€ํ•œ๋ฏผ๊ตญ์€ ๊ณ„์† SEED๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

  • ISO/IEC ๊ตญ์ œ ๋ธ”๋ก์•”ํ˜ธ์•Œ๊ณ ๋ฆฌ์ฆ˜, IETF ํ‘œ์ค€์œผ๋กœ ์ œ์ •

๋ฐฉ์‹

  • 128bit / 256bit ๋Œ€์นญ ํ‚ค ๋ธ”๋ก ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    • 128bit๋Š” ๊ตญ์ œ ํ‘œ์ค€์— ๋“ฑ์žฌ๋˜์–ด ์žˆ์ง€๋งŒ 256bit๋Š” ์•„์ง ๋“ฑ์žฌ๋˜์ง€ ์•Š์Œ
  • DES์™€ ๊ฐ™์ด feistel ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Œ

    • 16๋ผ์šด๋“œ๋กœ ๊ตฌ์„ฑ

์ฐธ๊ณ  : https://ukzzang.tistory.com/21

 

SSL

: Secure Sockets Layer

  • HTTP๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์ด SSL๊ณผ ํ•ฉ์ณ์ง€๋ฉด์„œ ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋œ ๋ฒ„์ „์˜ HTTPS๊ฐ€ ๋˜์—ˆ์Œ

    HTTP (HyperText Transfer Protocol)

  • ํ˜„์žฌ๋Š” TLS (Transport Layer Security) ๋ผ๊ณ  ๋ถˆ๋ฆผ

  • ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์— ํ†ต์‹  ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ์•”ํ˜ธ ๊ทœ์•ฝ

  • TCP/IP ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹ ์— ์ ์šฉ

    ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๊ตฌ์กฐ๊ฐ€ IP => TCP => SSL => HTTP

  • ๋ณด์•ˆ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ํ™•๋ณด

  • ๊ณต๊ฐœ ํ‚ค ์•”ํ˜ธ ๋ฐฉ์‹ => ๋Œ€์นญ ํ‚ค ์•”ํ˜ธ ๋ฐฉ์‹

    ์˜์‚ฌ ์†Œํ†ต ์ฑ„๋„ ์ˆ˜๋ฆฝ ์‹œ์—๋Š” ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹ ํ•˜๊ณ , ๊ทธ ์ดํ›„ ๋งŒ๋“ค์–ด์ง„ ์ฑ„๋„์„ ํ†ตํ•ด์„œ ๋ฌด์ž‘์œ„ ๋Œ€์นญํ‚ค๋ฅผ ์ƒ์„ฑ, ๊ตํ™˜ํ•œ๋‹ค. ๊ทธ ์ดํ›„์—๋Š” ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹ ํ•œ๋‹ค.

SSL ๋””์ง€ํ„ธ ์ธ์ฆ์„œ

: ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„์˜ ํ†ต์‹ ์„ ์ œ 3์ž๊ฐ€ ๋ณด์ฆํ•ด์ฃผ๋Š” ์ „์žํ™”๋œ ๋ฌธ์„œ

CA(Certificate Authority)

: ์ „์ž ์„œ๋ช… ๋ฐฉ์‹์„ ๋„์ž…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ณต์ธ๋œ ๊ธฐ์—…

๋ฐฉ์‹

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น๋ธŒ๋ผ์šฐ์ €์— ์ ‘์† ์‹œ ์„œ๋ฒ„๊ฐ€ ์ธ์ฆ์„œ ์ œ๊ณต

  2. ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ CA๊ฐ€ ๋ณด์œ ์ค‘์ธ CA๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š”์ง€ ํ™•์ธ

  3. ์žˆ๋‹ค๋ฉด ํ•ด๋‹น CA์˜ ๊ณต๊ฐœํ‚ค๋กœ ์ธ์ฆ์„œ ๋ณตํ˜ธํ™”

    ์•”ํ˜ธํ™” ์‹œ์—๋Š” ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”ํ–ˆ์„ ๊ฒƒ์ด๋ฏ€๋กœ ๊ฐœ์ธ์˜ ์‹ ์› ๋ณด์žฅ ๊ฐ€๋Šฅ

์—ญ์‚ฌ

๋„ท์Šค์ผ€์ดํ”„๊ฐ€ ์ฒ˜์Œ์— ๋งŒ๋“ฌ

ํ˜„์žฌ ๋งˆ์ง€๋ง‰ ๊ฐฑ์‹ ์€ RFC 5246

๋ฐฉ์‹

  1. ์ง€์› ๊ฐ€๋Šฅํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตํ™˜

    ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•”ํ˜ธ ์Šค์œ„ํŠธ๋ฅผ ๊ตํ™˜ํ•จ

    ์ด ๋‹จ๊ณ„์—์„œ ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•, MAC(์ธ์ฆ ์ฝ”๋“œ)์ด ๊ฒฐ์ •๋จ

    MAC์€ HMAC ํ•ด์‹œ ํ•จ์ˆ˜๋กœ ๋งŒ๋“ฌ

  2. ํ‚ค ๊ตํ™˜, ์ธ์ฆ

    • ๊ณต๊ฐœํ‚ค
    • ๋ฏธ๋ฆฌ ๊ณต์œ ๋œ ํ‚ค (TLS-PSK)
  3. ๋Œ€์นญํ‚ค ์•”ํ˜ธ๋กœ ์•”ํ˜ธํ™” ๋ฐ ๋ฉ”์‹œ์ง€ ์ธ์ฆ

๊ฐ•์ 

  1. ์ •๋ณด ํƒˆ์ทจ ๋ถ€๋ถ„์—์„œ ๊ฐ•ํ•จ

    ํŒจํ‚ท์ด ์•”ํ˜ธํ™”๋˜์–ด ์†ก์ˆ˜์‹  ๋˜๊ธฐ ๋•Œ๋ฌธ

  2. ์Šค๋‹ˆํ•‘ ๊ณต๊ฒฉ์—์„œ ๋›ฐ์–ด๋‚œ ๋ณด์•ˆ์„ฑ

    ์Šค๋‹ˆํ•‘ ๊ณต๊ฒฉ : ์Šค๋‹ˆํผ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋„์ฒญํ•˜๋Š” ํ–‰์œ„

    ์Šค๋‹ˆํผ : ๋„คํŠธ์›Œํฌ์ƒ์˜ ํŠธ๋ž˜ํ”ฝ์„ ์—ฟ๋“ฃ๋Š” ๋„์ฒญ์žฅ์น˜

์•ฝ์ 

์‚ฌ๋žŒ์— ์˜ํ•œ ์œ ์ถœ

๊ฐœ์ธ์ •๋ณด ์œ ์ถœ

๊ธฐ๋ฐ€์ •๋ณด ์œ ์ถœ

DDos

๋ถ„์‚ฐ ์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ(Distributed DoS)

: ๋‹ค์ˆ˜์˜ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๊ณต๊ฒฉ์„ ์‹œ๋„, ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ๋™์‹œ ๊ณต๊ฒฉ

์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์˜ PC๋ฅผ ๊ฐ์—ผ์‹œ์ผœ ์ข€๋น„PC๋กœ ๋งŒ๋“  ํ›„ ๊ณต๊ฒฉ ์ˆ˜ํ–‰

APT

์ง€๋Šฅํ˜• ์ง€์† ๊ณต๊ฒฉ(advanced persistent threat)

: ์ž ํ–‰์  / ์ง€์†์ ์ธ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์ง‘ํ•ฉ

ํ•œ ํ‘œ์ ์„ ์‚ผ๊ณ  C&C(Command & Control) ์‹œ์Šคํ…œ์ด ์˜ค๋žœ์‹œ๊ฐ„ ๋™์•ˆ ๋Œ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์‹œ / ์ถ”์ถœํ•˜๋Š” ๊ฒƒ

์•…์„ฑ์ฝ”๋“œ ๊ณต๊ฒฉ

 

RSA

  • ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ์‹œ์Šคํ…œ
  • ์ „์ž์„œ๋ช…์ด ๊ฐ€๋Šฅํ•œ ์ตœ์ดˆ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ „์ž ์ƒ๊ฑฐ๋ž˜์— ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ํ™œ์šฉ๋จ
  • ๋กœ๋„๋“œ ๋ผ์ด๋ฒ ์ŠคํŠธ, ์•„๋”” ์ƒค๋ฏธ๋ฅด, ๋ ˆ๋„ˆ๋“œ ์• ๋“ค๋จผ์ด ๊ฐœ๋ฐœํ•จ (์•ž๊ธ€์ž๋ฅผ ๋”ฐ์„œ RSA)

ํŠน์ง•

  • ํ‚ค ์‚ฌ์šฉ์— ์ œ์•ฝ ์กฐ๊ฑด์ด ์—†์Œ

    ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•œ ์•”ํ˜ธ๋ฌธ์„ ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜์ง€๋งŒ, RSA๋Š” ์ด๋Ÿฌํ•œ ์ œ์•ฝ์ด ์—†์Œ

๋ฐฉ์‹

  1. ํ‚ค ์ƒ์„ฑ

    1. N = pq (p,q๋Š” ์†Œ์ˆ˜)

    2. f(N) = (p-1)(q-1)

    3. f(N)๋ณด๋‹จ ์ž‘๊ณ  f(N)๊ณผ ์„œ๋กœ์†Œ์ธ ์ •์ˆ˜ e ์ฐพ๊ธฐ

    4. d*e / f(N) ํ–ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 1๋‚˜์˜ค๋Š” d ์ฐพ๊ธฐ

      ํ™•์žฅ๋œ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• ์ด์šฉ

    ๊ณต๊ฐœํ‚ค๋Š” <N,e>, ๊ฐœ์ธํ‚ค๋Š” <N,d>

    ํ‚ค ์ƒ์„ฑ ์ดํ›„์—๋Š” p,q๋ฅผ ์ง€์›Œ๋ฒ„๋ ค์„œ ๋ณด์•ˆ์„ฑ์„ ๋†’์ด๋Š” ๊ฒƒ์ด ์ข‹์Œ

  2. ์•”ํ˜ธํ™”

    1. ๊ณต๊ฐœํ‚ค <N,e>๋ฅผ ๊ฐ€์ง€๊ณ  ์‹œ์ž‘

    2. ๋ณด๋‚ด๊ณ  ์‹ถ์€ ๋ฉ”์„ธ์ง€ M์„ N๋ณด๋‹ค ์ž‘์€ ์ˆซ์ž m์œผ๋กœ ๋ณ€ํ™˜

      ๋ณ€ํ™˜๋ฒ•์€ A๋„ ์•Œ์•„์•ผ ํ•จ

    3. c = ( m^(e) mod N ) ์—ฐ์‚ฐ์œผ๋กœ c๋ฅผ ๊ตฌํ•จ

    4. c๋ฅผ A์—๊ฒŒ ๋ณด๋ƒ„

  3. ๋ณตํ˜ธํ™”

    1. m = (c^(d) mod N) ์œผ๋กœ m ์ฐพ๊ธฐ
    2. ์•Œ๊ณ ์žˆ๋Š” ๋ณ€ํ™˜๋ฒ•์œผ๋กœ M ์ฐพ๊ธฐ

์žฅ์ 

  1. ์•ˆ์ •์„ฑ

    ํฐ ์ˆ˜๋ฅผ ์†Œ์ธ์ˆ˜ ๋ถ„ํ•ดํ•˜๊ธฐ ์–ด๋ ต๊ณ , ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์˜ ์—ญ์—ฐ์‚ฐ์ด ์–ด๋ ต๋‹ค๋Š” ์ด์œ  ๋•Œ๋ฌธ์— ์•ˆ์ •์„ฑ์ด ๋†’๋‹ค

ํ™œ์šฉ

์• ํ”Œ ๊ฐœ๋ฐœ์ž์˜ ์ธ์ฆ์„œ๋Š” RSA ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค๊ณ  ํ•จ

๋ฐ˜์‘ํ˜•