During the last months, the Russian blog published a Russian translation of a series of tutorial articles from the
Intel Developer Zone resource dedicated to the use of the
Intel Software Guard Extensions extensions in programming -
Intel SGX Tutorial . The publication stretched out in time, so for those who decided to methodically study this issue, we made a general index of articles both in the original language and in Russian. After the release of new posts (and the author promises to continue) and their translation, they will also be added here.
Under the cut, you will also find the software requirements and the hardware for studying the course.
Brief introduction
Throughout the entire series of posts, we will develop a password manager. The result obtained, of course, will not be a commercial product, but it will have all the necessary functionality. In short, the application will be simple to fit the textbook, but not primitive, so that it is useful to study.
')
After reviewing all the posts in the series, you will learn how:
- determine the secret information of the application,
- apply the principles of creating an enclave,
- use trusted functions in the enclave,
- create an additional code branch to support platforms that cannot work with Intel SGX,
- use the Intel SGX debugger,
- create an Intel SGX application installation package.
This series of articles will cover all phases of the Intel SGX application development cycle, from design creation to design, testing, packaging, and deployment.
Starting to study
Starting to study the course, make sure you have everything you need from a hardware and software point of view.
Component | Sure to? | Comment |
---|
Hardware requirements |
Intel processor with Intel Secure Key Technology | Yes | Our password manager will actively use the random number generator provided by Intel Secure Key Technology. A list of processors with its support can be found on the ARK website. |
Intel Core 6 Generation processor and BIOS supporting Intel SGX | Not | For most of the tutorial, a processor with Intel SGX support is needed, but development can also be done on a computer without it, and Intel SGX applications can run on the emulator included in the SDK. |
Software requirements |
Intel Software Guard Extensions (Intel SGX) SDK v1.6 | Yes | Required for developing Intel SGX applications. |
Microsoft Visual Studio 2013 Professional Edition | Yes | Required for SDK. Each SDK release is tied to a specific version of Visual Studio to ensure the performance of wizards, development tools, and integration. |
Intel Parallel Studio XE 2013 Professional Edition for Windows | Not | Recommended but not required for development. |
Original series of articles in English
A series of articles in Russian
- Part 1, Intel SGX basics - technology overview, base for the rest of the series.
- Part 2, the device application - a description of the high-level specifications for a particular application: a password manager.
- Part 3, designing for the Intel SGX - discussing the design of the application, taking into account the Intel SGX.
- Part 4, the enclave device - the beginning of the construction of the enclave.
- Part 5, development of the enclave - the completion of the first version of the enclave.
- Part 6, the two branches of the code - the adaptation of our application to platforms that support and do not support Intel SGX.
- Part 7, the finalization of the enclave - the improvement of the enclave and its interface, small updates for simplicity and performance.
At the end of each article in the series you will find a link to this index. Creative success!