Abstract
- ํด๋ผ์ฐ๋ ์ปดํจํ ์ ํ์ ์ผ๋ก ํ๋ ์ํ์ ์๊ฐ ์ฆ๊ฐํ๊ณ ํน๋ณํ ๊ถํ์ด ๋ถ์ฌ๋ ์ํํธ์จ์ด ์ทจ์ฝ์ ์ ์ ์ฉ์ผ๋ก ์ธํด ํด๋ผ์ฐ๋ ์๋น์ค ๊ณต๊ธ์์ ๋ณด์ ๊ด๋ฆฌ์๋ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ๋ฐฐํฌํด์ผ ํฉ๋๋ค.
- ์ด๋ฌํ ์๋ฃจ์ ์ ๋ฐ์ดํฐ ์ผํฐ์ CISC ๋ฐ RISC ์ํคํ ์ฒ ์ ํ๊ตฐ์ ํฌํจํ ๊ด๋ฒ์ํ ์ปดํจํ ํ๋ซํผ์ ๋ํด ๋ ๋์ ํ๋์จ์ด ์ง์ ๋ณด์ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ๊ทธ๋ค์ ๋ชฉํ๋ ์ฌ๊ฐํ ๋ณด์ ์ทจ์ฝ์ฑ์ ํฌํจํ๋ ๊ฒ์ผ๋ก ์ ์ฆ๋ ์ด์ ์ฒด์ ๋๋ ํ์ดํผ๋ฐ์ด์ ์ ๊ฐ์ ์ผ๋ถ ๋์ ๊ถํ์ ์์คํ ์ํํธ์จ์ด ๋์ ํ๋์จ์ด์ ๋ํ ์ ๋ขฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ๊ณต๊ฒฉ ํ๋ฉด์ ์ค์ด๋ ๊ฒ์ ๋๋ค.
- ๋ฐ๋ผ์ ์ผ๋ถ ๋ณด์์ ํ์์ ์ธ ์ฌ์ฉ์๋ฅผ ์ํ ํด๋ผ์ฐ๋ ์ปดํจํ ๋ชจ๋ธ์ ์ฑํ์ ์ ํํฉ๋๋ค.
- In this paper, we give cloud users and customers, application developers and security managers a comprehensive overview of four major industrial-scale commercial hardware-based solutions brought by major vendors in the cloud market.
- ๋ณด์, ๊ธฐ๋ฅ ๋ฐ ๋ฐฐํฌ์ ์ธ ๊ฐ์ง ๋ฒ์ฃผ์ ๋ง๋ 20๊ฐ ์ด์์ ๊ธฐ์ค๊ณผ ๊ด๋ จํ์ฌ Intel TXT, ARM TrustZone, AMD SEV ๋ฐ Intel SGX ๊ธฐ์ ์ ์ ์, ๋ถ์ ๋ฐ ๋น๊ตํฉ๋๋ค.
- ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๊ฐ ๊ธฐ์ ์ ๋ํด ๋ ผ์ํ๊ณ ํนํ ๋ฐ์ด๋ ์ฌ๋ก๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ฐ๋ฆฌ์ ๋น๊ต๋ IT ๊ด๋ฆฌ์๊ฐ ํน์ ๋ณด์ ์๊ตฌ ์ฌํญ๊ณผ ๋ฏธ๋์ ํด๋ผ์ฐ๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ํด ์ฑํํ ๋ ๋์ ์ฐ์ ๊ธฐ์ ์ ๋ํด ์ฌ๋ฐ๋ฅธ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
Introduction
- ํด๋ผ์ฐ๋ ์ปดํจํ ์ ๋ฐฐํฌ ๋น์ฉ ์ ๊ฐ, ๊ฐ์ํ๋ฅผ ํตํ VM(๊ฐ์ ๋จธ์ ) ๊ฐ์ ๋ฌผ๋ฆฌ์ ๋ฆฌ์์ค ๊ณต์ , ์ ์ฐํ๊ณ ํ๋ ฅ์ ์ธ ์ฃผ๋ฌธํ ์๋น์ค์ ๊ฐ์ ๋ง์ ์ด์ ๋๋ถ์ ์ง๋ 10๋ ๋์ ๋๋ฆฌ ์ฑํ๋์์ต๋๋ค.
- ๊ทธ๋ฌ๋ ๋ชจ๋ ์ปดํจํ ํ๊ฒฝ์ ์กด์ฌํ๋ ๊ธฐ์กด ์ํ ์ธ์๋ ํด๋ผ์ฐ๋ ์ปดํจํ ์ ๋ฌผ๋ฆฌ์ ์ฝ๋ก์ผ์ด์ ํจ๋ฌ๋ค์์ผ๋ก ์ธํด ๊ณ ๊ฐ์ด ๋์ผํ ๋ฌผ๋ฆฌ์ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ์ ๋ฐ๋ผ ๋ง์ ์ถ๊ฐ ์ํ์ ๋ฌธ์ ์ด์์ต๋๋ค(Singh, 2014; Zoltn dm Mann, 2017).
- ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๋์์ผ๋ก ํ๋ ๊ณต๊ฒฉ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ(DDoS(Distributed Denial of Service) ๋๋ DoS ๊ณต๊ฒฉ, Man-in-the-Cloud ๊ณต๊ฒฉ(Jabir et al., 2016), ๋ฃจํธํท ๊ณต๊ฒฉ(Modi et al., 2012), ์ฌ์ ์ฝ๋ ๊ณต๊ฒฉ(Hetzelt and Buhren, 2017), ์ฝ๋ ์ฃผ์ ๊ณต๊ฒฉ ๋ฑ), ๊ณ ๊ฐ์ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ์ฑํํ๊ธฐ ์ํด ๋ ๋ง์ ๋ณด์ฅ์ด ํ์ํฉ๋๋ค.
- ๋ฐ๋ผ์ ์ํํธ์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์
๊ณผ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์
์ ๋ ๊ฐ์ง ์ฃผ์ ์ ํ๊ตฐ์ผ๋ก ๋๋ ์ ์๋ ์ด๋ฌํ ์ํ์ ๋์ฒํ๊ธฐ ์ํด ๋ง์ ์๋ฃจ์
์ด ์ ์๋์์ต๋๋ค.
- Software-based solution
- ํํธ์ผ๋ก ์ํํธ์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์์ฅ์ ๋ฑ์ฅํ ์ต์ด์ ๋ณด์ ์๋ฃจ์ ์ ๋๋ค.
- ๊ทธ๋ค์ ์๋์ ์ผ๋ก ๊ตฌํํ๊ธฐ ์ฝ๊ณ ์ ๋ ดํ๋ฉฐ ๊ตฌํ์ ๊ฒํ ํ๊ณ ์ ๊ทธ๋ ์ด๋ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์ค์ ๋ก, ํด๋ผ์ฐ๋ ์์คํ ๋ณด์์ ํฅ์์ํค์ง๋ง VM์ ๋ณดํธํ๊ธฐ์๋ ๋ถ์ถฉ๋ถํ ์ ์์ต๋๋ค(Szefer and Lee, 2012).
- TCB(Trust Computing Base)์ ์๋ฐฑ๋ง ์ค์ ์ฝ๋(LOC)๊ฐ ์๋ ์ ๋ขฐํ ์ ์๋ ํ์ดํผ๋ฐ์ด์ ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ์ด๋ LOC์ ์๊ฐ ๋ง์์๋ก ๊ฑฐ๋ํ ์ฝ๋์ ์ทจ์ฝ์ ์ด ์กด์ฌํ ํ๋ฅ ์ด ์ฆ๊ฐํ๊ณ ๋ณต์กํ ์ํํธ์จ์ด๋ฅผ ๊ฒ์ฆํ๋ ์์ ์ด ์ฌ์ ํ ๋งค์ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ํฐ ๊ณต๊ฒฉ ํ๋ฉด์ ์ ๋ํฉ๋๋ค(Kaplan et al., 2016).
- ์ด๋ฌํ ์ทจ์ฝ์ ์ ํด์ปค๊ฐ ์ฝ๋ ์ฝ์ , ์ฝ๋ ์ฌ์ฌ์ฉ, ํฌํฌ ๋ฐ ๋กค๋ฐฑ, ๊ณต๋ชจ ๋ฐ ๋ฃจํธํท๊ณผ ๊ฐ์ ๊ณต๊ฒฉ์ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํด ์ ์ฉ๋ ์ ์์ต๋๋ค.
- ๋ํ, ์ต๊ทผ ์ฐ๊ตฌ ๋ณด๊ณ ์์ ๋ฐ๋ฅด๋ฉด OS(์ด์ ์ฒด์ ), ํ์ดํผ๋ฐ์ด์ ( Asvija et al., 2019), BIOS ๋ฐ SMM(์์คํ ๊ด๋ฆฌ ๋ชจ๋) ๊ณ์ธต์ ์๋ ค์ง ์ทจ์ฝ์ ์ ์ ์ฉํ๊ณ ํด๋ผ์ฐ๋ ์ปดํจํ ์ธํ๋ผ๋ฅผ ์์์ํค๊ธฐ ์ํด ์ฝ๊ฒ ํ์ ์ด ๋ ์ ์์ต๋๋ค.
- Hardware-based solution
- ๋ฐ๋ฉด์ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ ์ฉ IC(์ง์ ํ๋ก) ๋๋ ํน์ ํ๋์จ์ด ์ํคํ ์ฒ๋ก ๋ณด์ ์์ ์ ์ ๊ณตํ๋๋ก ํน๋ณํ ์ค๊ณ๋ ์์ ํ ๋ณ๋์ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ํธํ ํค, ์์ฒด ์ ๋ณด, ์ํธ ๋ฐ ์์คํ ๊ตฌ์ฑ์ ์ค์ํ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ๋ฏผ๊ฐํ ์ ๋ณด๋ ์ ๋นํด ์๋์ ์ผ๋ก ๋ ๋ณต์กํ ์ค๋ฆฌ์ฝ ๊ตฌํ ์ํธํ ํ๋ฆฌ๋ฏธํฐ๋ธ, ๋์ ์์ฑ๊ธฐ, ๋ณ์กฐ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ ๋ฑ ๋๋ถ์ ํ๋์จ์ด์ ์ํด ๋ณดํธ๋ฉ๋๋ค. (๊ฒ์ฆ ์์ ์ ๋น๊ต์ ์ฝ๊ฒ ๋ง๋๋ ์ํํธ์จ์ด ๊ตฌํ)
- ๋ฐ๋ผ์ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ๋ณด์ ์ค์ ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ๋ ์ด๋ ต๊ณ ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์์ต๋๋ค.
- ๋์ ๋น์ฉ ์ธ์๋, ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ต์ ํ๋ ์์คํ ์ฑ๋ฅ์ผ๋ก ํด๋ผ์ฐ๋ ์ธํ๋ผ, ์๋ฒ ๋๋ ์ฅ์น ๋ฐ ์ฃผ๋ณ ์ฅ์น์ ๋ํ ๋ฌด๋จ ์ก์ธ์ค์ ๋ํ ํฐ ๋ณด์ ์ฆ๊ฑฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ต๊ทผ ๋ช ๋ ๋์ ํ๊ณ์ ์ฐ์ ๊ณ์์ ์ฌ๋ฌ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ด ์ ์๋์์ต๋๋ค.
- ์ฐ์ ๊ท๋ชจ์์ TPM(Trust Processor Module), Intel TXT(Trust eXecution Technology), ARM TrustZone, AMD SEV(Secure Execution Virtualization) ๋ฐ Intel SGX(Software Guard eXtention)( Lie and Maniatis, 2017, Mofrad et al., 2018, Pinto ๋ฐ Santos, 2019, Zhang ๋ฐ Zhang, 2016).
- ์ด๋ฌํ ๋ณด์ ์๋ฃจ์ ์ ์ต์ข ์ฌ์ฉ์๊ฐ ์ ๋ขฐํ ์ ์๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์ ์๋ TEE(์ ๋ขฐํ ์ ์๋ ์คํ ํ๊ฒฝ)๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด CSP(ํด๋ผ์ฐ๋ ์๋น์ค ๊ณต๊ธ์)์์ ํ์ฉํ ์ ์์ต๋๋ค.
- ํด๋ผ์ฐ๋ ํ ๋ํธ๊ฐ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ณ VM์ ๋ณด์์ ๋ณด์ฅํ๋ ๊ฒ์ ๋ํด ์ฐ๋ คํ๊ณ ์๊ณ , ์์ฅ์ ๊ณ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ ์ฐ์ ๊ท๋ชจ์ ํ๋์จ์ด ๊ธฐ๋ฐ ๋ณด์ ์๋ฃจ์ ์ด ๋ง๊ธฐ ๋๋ฌธ์ ์ด ๋ฐฑ์์์ ์ฌ์ธต ๋ถ์๊ณผ ํฌ๊ด์ ์ธ ๋น๊ต๋ฅผ ์ ์ํฉ๋๋ค.
- ํด๋ผ์ด์ธํธ, ์ ํ๋ฆฌ์ผ์ด์ ๋์์ด๋ ๋ฐ ๋ณด์ ์ ๋ฌธ๊ฐ๊ฐ ๋ฏธ๋์ ํด๋ผ์ฐ๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ํด ์ฑํํ ๊ธฐ์ ์ ๊ฒฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋๋ก ๊ทธ๋ค ์ฌ์ด์์ ์ฐ๊ตฌํ์ญ์์ค.
- Intel TXT, ARM TrustZone, AMD SEV ๋ฐ Intel SGX์ 4๊ฐ์ง ์ฐ์ ๊ท๋ชจ ํ๋์จ์ด ๊ธฐ๋ฐ ๋ณด์ ์๋ฃจ์ ์ ๋น๊ตํฉ๋๋ค.
- TPM์ ์๋ฅผ ๋ค์ด Intel TXT์ ๊ฒฐํฉํ ์ ์๋ ์ ์ฉ ํน์ ๋ชฉ์ ์นฉ์ผ๋ก ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ๊ตฌํ๋๊ธฐ ๋๋ฌธ์ ํฌํจํ์ง ์์ต๋๋ค.
- ์ฐ๋ฆฌ๊ฐ ์๋ ํ, ์ด ๋ฐฑ์๋ ์ต์ข ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ ์ ์๋ ์ฃผ์ ์ฐ์ ์ฉ ํ๋์จ์ด ๊ธฐ๋ฐ ์ ๋ขฐ ์๋ฃจ์ ์ ๋ํ ํฌ๊ด์ ์ธ ๊ฐ์์ ์ต์ ์ ์ฒ ์ ํ ๋น๊ต๋ฅผ ์ ๊ณตํ๋ ์ต์ด์ ๋ฌธ์์ ๋๋ค.
- Software-based solution
- ๋ฐฑ์์ ๋๋จธ์ง ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ฉ๋๋ค.
- ์น์ 2์์๋ ์ฐ๊ตฌ๋ ์๋ฃจ์ ์ด ๋ฐฐํฌ๋ ๊ฒ์ผ๋ก ์์๋๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ ์ค์ ๊ณผ ํด๋น ์๋ฃจ์ ์ด ๋ค๋ฃจ๋ ์ผ๋ฐ์ ์ธ ๊ณต๊ฒฉ์ ๋ชจ๋ธ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
- ์น์ 3์์๋ ์์์ ์ธ๊ธํ ๊ฐ ์๋ฃจ์ ์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ์ ์ ๊ณตํฉ๋๋ค.
- ์น์ 4์์๋ ์ฐ๋ฆฌ๊ฐ ์ ์ํ ๊ธฐ์ค์ ๋ฐ๋ผ ๋น๊ต์ ๋ํด ์์ธํ ์ค๋ช ํฉ๋๋ค.
- ์น์ 5์์๋ ๊ฐ ์๋ฃจ์ ์ด ํ์ํ ํน์ ๊ฒฝ์ฐ์ ํนํ ์ค์ ์ ๋๊ณ ๋ค์ํ ์๋ฃจ์ ์ ๋ํด ๋ ผ์ํฉ๋๋ค.
- ์น์ 6์์๋ ์ฐ๋ฆฌ์ ์ ์ฌํ ์ ๊ทผ ๋ฐฉ์์ ๋ฐ๋ฅด์ง๋ง ๋ง์ ๋ค๋ฅธ ์ธก๋ฉด์์ ๋ค๋ฅธ ๊ด๋ จ ์์ ์ ์ ์ํฉ๋๋ค.
- ์น์ 7์ฅ์์๋ ๋ ผ๋ฌธ์ ๋ง๋ฌด๋ฆฌ ์ง๊ณ ์์ผ๋ก์ ๊ณผ์ ๋ฅผ ์ ์ํ๋ค.
Cloud setup and assumptions
- ํด๋ผ์ฐ๋ ์ปดํจํ ์ ๋ค์ค ํ ๋ํธ ํน์ฑ์ผ๋ก ์ธํด, ์ฌ์ฉ์๊ฐ ์ ์ฌ์ ์ผ๋ก ์์๋ ํด๋ผ์ฐ๋ ์ํํธ์จ์ด ์คํ ๋ฐ ์ ์์ ์ธ ํด๋ผ์ฐ๋ ์ด์์๊ฐ ์๋ ํด๋ผ์ฐ๋ ์๋ฒ์์ ์๊ฒฉ ๊ณ์ฐ์ ์ํด ๋ฐ์ดํฐ๋ฅผ ์์์์ฑํ ๋ ๋ฐ์ดํฐ ๋ณด์ ๋ฐ ์ก์ธ์ค ์ ์ด๋ฅผ ๋ณด์ฅํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค( Gu et al., 2020 ).
- ๋ด๋ถ ํ๋ผ์ด๋น ํด๋ผ์ฐ๋์ ๊ตฌ์ถ์ ํ์ด๋ธ๋ฆฌ๋, ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋์ ๋นํด ์์ ํ์ง๋ง, ์๋ฒ ํ๋์จ์ด์ ์์คํ ์ํํธ์จ์ด์์ ๋งค๋ฒ ์น๋ช ์ ์ธ ์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋์ด ๋ณด์ ๋ฌธ์ ๋ ์ฌ์ ํ ์จ์ ํ ์ํ๋ก, Meltdown(Lipp et al., 2018), Spectre(Kocher et al., 2019) ๋ฐ RowHammer(Mutlu ๋ฐ Kim, 2019)๋ฑ์ ๊ณต๊ฒฉ๋ค์ด ์์ต๋๋ค.
- IaaS(Infrastructure-as-a-Service), PaaS(Platform as-a-Service) ๋๋ SaaS(Software-as-a-Service) ๋๋ ๊ธฐํ ๋ชจ๋ ์ข ๋ฅ์ ์๋น์ค์ ๋ํ CSP๋ ํด๋ผ์ฐ๋-tenant ๋ฐ์ดํฐ ๋ณดํธ์ ๋ํ ๋ชจ๋ ๊ณตํต ๊ด์ฌ์ฌ๋ฅผ ๊ณต์ ํฉ๋๋ค.
- TCB๊ฐ ํฌ๊ณ ๊ณต๊ฒฉ ํ๋ฉด์ด ํฐ ์ํํธ์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ฌ์ฉํ๋ ๋์ , ํ๋์จ์ด ๊ธฐ๋ฐ TEE๋ฅผ ํ์ฉํ์ฌ ์์คํ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ์ํํธ์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ๋ณด๋ค ๋ ๋ง์ ๋ณด์ ๋ณด์ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ํ๋์จ์ด ์ง์ TEE๋ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์ ๋ขฐํ ์ ์๋ ํ๊ฒฝ์์ ์ฒ๋ฆฌ๋๋๋ก ๋ฐํ์ ์ ์ํํธ์จ์ด ์คํ์ ๊ฒฉ๋ฆฌํจ์ผ๋ก์จ ์์คํ ์์ค์์ ๋ณด์ ๊ฒฝ๊ณ๋ฅผ ์ ๊ณตํ๋ ํจ์จ์ ์ธ ๋ฐฉ์ด ๋ฉ์ปค๋์ฆ ์ญํ ์ ํ๋๋ก ์ค๊ณ๋ ๋ณด์ ๊ฒฉ๋ฆฌ ๊ธฐ์ ์ ๋๋ค(Gu et al., 2020 )
- ์ ๋ขฐํ ์ ์๊ฑฐ๋ ์ทจ์ฝํ ์์คํ ์ํํธ์จ์ด๊ฐ ์๋ ๊ณต์ฉ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด์ ์ธํ๋ผ์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
- ์ด๋ฌํ ์๋ฃจ์ ์ ํ๋์จ์ด์ ๋ํ ์ ๋ขฐ๊ฐ ๋ฐํ์ด ๋๋ฏ๋ก ์ต์ข ์ฌ์ฉ์์ ๋น๋ฐ ๋ฐ์ดํฐ/์ฝ๋๋ฅผ ์กฐ์ํ๋ ๋ชจ๋ ์๋น์ค์ ํจ๊ป ๊ฑฐ์ ๋ชจ๋ ํด๋ผ์ฐ๋ ์ ํ์ ํฌํจํ๋ ๋๊ท๋ชจ ํด๋ผ์ฐ๋ ๋ชจ๋ธ์ ๊ณ ๋ คํฉ๋๋ค.
- ํ์๋ ๊ณต๊ฒฉ์ ๋ชจ๋ธ์์ ๊ณง ์ค๋ช ํ ๊ฒ์ฒ๋ผ ๊ทธ๋ค์ด ์ฌ์ฉ/์กฐ์ํ๋ ์ํํธ์จ์ด๋ฅผ ์ ์ธํ๊ณ ์ํํธ์จ์ด ์คํ์ ๋ชจ๋ ์์ค์์ CSP๋ฅผ ์ ๋ขฐํ์ง ์์ ์ ์์ต๋๋ค.
Attacker model
์ฐ๋ฆฌ๋ ์ํํธ์จ์ด๋ฅผ ์์ ํ ์ ์ดํ ์ ์๋ ๋ฅ๋ ฅ์ ๊ฐ์ง ๊ณต๊ฒฉ์๋ฅผ ๊ณ ๋ คํฉ๋๋ค. ์ฆ, ๊ถํ ์๋ ์ํํธ์จ์ด๋ฅผ ์กฐ์ํ๊ณ ์กฐ์ํ๊ณ ์์คํ ์ ๋งฌ์จ์ด๋ฅผ ์ฝ์ ํ๊ฑฐ๋ ์ ์ฑ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์๋ฅผ ๋ฐฐํฌํ ์๋ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ์ ๋ขฐํ ์ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ OS, BIOS, SMM ๋ฐ VMM์ด ํฌํจ๋ฉ๋๋ค.
๊ณต๊ฒฉ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฝ์ ์ ์๊ณ ๋ฌผ๋ฆฌ์ ๊ณต๊ฒฉ์ ์ํํ ์ ์์ง๋ง CPU์์๋ ์ํํ ์ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์ฆ, ์์คํ ์ CPU์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ก์ธ์คํ ์ ์์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ ๋๋ ํ๋ซํผ ๊ตฌ์ฑ ์์๋ฅผ ์ํธ ์ฐ๊ฒฐํ๋ ๋ฒ์ค๋ฅผ ํฌํจํ ํ๋ซํผ์ ๋ค๋ฅธ ํ๋์จ์ด ๊ตฌ์ฑ ์์์๋ ์ก์ธ์คํ ์ ์์ต๋๋ค.
๊ณต๊ฒฉ์๋ ๋ด๋ถ์์ด๊ฑฐ๋ ์๊ฒฉ ๊ณต๊ฒฉ์์ผ ์ ์์ง๋ง ์ํธํ ๊ธฐ๋ณธ ์์๋ฅผ ๊นจ๋จ๋ฆด ์ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์ด ๋ชจ๋ธ์์๋ ์๋น์ค ๊ฑฐ๋ถ ๊ณต๊ฒฉ, ๋ฌผ๋ฆฌ์ ๊ธฐ๋ฐ ๊ณต๊ฒฉ, ๋ถ์ฑ๋ ๋ฐ ํ์ด๋ฐ ๊ณต๊ฒฉ, ๋คํธ์ํฌ ๊ธฐ๋ฐ ๊ณต๊ฒฉ์ ๊ณ ๋ คํ์ง ์์ต๋๋ค(Atamli-Reineh and Martin, 2017; Kocher et al., 2019; Lipp et al. , 2018, Maene et al., 2018, Mutlu and Kim, 2019, Van Bulck et al., 2018).
Hardware-based solutions
- ํ์ฌ ๋ฐ์ดํฐ ์ผํฐ ์์ฅ์ Intel๊ณผ AMD๊ฐ ๊ฐ๊ฐ ์ ์กฐํ Xeon ๋ฐ Opteron ๋ง์ดํฌ๋กํ๋ก์ธ์ ์ํคํ ์ฒ๊ฐ ์ฃผ๋ํ๊ณ ์์ต๋๋ค.
- ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ผ๋ถ์์๋ ARM ํ๋ก์ธ์์ ํฌ๊ธฐ, ์๋์ง ํจ์จ์ฑ, ์ ์ฐ์ฑ ๋ฐ ์ ๋ ดํ ๋น์ฉ์ผ๋ก ์ธํด ARM์ด ์๋ฒ์ฉ Intel ๋ฐ AMD ์ํคํ ์ฒ์ ์คํ ๊ฐ๋ฅํ ๋์์ด ๋ ์ ์๋ค๊ณ ์ฃผ์ฅํ์ต๋๋ค( Pinto and Santos, 2019 ).
- ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด ์น์ ์์๋ ๋ค์ ์น์ ์์ ๋น๊ตํ ์ธ ๊ฐ์ง ์ฃผ์ ๊ณต๊ธ์ ์ฒด์ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ ์ํฉ๋๋ค.
3.1 Intel TXT (difficult to understand)
- Intel TXT๋ ์ด์ ์ LaGrande Technology๋ก ์๋ ค์ก์ต๋๋ค. 2005๋ ์ ๋ฐํ๋์์ผ๋ฉฐ ๋์ค์ Intel TXT๋ก ์ด๋ฆ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ TCG(Trusted Computing Group)์์ ๊ณต์์ ์ผ๋ก ์ง์ ํ ์ ์ฉ ๋ง์ดํฌ๋ก ํ๋ก์ธ์์ธ TPM ์ ์ฌ์ฉํ์ฌ ์ ๋ขฐํ ์ ์๋ ํ๋ซํผ์ ๋ง๋๋ ๊ฒ์ ๋ชฉํ๋ก ํ์ต๋๋ค(Maene et al., 2018).
- TPM์ ํ๋์จ์ด ์ฅ์น ๋ด์์ ์ํธํ ๊ธฐ๋ณธ ์์์ ํค๋ฅผ ๋ณดํธํ๊ณ ํตํฉํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
- ๊ทธ๋ฆผ 1๊ณผ ๊ฐ์ด TXT๋ TPM์ ๋์์ด ์๋์ง๋ง ๊ธฐ๋ณธ ๋ณด์ ์๋น์ค ์ ๊ณต์ ํฌ๊ฒ ์์กดํ๊ณ ์์ต๋๋ค(Cotan et al., 2017; Wojtczuk and Rutkowska, 2009).
- IOH/PCH(Intel VT-d ๊ธฐ์ ์ ํ์ฉํ๋ I/O Hub for Input/Output ๋ฐ ํ๋ก์ธ์์ฉ Platform Controller Hub)๋ฅผ ์ง์ํ๋ ์นฉ์ ์ ํตํฉ๋์ด ์์ผ๋ฉฐ ์ ์ฌ์ ์ธ ๊ฐ์ํ ๊ธฐ๋ฅ์ด ์๋ BIOS ๋ฐ ํ๋ ์ด์์ Intel Xeon ํ๋ก์ธ์์ ์ํธ ์์ฉํฉ๋๋ค. (์ธก์ ๋ฐ ์ฝ๋ ์ธ์ฆ ๊ธฐ๋ฅ ํน์ง์ ์ ๊ณตํ๊ธฐ ์ํด์)
- ๊ทธ๋ฆผ 1์์ ๋ณผ ์ ์๋ฏ์ด BIOS์๋ ์์คํ ์์(์ธ์ฆ ์ฝ๋ ๋ชจ๋)์ ์ํด ํ๋ก์ธ์ ๋ด์์ ๊ฒฉ๋ฆฌ๋ ์คํ ํ๊ฒฝ์ ํ์ฑํํ๊ธฐ ์ํด Intel์์ ์์ฑํ๊ณ ์๋ช ํ ACM(์ธ์ฆ ์ฝ๋ ๋ชจ๋)์ด ํฌํจ๋์ด ์์ต๋๋ค.
- ์์ ํ๋์จ์ด ์ค์ ์ ๊ธฐ๋ฐ์ผ๋ก MLE(Measured Launch Environment)๊ฐ ์์ฑ๋์ด ์์คํ ์ํํธ์จ์ด๋ฅผ ํ์ธํ๊ณ ์ฆ๋ช ํฉ๋๋ค.
- Intel TXT๋ ์ ๋ขฐํ ์ ์๋ ํ๊ฒฝ์ ๊ตฌ์ถํ๋๋ก ์ ๋ํ๋ ์์คํ ์ํํธ์จ์ด์ ์ธก์ ๋ฐ ์ ์ด๋ ๋ถํ ์ ์ ๊ณตํฉ๋๋ค(Intel Corporation, 2017). ์ํํธ์จ์ด ๊ตฌ์ฑ ์์์ ๋ฌด๊ฒฐ์ฑ์ ์ฆ๋ช ํ๊ฑฐ๋ ๋ฐ์ฆํ ์ ์๋ ๊ฐ๋ณ ๋ฌด๊ฒฐ์ฑ ์ธก์ ์ ์ ๊ณตํ๋ฏ๋ก ๋ถํ ์์, BIOS, OS, ์ํํธ์จ์ด ๊ตฌ์ฑ ๋ฐ ์ ์ฑ ์ ๋ฌด๋จ ๋ณ๊ฒฝ์ ๊ฐ์งํ ์ ์์ต๋๋ค.
- ๋ํ Intel TXT๋ ์์คํ ์ด Intel TXT๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํธ์ถํ๊ณ ์ฝ๋๊ฐ ๋ณดํธ๋ ํ๊ฒฝ์์ ์คํ๋๊ณ ์๋์ง ํ์ธํ๋ ์ฆ๋ช ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค.
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ด ๊ฐ์ฅ ์ค์ํ ํด๋ผ์ฐ๋ ์ปดํจํ ๋ฐ ๊ธฐํ ์ฌ์ฉ ์ฌ๋ก์ ํนํ ์ ํฉํฉ๋๋ค(Greene, 2013b).
- Amazon AWS, VMWare vCloud ๋ฐ OpenStack๊ณผ ๊ฐ์ ์ฃผ์ ํด๋ผ์ฐ๋ ์ธํ๋ผ์์ ์ฌ์ฉ๋ฉ๋๋ค.
- Intel TXT์ ํ๋ก์ธ์์ ๋ํ ์ ๋ขฐ๊ฐ ๋ฐํ์ด ๋์๊ธฐ ๋๋ฌธ์ ์ด ์๋ฃจ์ ์ ์๋ฒ์ ๋ฏผ๊ฐํ ์ ๋ณด์ ๋ํด ๋ ๋์ ๋ณด์ ๋ณดํธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ๋ด๋ถ์ ๋น๋ฐ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๊ณ ์กฐ์๋๋ ๋ฉ๋ชจ๋ฆฌ์ ์ผ๋ถ ์์ญ์ ์ง์ ํ์ฌ ๊ฒฉ๋ฆฌ๋ ์คํ ํ๊ฒฝ์ ๋ง๋ญ๋๋ค.
- ๋ํ ์ํธํ ํค๋ฅผ ํ๋ ๋๋ผ์ด๋ธ์ ์์ ํ๊ฒ ์ ์ฅํ๊ธฐ ์ํ ๋ฐ๋ด ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
3.2 ARM Trust Zone
- TrustZone์ ARM ํ๋ก์ธ์ ์ํคํ ์ฒ์ ์ ํ์ ํ๋์จ์ด ๋ณด์ ํ์ฅ์ผ๋ก ์ปดํจํฐ ๋ฆฌ์์ค๋ฅผ ์ผ๋ฐ ์ธ๊ณ ์ ๋ณด์ ์ธ๊ณ ์ ๋ ์คํ ์ธ๊ณ๋ก ๋ถํ ํ์ฌ ์์ ํ ์คํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค(Ngabonziza et al., 2016).
- TrustZone ๊ธฐ์ ์ 2002๋ ์ ๋ฐํ๋์์ง๋ง 2009๋ ๊น์ง ๋๋ฆฌ ์ฌ์ฉ๋์ง ์์์ต๋๋ค.
- ARM์ ์๋ฒ ๋ฐ IoT ์ฅ์น๋ฅผ ํฌํจํ ๊ด๋ฒ์ํ ํ๋ซํผ์ ์ง์ํ๊ธฐ ์ํด ARM64 ๋ฐ ARMv8-M ์ํคํ ์ฒ์ ์ด๋ฅผ ํตํฉํ์ต๋๋ค(Li et al., 2019).
- TrustZone์ ์ฌ์ฉํ๋ฉด ํ๋ก์ธ์๋ ๋ ๊ฐ์ง ๊ฐ๋ฅํ ๋ณด์ ์ธ๊ณ ์ค ํ๋์์ ๋ช ๋ น์ ์คํํ ์ ์์ต๋๋ค.
- ์ฆ, ์ ๋ขฐํ ์ ์๋ ์ฝ๋๊ฐ ์คํ๋๋ ์ผ๋ฐ ์ธ๊ณ ์ ๋ณด์ ์๋น์ค๊ฐ ์คํ๋๋ ๋ณด์ ์ธ๊ณ (Cotan et al., 2017).
- ๊ทธ๋ฆผ 2์ ๊ฐ์ด, ์ด ํ๋ก์ธ์ ๋ชจ๋๋ค์ ๋ ๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๊ณผ ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ถํ(privileges)๋ฅผ ๊ฐ๋๋ค.
- ๋ ์ธ๊ณ์ ๊ณตํต์ ์ผ๋ก ์กด์ฌํ๋ ์ฌ์ฉ์ ๋ชจ๋(์ฌ์ฉ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์คํ๋จ)์ ๊ถํ ๋ชจ๋(์์คํ ์ํํธ์จ์ด๊ฐ ์คํ๋จ) ์ธ์๋ ๊ทธ๋ฆผ 2๋ ๋ณด์ ์ธ๊ณ๊ฐ ๋ชจ๋ํฐ ๋ผ๋ ์ธ ๋ฒ์งธ ๋ชจ๋์์ ์คํ๋ ์ ์์์ ๋ณด์ฌ์ค๋๋ค.
- moniter ๋ชจ๋๋ ARM ํ๋ก์ธ์์ ํน์ ๋ถ๋ถ์์ ์ง์๋๋ฉฐ ๋ด๋ถ์์ ์คํ๋๋ ์ํํธ์จ์ด๋ ๋ค๋ฅธ ๋ชจ๋ ์ํํธ์จ์ด๋ฅผ ์ ์ดํฉ๋๋ค.
- moniter ๋ชจ๋์์ privileged ๋ชจ๋๋ก ๋๋ ๊ทธ ๋ฐ๋๋ก์ ์ ํ์ ์ผ๋ฐ์ ์ธ ํ๋ก์ธ์ ์ธํฐํ์ด์ค, ์ฆ ISA(๋ช ๋ น์ด ์งํฉ ์ํคํ ์ฒ)๋ฅผ ํตํด ์ํ๋ฉ๋๋ค.
- ARM TrustZone ๋ฐ ํน์ ์กฐ๊ฑด์์ ๋ณด์ ์ธ๊ณ(Privileged Mode)์ ์ฝ๋๋ ์ผ๋ฐ ์ธ๊ณ(User Mode)์ ์ฃผ์ ๊ณต๊ฐ์ ์ก์ธ์คํ ์ ์์ง๋ง ๊ทธ ๋ฐ๋๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- ์ด ๋ฉ์ปค๋์ฆ์ NS ๋นํธ๋ผ๊ณ ํ๋ ํ๋ก์ธ์์ ํ๋ ์ฝ๋ฉ๋ ๋นํธ์ ์ํด ์ ์ด๋ฉ๋๋ค.
- ํ๋ก์ธ์์ ํ์ฌ ์คํ ์ธ๊ณ๋ฅผ ์ง์ ํ๊ณ ์ผ๋ถ I/O ๋ฒ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฃผ๋ณ ์ฅ์น์ ์ ๋ฌ๋ฉ๋๋ค(Santos et al., 2014).
- NS ๋นํธ์ ๋ํ ์ก์ธ์ค๋ ๊ทธ๋ฆผ 3๊ณผ ๊ฐ์ด SMC(์์คํ ๋ชจ๋ํฐ ํธ์ถ)์ ์ํด ํธ๋ฆฌ๊ฑฐ๋๋ ๋ณด์ ๋ชจ๋ํฐ์ ์ํด ๋ณดํธ๋ฉ๋๋ค(Gonzalez, 2015).
- CPU ์ฝ์ด ๋ด๋ถ์ ์๋์ชฝ ํ์ดํ ์ ์ SMC๋ฅผ ํตํ ์ํํธ์จ์ด-ํ๋์จ์ด ์ํธ ์์ฉ์ ๋ํ๋ด๊ณ ๋ค๋ฅธ ์ผ์ชฝ ํ์ดํ ์ ์ ๋ณด์ ์ธ๊ณ ์ฃผ์ ๊ณต๊ฐ์์ ์คํ๋๋ ์ํํธ์จ์ด์์ ์ผ๋ฐ ์ธ๊ณ ์ฃผ์ ๊ณต๊ฐ์์ ์คํ๋๋ ์ํํธ์จ์ด๋ก์ ์ง์ ์ก์ธ์ค๋ฅผ ๋ํ๋ ๋๋ค.
- CPU ์ฝ์ด ์ธ๋ถ์ ๋ค๋ฅธ ๋ผ์ธ์ ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ ๋ฐ I/O ์ฅ์น์ ์ฐ๊ฒฐํ๋ ๋ค๋ฅธ ๋ฒ์ค๋ฅผ ๋ํ๋ ๋๋ค.
3.3 AMD SEV
- AMD SEV๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ์ ๋ขฐ ๋ฌธ์ ๋ฅผ ์ง์ ์ ์ผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ํด๊ฒฐํ๋ 4๊ฐ์ง ์ฐ๊ตฌ ๋ฐ ๋น๊ต ๊ธฐ์ ์ค ๊ณ ์ ํ ๊ธฐ์ ์ ๋๋ค.
- SEV(Secure Encrypted Virtualization) ๊ธฐ๋ฅ์ ๊ฐ ๊ฒ์คํธ VM์ ๋ํ ๊ณ ์ ํค๋ก VM์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ฉ์ ํฌ๋ช ํ๊ฒ ์ํธํํฉ๋๋ค.
- ๊ทธ๋ฆผ 4์์ ๋ณผ ์ ์๋ฏ์ด ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ์๋ ์์คํ ์ ์ฌ๋ฌ VM์์ ์ฌ์ฉํ๊ธฐ ์ํด ์ฌ๋ฌ ํค๋ก ํ๋ก๊ทธ๋๋ฐํ ์ ์๋ ๊ณ ์ฑ๋ฅ ์ํธํ ์์ง(AES-128 ํ๋์จ์ด ์ํธํ ์์ง)์ด ํฌํจ๋์ด ์์ต๋๋ค.
- ์ด๋ฌํ ํค์ ๊ด๋ฆฌ ๋ฐ ํธ์คํธ ํ์ดํผ๋ฐ์ด์ ์ ๊ฒ์คํธ VM ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ๋ณด์ ๋ฐ์ดํฐ ์ ์ก์ AMD ๋ณด์ ํ๋ก์ธ์์์ ์คํ๋๋ SEV ํ์จ์ด์ ์ํด ์ฒ๋ฆฌ๋ฉ๋๋ค(Advanced Micro Devices, 2018b).
- VM์ ์ํธํํ๋ฉด ๋ฌผ๋ฆฌ์ ์ํ, ๋ค๋ฅธ VM ์ํ ๋๋ VMM ์์ฒด๋ก๋ถํฐ VM์ ๋ณดํธํ ์ ์์ต๋๋ค.
- SEV๋ ํธ์คํธ ์์คํ ์ ํ์ดํผ๋ฐ์ด์ ๋๋ ๊ด๋ฆฌ์๋ฅผ ์ ๋ขฐํ ์ ์๋ ์๋ก์ด ๊ฐ์ํ ๋ณด์ ์๋ฃจ์ ์ ๋ํ๋ ๋๋ค.
- AMD SME(๋ณด์ ๋ฉ๋ชจ๋ฆฌ ์ํธํ)๋ ๋ถํ ์ AMD ๋ณด์ ํ๋ก์ธ์์ ์ํด ์์ฑ๋๋ ๋จ์ผ ํค๋ก ๋ชจ๋ ์์คํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ํธํํฉ๋๋ค( Advanced Micro Devices, 2018a ).
- AMD-V ๊ธฐ์ ๊ธฐ๋ฐ SEV๋ ํด๋ผ์ฐ๋ ์ปดํจํ ์ ์ฌ์ฉ๋์ด ๊ฐ์ํ๋ ํ๊ฒฝ์ ๋ํ ์๋ก์ด ๋ณด์ ๋ชจ๋ธ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ํํธ์จ์ด ๋ณ๊ฒฝ์ด ํ์ํ์ง ์์ผ๋ฉฐ ์ ์ฉ ํ๋์จ์ด ์์ง ๋๋ถ์ VM์ ์ํธํ๊ฐ ๋น ๋ฅด๊ณ ํฌ๋ช ํ๊ฒ ์ํ๋ฉ๋๋ค(Kaplan et al., 2016).
3.4 Intel SGX
- Intel SGX๋ 2013๋ Intel Corporation์์ IA-64 ISA์ ํ์ฅ์ผ๋ก ๋ฐํํ์ต๋๋ค. Skylake ๋ง์ดํฌ๋ก์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ 6์ธ๋ Intel Core ํ๋ก์ธ์์ ํจ๊ป 2015๋ ์ ๋์ ๋์์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฃผ์ ๊ณต๊ฐ์ ์ผ๋ถ๋ฅผ ๋ณดํธํ๊ณ Enclave๋ผ๊ณ ํ๋ ์ปจํ ์ด๋ ๋ด์์ ์ฝ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค(Wang et al., 2018).
- ์ด๊ฒ์ ์ฌ์ฉ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ๋์จ์ด ์ง์ TEE๋ก Enclave๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ์๋ก์ด CPU ๋ช ๋ น์ด ์ธํธ๋ฅผ ๋์ ํ๋ ์ํคํ ์ฒ ๊ธฐ๋ฅ์ ๋๋ค.
- Enclave๋ ์์ ๊ถํ ์ฝ๋(SMM, BIOS, VMM, OS ๋ฑ)๊ฐ ์๋ ์ธ๋ถ ์ฝ๋์ ์ํด ๋ณ๊ฒฝ๋ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฃผ์ ๊ณต๊ฐ์ ๋ณดํธ ์์ญ์ผ๋ก ์ ์๋ฉ๋๋ค( Gonzalez, 2015 ).
- Intel SGX๋ ์์ ํ ์์๋ ํ๊ฒฝ์์๋ ๋ฐํ์ ์ ์ํด๋ ์ด๋ธ ์ฝ๋ ๋ฐ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ฉฐ(Costan et al., 2017; Mofrad et al., 2018), ๊ณต๊ฒฉ์๊ฐ ์ ์ฒด ๊ณต๊ฒฉ์ ๋ฐ์ ๊ฒฝ์ฐ์๋ ๋น๋ฐ์ ๋ณดํธ๋ ์ํ๋ก ์ ์ง๋ฉ๋๋ค.
- ํ๋ซํผ์ ์ ์ด. ๋ฉ๋ชจ๋ฆฌ ๋ฒ์ค ์ค๋ํ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ณ์กฐ๋ฅผ ๋ฐฉ์งํ๊ณ ํ๋์จ์ด ๊ธฐ๋ฐ ์ฆ๋ช ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์ ํจํ ์ฝ๋ ๋ฐ ๋ฐ์ดํฐ ์๋ช ์ ์ธก์ ํ๊ณ ํ์ธํฉ๋๋ค.
- Intel SGX๋ฅผ ์ฌ์ฉํ๋ฉด ํด๋ผ์ฐ๋ ํ ๋ํธ๋ ํธ๊ธฐ์ฌ์ด ๋ง๊ฑฐ๋ ์ ์์ ์ธ ํด๋ผ์ฐ๋ ๊ณต๊ธ์๋ก๋ถํฐ ๋ฐ์ดํฐ์ IP(์ง์ ์ฌ์ฐ๊ถ)๋ฅผ ๋ณดํธํ๊ธฐ ์ํด CPU ํ๋์จ์ด์๋ง ์์กดํ ์ ์์ต๋๋ค.
- ๋ํ ์ด ๊ธฐ์ ์ DRM ์ํด๋ ์ด๋ธ(๋์งํธ ๊ถํ ๊ด๋ฆฌ)๋ฅผ ํตํด ์ ์๊ถ์ด ์๋ ์๋ฃ๋ฅผ ๋ถ๋ฒ ๋ณต์ ๋ก๋ถํฐ ๋ณดํธํ๊ณ ๋น๋ฐ, ์ํธ ๊ด๋ฆฌ์ ๋ฐ ๋ฉ์ ์ ๋ณดํธ, ์/๋ณตํธํ ํค ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ์ถ๊ฐ ์ฌ์ฉ ์ฌ๋ก์๋ ์ฌ์ฉ๋ฉ๋๋ค.
- ๊ทธ๋ฆผ 5๋ Intel SGX๊ฐ ์ฌ์ฉ์ ๋น๋ฐ์ ๋ณดํธํ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๋ณด์ฌ์ค๋๋ค.
- ์ฒซ์งธ, ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๊ฐ ๋์ผํ ์ฃผ์ ๊ณต๊ฐ์์ ๋ ๊ฐ์ ๊ฐ๋ณ ์น์ ์ธ ์ ๋ขฐํ ์ ์๋ ์น์ ๊ณผ ์ ๋ขฐํ ์ ์๋ ์น์ ์ผ๋ก ๋ช ์์ ์ผ๋ก ๋ถํ ๋๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
- ๋น๋ฐ ๋ฐ์ดํฐ/์ฝ๋๋ ์ ๋ขฐํ ์ ์๋ ์น์ ์ ์์ผ๋ฉฐ SGX ์ฝ ๊ฒ์ดํธ๋ฅผ ํตํด ์ ๋ขฐํ ์ ์๋ ์น์ ์์ ์ก์ธ์ค๋ฉ๋๋ค.
- ์ด ํ๋ก์ธ์ค์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ SGX API๋ฅผ ํตํด ํ๋ ์ด์์ ์ํด๋ ์ด๋ธ๋ฅผ ์์ฑํ ๋ค์ ์ ๋ขฐํ ์ ์๋ ์ฝ๋๋ฅผ ํธ์ถํ๋ ๊ฒ์ ๋๋ค.
- ์ ์ด ํ๋ฆ ์ ์ก์ ๋ณด์์ Intel SGX ํ๋์จ์ด์ ์ํด ๋ณด์ฅ๋ฉ๋๋ค.
- ์ ๋ขฐํ ์ ์๋ ์น์ ๋ด์์ ๋น๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ๋ง์น ํ ์ ์ด ํ๋ฆ์ ์คํ ๋ชจ๋ ์ ํ ์ ํ๋ก์ธ์ ์ํ ์ ๋ฆฌ๋ฅผ ๋ณด์ฅํ๋ SGX ๋ช ๋ น์ ํตํด ์ ์ ์คํ์ผ๋ก ๋ค์ ๋์๊ฐ๋๋ค.
- ๋ชจ๋ ๊ถํ ์๋ ์ํํธ์จ์ด๋ ์คํ ์์ค์ด ๋ ๋๋๋ผ๋ ์ ๋ขฐํ ์ ์๋ ์น์ ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
- ๊ณง ์ถ์๋ ๋ฒ์ SGX v2์์๋ ์ด๊ณผ ๊ตฌ๋ ์ด๋ผ๋ ์๋ก์ด ๊ธฐ๋ฅ์ ํตํด ์ฌ๋ฌ VM์ด EPC(Enclave Page Cache)๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
- ์ฆ, ํด๋ผ์ฐ๋ ์ปดํจํ ์ ๋ช ์์ ์ผ๋ก ์ง์ํฉ๋๋ค( Chakrabarti et al., 2017).
- ์ธํ ์ ๋ํ ์์ฒด ํต์ฌ ์ธํ๋ผ๋ฅผ ํตํด ์ธํ ์ ์๊ฒฉํ ์ํด๋ ์ด๋ธ ์๋ช ์ ์ฑ ์ ์ฐํํ ์ ์๋๋ก ์คํ ์์ค ์ปค๋ฎค๋ํฐ์ ๊ธฐ์ ์ ๊ณต๊ฐํ ๊ฒ์ ๋๋ค(Schwarz et al., 2019).
- Intel SGX ์ ๋ขฐํ ์ ์๋ ์คํ ํ๊ฒฝ์์ ์คํ๋๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ID ๊ฐ์ธ ์ ๋ณด ๋ณดํธ, ๋ณด์ ๊ฒ์ ๋ฐ DRM๊ณผ ๊ฐ์ ์ผ๋ถ ๋ณด์ ์ต์ ์ผ๋ก ๊ฐํ๋ ์ ์์ต๋๋ค.
- ๋ํ ๊ฐ๋ฐ์๋ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ฒ๋ฆฌํ๊ณ ์ ์ฅํด์ผ ํ๋ ์ผ๋ถ ๋ณด์ ์๊ตฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์๋ํฌ์ธํธ ๋ณดํธ๋ฅผ ๊ฐํํ ์๋ ์์ต๋๋ค.
4. Compariosn
์ด ์น์ ์์๋ Sabt et al.์ ์ํด ์ ์๋ ์ธ ๊ฐ์ง ๋ฒ์ฃผ์ ๋น๊ต ๊ธฐ์ค์ ์ฑํํฉ๋๋ค. (2015), ์ฆ: ๋ณด์, ๊ธฐ๋ฅ ๋ฐ ๋ฐฐํฌ ๊ฐ๋ฅ์ฑ, ๊ฐ ๋ฒ์ฃผ์ ํน์ ์ฌ์ฉ์ ์ง์ .
4.1 Criteria definition
- ๋น๊ต์์ ์ฑํํ ๊ธฐ์ค์ ๋ค์ํ ์คํ ํ๊ฒฝ์์ ์ฐพ์ ์ ์์ต๋๋ค.
- ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฐ๋ฆฌ๋ ํด๋ผ์ฐ๋ ์ปดํจํ ์ฌ์ฉ์ ๊ด์ ์์ ์ด ํ์ ์น์ ์์ ํด๋น ๋๋ ๊ธฐ์ค๋ค์ ์ ์ํฉ๋๋ค.
- ๋ํ ์ฌ๊ธฐ์์ ํด๋ผ์ฐ๋ ์ปดํจํ ์ ๋ ๊ฐ์ง ์ถ์ํ ์์ค๊ณผ ์ ๋ขฐ๋ฅผ ์ํ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฌํ ํ๋ ์ ํ ์ด์ ์ด ๋ช ํํ์ง ์๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
- ๋น๋ฐ ๋ฐ์ดํฐ/์ฝ๋๋ CSP๋ ํ๋์จ์ด๊ฐ ์๋ ์ต์ข ์ฌ์ฉ์์ ๋ํด ์ ์๋ฉ๋๋ค.
- ๋ฐ๋ผ์ CSP๋ ์๋ก ๋ค๋ฅธ ์ ๋ขฐ ์๋ฏธ๋ฅผ ๊ฐ์ง ์๊ฒฉ VM์์ ์คํ๋๋ ํด๋ผ์ฐ๋ ๊ด๋ฆฌ ์ํํธ์จ์ด ์คํ์ ํตํด ํด๋ผ์ฐ๋ ์ธํ๋ผ์ ์ํธ ์์ฉํฉ๋๋ค.
- ๋ํ ๋์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋๋ฉ์ธ์ ์์ฒด์ ์ผ๋ก ๊ถํ ์๋ ์์คํ ์ํํธ์จ์ด ์คํ์ ์ฌ์ฉํ๋ ์๋ก ๋ค๋ฅธ ์๊ฒฉ VM์ ์์นํ ์ ์์ต๋๋ค.
- ์ด ํ์๋ PaaS๋ฅผ ํตํด ๋์ผํ CSP ๋๋ ๋ค๋ฅธ CSP์์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
- ์ด ๋ชจ๋ ์คํ์ IaaS๋ฅผ ํตํด ๋์ ํ๋์จ์ด ์์์ ์คํ๋๋ ํธ์คํธ OS ์์์ ์คํ๋ ์ ์์ต๋๋ค.
- ํ๋์จ์ด์์ ๋น๋ฐ ๋ฐ์ดํฐ/์ฝ๋ ์ก์ธ์ค ์๋ฏธ๋ ์ผ๋ฐ ์คํ ์ปจํ ์คํธ์ ๋น๊ตํ ๋ ํฌ๊ฒ ๋ณ๊ฒฝ๋ฉ๋๋ค.
- ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ด ์ต์ข ์ฌ์ฉ์ ๊ด์ ์์ ํด๋ผ์ฐ๋ ์๋น์ค์ ๋ํ ์ ๋ขฐ๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ๊ณผ ์ต์ข ์ฌ์ฉ์ ๋น๋ฐ ๋ฐ์ดํฐ/์ฝ๋ ๋ณดํธ ์๋ฏธ๊ฐ ๋ค์ํ ํด์ ๋๋ฉ์ธ์ ๊ฒฝ๊ณ๋ฅผ ๋๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ์ ์ฒด ํ๋ ์ ํ ์ด์ ์ ์ด ๋ฐฑ์์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฉ๋๋ค.
- ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฐ๋ฆฌ๋ ์น์ 2์์ ์ ์ํ ๊ฐ๋จํ ํด๋ผ์ฐ๋ ์ค์ ์ ๋น์ถ์ด ์ด ๊ด๊ณ๋ฅผ ์ดํดํ๊ธฐ ์ํด ์ด ํ์ ์น์ ์์ ์๋ํฉ๋๋ค.
4.1.1 Security criteria
์ด ๋ฒ์ฃผ๋ ์น์ 2.1์ ์ ์๋ ๊ณต๊ฒฉ์ ๋ชจ๋ธ์ ๋ฐ๋ผ ํด๋ผ์ฐ๋์ ๋ํ ํน์ ๊ณต๊ฒฉ์ ํผํ๊ธฐ ์ํ ๋ฉ์ปค๋์ฆ์ ์ค์ ์ ๋ก๋๋ค. ์คํ ํ๊ฒฝ ๊ฒฉ๋ฆฌ๋ฅผ ์ํด TEE ๋ฉ์ปค๋์ฆ์ ์ํด ๊ตฌํ๋ ๋ณด์ ๊ธฐ๋ฅ์ ๋ํ๋ ๋๋ค.
-
Isolation level: ํด๋ผ์ฐ๋ ์คํ ํ๊ฒฝ์ ๊ฒฉ๋ฆฌ๋ ๋ด๋ถ์์ ์คํ๋๋ VM, ํ๋ก์ธ์ค ๋ฐ ์ค๋ ๋๊ฐ ์ธ๋ถ์ ์ ๋ขฐํ ์ ์๋ ์ํํธ์จ์ด ๋ฐ/๋๋ ํ๋์จ์ด ๋ถํ์ ๋ฐฉํดํ์ง ์๋ ์์ฑ์ผ๋ก ์ ์๋ฉ๋๋ค. ์ธ๋ถ์ธ์ ์น์ธ๋์ง ์์ ์ํํธ์จ์ด๋ ์ด๋ฅผ ์ฝ๊ฑฐ๋ ์์ ํ ์ ์์ต๋๋ค. ์์ ์ ์๊ฒฉํ ํธ์ถ ๊ฒ์ดํธ๋ฅผ ํตํด ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ํด์๋ง ์น์ธ๋ ๋ถํ์ ๋ํด ์ ์ด๋๊ณ ํ์ฉ๋ฉ๋๋ค. ๊ฒฉ๋ฆฌ ์์ค์ ๋ฉ๋ชจ๋ฆฌ, CPU, ROM ๋ฑ๊ณผ ๊ฐ์ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ํด ๊ฒฉ๋ฆฌ๊ฐ ์ํ๋๋ ์์ญ์ ๋ณด์ฌ์ค๋๋ค. ํด๋ผ์ฐ๋ ์ฌ์ฉ์์ ๊ด์ ์์ ์ด๋ฌํ ๋ชจ๋ ์์ค์ ๊ฒฉ๋ฆฌ๋ ์์คํ ์ํํธ์จ์ด ๋ฐ ๋๋ผ์ด๋ฒ ๋ชจ๋์ ์ํด ์จ๊ฒจ์ง๋๋ค. ์ปดํ์ผ๋ฌ, SDK(ํ์ค ๊ฐ๋ฐ ํคํธ) ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ ๋ณด์ ๊ด๋ฆฌ์์๊ฒ๋ ํฌ๋ช ํฉ๋๋ค. ๊ทธ๋ฌ๋ OS/VMM ํธ์ง์๋ ๋ชจ๋ ์คํ ๋ชจ๋ธ์ด ํ ์์ค์์ ๋ค๋ฅธ ์์ค์ผ๋ก ๋ณ๊ฒฝ๋๊ธฐ ๋๋ฌธ์ ๊ฐ ํ๋์จ์ด ์๋ฃจ์ ์ ์ํด ์ค์ ๋ ๊ฒฉ๋ฆฌ ์์ค์ ์ฃผ์ ๊น๊ฒ ๋ค๋ฃจ์ด์ผ ํฉ๋๋ค.
-
Memory confidentiality and integrity protection: ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ์ฑ ๋ฐ ๋ฌด๊ฒฐ์ฑ ๋ณดํธ: ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ๋ฉ๋ชจ๋ฆฌ ๋น๋ฐ ์ฝ๋/๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ๊ธฐ๋ฐ์ฑ ๋ณดํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๋ฌด๊ฒฐ์ฑ ๋ณดํธ๋ ์ด๋ฌํ ์ฝ๋/๋ฐ์ดํฐ์ ๋ฌด๋จ ์์ ๋๋ ๋ณ๊ฒฝ ๊ฐ์ง๋ฅผ ๋ณด์ฅํฉ๋๋ค. ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์๋ VM์ ์ข ์ข ๊ณ ์ ํ ํด๋ผ์ฐ๋ ํ ๋ํธ๊ฐ ์์ ํ๊ณ ๊ณต์ VM์ ์น์ธ๋ ๋น์ฌ์๋ง ์์ ํ๋ฉด ๋๋ฏ๋ก ์ด๋ฌํ ๊ธฐ๋ฅ์ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ํ์ํฉ๋๋ค.
Isolation level: ย ํด๋ผ์ฐ๋ ์คํ ํ๊ฒฝ์ isolation ๊ฐ์ ๊ฒฝ์ฐ, ๋ด๋ถ์์ ์คํ๋๋ VM, Process, thread๊ฐ ์ธ๋ถ์ ์ ๋ขฐํ ์ ์๋ S/W or H/W parts์ ๊ฐ์ ํ ์ ์๋์ง์ ์ฌ๋ถ์ ๋ํ ๊ฒ์ด๋ค.์ธ๋ถ์์ ์น์ธ๋์ง ์์ S/W๋ ์ด๋ฅผ ์ฝ๊ฑฐ๋ ์์ ํ ์ ์๊ณ , ์์ ์ ์๊ฒฉํ ํธ์ถ ๊ฒ์ดํธ๋ฅผ ํตํด์ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ํด์๋ง ์น์ธ๋ ๋ถํ์ ๋ํด ์ ์ด๋๊ณ ํ์ฉ๋๋ค. Isolation level์ H/W ๊ธฐ๋ฐ์ ์๋ฃจ์ (๋ฉ๋ชจ๋ฆฌ, CPU, ROM ๋ฑ)์์ isolation์ด ์ํ๋๋ ์์น๋ฅผ ๋งํ๋ค. ํด๋ผ์ฐ๋ user point ๊ด์ ์ผ๋ก๋ถํฐ, ๋ชจ๋ ์ด๋ฐ isolation ๋ ๋ฒจ์ System S/W ๊ทธ๋ฆฌ๊ณ driver module์ ์ํด์ ์จ๊ฒจ์ง๊ฒ ์ํ๋๋ค. ์ปดํ์ผ๋ฌ, SDK(ํ์ค ๊ฐ๋ฐ ํคํธ) ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ ๋ณด์ ๊ด๋ฆฌ์์๊ฒ๋ ํฌ๋ช ํฉ๋๋ค. ๊ทธ๋ฌ๋ OS/VMM ํธ์ง์๋ ๋ชจ๋ ์คํ ๋ชจ๋ธ์ด ํ ์์ค์์ ๋ค๋ฅธ ์์ค์ผ๋ก ๋ณ๊ฒฝ๋๊ธฐ ๋๋ฌธ์ ๊ฐ ํ๋์จ์ด ์๋ฃจ์ ์ ์ํด ์ค์ ๋ ๊ฒฉ๋ฆฌ ์์ค์ ์ฃผ์ ๊น๊ฒ ๋ค๋ฃจ์ด์ผ ํฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ์ฑ ๋ฐ ๋ฌด๊ฒฐ์ฑ ๋ณดํธ: ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ๋ฉ๋ชจ๋ฆฌ ๋น๋ฐ ์ฝ๋/๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ๊ธฐ๋ฐ์ฑ ๋ณดํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๋ฌด๊ฒฐ์ฑ ๋ณดํธ๋ ์ด๋ฌํ ์ฝ๋/๋ฐ์ดํฐ์ ๋ฌด๋จ ์์ ๋๋ ๋ณ๊ฒฝ ํ์ง๋ฅผ ๋ณด์ฅํฉ๋๋ค. ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์๋ VM์ ์ข ์ข ๊ณ ์ ํ ํด๋ผ์ฐ๋ ํ ๋ํธ๊ฐ ์์ ํ๊ณ ๊ณต์ VM์ ์น์ธ๋ ๋น์ฌ์๋ง ์์ ํ๋ฉด ๋๋ฏ๋ก ์ด๋ฌํ ๊ธฐ๋ฅ์ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ํ์ํฉ๋๋ค.
ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ๊ถํ์ด ์๋ ์ํํธ์จ์ด๊ฐ ์์๋์ด ๋น๋ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ผ๋ฏ๋ก ๊ถํ์ด ์๋ ์ํํธ์จ์ด์ ๋ํ ๋ณดํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ 2์ ์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๋๋ถ๋ถ์ ์์คํ ์ํํธ์จ์ด ์คํ์ ์ต์ข ์ฌ์ฉ์๊ฐ ์ ์ดํ์ง ์์ผ๋ฉฐ CSP๋ฅผ ์ ๋ขฐํ ์ ์์ต๋๋ค.
๋ฌผ๋ฆฌ์ ๊ณต๊ฒฉ์ ๋ํ ๋ณดํธ: ๋ฌผ๋ฆฌ์ ๊ณต๊ฒฉ์ ๊ณต๊ฒฉ์๊ฐ ๋์ค์ ๋ถ์์ ์ํด ์ผ๋ถ ๋น๋ฐ์ ์ป๊ธฐ ์ํด ํ๋ซํผ์์ ์ฅ์น๋ ๊ตฌ์ฑ ์์๋ฅผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ๊ฑฐํ ์ ์๋ ํ๋์จ์ด์ ๋ํ ๋ฌด๋จ ๋ฌผ๋ฆฌ์ ์ก์ธ์ค์ ๋๋ค. ๋ฌผ๋ฆฌ์ ๊ณต๊ฒฉ์ ๋ํ ๋ณดํธ๋ฅผ ์ ๊ณตํ๋ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ผ๋ฐ์ ์ผ๋ก ์ํธํ ๋ฐฉ๋ฒ์ผ๋ก ์ง์ ๋ ๊ตฌ์ฑ ์์์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํด๋ผ์ฐ๋ ์ธํ๋ผ๋ ์ด๋ฌํ ์ ํ์ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ํนํ ๋ณด์ ์์ค์ด ๋์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ ์ด๋ฌํ ๋ณดํธ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ค๋ํ์ ์บ์ ๋ฉ๋ชจ๋ฆฌ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค. 2.1์ ๋ฌ์ฌ๋ attacker model๋ค์ ๊ดํ์ฌ ์ด๊ฒ์ ๊ณต๊ฒฉ์๋ค์ ์ฒซ๋ฒ์งธ๋ก trusted cloud infra์ ์ ๊ทผ์ ๊ฐ์ ํ๋ค. (์ ๋ขฐ ์์คํ ์ํํธ์จ์ด ๋ณดํธ ๋ฉ์นด๋์ฆ์ ์ฐํํ๊ณ ) ๊ทธ๋ฆฌ๊ณ ๊ทธ ํ memory transaction์ ๊ด์ฐฐํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์ฃผ์ ํ๊ณ , bus๋ก์ ์ ๊ทผ์ ๋ฐฉํดํ๋ฉฐ, side-channel๊ณผ timing attack์ ์ฝ์ ํ๋ค.
๋ณด์ ์คํ ๋ฆฌ์ง: ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ผ๋ก ๋ณดํธ๋๋ ๋ณด์ ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋ฉ๋๋ค. ์ด ๊ธฐ์ค์ ๊ณต๊ฒฉ์ ๋ชจ๋ธ์ ๋ฐ๋ผ ์ ๋ขฐํ ์ ์๋ ์์คํ ์ํํธ์จ์ด์ ์ํด ๊ตฌํ๋๋ ๋ณดํธ๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ณดํธ๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ํ์ด์ง ์ค์ํ์ ์ผ๋ถ์ผ ์ ์์ต๋๋ค. ๋ณดํธ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด ์ถฉ๋ถํ์ง ์์ ์ ์์ผ๋ฏ๋ก ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ๋ฐ์ดํฐ๊ฐ ๋ณด์ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ธ๋ถ๋ก ๋ณต์ฌ๋ ๋ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
๋ณด์ ๋ถํ : ๋ณด์ ๋ถํ ์ ํด์๋ฅผ ๊ณ์ฐํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ํธํ ์๋ช ๊ณผ ๋น๊ตํ์ฌ ๋ถํ ํ๋ก์ธ์ค์ ๊ฐ ๋จ๊ณ์ ๋ฌด๊ฒฐ์ฑ์ ํ์ธํฉ๋๋ค. BIOS, SMM ๋ฑ์ ํฌํจํ์ฌ TCB ์ธ๋ถ์ ์ํํธ์จ์ด ๋๋ ํ๋์จ์ด ๊ตฌ์ฑ ์์๊ฐ ๋ถํ ์์๋ฅผ ๋ฐฉํดํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์น์ 2์ ์ ์๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ ๋ขฐ ์ฒด์ธ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์ ๋๋ค. ๋ฐ๋ผ์ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ๋ฐ์ดํฐ ๋ณ์กฐ๋ฅผ ๋ฐฉ์งํ๊ณ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์กดํ๋ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ: ์บ์ ํ์ด๋ฐ ๊ณต๊ฒฉ์ ๋ณด์์ ์ค์ํ ์ํํธ์จ์ด์ ๋ํ ์ฌ๊ฐํ ์ํ์ ๋๋ค. ๋ถ์ฑ๋ ๊ณต๊ฒฉ์ CPU ์บ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ ์ถ๋ ํ์ด๋ฐ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ํค ์๋ฃ์ ๊ฐ์ ์ค์ํ ์๊ณ ๋ฆฌ์ฆ ์ํ๋ฅผ ๋ณต๊ตฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์บ์๊ฐ ์ต์ ํ๋ก์ธ์์ ๊ธฐ๋ณธ์ ์ธ ๋ถ๋ถ์ด ๋จ์ ๋ฐ๋ผ ์ด๋ฌํ ์ ํ์ ๋ณดํธ๋ ๋ชจ๋ ์คํ ํ๊ฒฝ์์ ๊ณ ๋ ค๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์น์ 2์ ์ค๋ช ๋ ํน์ ํด๋ผ์ฐ๋ ์ค์ ์์๋ ๊ณต๊ฒฉ์๊ฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ์ ์ก์ธ์คํ๊ณ ๋ชจ๋ ๊ถํ ์์ค์์ ์์์ ์ํํธ์จ์ด๋ฅผ ์คํํ๊ณ ๋ฉ๋ชจ๋ฆฌ ํ์ ์์คํ ์ ๋ฐฉํดํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ณ ๋ คํ๋ ๊ณต๊ฒฉ์ ๋ชจ๋ธ์ ์ด๋ฌํ ๋ชจ๋ ๊ธฐ๋ฅ์ ํ์ฉํฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค ๋ณดํธ: ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณดํธํ๋ ํ๋์จ์ด ๊ธฐ๋ฐ ์๋ฃจ์ ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ๋ฌด๋จ ์ก์ธ์ค๋ก๋ถํฐ ๋ณดํธ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํด์ผ ํฉ๋๋ค. ์น์ธ๋ ์ํฐํฐ๋ง ๋ฉ๋ชจ๋ฆฌ์ ๋น๋ฐ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์๋๋ก ํ์ฉํด์ผ ํฉ๋๋ค. ๋ค๋ฅธ(์๋ง๋ ์ ๋์ ์ธ) ํด๋ผ์ฐ๋ ํ ๋ํธ์ VM์ด ๋์ผํ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํจ๊ป ์์นํ๋ฏ๋ก ์ด ๋ณดํธ๋ฅผ ์ ์ฉํ๋ฉด ์ด๋ฌํ ์ ์ด ์ก์ธ์ค๋ฅผ ์ฐํํ๋ ค๋ ๋ง์ ์ํ์ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
4.1.2 Functional criteria
์ด๋ฌํ ๊ธฐ์ค์ ์์ , ์ ๋ ฅ, ์ฒ๋ฆฌ, ์ถ๋ ฅ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ์ ์ ์ฒด ์ฌ์ฉ ์ฃผ๊ธฐ ๋์ ๋ฐ์ดํฐ์ ๋ฌผ๋ฆฌ์ ๋ณดํธ๋ฅผ ์ธก์ ํฉ๋๋ค. ๋ชจ๋ ์๋ช ์ฃผ๊ธฐ์ ๋ฐ์ดํฐ์ ๋ํ ๋ณ์กฐ ๋ฐฉ์ง TEE์ ์๊ตฌ ์ฌํญ์ ์ ๊ณตํฉ๋๋ค.