์ค๋๋ ๊ฒ์ผ๋ฅธ ์ฌ๋๋ค๋ง์ด ๋ธ๋ก์ฒด์ธ ๊ธฐ์ , ์ํธํํ ๋ฐ ๊ทธ๊ฒ์ด ์ผ๋ง๋ ๋ฉ์ง์ง์ ๋ํด ๊ธ์ ์ฐ์ง ์์์ต๋๋ค. ํ์ง๋ง ์ด ๊ธฐ์ฌ์์๋ ์ด ๊ธฐ์ ์ ์นญ์ฐฌํ๋ ๊ฒ์ด ์๋๋ผ ๋จ์ ๊ณผ ์ด๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
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 ์๋ฒ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
TC ๊ณ์ฝ์ ๋ธ๋ก์ฒด์ธ์ ์์ผ๋ฉฐ TC์ ํ๋ฐํธ์๋ ์ญํ ์ ํฉ๋๋ค. CU(์ฌ์ฉ์ ์ค๋งํธ ๊ณ์ฝ)์ ์์ฒญ์ ์๋ฝํ๊ณ TC ์๋ฒ์ ์๋ต์ ๋ฐํํฉ๋๋ค. TC ์๋ฒ ๋ด๋ถ์๋ ์ํด๋ ์ด๋ธ์ ์ธํฐ๋ท(์๋ฐฉํฅ ํธ๋ํฝ) ๊ฐ์ ์ฐ๊ฒฐ์ ์ค์ ํ๊ณ ์ํด๋ ์ด๋ธ๋ฅผ ๋ธ๋ก์ฒด์ธ๊ณผ ์ฐ๊ฒฐํ๋ ๋ฆด๋ ์ด๊ฐ ์์ต๋๋ค. Enclave์๋ ๋ธ๋ก์ฒด์ธ์์ ์์ฒญ์ ํ๊ณ ๋์งํธ ์๋ช
์ ์ฌ์ฉํ์ฌ ๋ธ๋ก์ฒด์ธ์ ๋ฉ์์ง๋ฅผ ๋ฐํํ๋ ์ฝ๋์ธ progencl์ด ํฌํจ๋์ด ์์ผ๋ฉฐ, progencl์๋ ์ค๋งํธ ๊ณ์ฝ ์ฝ๋์ ์ผ๋ถ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ๋ณธ์ง์ ์ผ๋ก ์ผ๋ถ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค.
Intel SGX ์ํด๋ ์ด๋ธ๋ ecall์ ํตํด ์คํ๋๋ API๊ฐ ์๋ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์๊ฐํ ์ ์์ต๋๋ค. Ecall์ ์ ์ด๊ถ์ ์ํด๋ ์ด๋ธ์ ์ ๋ฌํฉ๋๋ค. ์ํด๋ ์ด๋ธ๋ ์ข
๋ฃ๋๊ฑฐ๋ ์์ธ๊ฐ ๋ฐ์ํ ๋๊น์ง ํด๋น ์ฝ๋๋ฅผ ์คํํฉ๋๋ค. ocall์ ์ํด๋ ์ด๋ธ ์ธ๋ถ์ ์ ์๋ ํจ์๋ฅผ ํธ์ถํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. Ocall์ ์ํด๋ ์ด๋ธ ์ธ๋ถ์์ ์คํ๋๋ฉฐ ์ํด๋ ์ด๋ธ์์ ์ ๋ขฐํ ์ ์๋ ํธ์ถ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ocall์ด ์คํ๋ ํ ์ ์ด๊ถ์ด enclave๋ก ๋ฐํ๋ฉ๋๋ค.
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๋ฐฉํฅ ํธ๋์
ฐ์ดํฌ ํ๋กํ ์ฝ์ ์ฌ์ฉํฉ๋๋ค.
DECO์ ์๋ ๋ฐฉ์์ ๊ฒ์ฆ์๊ฐ ๋ฐ์ดํฐ D ์กฐ๊ฐ์ ์์ ํ๊ณ D๊ฐ TLS ์๋ฒ S์์ ์์์ ๊ฒ์ฆ์์๊ฒ ํ์ธํ๋ ๊ฒ์ ๋๋ค. ๋ ๋ค๋ฅธ ๋ฌธ์ ๋ TLS๊ฐ ๋ฐ์ดํฐ์ ์๋ช ํ์ง ์์ผ๋ฉฐ TLS ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ดํฐ์์ ์ฆ๋ช ํ๊ธฐ ์ด๋ ต๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ ํํ ์ฌ๋ฐ๋ฅธ ์๋ฒ๋ก๋ถํฐ ์์ ๋์์ต๋๋ค(์ถ์ฒ ์ด๋ ค์).
DECO ํ๋กํ ์ฝ์ KEnc ๋ฐ KMac ์ํธํ ํค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํด๋ผ์ด์ธํธ๋ ์น ์๋ฒ์ ์์ฒญ Q๋ฅผ ๋ณด๋ด๊ณ ์๋ฒ R์ ์๋ต์ ์ํธํ๋ ํ์์ผ๋ก ์ ๊ณต๋์ง๋ง ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ๋์ผํ KMac์ ์์ ํ๋ฏ๋ก ํด๋ผ์ด์ธํธ๊ฐ TLS ๋ฉ์์ง๋ฅผ ์์กฐํ ์ ์์ต๋๋ค. DECO์ ์๋ฃจ์ ์ ์์ฒญ์ ์๋ตํ ๋๊น์ง ํด๋ผ์ด์ธํธ(์ฆ๋ช ์)๋ก๋ถํฐ KMac์ "์จ๊ธฐ๋" ๊ฒ์ ๋๋ค. ์ด์ KMac์ ์ฆ๋ช ์์ ๊ฒ์ฆ์(KpMac ๋ฐ KvMac)๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ์๋ฒ๋ KpMac โ KvMac = KMac ํค ๋ถ๋ถ ์์ ์ ์ฌ์ฉํ์ฌ ์๋ต์ ์ํธํํ๊ธฐ ์ํด KMac์ ์์ ํฉ๋๋ค.
XNUMX๋ฐฉํฅ ํธ๋์
ฐ์ดํฌ๋ฅผ ์ค์ ํ๋ฉด ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์ด ๋ณด์์ด ๋ณด์ฅ๋๋ฉด์ ์ํ๋ฉ๋๋ค.
ํ์ค์ํ ์ค๋ผํด ์์คํ
์ ๊ดํด ์ด์ผ๊ธฐํ ๋, ๋ชจ๋์ฑ์ ๊ณ ๋ คํ์ฌ ์ด๋๋ฆฌ์, ๋นํธ์ฝ์ธ โโ๋ฐ ํ์ดํผ๋ ์ ์ ํธํ๋๋ ํ์ค์ํ ์ค๋ผํด ๋
ธ๋ ๋คํธ์ํฌ๋ฅผ ๋ง๋๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ Chainlink๋ฅผ ์ธ๊ธํ์ง ์์ ์ ์์ต๋๋ค. ์์คํ
์ ๋ชจ๋ ๋ถ๋ถ์ ์
๋ฐ์ดํธํ ์ ์์ต๋๋ค. ๋์์ ๋ณด์์ ๋ณด์ฅํ๊ธฐ ์ํด Chainlink๋ ์์
์ ์ฐธ์ฌํ๋ ๊ฐ ์ค๋ผํด์๊ฒ ํค ์กฐํฉ(ํผ๋ธ๋ฆญ ๋ฐ ํ๋ผ์ด๋น)์ ๋ฐํํ๋๋ก ์ ์ํฉ๋๋ค. ๊ฐ์ธ ํค๋ ๋ฐ์ดํฐ ์์ฒญ์ ๋ํ ๊ฒฐ์ ์ด ํฌํจ๋ ๋ถ๋ถ ์๋ช
์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ต๋ณ์ ์ป์ผ๋ ค๋ฉด ๋คํธ์ํฌ ์ค๋ผํด์ ๋ชจ๋ ๋ถ๋ถ ์๋ช
์ ๊ฒฐํฉํด์ผ ํฉ๋๋ค.
์ฒด์ธ๋งํฌ๋ Mixicles์ ๊ฐ์ ํ์ค์ํ ๊ธ์ต ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ ์ ๋๊ณ ์ด๊ธฐ PoC DECO๋ฅผ ์ํํ ๊ณํ์ ๋๋ค. ์ด ๊ธ์ ์ฐ๋ ์์ ์ Chainlink๊ฐ Cornell University์์ DECO๋ฅผ ์ธ์ํ๋ค๋ ์์์ด Forbes์ ๋์์ต๋๋ค.
์ค๋ผํด์ ๋ํ ๊ณต๊ฒฉ
์ ๋ณด ๋ณด์ ๊ด์ ์์ Town Crier์ ๋ํ ๋ค์ ๊ณต๊ฒฉ์ด ๊ณ ๋ ค๋์์ต๋๋ค.
-
TEE ๋ ธ๋์ ์ ์ฑ ์ค๋งํธ ์ ์ด ์ฝ๋ ์ฝ์ .
๊ณต๊ฒฉ์ ๋ณธ์ง: ์๋์ ์ผ๋ก ์๋ชป๋ ์ค๋งํธ ๊ณ์ฝ ์ฝ๋๋ฅผ TEE์ ์ ์กํฉ๋๋ค. ๋ฐ๋ผ์ ๋ ธ๋์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์ป์ ๊ณต๊ฒฉ์๋ ํด๋ ๋ ๋ฐ์ดํฐ์ ๋ํด ์์ ์ (์ฌ๊ธฐ์ฑ) ์ค๋งํธ ๊ณ์ฝ์ ์คํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฐํ ๊ฐ์ ๊ฐ์ธ ํค๋ก ์ํธํ๋๋ฉฐ ์ด๋ฌํ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ๋ฐํ/์ถ๋ ฅ ์ ์ํธ๋ฌธ์ ์ ์ถํ๋ ๊ฒ์ ๋๋ค.
์ด ๊ณต๊ฒฉ์ ๋ํ ๋ณดํธ๋ ํ์ฌ ์ฃผ์์ ์๋ ์ฝ๋์ ์ ํ์ฑ์ ํ์ธํ๋ ์ํด๋ ์ด๋ธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ ๊ณ์ฝ ์ฝ๋๋ฅผ ํด์ฑํ์ฌ ๊ณ์ฝ ์ฃผ์๋ฅผ ๊ฒฐ์ ํ๋ ์ฃผ์ ์ง์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌ์ฑํ ์ ์์ต๋๋ค. -
๊ณ์ฝ ์ํ ์ํธ๋ฌธ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ถ๋์์ต๋๋ค.
๊ณต๊ฒฉ์ ๋ณธ์ง: ์ค๋งํธ ๊ณ์ฝ์ด ์คํ๋๋ ๋ ธ๋์ ์์ ์๋ ์ํด๋ ์ด๋ธ ์ธ๋ถ์์ ์ํธํ๋ ํํ๋ก ๊ณ์ฝ ์ํ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๋ ธ๋์ ๋ํ ์ ์ด๊ถ์ ํ๋ํ ๊ณต๊ฒฉ์๋ ์ค๋งํธ ๊ณ์ฝ ์ฝ๋ ์์ฒด์ ๊ธฐ์ ์ฌ์์ด ๊ณต๊ฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฑฐ๋ ์ ํ์ ์ ์ด ์ํ๋ฅผ ๋น๊ตํ ์ ์์ผ๋ฉฐ ์ด๋ค ์ธ์๊ฐ ์ ๋ ฅ๋์๋์ง, ์ด๋ค ์ค๋งํธ ๊ณ์ฝ ๋ฐฉ๋ฒ์ด ์ฌ์ฉ๋์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
๋ ธ๋ ์์ฒด์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ ๋ณดํธ์ ๋๋ค. -
๋ถ์ฑ๋ ๊ณต๊ฒฉ.
๋ค์ํ ์๋๋ฆฌ์ค์์ ์ํด๋ ์ด๋ธ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์บ์ ์ก์ธ์ค ๋ชจ๋ํฐ๋ง์ ์ฌ์ฉํ๋ ํน์ํ ์ ํ์ ๊ณต๊ฒฉ์ ๋๋ค. ์ด๋ฌํ ๊ณต๊ฒฉ์ ์๋ก๋ Prime๊ณผ Probe๊ฐ ์์ต๋๋ค.
๊ณต๊ฒฉ ์์:- t0: ๊ณต๊ฒฉ์๋ ํผํด์ ํ๋ก์ธ์ค์ ์ ์ฒด ๋ฐ์ดํฐ ์บ์๋ฅผ ์ฑ์๋๋ค.
- t1: ํผํด์๋ ํผํด์์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ(์ํธํ ํค)์ ์์กดํ๋ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค. ์บ์ ๋ผ์ธ์ ํค๋นํธ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ํ๋ฉ๋๋ค. ๊ทธ๋ฆผ์ ์์์๋ keybit = 0์ด๊ณ ์บ์ ๋ผ์ธ 2์ ์ฃผ์ X๊ฐ ์ฝํ์ง๋ฉฐ, X์ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์บ์์ ๋ก๋๋์ด ์ด์ ์ ์๋ ๋ฐ์ดํฐ๊ฐ ๋์ฒด๋ฉ๋๋ค.
- t2: ๊ณต๊ฒฉ์๋ ์์ ์ ์บ์ ๋ผ์ธ ์ค ์ด๋ค ๋ผ์ธ์ด ์ ๊ฑฐ๋์๋์ง(ํผํด์๊ฐ ์ฌ์ฉํ๋ ๋ผ์ธ) ํ์ธํฉ๋๋ค. ์ด๋ ์ก์ธ์ค ์๊ฐ์ ์ธก์ ํ์ฌ ์ํ๋ฉ๋๋ค. ๊ฐ ํค๋นํธ์ ๋ํด ์ด ์์ ์ ๋ฐ๋ณตํจ์ผ๋ก์จ ๊ณต๊ฒฉ์๋ ์ ์ฒด ํค๋ฅผ ํ๋ํฉ๋๋ค.
๊ณต๊ฒฉ ๋ณดํธ: Intel SGX๋ ์บ์ ๊ด๋ จ ์ด๋ฒคํธ ๋ชจ๋ํฐ๋ง์ ๋ฐฉ์งํ๋ ๋ถ์ฑ๋ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธํ์ง๋ง ๊ณต๊ฒฉ์๊ฐ ํ๋ก์ธ์ค์ ์บ์ ์ด๋ฒคํธ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ํผํด์์ ์บ์๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ํ๋ผ์ ๋ฐ ํ๋ก๋ธ ๊ณต๊ฒฉ์ ์ฌ์ ํ โโ์๋ํฉ๋๋ค.
๋ฐ๋ผ์ ํ์ฌ๋ก์๋ ์ด ๊ณต๊ฒฉ์ ๋ํ ํ์คํ ๋ณดํธ ์ฅ์น๊ฐ ์์ต๋๋ค.
Prime, Probe์ ์ ์ฌํ L1TF(Spectre and Foreshadow)์ ๊ฐ์ ๊ณต๊ฒฉ๋ ์๋ ค์ ธ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํ์ฌ ์ฑ๋์ ํตํด ์บ์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ณต๊ฒฉ ์ค ๋ ๊ฐ์ง์ ๋ํด ์๋ํ๋ Spectre-v2 ์ทจ์ฝ์ ์ ๋ํ ๋ณดํธ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค.
DECO์ ๊ด๋ จํ์ฌ XNUMX๋ฐฉํฅ ํธ๋์ ฐ์ดํฌ๋ ๋ณด์์ ๋ณด์ฅํฉ๋๋ค.
- ์ฆ๋ช ์ ๋ฌด๊ฒฐ์ฑ: ํดํน๋ ์ฆ๋ช ์๋ ์๋ฒ ์๋ณธ ์ ๋ณด๋ฅผ ์์กฐํ ์ ์์ผ๋ฉฐ ์๋ฒ๊ฐ ์ ํจํ์ง ์์ ์์ฒญ์ ์๋ฝํ๊ฑฐ๋ ์ ํจํ ์์ฒญ์ ์๋ชป ์๋ตํ๋๋ก ํ ์ ์์ต๋๋ค. ์ด๋ ์๋ฒ์ ์ฆ๋ช ์ ๊ฐ์ ์์ฒญ ํจํด์ ํตํด ์ํ๋ฉ๋๋ค.
- ๊ฒ์ฆ์ ๋ฌด๊ฒฐ์ฑ: ํดํน๋ ๊ฒ์ฆ์๋ ์ฆ๋ช ์๊ฐ ์๋ชป๋ ๋ต๋ณ์ ๋ฐ๊ฒ ํ ์ ์์ต๋๋ค.
- ๊ฐ์ธ ์ ๋ณด ๋ณดํธ: ํดํน๋ ๊ฒ์ฆ์๋ ๊ณต๊ฐ ์ ๋ณด(์์ฒญ, ์๋ฒ ์ด๋ฆ)๋ง ๊ฒ์ฌํฉ๋๋ค.
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