The Intel® SGX SDK for Windows* was recently made available on the Intel® Developer Zone site. The SDK is provided under an evaluation license. Since the release of the SDK, we’ve received a number of inquiries about getting a commercial license for Intel® SGX. While the particulars of the commercial license agreement are fairly routine, it might be helpful to those that have expressed an interest to get a better sense of the context within which commercial license requests are considered.
Developers should first consider whether a commercial license is necessary. Intel® SGX is a CPU-based technology that allows developers to protect select portions of an application. This protection is based on the use of Intel® SGX enclaves. With the Intel® SGX SDK for Windows, it is possible to create debug enclaves. A good description of the range of possibilities offered by debug enclaves is provided in this blog by SGX Program Architect Simon Johnson. It can be inferred from Simon’s blog that a commercial license is required when developers plan to ship commercial software that needs to keep enclaved code confidential.
This brings us back to the topic of considerations that factor into evaluating commercial license requests. Since the ability to launch an enclave puts developers in a position of trust on a given platform, Intel assesses the ability of applicants for commercial licenses to meet critical security requirements underpinning the use of Intel® SGX.
While not a complete list, the three areas below outline some key expectations of commercial license recipients. Applicants should note that this list is not exhaustive and there may be additional requirements that must be fulfilled prior to being granted a commercial license. At a minimum, potential licensees must have a demonstrated ability to perform:
With this context in mind, developers who want to ship commercial software that uses Intel® SGX should reference this link to initiate the process of applying for a commercial license as soon as they are:
Intel will provide a non-disclosure agreement to cover the information above if we do not already have one in place with your company.
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804