๐Ÿ›ก๏ธ [ํด๋ž˜์‹] On the Security of Public Key Protocols โ€” '์‚ฌ์นญยท๋ณ€์กฐํ•˜๋Š” ๋Šฅ๋™์  ๊ณต๊ฒฉ์ž'๋ฅผ ์ •๋ฉด์œผ๋กœ ๋‹ค๋ฃฌ ์ตœ์ดˆ์˜ ํ˜•์‹ ๋ชจ๋ธ: Dolevโ€“Yao ๋ชจ๋ธ์˜ ํƒ„์ƒ (1983)

2026-09-21 ยท ์นดํ…Œ๊ณ ๋ฆฌ: Research (ํด๋ž˜์‹ ๋ณด์•ˆ ๋…ผ๋ฌธ ยท ์•”ํ˜ธ ํ”„๋กœํ† ์ฝœ ํ˜•์‹ ๊ฒ€์ฆ / ์ƒ์ง•์  ๋ณด์•ˆ ๋ชจ๋ธ ยท 1983)

๋…ผ๋ฌธ ์ •๋ณด

์ œ๋ชฉ: On the Security of Public Key Protocols
์ €์ž: Danny Dolev (๋‹น์‹œ ์Šคํƒ ํผ๋“œ๋Œ€ ์ปดํ“จํ„ฐ๊ณผํ•™๊ณผ โ†’ ํžˆ๋ธŒ๋ฆฌ๋Œ€ํ•™๊ต ์ˆ˜ํ•™ยท์ปดํ“จํ„ฐ๊ณผํ•™ ์—ฐ๊ตฌ์†Œ), Andrew C. Yao (์Šคํƒ ํผ๋“œ๋Œ€ ์ปดํ“จํ„ฐ๊ณผํ•™๊ณผ) โ€” *Yao๋Š” 'Yao์˜ ์ตœ์†Œ ์ตœ๋Œ€ ์ •๋ฆฌ'ยท'๋ฐ€๋ฆฌ์–ธ ๋‹ฌ๋Ÿฌ ๋ฌธ์ œ'๋กœ ์œ ๋ช…ํ•œ ์ด๋ก  ์ปดํ“จํ„ฐ๊ณผํ•™์ž
๋ฐœํ‘œ: IEEE Transactions on Information Theory, Vol. IT-29, No. 2, 1983๋…„ 3์›”, pp. 198โ€“208 (DOI: 10.1109/TIT.1983.1056650)
๋ฐœํ‘œ ์ด๋ ฅ: ์›๊ณ  ์ ‘์ˆ˜ 1981๋…„ 7์›” 15์ผ ยท ์ˆ˜์ • 1982๋…„ 8์›” 8์ผ ยท ์˜ˆ๋น„ํŒ์€ ์ œ22ํšŒ IEEE FOCS(Foundations of Computer Science), ๋‚ด์Šˆ๋นŒ, 1981๋…„ 10์›” 28โ€“30์ผ์—์„œ ๋ถ€๋ถ„ ๋ฐœํ‘œ
๋ถ„์•ผ: ์•”ํ˜ธ ํ”„๋กœํ† ์ฝœ ํ˜•์‹ ๊ฒ€์ฆ ยท ์ƒ์ง•์ (symbolic) ๋ณด์•ˆ ๋ชจ๋ธ ยท ๋Šฅ๋™์  ๊ณต๊ฒฉ์ž ์œ„ํ˜‘ ๋ชจ๋ธ ยท ํ”„๋กœํ† ์ฝœ ์•ˆ์ „์„ฑ ๊ฒฐ์ • ๋ฌธ์ œ(decidability)
์ธ์šฉ: OpenAlex ๊ธฐ์ค€ 5,842ํšŒ (IEEE ToIT 1983 ์ •์‹ํŒ). FOCS 1981 ์˜ˆ๋น„ํŒ์€ ๋ณ„๋„๋กœ 474ํšŒ โ€” ์ฆ‰ ์ด ๋…ผ๋ฌธ ํ•˜๋‚˜๊ฐ€ 'ํ”„๋กœํ† ์ฝœ ๋ณด์•ˆ'์ด๋ผ๋Š” ํ•™๋ฌธ ๋ถ„์•ผ๋ฅผ ์‚ฌ์‹ค์ƒ ์—ด์—ˆ๋‹ค.
์ง€์›: ARPA(MDA-903-80-C-102) ๋ฐ ๋ฏธ๊ตญ NSF(MCS-77-05313-A01)

์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ โ€” "๊ณต๊ฐœํ‚ค๋Š” ๋„์ฒญ์€ ๋ง‰์ง€๋งŒ, ์‚ฌ์นญ์€ ๋ง‰์ง€ ๋ชปํ•œ๋‹ค"

1980๋…„๋Œ€ ์ดˆ, ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ๋Š” ์ˆ˜๋™์  ๋„์ฒญ์ž(passive eavesdropper)์—๊ฒŒ๋Š” ๊ฒฐ์ •์ ์ธ ๋ฌด๊ธฐ๋กœ ์—ฌ๊ฒจ์กŒ๋‹ค. ํšŒ์„ ์„ ๋„์ฒญํ•ด ์•”ํ˜ธ๋ฌธ์„ ์–ป์–ด๋„ ๊ฐœ์ธํ‚ค ์—†์ด๋Š” ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์—†์œผ๋‹ˆ ์•ˆ์ „ํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋…ผ๋ฌธ์€ ์ด ์•ˆ๋„๊ฐ์„ ์ฒซ ๋ฌธ๋‹จ์—์„œ ์ •๋ฉด์œผ๋กœ ๋ถ€์ˆœ๋‹ค. ๋ฌธ์ œ๋Š” ๋Šฅ๋™์  ์‚ฌ๋ณดํ‡ด๋ฅด(active saboteur)๋‹ค. ์ด ๊ณต๊ฒฉ์ž๋Š” ๋„์ฒญ๋งŒ ํ•˜์ง€ ์•Š๋Š”๋‹ค โ€” ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋ฅผ ์‚ฌ์นญํ•˜๊ณ (impersonate), ์ „์†ก ์ค‘์ธ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€๋กœ์ฑ„๊ณ  ๋ฐ”๊ฟ”์น˜๊ธฐํ•˜๋ฉฐ, ์ž๊ธฐ ํ‚ค๋กœ ์žฌ์•”ํ˜ธํ™”ํ•ด ๋‹ค์‹œ ํ˜๋ ค๋ณด๋‚ธ๋‹ค. ๋…ผ๋ฌธ์ด ๋˜์ง„ ์งˆ๋ฌธ์€ ์ด๋žฌ๋‹ค. "๊ณต๊ฐœํ‚ค๊ฐ€ ์™„๋ฒฝํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋„, ํ”„๋กœํ† ์ฝœ ์ž์ฒด๊ฐ€ ์ž˜๋ชป ์„ค๊ณ„๋˜๋ฉด ์•ˆ์ „ํ•˜์ง€ ์•Š๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํ”„๋กœํ† ์ฝœ ์•ˆ์ „์„ฑ์„ ์–ด๋–ป๊ฒŒ '์ •ํ™•ํžˆ' ๋…ผํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?"

๋…ผ๋ฌธ์€ ์ด ์งˆ๋ฌธ์— ๋‹ตํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ˆ˜ํ•™์  ๋ชจ๋ธ์„ ์„ธ์šฐ๊ณ , ๊ทธ ์•ˆ์—์„œ ์•ˆ์ „์„ฑ์„ ํŒ์ •ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํŠน์„ฑํ™”(characterization)๋ฅผ ์ œ์‹œํ–ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ์˜ค๋Š˜๋‚  Dolevโ€“Yao ๋ชจ๋ธ๋กœ ๋ถˆ๋ฆฌ๋Š” ์ƒ์ง•์  ํ”„๋กœํ† ์ฝœ ๋ถ„์„์˜ ์ถœ๋ฐœ์ ์ด๋‹ค.

๋…ผ๋ฌธ์ด ๋“  ์ฒซ ์˜ˆ์‹œ โ€” '์ด๋ฆ„์„ ์•”ํ˜ธ๋ฌธ ๋ฐ–์— ๋‘๋ฉด' ํ”„๋กœํ† ์ฝœ์ด ๊นจ์ง„๋‹ค

๋…ผ๋ฌธ์€ ๋ฉ”์‹œ์ง€๋ฅผ ์„ธ ๊ฐœ์˜ ํ•„๋“œ๋กœ ์ •์˜ํ•œ๋‹ค: ๋ฐœ์‹ ์ž ์ด๋ฆ„, ํ…์ŠคํŠธ(์•”ํ˜ธ๋ฌธ), ์ˆ˜์‹ ์ž ์ด๋ฆ„. ๊ทธ๋ฆฌ๊ณ  ๋„์ž…๋ถ€์— ์ง€๊ธˆ์€ ๊ต๊ณผ์„œ๊ฐ€ ๋œ ํ”„๋กœํ† ์ฝœ์„ ํ•˜๋‚˜ ์ œ์‹œํ•œ๋‹ค. A๊ฐ€ B์—๊ฒŒ ํ‰๋ฌธ M์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์ด๋‹ค.

a) A โ†’ B : (A, E_B(M), B)
b) B โ†’ A : (B, E_A(M), A)

์–ผํ• ์™„๋ฒฝํ•ด ๋ณด์ธ๋‹ค. M์€ B์˜ ํ‚ค๋กœ, ๋‹ค์‹œ A์˜ ํ‚ค๋กœ ๊ฐ์‹ธ์ ธ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋…ผ๋ฌธ์€ "์ด ํ”„๋กœํ† ์ฝœ์€ ๋†€๋ž๊ฒŒ๋„(surprisingly) ๊นจ์ง„๋‹ค"๋ฉฐ ๋„ค ๋‹จ๊ณ„ ๊ณต๊ฒฉ์„ ์ œ์‹œํ•œ๋‹ค.

๊ทผ๋ณธ ์›์ธ์€ ์ˆ˜์‹ ์ž ์ด๋ฆ„์ด ์•”ํ˜ธ๋ฌธ ์•ˆ์— ๋“ค์–ด ์žˆ์ง€ ์•Š๋‹ค๋Š” ์ ์ด๋‹ค. B๋Š” ์ž๊ธฐ๊ฐ€ ๋ฐ›์€ E_B(M)์ด A๊ฐ€ ๋ณด๋‚ธ ๊ฒƒ์ธ์ง€ Z๊ฐ€ ๋ณด๋‚ธ ๊ฒƒ์ธ์ง€ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋Š” ํ›—๋‚  "์ด๋ฆ„์€ ๋ฐ˜๋“œ์‹œ ์•”ํ˜ธ๋ฌธ ์•ˆ์— ํ•จ๊ป˜ ์„œ๋ช…ยท์•”ํ˜ธํ™”ํ•ด์•ผ ํ•œ๋‹ค(name-stamp)"๋Š” ์›์น™์œผ๋กœ ์ž๋ฆฌ ์žก๋Š”๋‹ค โ€” ๊ทธ๋ฆฌ๊ณ  ๋…ผ๋ฌธ์€ ๋ฐ”๋กœ ๊ทธ ์›์น™์„ ํ˜•์‹ ๋ชจ๋ธ๋กœ ์ฆ๋ช…ํ•˜๋Ÿฌ ๊ฐ„๋‹ค.

๋‘ ๊ฐ€์ง€ ๋ชจ๋ธ โ€” Cascade Protocols์™€ Name-Stamp Protocols

๋…ผ๋ฌธ์€ ๋จผ์ € '์™„๋ฒฝํ•œ ๊ณต๊ฐœํ‚ค ์‹œ์Šคํ…œ(perfect public key system)'์ด๋ผ๋Š” ๋ช…์‹œ์  ๊ฐ€์ •์„ ๊น๋‹ค. ์ด ๊ฐ€์ • ๋ชฉ๋ก ์ž์ฒด๊ฐ€ ํ›—๋‚  ๋ชจ๋“  ์ƒ์ง•์  ๋ชจ๋ธ์˜ ํ‘œ์ค€์ด ๋œ๋‹ค.

์ด ์œ„์—์„œ ๋…ผ๋ฌธ์€ ๋‘ ๋ถ€๋ฅ˜์˜ ํ”„๋กœํ† ์ฝœ์„ ์ •์˜ํ•œ๋‹ค.

ํ•ต์‹ฌ ๊ฒฐ๊ณผ โ€” ์•ˆ์ „์„ฑ์€ '์ฆ๋ช…'ํ•  ์ˆ˜ ์žˆ๊ณ , ๋•Œ๋กœ๋Š” '์ž๋™ ํŒ์ •'ํ•  ์ˆ˜ ์žˆ๋‹ค

๋…ผ๋ฌธ์˜ ๊ฐ€์žฅ ํฐ ๊ณตํ—Œ์€ ๊ฐœ๋… ์ •๋ฆฌ๋งŒ์ด ์•„๋‹ˆ๋ผ ๊ตฌ์ฒด์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ •๋ฆฌ๋‹ค. ๋…ผ๋ฌธ ์ž์ฒด ์š”์•ฝ์ด ๋ฐํžˆ๋Š” ๊ฒฐ๊ณผ๋Š” ์ด๋ ‡๋‹ค.

๊ณต๊ฒฉ์ž ๋ชจ๋ธ โ€” "๊ณต๊ฒฉ์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋‚˜๋ฅธ๋‹ค(the attacker carries the message)"

์ด ๋…ผ๋ฌธ์ด ํ›„๋Œ€์— Dolevโ€“Yao ๋ชจ๋ธ์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๊ฐ์ธ๋œ ์ด์œ ๋Š”, ๊ณต๊ฒฉ์ž ๋Šฅ๋ ฅ์„ ๊ณผ๊ฐํ•  ๋งŒํผ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๊ทธ๋ฆฌ๊ณ  ์ˆ˜ํ•™์ ์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ์ •์˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ฆ‰ '๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€'๋Š” ์ตœ๋Œ€ํ•œ ๊ฐ•ํ•˜๊ฒŒ, '์•”ํ˜ธ ์ž์ฒด๋ฅผ ๊นจ๋Š” ๊ฒƒ'์€ ๊ฐ€์ •์œผ๋กœ ๋ฐฐ์ œํ•œ ๊ฒƒ์ด๋‹ค. ์ด ๋น„๋Œ€์นญ์ด ๋ฉ”์‹œ์ง€ ํ๋ฆ„์˜ ๋…ผ๋ฆฌ(logic of message flow) ๋งŒ์„ ๋‹ค๋ฃจ๋Š” ์ƒ์ง•์  ๋ถ„์„์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.

์™œ ์ง€๊ธˆ๋„ ์ธ์šฉ๋˜๋Š”๊ฐ€ โ€” 5,842ํšŒ๊ฐ€ ํ–ฅํ•˜๋Š” ๊ณณ

์ถœ์ฒ˜

๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ