Quantcast
Channel: Intel Developer Zone Articles
Viewing all articles
Browse latest Browse all 3384

Introducing the Intel® Software Guard Extensions Tutorial Series

$
0
0

Today we are launching a multi-part tutorial series aimed at software developers who want to learn how to integrate Intel® Software Guard Extensions (Intel® SGX) into their applications. The intent of the series is to cover every aspect of the software development cycle when building an Intel SGX application, beginning at application design and running through development, testing, packaging, and deployment. While isolated code samples and individual articles are valuable, this in-depth look at enabling Intel SGX in a single application provides developers with a hands-on and holistic view of the technology as it is woven into a real-world application.

This tutorial will consist of several parts—currently 12 articles are planned, though the exact number may change—each covering a specific topic. While a precise schedule has not been set, each part in the series should be published every two to three weeks and in these broad phases:

  1. Concepts and design
  2. Application development and Intel SGX integration
  3. Validation and testing
  4. Packaging and deployment
  5. Disposition

Source code will accompany relevant sections of the series and will be distributed under the Intel Sample Source Code license. Don’t expect to start seeing source code for a few weeks, however. The first phase of the tutorial will cover the early fundamentals of Intel SGX application development.

Goals

At the end of the series, the developer will know how to:

  • Identify an application’s secrets
  • Apply the principles of enclave design
  • Use trusted libraries in an enclave
  • Build support for dual code paths in an application (to provide legacy support for platforms without Intel SGX capabilities)
  • Use the Intel SGX debugger
  • Create an Intel SGX application installer package

The sample application

Throughout the series we will be developing a basic password manager. The final product is not meant to be a commercially viable application, but rather one with sufficient functionality to make it a reasonable performer that follows smart security practice. This application is simple enough to be reasonably covered in the tutorial without being so simple that it’s not a useful example.

What you’ll need

Developers who want to work with the source code as it is released will require the following:

Hardware requirements

HardwareHard RequirementComments
Intel® processor with Intel® Secure Key technologyYesThe password manager will make extensive use of the digital random number generator provided by Intel Secure Key technology. See http://ark.intel.com to find specific processor models with Intel Secure Key technology support.
6th generation Intel® Core™ processor with Intel® Software Guard Extensions (Intel® SGX) enabled BIOSNoTo get the most out of the tutorial, a processor that supports Intel SGX is necessary, but the application development can take place on a lesser system and Intel SGX applications can be run in the simulator provided with the SDK.

 

Software requirements

These software requirements are based on the current, public release of the Intel SGX Software Developer’s Kit (SDK). As newer versions of the SDK are released, the requirements may change.

SoftwareHard RequirementComments
Intel® Software Guard Extensions (Intel® SGX) SDK v1.1YesRequired for developing Intel SGX applications.
Microsoft Visual Studio* 2012 Professional EditionYesRequired for the SDK. Each SDK release is tied to specific versions of Visual Studio in order to enable the wizards, developer tools, and various integration components.
Intel® Parallel Studio XE 2013 Professional Edition for Windows* No

This is a soft requirement for the SDK, but it is not strictly necessary for Intel SGX SDK development.

The compiler included in Visual Studio 2012 does not provide intrinsics for the RDSEED instruction, but a fallback code path exists.

Coming soon

Part 1 of the series, Intel SGX Foundations, will post in the next couple of weeks. In it, we will provide an overview of the technology and lay the groundwork for the rest of the tutorial.

Stay tuned

This series will cover every aspect of the software development cycle when building an Intel SGX application, beginning at application design, and running through development, testing, packaging, and deployment. The tutorials will cover concepts and design, application development and Intel SGX integration, validation and testing, packaging and deployment, and disposition.

We’re excited to be launching this series and are looking forward to having you join us!


Viewing all articles
Browse latest Browse all 3384

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>