I have been looking into Intel SGX secure enclaves.

The technology is cool, but the references about the technology (e.g. the programming manual and the tutorial) don't seem to have any information about the performance. There is a nice article that gives graphs showing amortized cost of doing a large number of operations, but I'm interested in the cost (latency) of doing a single small operation.

Specifically, I am looking at an application where time (latency) is critical, and I would like to see how long it would take for the enclave to simply receive a piece of data and send some signature of the data that recognized that it received it. Does anyone know how long this would take?

(I could test it myself, but it seems from the bottom of this page that before doing any development I would need the professional version of Visual Studio or Parallel Studio, and I'd like to get an impression of the performance of the platform before making that kind of commitment.)

  • $\begingroup$ Actually that info about the development environment looks horribly outdated, in that the current SDK version wants VS 2015. And if you're egligible you should also be able to use the community edition with the SDK. $\endgroup$ – SEJPM Feb 10 at 11:11
  • 1
    $\begingroup$ For a rough estimate you can consult this website (which has a lot of info on signing short messages) and combine that with some general overhead measurements for entry and exit to get a rough idea. $\endgroup$ – SEJPM Feb 10 at 11:31
  • $\begingroup$ Do you want a rough estimate (as can be constructed from my previous comment) or a rather precise measurement? (The latter would be off-topic due to essentially asking somebody to actually implement and measure this most likely and then also probably optimizing it which is a lot of work) $\endgroup$ – SEJPM Feb 10 at 11:38
  • $\begingroup$ @SEJPM. Rough estimates are fine. Great link. One question on it. I saw that the results include chips that support SGX (SkyLake etc). But does this mean these results are for signing inside the secure enclave or outside the enclave? In other words, is the signature happening in a place such that another program on the computer could potentially access the signing key? $\endgroup$ – danxinnoble Feb 11 at 1:33
  • $\begingroup$ These signatures (by eBATS) are carried out in "normal" software, so you need to add the (probably constant) initial context switch overhead to these times as well as a guess for the memory overhead if you access more than the L3's size worth of memory. $\endgroup$ – SEJPM Feb 11 at 6:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.