Intel® Software Guard Extensions (Intel® SGX)
Discussion board focused on hardware-based isolation and memory encryption to provide extended code protection in solutions.

Launch Key and EINIT Token

SSuma1
ビギナー
2,503件の閲覧回数

The SGX Extensions Programming Reference, page 12, states that "The EINIT token is used by EINIT to verify that the enclave is permitted to launch." Some field in the EINIT token are MACed using Launch key, however, there seems to be a chicken-and-egg problem. Unless the enclave has called EINIT, the enclave is not operational yet, so calling EGETKEY for LaunchKey will return error. On the other hand, in order to compute the EINIT-Token CMAC, one need access to the launch key!!!

So, my question is how is one to prepare the EINIT Token? (Also, it will be really helpful if Intel could release the linux kernel driver for SGX.)

0 件の賞賛
1 解決策
Surenthar_S_Intel
従業員
2,504件の閲覧回数

Hi Suman,

The Intel(r) SGX SDK for Linux* OS Open Source project is now live and can be found here:  https://01.org/intel-software-guard-extensions/

The code is hosted here:  https://github.com/01org/linux-sgx (link is external) and https://github.com/01org/linux-sgx-driver (link is external)

- Surenthar Selvaraj

元の投稿で解決策を見る

2 返答(返信)
Patrick_B_2
ビギナー
2,502件の閲覧回数

From what I've been able to ascertain through archeology in the SGX spec, Intel will need to provide an Intel-signed launch enclave to make SGX usable. This enclave will use EGETKEY to acquire the launch key for that processor and sign enclaves to allow them to run there. If that launch enclave isn't trying to enforce any particular policy about what enclaves can and can't run, it's actually a trivial piece of code. A basic launch enclave only requires user/enclave calling convention and an enclave CMAC implementation, both of which are simple and fundamental to any useful SGX implementation.

 

 

Surenthar_S_Intel
従業員
2,505件の閲覧回数

Hi Suman,

The Intel(r) SGX SDK for Linux* OS Open Source project is now live and can be found here:  https://01.org/intel-software-guard-extensions/

The code is hosted here:  https://github.com/01org/linux-sgx (link is external) and https://github.com/01org/linux-sgx-driver (link is external)

- Surenthar Selvaraj

返信