๏ฃฟ Apple Lover Developer & Artist

์˜์†์ ์ธ ๋””์ž์ธ์— ํ˜„๋Œ€์˜ ๊ณต๊ฐ์„ ์ฑ„์›Œ๋„ฃ๋Š” ๊ณต๋ฐฉ์ž…๋‹ˆ๋‹ค

๐Ÿ–ฅ Computer Science/Computer Security

[๋ณด์•ˆํ”„๋กœํ† ์ฝœ] 2์ฃผ์ฐจ - 1๊ฐ•

singularis7 2021. 9. 7. 18:49
๋ฐ˜์‘ํ˜•

์ •๋ณด ๋ณดํ˜ธ ์„œ๋น„์Šค์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ 4๊ฐ€์ง€ ์„œ๋น„์Šค๊ฐ€ ์žˆ๋‹ค.

  • ๊ธฐ๋ฐ€์„ฑ
  • ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ
  • ์‚ฌ์šฉ์ž ์ธ์ฆ
  • ๋ถ€์ธ๋ด‰์‡„

๊ธฐ๋ฐ€์„ฑ

๋„์ฒญ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ๋ณดํ†ต ๋Œ€์นญํ‚ค ์•”ํ˜ธ๋ฅผ ํ†ตํ•ด ๋ณด์•ˆ ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

๋Œ€์นญํ‚ค ์•”ํ˜ธ 
Alice์™€ Bob์‚ฌ์ด์— ๋™์ผํ•œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”/๋ณตํ˜ธํ™”๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ

๋Œ€์นญํ‚ค ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Alice์™€ Bob ๋ชจ๋‘ ๋™์ผํ•œ ํ‚ค๋ฅผ ๊ฐ–๊ณ  ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ํ‚ค๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๋ช‡๊ฐ€์ง€๋ฅผ ์†Œ๊ฐœํ•ด๋ณธ๋‹ค.

  • ์•ˆ์ „ํ•œ ์ฑ„๋„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์นญํ‚ค๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒฝ์šฐ (Secure Channel)
  • Diffie-Hellman ํ‚ค๊ตํ™˜
  • RSA ๋น„๋Œ€์นญํ‚ค(๊ณต๊ฐœํ‚ค) ์•”ํ˜ธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋Œ€์นญํ‚ค๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒฝ์šฐ 

๋Œ€์นญ ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•œ ๊ธฐ๋ฐ€์„ฑ ์ œ๊ณต์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 

  1. ์‚ฌ์ „์— ๋Œ€์นญํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๋น„๋ฐ€ํ‚ค๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  2. ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜(CTR๋ชจ๋“œ์˜ AES-128)์„ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธ๋ฌธ์„ ์ƒ์„ฑํ•œ ํ›„์— ์•”ํ˜ธ๋ฌธ์„ ์ „์†กํ•œ๋‹ค.
  3. bob์ด ์•”ํ˜ธ๋ฌธ c๋ฅผ ์ „์†ก ๋ฐ›์œผ๋ฉด ๋ณตํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜(CTR๋ชจ๋“œ์˜ AES-128 inv)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณตํ˜ธํ™” ํ•œ๋‹ค.

๊ฒฐ๊ตญ ์ œ 3์ž๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์•Œ ์ˆ˜ ์—†์œผ๋ฉฐ ๋น„๋ฐ€ํ‚ค๋ฅผ ์•Œ๊ณ ์žˆ๋Š” bob๋งŒ ํ‰๋ฌธ์œผ๋กœ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋„์ฒญ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ธฐ๋ฐ€์„ฑ์ด ์œ ์ง€๋  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์Œ์€ CTR๋ชจ๋“œ AES-128์˜ ๊ตฌํ˜„ ์›๋ฆฌ์ด๋‹ค.

  • ๋ฉ”์‹œ์ง€๋Š” 128๋น„ํŠธ๋‹จ์œ„์˜ ๋ธ”๋ก์œผ๋กœ ๋ถ„ํ• ํ•œ๋‹ค.
  • ๋งŒ์•ฝ 128๋น„ํŠธ์— ๋งž์ถฐ์ง€์ง€ ์•Š๋Š” M์˜ ๊ฒฝ์šฐ padding์„ ๋ถ™์—ฌ์„œ 128๋น„ํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์ •ํ•œ๋‹ค.
  • ๋ธ”๋ก๋งˆ๋‹ค 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” CTR ์นด์šดํ„ฐ ๊ฐ’์„ ํ‚ค K์™€ ํ•จ๊ป˜ ์•”ํ˜ธํ™”ํ•œ ํ›„์— ํ‰๋ฌธ M๊ณผ XOR ์ทจํ•œ๋‹ค.
  • ๋ชจ๋“  ๋ธ”๋ก์— ๋Œ€ํ•ด์„œ ์œ„ ์—ฐ์‚ฐ์„ ์ ์šฉํ•˜๋ฉด ์•”ํ˜ธ๋ฌธ C๊ฐ€ ํƒ„์ƒํ•˜๋ฉฐ ๋ณตํ˜ธํ™”๋Š” ์—ญ์—ฐ์‚ฐ์ด๋‹ค.

๋ฉ”์‹œ์ง€ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ

๋ฉ”์‹œ์ง€์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๊ฒ€์ฆํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ ๋ฉ”์‹œ์ง€์˜ ๋ณ€๊ฒฝ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์ถœํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์ฃผ๋Š” ์•”ํ˜ธ ๊ธฐ์ˆ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ํ•ด์‹œํ•จ์ˆ˜ : ์ž„์˜์˜ ๋น„ํŠธ์—ด์„ ์ž…๋ ฅ ๋ฐ›์•„์„œ ํŠน์ • l ๋น„ํŠธ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค. (SHA-1: 160bit, MD-5: 128bit)
  • ๋ฉ”์‹œ์ง€ ์ธ์ฆ ์ฝ”๋“œ
  • ๋””์ง€ํ„ธ ์„œ๋ช…

Alice์™€ Bob์ด ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์ „์†ก ๋„์ค‘์— ๋ฉ”์‹œ์ง€๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Œ์„ ๋ณด์žฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  1. SHA-1 ํ•ด์‹œ ํ•จ์ˆ˜์— ๋ฉ”์‹œ์ง€ M์„ ๋ฐ›์•„์„œ ํ•ด์‹œ๊ฐ’ m์„ ๋„์ถœํ•œ๋‹ค.
  2. M์€ ์ž„์˜์˜ ๊ธธ์ด bit, m์€ 160 bit
  3. ๋ฉ”์‹œ์ง€M๊ณผ ํ•ด์‹œ๊ฐ’m์„ ํ•จ๊ป˜ ์ „์†กํ•œ๋‹ค.
  4. bob์€ ์ž์‹ ์ด ๋‹ค์‹œ ๊ณ„์‚ฐํ•œ ๋ฉ”์‹œ์ง€ ํ•ด์‹œ๊ฐ’๊ณผ alice๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ m์„ ๋น„๊ตํ•œ๋‹ค.
  5. ๋งŒ์•ฝ ๊ฒฐ๊ณผ ๊ฐ’์ด ๋‹ฌ๋ž๋‹ค๋ฉด ์œ„์กฐ ๋˜์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

๋งŒ์•ฝ ๋‹ค๋ฅธ Input์— ๋™์ผํ•œ Output์„ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์‰ฝ๊ฒŒ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์•ฝํ•œ ํ•ด์‹œํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์œ„๋ณ€์กฐ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์— ์ฃผ์˜ ํ•ด์•ผํ•œ๋‹ค. (์•ˆ์ „์„ฑ์ด ๋†’์€ ํ•ด์‹œํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค)

์‚ฌ์šฉ์ž ์ธ์ฆ

์œ„์žฅ์„ ๊ฒ€์ถœํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”์‹œ์ง€ ์ธ์ฆ ์ฝ”๋“œ์™€ ๋””์ง€ํ„ธ ์„œ๋ช…์œผ๋กœ ์‹คํ˜„์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

๋ฉ”์‹œ์ง€ ์ธ์ฆ ์ฝ”๋“œ Message Authentication Code (MAC)
= ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ•ด์‹œํ•จ์ˆ˜ (๋Œ€ํ‘œ์ ์œผ๋กœ HMAC-SHA-1)

  • ๋ฉ”์‹œ์ง€ ์ธ์ฆ ์ฝ”๋“œ๋„ ํ‚ค K๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์นญํ‚ค ์•”ํ˜ธ์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํ‚ค๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Alice๋Š” ๋ฉ”์‹œ์ง€ M์— ๋Œ€ํ•˜์—ฌ MAC๊ฐ’ m์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ Bob์—๊ฒŒ ์ „์†กํ•œ๋‹ค.
  • bob์€ ๋‹ค์‹œ ๊ณ„์‚ฐํ•œ mac๊ณผ ์ „์†ก ๋ฐ›์€ mac์ด ๋™์ผํ•œ์ง€ ํ™•์ธํ•ด๋ณธ๋‹ค.
  • ํ‚ค๋Š” ์•จ๋ฆฌ์Šค์™€ ๋ฐฅ๋งŒ์ด ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๋‚ธ ์‚ฌ๋žŒ์ด ๋ˆ„๊ตฐ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

MAC์ฒ˜๋Ÿผ ํ•ด์‹œํ•จ์ˆ˜ ๊ณ„ํ†ต์€ ๊ธฐ๋ฐ€์„ฑ๊ณผ ๋ถ€์ธ๋ด‰์‡„๋ฅผ ์˜ˆ๋ฐฉํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

๋ถ€์ธ๋ด‰์‡„

๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•œ ์‚ฌ๋žŒ์€ ์žˆ๋Š”๋ฐ ๋ฐ›์€์‚ฌ๋žŒ์ด ์—†๊ฑฐ๋‚˜ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ์ด๋‹ค. ๋””์ง€ํ„ธ ์„œ๋ช…์œผ๋กœ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋””์ง€ํ„ธ ์„œ๋ช…์€ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ ๋ฐ ํ•ด์‹œํ•จ์ˆ˜๋กœ ๊ตฌํ˜„๋œ๋‹ค. RSA์•”ํ˜ธ์™€ SHA-256 ์•”ํ˜ธ๋ฅผ ์ ‘๋ชฉ์‹œ์ผœ์„œ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ๊ตฌํ˜„ํ•œ๋‹ค.

์•จ๋ฆฌ์Šค์™€ ๋ฐฅ์ด ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ, ์‚ฌ์šฉ์ž ์ธ์ฆ, ๋ถ€์•ˆ ๋ด‰์‡„๊นŒ์ง€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ๋ฅผ ์›ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

  • ์•จ๋ฆฌ์Šค๊ฐ€ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ์— ๋Œ€ํ•œ ๊ฐœ์ธํ‚ค์™€ ๊ณต๊ฐœํ‚ค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค
  • ์•จ๋ฆฌ์Šค๋Š” ๋งค์‹œ์ง€ M์—๋Œ€ํ•œ ํ•ด์‹œ๊ฐ’ m (256bit) ์„ ๊ณ„์‚ฐํ•œ๋‹ค.
  • ํ•ด์‹œ๊ฐ’ m์„ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™” ์‹œํ‚จ ์„œ๋ช…๊ฐ’ sig๋ฅผ ์ „์†กํ•œ๋‹ค.
  • ์•จ๋ฆฌ์Šค์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ณต๊ฐœํ•œ๋‹ค.
  • ๋ฐฅ์€ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ์™€ ํ•ด์‹œ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ฆํ•œ๋‹ค.

๊ฒ€์ฆ๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.

  • ๋ฐฅ์€ ๋ฐ›์€ sig๊ฐ’์„ ์•จ๋ฆฌ์Šค์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณตํ˜ธํ™” ์‹œํ‚จ๋‹ค.
  • ๋ฐ›์€ ๋ฉ”์‹œ์ง€์—๋Œ€ํ•œ ํ•ด์‹œ๊ฐ’ m๊ณผ ์ƒˆ๋กœ ๊ณ„์‚ฐํ•œ ๋ฉ”์‹œ์ง€์˜ ํ•ด์‹œ๊ฐ’์ด ๊ฐ™์œผ๋ฉด ๋ฌด๊ฒฐ์„ฑ, ์‚ฌ์šฉ์ž, ๋ถ€์ธ๋ฐฉ์ง€๊ฐ€ ํ†ต๊ณผ ๋œ ๊ฒƒ์ด๋‹ค.
ํ•ด์‹œํ•จ์ˆ˜๋ฅผ ์™œ ์‚ฌ์šฉํ–ˆ์„๊นŒ?

๊ณต๊ฐœํ‚ค ์•”ํ˜ธ๋Š” ๋Œ€์นญํ‚ค์•”ํ˜ธ๋ณด๋‹ค ์†๋„๊ฐ€ ๋งค์šฐ ๋Š๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด์‹œ๊ฐ’์„ ์•”ํ˜ธํ™” ํ•œ ๊ฒƒ์ด๋‹ค.

๊ธฐ๋ฐ€์„ฑ: ๋Œ€์นญ์•”ํ˜ธ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์•”ํ˜ธํ™”ํ•ด์„œ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. 
๋™์ผํ•œ ๋Œ€์นญ ์•”ํ˜ธ๋กœ ์•”ํ˜ธ๋ฌธ์„ ๋ณตํ˜ธํ™”๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. 
๋Œ€์นญ์•”ํ˜ธ์˜ ๋น„๋ฐ€ํ‚ค๋Š” ์‚ฌ์ „์— ๊ณต์œ ๊ฐ€ ๋˜์–ด์•ผ ํ•จ

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํ‚ค : ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ๋กœ ๋น„๋ฐ€ํ‚ค๋ฅผ ์ „๋‹ฌ

๋ฉ”์‹œ์ง€ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ : ํ•ด์‹œํ•จ์ˆ˜, ๋ฉ”์‹œ์ง€ ์ธ์ฆ ์ฝ”๋“œ, ๋””์ง€ํ„ธ ์„œ๋ช…

์‚ฌ์šฉ์ž ์ธ์ฆ ใ…ฃ ์ฃผ๋กœ ์€ํ–‰ ์—…๋ฌด์— ์‚ฌ์šฉ. ๋ฉ”์‹œ์ง€ ์ธ์ฆ ์ฝ”๋“œ, ๋””์ง€ํ„ธ ์„œ๋ช…, 

๋ถ€์ธ๋ฐฉ์ง€ : ๋””์ง€ํ„ธ ์„œ๋ช… (๊ณต๊ฐœํ‚ค ์•”ํ˜ธ + ํ•ด์‹œํ•จ์ˆ˜) => ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•”ํ˜ธ ์‹œ์Šคํ…œ์˜ ์ผ์ข…

 

๋ฐ˜์‘ํ˜•