Town Crier vs DECO: ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉํ•  ์˜ค๋ผํด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

Town Crier vs DECO: ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉํ•  ์˜ค๋ผํด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Altirix Systems์—์„œ ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋™์•ˆ ๋ธ”๋ก์ฒด์ธ ์™ธ๋ถ€ ์†Œ์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์—ด์— ์ €ํ•ญํ•˜๋Š” ์•ˆ์ „ํ•œ ํ™•์ธ ์ž‘์—…์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ธ ๋ฒˆ์งธ ์‹œ์Šคํ…œ ๊ธฐ๋ก์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๋…ผ๋ฆฌ์—์„œ ํ•˜๋‚˜ ๋˜๋Š” ๋‹ค๋ฅธ ๋ถ„๊ธฐ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ธ๋œป๋ณด๊ธฐ์— ์ž‘์—…์€ ๋งค์šฐ ์‚ฌ์†Œํ•˜์ง€๋งŒ ํ”„๋กœ์„ธ์Šค์— ์ฐธ์—ฌํ•˜๋Š” ๋‹น์‚ฌ์ž ์ค‘ ํ•˜๋‚˜์˜ ์žฌ์ • ์ƒํƒœ๊ฐ€ ๊ตฌํ˜„ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๊ฒฝ์šฐ ์ถ”๊ฐ€ ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์šฐ์„ , ์ด๋Š” ์ด๋Ÿฌํ•œ ๊ฒ€์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ์‹ ๋ขฐ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ€์žฅ ๋จผ์ € ํ•ด์•ผ ํ•  ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ๋ธ”๋ก์ฒด์ธ ์ž์ฒด๊ฐ€ ์ž์œจ์ ์ด๊ณ  ํ์‡„์ ์ธ ๊ฐœ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ธ”๋ก์ฒด์ธ ๋‚ด๋ถ€์˜ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์€ ์™ธ๋ถ€ ์„ธ๊ณ„์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅธ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋™์‹œ์— ์Šค๋งˆํŠธ ๊ณ„์•ฝ์˜ ์กฐ๊ฑด์€ ์‹ค์ œ ์‚ฌ๋ฌผ์— ๋Œ€ํ•œ ์ •๋ณด(๋น„ํ–‰ ์ง€์—ฐ, ํ™˜์œจ ๋“ฑ)์™€ ๊ด€๋ จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์Šค๋งˆํŠธ ๊ณ„์•ฝ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋ ค๋ฉด ๋ธ”๋ก์ฒด์ธ ์™ธ๋ถ€์—์„œ ์ˆ˜์‹ ๋œ ์ •๋ณด๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ณ  ๊ฒ€์ฆ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” Town Crier ๋ฐ DECO์™€ ๊ฐ™์€ ์˜ค๋ผํด์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ค๋ผํด์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์˜ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์ด ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์„œ๋ฒ„์˜ ์ •๋ณด๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด ์ œ๊ณต์ž๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋ผํด

์ข‹์•„ํ•˜๋Š” ์ถ•๊ตฌ ํด๋Ÿฝ์ด ๋Ÿฌ์‹œ์•ˆ์ปต์—์„œ ์šฐ์Šนํ•˜๋ฉด ์Šค๋งˆํŠธ ๊ณ„์•ฝ์ด ๋น„ํŠธ์ฝ”์ธ โ€‹โ€‹์ง€๊ฐ‘์œผ๋กœ 0.001btc๋ฅผ ์ „์†กํ•œ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์„ธ์š”. ์‹ค์ œ ์Šน๋ฆฌ์˜ ๊ฒฝ์šฐ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์€ ์–ด๋Š ํด๋Ÿฝ์ด ์Šน๋ฆฌํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ „์†กํ•ด์•ผ ํ•˜๋ฉฐ ์—ฌ๊ธฐ์—์„œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋ฅผ ์–ด๋””์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€, ์ด๋ฅผ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์œผ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฐ ์ •๋ณด๋ฅผ ๋ณด์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• ์Šค๋งˆํŠธ ๊ณ„์•ฝ์—์„œ ์ˆ˜์‹ ๋œ ์œ ํšจ ์—ฌ๋ถ€๊ฐ€ ์‹ค์ œ๋กœ ํ˜„์‹ค๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๊นŒ?

์ •๋ณด ์†Œ์Šค์— ๊ด€ํ•ด์„œ๋Š” 2๊ฐ€์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ์น˜ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ค‘์•™์— ์ €์žฅ๋˜๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์›น์‚ฌ์ดํŠธ์— ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์—ฐ๊ฒฐํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ์˜ต์…˜์€ ์—ฌ๋Ÿฌ ์‚ฌ์ดํŠธ๋ฅผ ๋™์‹œ์— ์—ฐ๊ฒฐํ•œ ๋‹ค์Œ ๋Œ€๋ถ€๋ถ„์˜ ์†Œ์Šค์—์„œ ์ •๋ณด๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ •๋ณด์˜ ์ •ํ™•์„ฑ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์˜ค๋ผํด์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด TLSNotary(๋ฐ์ดํ„ฐ ์ง„์œ„๋ฅผ ์ฆ๋ช…ํ•˜๊ธฐ ์œ„ํ•œ TLS Notary Modification)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Oraclize๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Google์—๋Š” Oraclize์— ๋Œ€ํ•œ ์ถฉ๋ถ„ํ•œ ์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉฐ Habrรฉ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ๊ธฐ์‚ฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ์˜ค๋Š˜์€ ์ •๋ณด ์ „์†ก์— ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” oracle์ธ Town Crier์™€ DECO์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ๋‘ ์˜ค๋ผํด์˜ ์ž‘๋™ ์›๋ฆฌ์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ์ž์„ธํ•œ ๋น„๊ต๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํƒ€์šด ํฌ๋ผ ์ด์–ด

TC(Town Crier)๋Š” 3๋…„ CCS'2016์—์„œ IC16(์•”ํ˜ธํ™”ํ ๋ฐ ๊ณ„์•ฝ ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ)์— ์˜ํ•ด ์†Œ๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. TC์˜ ์ฃผ์š” ์•„์ด๋””์–ด๋Š” ์›น์‚ฌ์ดํŠธ์˜ ์ •๋ณด๋ฅผ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์œผ๋กœ ์ „์†กํ•˜๊ณ  TC๊ฐ€ ์ „๋‹ฌํ•˜๋Š” ์ •๋ณด๊ฐ€ ์›น์‚ฌ์ดํŠธ์˜ ์ •๋ณด์™€ ๋™์ผํ•œ์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. TC๋Š” TEE(Trusted Execution Environment)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์†Œ์œ ๊ถŒ์„ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. TC์˜ ์›๋ž˜ ๋ฒ„์ „์€ Intel SGX๋กœ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
Town Crier๋Š” ๋ธ”๋ก์ฒด์ธ ๋‚ด๋ถ€ ๋ถ€๋ถ„๊ณผ OS ์ž์ฒด ๋‚ด๋ถ€ ๋ถ€๋ถ„์ธ TC ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
Town Crier vs DECO: ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉํ•  ์˜ค๋ผํด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
TC ๊ณ„์•ฝ์€ ๋ธ”๋ก์ฒด์ธ์— ์žˆ์œผ๋ฉฐ TC์˜ ํ”„๋ŸฐํŠธ์—”๋“œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. CU(์‚ฌ์šฉ์ž ์Šค๋งˆํŠธ ๊ณ„์•ฝ)์˜ ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๊ณ  TC ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. TC ์„œ๋ฒ„ ๋‚ด๋ถ€์—๋Š” ์—”ํด๋ ˆ์ด๋ธŒ์™€ ์ธํ„ฐ๋„ท(์–‘๋ฐฉํ–ฅ ํŠธ๋ž˜ํ”ฝ) ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ์—”ํด๋ ˆ์ด๋ธŒ๋ฅผ ๋ธ”๋ก์ฒด์ธ๊ณผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฆด๋ ˆ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Enclave์—๋Š” ๋ธ”๋ก์ฒด์ธ์—์„œ ์š”์ฒญ์„ ํ•˜๊ณ  ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ธ”๋ก์ฒด์ธ์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ฝ”๋“œ์ธ progencl์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, progencl์—๋Š” ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ฝ”๋“œ์˜ ์ผ๋ถ€๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋ณธ์งˆ์ ์œผ๋กœ ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Intel SGX ์—”ํด๋ ˆ์ด๋ธŒ๋Š” ecall์„ ํ†ตํ•ด ์‹คํ–‰๋˜๋Š” API๊ฐ€ ์žˆ๋Š” ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Ecall์€ ์ œ์–ด๊ถŒ์„ ์—”ํด๋ ˆ์ด๋ธŒ์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์—”ํด๋ ˆ์ด๋ธŒ๋Š” ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ocall์€ ์—”ํด๋ ˆ์ด๋ธŒ ์™ธ๋ถ€์— ์ •์˜๋œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. Ocall์€ ์—”ํด๋ ˆ์ด๋ธŒ ์™ธ๋ถ€์—์„œ ์‹คํ–‰๋˜๋ฉฐ ์—”ํด๋ ˆ์ด๋ธŒ์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ํ˜ธ์ถœ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ocall์ด ์‹คํ–‰๋œ ํ›„ ์ œ์–ด๊ถŒ์ด enclave๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.
Town Crier vs DECO: ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉํ•  ์˜ค๋ผํด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
Enclave ๋ถ€๋ถ„์—์„œ๋Š” ์›น ์„œ๋ฒ„๋กœ ๋ณด์•ˆ ์ฑ„๋„์ด ๊ตฌ์„ฑ๋˜๋ฉฐ, Enclave ์ž์ฒด๋Š” ๋Œ€์ƒ ์„œ๋ฒ„์™€ TLS ํ•ธ๋“œ์…ฐ์ดํฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ชจ๋“  ์•”ํ˜ธํ™” ์ž‘์—…์„ ๋‚ด๋ถ€์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. TLS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(mbedTLS) ๋ฐ ์ถ•์†Œ๋œ HTTP ์ฝ”๋“œ๊ฐ€ SGX ํ™˜๊ฒฝ์œผ๋กœ ๋‚ด๋ณด๋‚ด์กŒ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Enclave์—๋Š” ์›๊ฒฉ ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๋ฃจํŠธ CA ์ธ์ฆ์„œ(์ธ์ฆ์„œ ๋ชจ์Œ)๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์š”์ฒญ ํ•ธ๋“ค๋Ÿฌ๋Š” Ethereum์—์„œ ์ œ๊ณตํ•˜๋Š” ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๊ทธ๋žจ ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๊ณ  ์ด๋ฅผ ํ•ด๋…ํ•˜๊ณ  ๊ตฌ๋ฌธ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์š”์ฒญ๋œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ํฌํ•จ๋œ ์ด๋”๋ฆฌ์›€ ํŠธ๋žœ์žญ์…˜์„ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ skTC๋กœ ์„œ๋ช…ํ•œ ํ›„ Relay๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

Relay ๋ถ€๋ถ„์—๋Š” ํด๋ผ์ด์–ธํŠธ ์ธํ„ฐํŽ˜์ด์Šค, TCP, ๋ธ”๋ก์ฒด์ธ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์—”ํด๋ ˆ์ด๋ธŒ ์ฝ”๋“œ๋ฅผ ์ธ์ฆํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์™€ ํ†ต์‹ ํ•˜๋ ค๋ฉด ํด๋ผ์ด์–ธํŠธ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ecall์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฆ๋ช… ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  att(์ฆ๋ช… ์„œ๋ช…)์™€ ํ•จ๊ป˜ skTC์—์„œ ์„œ๋ช…ํ•œ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๋ฐ›์€ ๋‹ค์Œ IAS(Intel Attestation Service)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ att๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ํ™•์ธํ•˜๊ณ  ๋ฐ์ดํ„ฐ๊ทธ๋žจ ์ „๋‹ฌ์„ ์œ„ํ•ด ๋ธ”๋ก์ฒด์ธ์— ํŠธ๋žœ์žญ์…˜์„ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. Geth๋Š” ๊ณต์‹ Ethereum ํด๋ผ์ด์–ธํŠธ์ด๋ฉฐ Relay๊ฐ€ RPC ํ˜ธ์ถœ์„ ํ†ตํ•ด ๋ธ”๋ก์ฒด์ธ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.

TEE๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด TC๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์—”ํด๋ ˆ์ด๋ธŒ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ •๋ณด ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ 3๋ฐฐ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์‹คํ–‰ ์ค‘์ธ ์—”ํด๋ ˆ์ด๋ธŒ์˜ ์†๋„๊ฐ€ 15tx/์ดˆ๋ผ๋ฉด 20๊ฐœ์˜ ๋ณ‘๋ ฌ ์‹คํ–‰ ์—”ํด๋ ˆ์ด๋ธŒ์˜ ์†๋„๋Š” 65tx/์ดˆ๋กœ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋น„๊ต๋ฅผ ์œ„ํ•ด ๋น„ํŠธ์ฝ”์ธ โ€‹โ€‹๋ธ”๋ก์ฒด์ธ์˜ ์ตœ๋Œ€ ์ž‘๋™ ์†๋„๋Š” 26tx/์ดˆ์ž…๋‹ˆ๋‹ค.

๋ฐ์ฝ”

DECO(Decentralized Oracles for TLS)๋Š” CCS'20์—์„œ ๋ฐœํ‘œ๋˜์—ˆ์œผ๋ฉฐ TLS ์—ฐ๊ฒฐ์„ ์ง€์›ํ•˜๋Š” ์‚ฌ์ดํŠธ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ€์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
DECO with TLS๋Š” ๋Œ€์นญ ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์›น ์„œ๋ฒ„๋Š” ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ๊ฐ€์ง€๋ฉฐ ํด๋ผ์ด์–ธํŠธ๋Š” ์›ํ•˜๋Š” ๊ฒฝ์šฐ TLS ์„ธ์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด DECO๋Š” ์ฆ๋ช…์ž(์Šค๋งˆํŠธ ๊ณ„์•ฝ), ๊ฒ€์ฆ์ž(์˜ค๋ผํด) ๋ฐ ์›น ์„œ๋ฒ„(๋ฐ์ดํ„ฐ ์†Œ์Šค) ๊ฐ„์˜ XNUMX๋ฐฉํ–ฅ ํ•ธ๋“œ์…ฐ์ดํฌ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Town Crier vs DECO: ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉํ•  ์˜ค๋ผํด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

DECO์˜ ์ž‘๋™ ๋ฐฉ์‹์€ ๊ฒ€์ฆ์ž๊ฐ€ ๋ฐ์ดํ„ฐ D ์กฐ๊ฐ์„ ์ˆ˜์‹ ํ•˜๊ณ  D๊ฐ€ TLS ์„œ๋ฒ„ S์—์„œ ์™”์Œ์„ ๊ฒ€์ฆ์ž์—๊ฒŒ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋Š” TLS๊ฐ€ ๋ฐ์ดํ„ฐ์— ์„œ๋ช…ํ•˜์ง€ ์•Š์œผ๋ฉฐ TLS ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ์ž„์„ ์ฆ๋ช…ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์ •ํ™•ํžˆ ์˜ฌ๋ฐ”๋ฅธ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ถœ์ฒ˜ ์–ด๋ ค์›€).

DECO ํ”„๋กœํ† ์ฝœ์€ KEnc ๋ฐ KMac ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์›น ์„œ๋ฒ„์— ์š”์ฒญ Q๋ฅผ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„ R์˜ ์‘๋‹ต์€ ์•”ํ˜ธํ™”๋œ ํ˜•์‹์œผ๋กœ ์ œ๊ณต๋˜์ง€๋งŒ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ๋™์ผํ•œ KMac์„ ์†Œ์œ ํ•˜๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ TLS ๋ฉ”์‹œ์ง€๋ฅผ ์œ„์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DECO์˜ ์†”๋ฃจ์…˜์€ ์š”์ฒญ์— ์‘๋‹ตํ•  ๋•Œ๊นŒ์ง€ ํด๋ผ์ด์–ธํŠธ(์ฆ๋ช…์ž)๋กœ๋ถ€ํ„ฐ KMac์„ "์ˆจ๊ธฐ๋Š”" ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ œ KMac์€ ์ฆ๋ช…์ž์™€ ๊ฒ€์ฆ์ž(KpMac ๋ฐ KvMac)๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” KpMac โŠ• KvMac = KMac ํ‚ค ๋ถ€๋ถ„ ์ž‘์—…์„ ์‚ฌ์šฉํ•˜์—ฌ ์‘๋‹ต์„ ์•”ํ˜ธํ™”ํ•˜๊ธฐ ์œ„ํ•ด KMac์„ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.

XNUMX๋ฐฉํ–ฅ ํ•ธ๋“œ์…ฐ์ดํฌ๋ฅผ ์„ค์ •ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์ด ๋ณด์•ˆ์ด ๋ณด์žฅ๋˜๋ฉด์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
Town Crier vs DECO: ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉํ•  ์˜ค๋ผํด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
ํƒˆ์ค‘์•™ํ™” ์˜ค๋ผํด ์‹œ์Šคํ…œ์— ๊ด€ํ•ด ์ด์•ผ๊ธฐํ•  ๋•Œ, ๋ชจ๋“ˆ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ด๋”๋ฆฌ์›€, ๋น„ํŠธ์ฝ”์ธ โ€‹โ€‹๋ฐ ํ•˜์ดํผ๋ ˆ์ €์™€ ํ˜ธํ™˜๋˜๋Š” ํƒˆ์ค‘์•™ํ™” ์˜ค๋ผํด ๋…ธ๋“œ ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” Chainlink๋ฅผ ์–ธ๊ธ‰ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๋ถ€๋ถ„์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ๋ณด์•ˆ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด Chainlink๋Š” ์ž‘์—…์— ์ฐธ์—ฌํ•˜๋Š” ๊ฐ ์˜ค๋ผํด์—๊ฒŒ ํ‚ค ์กฐํ•ฉ(ํผ๋ธ”๋ฆญ ๋ฐ ํ”„๋ผ์ด๋น—)์„ ๋ฐœํ–‰ํ•˜๋„๋ก ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ ํ‚ค๋Š” ๋ฐ์ดํ„ฐ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ์ •์ด ํฌํ•จ๋œ ๋ถ€๋ถ„ ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‹ต๋ณ€์„ ์–ป์œผ๋ ค๋ฉด ๋„คํŠธ์›Œํฌ ์˜ค๋ผํด์˜ ๋ชจ๋“  ๋ถ€๋ถ„ ์„œ๋ช…์„ ๊ฒฐํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฒด์ธ๋งํฌ๋Š” Mixicles์™€ ๊ฐ™์€ ํƒˆ์ค‘์•™ํ™” ๊ธˆ์œต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ค‘์ ์„ ๋‘๊ณ  ์ดˆ๊ธฐ PoC DECO๋ฅผ ์ˆ˜ํ–‰ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์„ ์“ฐ๋Š” ์‹œ์ ์— Chainlink๊ฐ€ Cornell University์—์„œ DECO๋ฅผ ์ธ์ˆ˜ํ–ˆ๋‹ค๋Š” ์†Œ์‹์ด Forbes์— ๋‚˜์™”์Šต๋‹ˆ๋‹ค.

์˜ค๋ผํด์— ๋Œ€ํ•œ ๊ณต๊ฒฉ

Town Crier vs DECO: ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉํ•  ์˜ค๋ผํด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ •๋ณด ๋ณด์•ˆ ๊ด€์ ์—์„œ Town Crier์— ๋Œ€ํ•œ ๋‹ค์Œ ๊ณต๊ฒฉ์ด ๊ณ ๋ ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  1. TEE ๋…ธ๋“œ์— ์•…์„ฑ ์Šค๋งˆํŠธ ์ ‘์ด‰ ์ฝ”๋“œ ์‚ฝ์ž….
    ๊ณต๊ฒฉ์˜ ๋ณธ์งˆ: ์˜๋„์ ์œผ๋กœ ์ž˜๋ชป๋œ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ฝ”๋“œ๋ฅผ TEE์— ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์–ป์€ ๊ณต๊ฒฉ์ž๋Š” ํ•ด๋…๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ž์‹ ์˜ (์‚ฌ๊ธฐ์„ฑ) ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐ˜ํ™˜ ๊ฐ’์€ ๊ฐœ์ธ ํ‚ค๋กœ ์•”ํ˜ธํ™”๋˜๋ฉฐ ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ๋ฐ˜ํ™˜/์ถœ๋ ฅ ์‹œ ์•”ํ˜ธ๋ฌธ์„ ์œ ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    ์ด ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณดํ˜ธ๋Š” ํ˜„์žฌ ์ฃผ์†Œ์— ์žˆ๋Š” ์ฝ”๋“œ์˜ ์ •ํ™•์„ฑ์„ ํ™•์ธํ•˜๋Š” ์—”ํด๋ ˆ์ด๋ธŒ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ณ„์•ฝ ์ฝ”๋“œ๋ฅผ ํ•ด์‹ฑํ•˜์—ฌ ๊ณ„์•ฝ ์ฃผ์†Œ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ฃผ์†Œ ์ง€์ • ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ๊ณ„์•ฝ ์ƒํƒœ ์•”ํ˜ธ๋ฌธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์œ ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ๊ณต๊ฒฉ์˜ ๋ณธ์งˆ: ์Šค๋งˆํŠธ ๊ณ„์•ฝ์ด ์‹คํ–‰๋˜๋Š” ๋…ธ๋“œ์˜ ์†Œ์œ ์ž๋Š” ์—”ํด๋ ˆ์ด๋ธŒ ์™ธ๋ถ€์—์„œ ์•”ํ˜ธํ™”๋œ ํ˜•ํƒœ๋กœ ๊ณ„์•ฝ ์ƒํƒœ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ œ์–ด๊ถŒ์„ ํš๋“ํ•œ ๊ณต๊ฒฉ์ž๋Š” ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ฝ”๋“œ ์ž์ฒด์™€ ๊ธฐ์ˆ  ์‚ฌ์–‘์ด ๊ณต๊ฐœ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ๋ž˜ ์ „ํ›„์˜ ์ ‘์ด‰ ์ƒํƒœ๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์–ด๋–ค ์ธ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋˜์—ˆ๋Š”์ง€, ์–ด๋–ค ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๋ฐฉ๋ฒ•์ด ์‚ฌ์šฉ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ๋…ธ๋“œ ์ž์ฒด์˜ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ณดํ˜ธ์ž…๋‹ˆ๋‹ค.

  3. ๋ถ€์ฑ„๋„ ๊ณต๊ฒฉ.
    ๋‹ค์–‘ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์—”ํด๋ ˆ์ด๋ธŒ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์บ์‹œ ์•ก์„ธ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์‚ฌ์šฉํ•˜๋Š” ํŠน์ˆ˜ํ•œ ์œ ํ˜•์˜ ๊ณต๊ฒฉ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์˜ ์˜ˆ๋กœ๋Š” Prime๊ณผ Probe๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
    Town Crier vs DECO: ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉํ•  ์˜ค๋ผํด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
    ๊ณต๊ฒฉ ์ˆœ์„œ:

    • t0: ๊ณต๊ฒฉ์ž๋Š” ํ”ผํ•ด์ž ํ”„๋กœ์„ธ์Šค์˜ ์ „์ฒด ๋ฐ์ดํ„ฐ ์บ์‹œ๋ฅผ ์ฑ„์›๋‹ˆ๋‹ค.
    • t1: ํ”ผํ•ด์ž๋Š” ํ”ผํ•ด์ž์˜ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ(์•”ํ˜ธํ™” ํ‚ค)์— ์˜์กดํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์บ์‹œ ๋ผ์ธ์€ ํ‚ค๋น„ํŠธ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์˜ ์˜ˆ์—์„œ๋Š” keybit = 0์ด๊ณ  ์บ์‹œ ๋ผ์ธ 2์˜ ์ฃผ์†Œ X๊ฐ€ ์ฝํ˜€์ง€๋ฉฐ, X์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ์— ๋กœ๋“œ๋˜์–ด ์ด์ „์— ์žˆ๋˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.
    • t2: ๊ณต๊ฒฉ์ž๋Š” ์ž์‹ ์˜ ์บ์‹œ ๋ผ์ธ ์ค‘ ์–ด๋–ค ๋ผ์ธ์ด ์ œ๊ฑฐ๋˜์—ˆ๋Š”์ง€(ํ”ผํ•ด์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ธ) ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์•ก์„ธ์Šค ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ฐ ํ‚ค๋น„ํŠธ์— ๋Œ€ํ•ด ์ด ์ž‘์—…์„ ๋ฐ˜๋ณตํ•จ์œผ๋กœ์จ ๊ณต๊ฒฉ์ž๋Š” ์ „์ฒด ํ‚ค๋ฅผ ํš๋“ํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ฒฉ ๋ณดํ˜ธ: Intel SGX๋Š” ์บ์‹œ ๊ด€๋ จ ์ด๋ฒคํŠธ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ถ€์ฑ„๋„ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜์ง€๋งŒ ๊ณต๊ฒฉ์ž๊ฐ€ ํ”„๋กœ์„ธ์Šค์˜ ์บ์‹œ ์ด๋ฒคํŠธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ํ”ผํ•ด์ž์™€ ์บ์‹œ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋ผ์ž„ ๋ฐ ํ”„๋กœ๋ธŒ ๊ณต๊ฒฉ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
Town Crier vs DECO: ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉํ•  ์˜ค๋ผํด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
๋”ฐ๋ผ์„œ ํ˜„์žฌ๋กœ์„œ๋Š” ์ด ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ํ™•์‹คํ•œ ๋ณดํ˜ธ ์žฅ์น˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

Prime, Probe์™€ ์œ ์‚ฌํ•œ L1TF(Spectre and Foreshadow)์™€ ๊ฐ™์€ ๊ณต๊ฒฉ๋„ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํƒ€์‚ฌ ์ฑ„๋„์„ ํ†ตํ•ด ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ ์ค‘ ๋‘ ๊ฐ€์ง€์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜๋Š” Spectre-v2 ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

DECO์™€ ๊ด€๋ จํ•˜์—ฌ XNUMX๋ฐฉํ–ฅ ํ•ธ๋“œ์…ฐ์ดํฌ๋Š” ๋ณด์•ˆ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

  1. ์ฆ๋ช…์ž ๋ฌด๊ฒฐ์„ฑ: ํ•ดํ‚น๋œ ์ฆ๋ช…์ž๋Š” ์„œ๋ฒ„ ์›๋ณธ ์ •๋ณด๋ฅผ ์œ„์กฐํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์„œ๋ฒ„๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š์€ ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๊ฑฐ๋‚˜ ์œ ํšจํ•œ ์š”์ฒญ์— ์ž˜๋ชป ์‘๋‹ตํ•˜๋„๋ก ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋ฒ„์™€ ์ฆ๋ช…์ž ๊ฐ„์˜ ์š”์ฒญ ํŒจํ„ด์„ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
  2. ๊ฒ€์ฆ์ž ๋ฌด๊ฒฐ์„ฑ: ํ•ดํ‚น๋œ ๊ฒ€์ฆ์ž๋Š” ์ฆ๋ช…์ž๊ฐ€ ์ž˜๋ชป๋œ ๋‹ต๋ณ€์„ ๋ฐ›๊ฒŒ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  3. ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ: ํ•ดํ‚น๋œ ๊ฒ€์ฆ์ž๋Š” ๊ณต๊ฐœ ์ •๋ณด(์š”์ฒญ, ์„œ๋ฒ„ ์ด๋ฆ„)๋งŒ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

DECO์—์„œ๋Š” ํŠธ๋ž˜ํ”ฝ ์ธ์ ์…˜ ์ทจ์•ฝ์ ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ฒซ์งธ, XNUMX๋ฐฉํ–ฅ ํ•ธ๋“œ์…ฐ์ดํฌ๋ฅผ ํ†ตํ•ด ๊ฒ€์ฆ์ž๋Š” ์ƒˆ๋กœ์šด nonce๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์˜ ID๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•ธ๋“œ์…ฐ์ดํฌ ํ›„์— ๊ฒ€์ฆ์ž๋Š” ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ํ‘œ์‹œ๊ธฐ(IP ์ฃผ์†Œ)์— ์˜์กดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒ€์ฆ์ž์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ํ†ต์‹ ์€ ํŠธ๋ž˜ํ”ฝ ์ฃผ์ž…์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์˜ค๋ผํด์˜ ๋น„๊ต

Town Crier๋Š” ์„œ๋ฒ„ ๋ถ€๋ถ„์˜ enclave ์ž‘์—…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, DECO๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด XNUMX๋ฐฉํ–ฅ ํ•ธ๋“œ์…ฐ์ดํฌ ๋ฐ ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์›๋ณธ์˜ ์ง„์œ„ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค ์˜ค๋ผํด์˜ ๋น„๊ต๋Š” ์„ฑ๋Šฅ, ๋ณด์•ˆ, ๋น„์šฉ ๋ฐ ์‹ค์šฉ์„ฑ ๊ธฐ์ค€์— ๋”ฐ๋ผ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํƒ€์šด ํฌ๋ผ ์ด์–ด
๋ฐ์ฝ”

์„ฑ๋Šฅ
๋” ๋น ๋ฅด๊ฒŒ(์™„๋ฃŒ๊นŒ์ง€ 0.6์ดˆ)
๋” ๋Š๋ฆผ(ํ”„๋กœํ† ์ฝœ ์™„๋ฃŒ๊นŒ์ง€ 10.50์ดˆ)

๋ณด์•ˆ
๋œ ์•ˆ์ „ํ•จ
๋”์šฑ ์•ˆ์ „ํ•ด์กŒ์Šต๋‹ˆ๋‹ค

๋น„์šฉ
๋” ๋น„์‹ธ๋‹ค.
์‹ผ

์‹ค์šฉ์ ์ธ ์‚ฌํ•ญ
ํŠน๋ณ„ํ•œ ํ•˜๋“œ์›จ์–ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค
TLS๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์„œ๋ฒ„์—์„œ ์ž‘๋™

์†๋„ ์„ฑ๋Šฅ: DECO๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด 0.37๋ฐฉํ–ฅ ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. LAN์„ ํ†ตํ•ด ์„ค์ •ํ•  ๊ฒฝ์šฐ 2์ดˆ๊ฐ€ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์ด ์„ค์ •๋œ ํ›„ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ ค๋ฉด 0,13PC-HMAC๊ฐ€ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค(์“ฐ๊ธฐ๋‹น 3์ดˆ). DECO์˜ ์„ฑ๋Šฅ์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ TLS ์•”ํ˜ธํ™” ์ œํ’ˆ๊ตฐ, ๊ฐœ์ธ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ ๋ฐ ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์ฆ๊ฑฐ์˜ ๋ณต์žก์„ฑ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด IC10,50์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ์˜ต์…˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด LAN์„ ํ†ตํ•ด ํ”„๋กœํ† ์ฝœ์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์•ฝ 0,6์ดˆ๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์ด์— ๋น„ํ•ด Town Crier๋Š” ์œ ์‚ฌํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์•ฝ 20์ดˆ๊ฐ€ ์†Œ์š”๋˜๋ฉฐ, ์ด๋Š” DECO๋ณด๋‹ค ์•ฝ XNUMX๋ฐฐ ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋ชจ๋“  ์กฐ๊ฑด์ด ๋™์ผํ•˜๋‹ค๋ฉด TC๊ฐ€ ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค.

ะ‘ะตะทะพะฟะฐัะฝะพัั‚ัŒ: Intel SGX ์—”ํด๋ ˆ์ด๋ธŒ์— ๋Œ€ํ•œ ๊ณต๊ฒฉ(์‚ฌ์ด๋“œ ์ฑ„๋„ ๊ณต๊ฒฉ)์ด ์ž‘๋™ํ•˜๋ฉฐ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ฐธ๊ฐ€์ž์—๊ฒŒ ์‹ค์งˆ์ ์ธ ํ”ผํ•ด๋ฅผ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DECO์˜ ๊ฒฝ์šฐ ํŠธ๋ž˜ํ”ฝ ์ฃผ์ž…๊ณผ ๊ด€๋ จ๋œ ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์ด ์ „ํ˜€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ DECO๊ฐ€ ๋” ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

๋น„์šฉ: Intel SGX๋ฅผ ์ง€์›ํ•˜๋Š” ์žฅ๋น„์˜ ๋น„์šฉ์€ DECO์—์„œ ํ”„๋กœํ† ์ฝœ์„ ์„ค์ •ํ•˜๋Š” ๋น„์šฉ๋ณด๋‹ค ๋†’์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ TC๊ฐ€ ๋” ๋น„์Œ‰๋‹ˆ๋‹ค.

์‹ค์šฉ์„ฑ: ํƒ€์šด ํฌ๋ผ์ด์–ด์™€ ํ•จ๊ป˜ ์ž‘์—…ํ•˜๋ ค๋ฉด TEE๋ฅผ ์ง€์›ํ•˜๋Š” ํŠน์ˆ˜ ์žฅ๋น„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Intel SGX๋Š” 6์„ธ๋Œ€ Intel Core ํ”„๋กœ์„ธ์„œ ์ œํ’ˆ๊ตฐ ์ด์ƒ์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค. DECO๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ์žฅ๋น„๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ TEE๋ฅผ ์‚ฌ์šฉํ•˜๋Š” DECO ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์ • ๊ณผ์ •์— ๋”ฐ๋ผ DECO์˜ XNUMX๋ฐฉํ–ฅ ํ•ธ๋“œ์…ฐ์ดํฌ์—๋Š” ๋‹ค์†Œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋Š” TC์˜ ํ•˜๋“œ์›จ์–ด ์ œํ•œ์— ๋น„ํ•˜๋ฉด ์•„๋ฌด ๊ฒƒ๋„ ์•„๋‹ˆ๋ฏ€๋กœ DECO๊ฐ€ ๋” ์‹ค์šฉ์ ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

๋‘ ์˜ค๋ผํด์„ ๋ณ„๋„๋กœ ์‚ดํŽด๋ณด๊ณ  2020๊ฐ€์ง€ ๊ธฐ์ค€์œผ๋กœ ๋น„๊ตํ•˜๋ฉด 4์  ์ค‘ XNUMX์ ์—์„œ Town Crier๊ฐ€ DECO๋ณด๋‹ค ์—ด๋“ฑํ•˜๋‹ค๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. DECO๋Š” ์ •๋ณด ๋ณด์•ˆ ๊ด€์ ์—์„œ ๋” ์•ˆ์ •์ ์ด๊ณ  ์ €๋ ดํ•˜๋ฉฐ ์‹ค์šฉ์ ์ด์ง€๋งŒ ํƒ€์‚ฌ ํ”„๋กœํ† ์ฝœ์„ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๊ณ  ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ ์ถ”๊ฐ€ ์ž‘์—…๊ณผ ๊ฐ™์€ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. TC๋Š” DECO๋ณด๋‹ค ๋น ๋ฅด์ง€๋งŒ ๋ถ€์ฑ„๋„ ๊ณต๊ฒฉ ์ทจ์•ฝ์„ฑ์œผ๋กœ ์ธํ•ด ๊ธฐ๋ฐ€์„ฑ์ด ์†์‹ค๋˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. DECO๊ฐ€ XNUMX๋…„ XNUMX์›”์— ๋„์ž…๋œ ๋งŒํผ ์•„์ง ์•ˆ์ „ํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•  ์‹œ๊ฐ„์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Town Crier๋Š” XNUMX๋…„ ๋™์•ˆ ๊ณต๊ฒฉ์„ ๋ฐ›์•„์™”๊ณ  ๋งŽ์€ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณค์œผ๋ฏ€๋กœ ๋งŽ์€ ํ”„๋กœ์ ํŠธ์—์„œ์˜ ์‚ฌ์šฉ์ด ์ •๋‹นํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€