Manual/BerEditor

[BerEditor] DH (Diffie-Hellman ) Key Agreement ๊ธฐ๋Šฅ

JayKim๐Ÿ™‚ 2023. 5. 30. 09:55

[์ด ๊ธฐ๋Šฅ์€ ๋ผ์ด์„ ์Šค ๋ฒ„์ „ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค]

ํ‚ค ๊ตํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ DH (Diffie Hellman) ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž

DH ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…

DH ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‚˜์˜ ๊ฐœ์ธํ‚ค์™€ ์ƒ๋Œ€์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ๋‚˜์™€ ์ƒ๋Œ€๊ฐ€ ๊ฐ™์€ ๋Œ€์นญํ‚ค๋ฅผ ์–ป๊ธฐ ์œ„ํ•œ
ํ‚ค ํ•ฉ์˜ ๋˜๋Š” ํ‚ค ๊ตํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.
์ฆ‰ ํ•œ์ชฝ์—์„œ ์ผ๋ฐฉ์ ์œผ๋กœ ํ‚ค ๊ฐ’์„ ์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์–‘์ชฝ์—์„œ ํ•ฉ์˜๋ฅผ ํ•˜์—ฌ ํ‚ค๋ฅผ ๊ณต์œ  ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

DH ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ทจ์•ฝ์ 

์‚ฌ์‹ค DH ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•œ ์ ์ด ์žˆ๋‹ค.
์ด๋ฅผ ๋ณด์•ˆ ํ•˜๊ธฐ ์œ„ํ•ด ์ธ์ฆ์„œ ๊ธฐ๋ฐ˜์˜ ์ „์ž์„œ๋ช…์„ ๊ฐ™์ด ์ด์šฉํ•˜์—ฌ ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณด์•ˆ์„ ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋„ˆ๋ฌด ์งง์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ๋„ ์•ˆ๋œ๋‹ค.

DH ๋ฅผ ๊ฐ€์ง€๊ณ  S(๋Œ€์นญํ‚ค) ์–ป๊ธฐ

Alice A ๊ณ„์‚ฐ $$ A = g^a mod p $$
Bob B ๊ณ„์‚ฐ $$ B = g^b mod p $$
Alice ๊ฐ€ B ๋ฅผ ๊ฐ€์ง€๊ณ  S ์–ป๊ธฐ $$ S = B^a mod p $$
Bob ์ด A๋ฅผ ๊ฐ€์ง€๊ณ  S ์–ป๊ธฐ $$ S = A^b mod p $$

์ด๋ ‡๊ฒŒ Alice ์™€ Bob ์ด ๊ฐ™์€ S๋ฅผ ๊ฐ€์ง€๊ณ  ๋Œ€์นญ์น˜๋ฅผ ์–ป๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋‹ค.

  • ์—ฌ๊ธฐ์„œ g ์™€ p ๊ฐ’์ด DH ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด์ด๋‹ค.
  • a : Alice ์˜ ๊ฐœ์ธํ‚ค
  • A : Alicice ์˜ ๊ณต๊ฐœํ‚ค
  • b : Bob ์˜ ๊ฐœ์ธํ‚ค
  • B : Bob ์˜ ๊ณต๊ฐœํ‚ค

BerEditor ์‚ฌ์šฉ๋ฒ•

BerEditor -> ์•”ํ˜ธ -> ํ‚ค ๋™์˜ ๋ฉ”๋‰ด ์„ ํƒ ํ›„ DH ํƒญ์„ ์„ ํƒ ํ•œ๋‹ค.

  1. ๋จผ์ € ํŒŒ๋ผ๋ฏธํ„ฐ ์ƒ์„ฑ ( g ์™€ p ๊ฐ’์„ ์ƒ์„ฑ )
  2. A DH ๊ฐœ์ธํ‚ค ์ƒ์„ฑ
  3. A DH ํ‚ค ์ƒ์„ฑ (๊ณต๊ฐœํ‚ค ์ƒ์„ฑ)
  4. B DH ๊ฐœ์ธํ‚ค ์ƒ์„ฑ
  5. B DH ํ‚ค ์ƒ์„ฑ (๊ณต๊ฐœํ‚ค ์ƒ์„ฑ)
  6. A ๋น„๋ฐ€๊ฐ’ ๊ณ„์‚ฐ
  7. B ๋น„๋ฐ€๊ฐ’ ๊ณ„์‚ฐ ( A์˜ ๊ฐ’๊ณผ ๋™์ผ )

์ด๋ ‡๊ฒŒ ํ–ˆ์„ ๋•Œ A์˜ ๋น„๋ฐ€ ๊ฐ’๊ณผ B์˜ ๋น„๋ฐ€๊ฐ’์ด ๊ฐ™๊ฒŒ ๋‚˜์˜จ๋‹ค.
์ฐธ๊ณ ๋กœ ๊ฐœ์ธํ‚ค ์ƒ์„ฑ ์—†์ด ํ‚ค ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ํ•˜๋ฉด ๊ฐœ์ธํ‚ค ๊ณต๊ฐœํ‚ค ํ•จ๊ป˜ ๋งŒ๋“ ๋‹ค.

์—ฌ๊ธฐ์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด์„œ A์™€ B์˜ ๋ชจ๋“  ๊ฐ’์„ ๋ณด์—ฌ์ฃผ์ง€๋งŒ
์‹ค์ œ๋กœ A์ชฝ์€ A์˜ ๊ฐœ์ธํ‚ค์™€ B์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  A์˜ ๋น„๋ฐ€ํ‚ค๋ฅผ ์–ป๋Š”๋ฐ ํ•„์š”ํ•œ ๊ฐ’์ด๋‹ค.
๋ฐ˜๋•Œ๋กœ B์ชฝ์€ B์˜ ๊ฐœ์ธํ‚ค์™€ A์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  B์˜ ๋น„๋ฐ€ํ‚ค๋ฅผ ์–ป๋Š”๋ฐ ํ•„์š”ํ•˜๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์–‘์ชฝ ๋ชจ๋‘ ๊ฐ™์€ ๋น„๋ฐ€ํ‚ค๊ฐ€ ๋‚˜์™€์„œ ํ‚ค ํ•ฉ์˜๊ฐ€ ์ด๋ฃจ์–ด ์ง„๋‹ค.

์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํžˆ DH ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด์•˜๋‹ค.
TLS ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์—์„œ DH ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‚ฌ์šฉ๋˜๊ตฌ ์žˆ๋‹ค.