sgx

Failed to use the confidential computing VM deployment service in Azure

谁说胖子不能爱 提交于 2020-03-24 18:59:12
问题 I created an Azure account which is promised to be able to use all the services in Azure for free for a month. However, I always failed to create a confidential computing VM in the verification phase. The error report I got is: InvalidTemplateDeploymentThe template deployment failed with error: 'The resource with id: '/subscriptions/e3fa4d71-63b0-4f16-ae14-e741500dcbf7/resourceGroups/testSource/providers/Microsoft.Compute/virtualMachines/aaa' failed validation with message: 'The requested

Failed to use the confidential computing VM deployment service in Azure

安稳与你 提交于 2020-03-24 18:58:12
问题 I created an Azure account which is promised to be able to use all the services in Azure for free for a month. However, I always failed to create a confidential computing VM in the verification phase. The error report I got is: InvalidTemplateDeploymentThe template deployment failed with error: 'The resource with id: '/subscriptions/e3fa4d71-63b0-4f16-ae14-e741500dcbf7/resourceGroups/testSource/providers/Microsoft.Compute/virtualMachines/aaa' failed validation with message: 'The requested

Intel SGX simulator for Linux

允我心安 提交于 2020-01-23 00:35:38
问题 According to this tutorial, it is possible to develop and run SGX applications in a simulator when developing in Windows with Visual Studio. The tutorial does not mention Linux although there is a version of the SDK available for Linux. Is the SGX simulator from Intel exclusive to Windows, or is there a Linux version as well? (Note: I know about the existence of OpenSGX , I'm asking specifically about the Intel simulator.) 回答1: Yes, you can use the SDK in simulation mode. In Linux, you must:

Passing vector to enclave in Intel SGX

删除回忆录丶 提交于 2020-01-03 03:24:08
问题 I have a vector<vector <string>> a ; How could I pass it to the enclave? How I declare edl function. A sample function declaration for the app, edl and enclave is much appreciated. I am aware of this: C++ Arguments to SGX Enclave Edge Functions. A sample to pass even a vector<string> is ok for me. update1: I came up with this: App.cpp const char *convert(const std::string & s) { return s.c_str(); } vector<string> members_data; member_data.push_back("apple"); member_data.push_back("orange"); /

How to prove that certain data is calculated(or generated) inside Enclave(Intel SGX)?

僤鯓⒐⒋嵵緔 提交于 2019-12-23 03:34:09
问题 How to prove that certain data is calculated(or generated) inside Enclave(Intel SGX)? I tried to generate asymmetric key pair inside enclave(private key might be invisible to outside), and then expose public key with evidence(i guess quote or remote attestation related things). I got how remote attestation goes but, i cannot come up with applying remote attestation to verifying enclave-generated data. Is this possible scenario with Intel SGX? 回答1: You can prove the origin of the public key by

Error Loading Enclave: Couldn't open file with CreateFile()

别说谁变了你拦得住时间么 提交于 2019-12-12 01:22:39
问题 I'm trying to write a simple SGX project for a start. So I have this main host application routine that I've pretty much copied from Lars Richter's blog: #define ENCLAVE_FILE _T("Enclave.signed.dll") #include <tchar.h> #include <cstdio> #include "sgx_urts.h" #include "Enclave_u.h" int main() { sgx_enclave_id_t eid; sgx_status_t ret = SGX_SUCCESS; sgx_launch_token_t token = { 0 }; int updated = 0; ret = sgx_create_enclave(ENCLAVE_FILE, SGX_DEBUG_FLAG, &token, &updated, &eid, NULL); if (ret !=

Intel SGX developer licensing and open-source software

我的梦境 提交于 2019-12-10 23:55:16
问题 Is it possible to obtaining a licensed developer certificate for signing security-reviewed, community-developed open source SGX software binary in production mode, and publish it on open source repository like apt or rpm? I just asked Intel SGX team, they said only verified vendors are able to obtain a certificate and run in production mode. It just like Apple’s App Store, no open source code allowed, right? 回答1: Well, it's possible, but it's a quite complicated task, You will need to

Passing C++ struct to enclave from app in Intel SGX

做~自己de王妃 提交于 2019-12-09 09:10:43
问题 I have a C++ struct like this: struct node { string splitOn; string label; bool isLeaf; vector<string> childrenValues; vector<node*> children; }; I wanted to pass or read this from App to the Intel SGX enclave. Based on what is mentioned here: https://software.intel.com/en-us/forums/intel-software-guard-extensions-intel-sgx/topic/703489 I tried this: APP: node *root = new node; root = buildDecisionTree(dataTable, root, *tableInfo); //this initializes the root void *data3 = static_cast<void*>

Passing vector to enclave in Intel SGX

跟風遠走 提交于 2019-12-07 07:12:26
I have a vector<vector <string>> a ; How could I pass it to the enclave? How I declare edl function. A sample function declaration for the app, edl and enclave is much appreciated. I am aware of this: C++ Arguments to SGX Enclave Edge Functions . A sample to pass even a vector<string> is ok for me. update1: I came up with this: App.cpp const char *convert(const std::string & s) { return s.c_str(); } vector<string> members_data; member_data.push_back("apple"); member_data.push_back("orange"); //just for sample std::vector<const char*> vc; std::transform(members_data.begin(), members_data.end(),

Passing C++ struct to enclave from app in Intel SGX

孤街浪徒 提交于 2019-12-03 12:12:47
I have a C++ struct like this: struct node { string splitOn; string label; bool isLeaf; vector<string> childrenValues; vector<node*> children; }; I wanted to pass or read this from App to the Intel SGX enclave. Based on what is mentioned here: https://software.intel.com/en-us/forums/intel-software-guard-extensions-intel-sgx/topic/703489 I tried this: APP: node *root = new node; root = buildDecisionTree(dataTable, root, *tableInfo); //this initializes the root void *data3 = static_cast<void*>(root); ecall_my_dtree(global_eid, &ecall_return, data3); EDL: public int ecall_my_dtree([user_check]