costan
Re: 1 - I re-read the relevant SDM sections, and saw that there is no requirement that the new upgrade version exceeds the current microcode version. Thank you very much for pointing that out! The next published revision will have the fix.
Do you have any public references for 3 and 4? That looks like it'd help make the case that SGX rests on very complex and unstable foundations.
Instead, I think that a bunch of MBAs showed up and decided SGX is security, security is an enterprise thing, so SGX must be pay-to-play. For whatever it's worth, I think the SGX designers did a pretty good job of separating the objectionable parts from the rest of the design.
For example, the EPID homebrew crypto is all in software, so Intel can change the algorithm without hardware mods or microcode updates.
Also, the way they set up the Launch Enclave gives Intel time until the very last minute to not be a douche. They still have the option to release a permissive Launch Enclave that only includes the checks needed to keep attestation secure.
The SGX design that doesn't come from MBAs is quite clean, given that it addresses the multi-layered crap pile that is X86. There are some cool tricks in there.
If the OS is evil and you don't do attestation, it can emulate SGX and run your code in a simulated enclave environment where EGETKEY returns keys that the OS knows about.
If the OS is not evil, you can use process isolation to generate and protect the keys.
Based on public docs, you can't do DRM decoding in an enclave. But you can execute some complex logic to validate a user's license and decide whether you want to release the encryption key to the ME or GPU.
https://software.intel.com/en-us/articles/intel-trusted-exec...
Details: if the key used to sign architectural enclaves (like the Launch Enclave) would leak, this would completely break SGX. Anyone with the key could create their own Quoting Enclave and the guarantees behind software attestation would go down the drain.
A Xeon implementation would have to secure the QPI links between the CPU chips. These run at significantly higher speeds than DRAM, so the current MEE design would likely not be able to keep up. Also, a Xeon implementation would have to somehow have the chips mutually authenticate each other.
That being said, I wouldn't be surprised if Intel was trying to see if they can get away with the licensing bs in desktops before committing resources to tackling the challenges that I mentioned above.
Dropbox.js - official support for JavaScript Dropbox apps
I always liked to test the development version of Ubuntu and file bugs. I used to do it on my main machine, but the probability of failed boots increased sharply after 9.10, so I stopped.
I consider that I did pay my due to Google: I filed ~40 ChromeOS bugs, 5 Chrome bugs, and developed a Chrome extension. The extension mitigates against a ChromeOS issue and is available in the store https://chrome.google.com/webstore/detail/fopmmgbckkdhedhndl...
Windows perf suffers because (1) in some rare cases, the needed primitives aren't provided by the kernel, and (2) Windows does some things differently, and Ruby library authors don't have the incentives to design and maintain a separate codepath for Windows.
The issues above don't usually arise in desktop applications. They're seen most often in server code -- fork is missing and that sucks, asynchronous I/O works differently, file monitoring and pipes also work differently, etc.
Live source code: http://github.com/costan/security_in_webapps_slides
[S5 Slides] Security in Web Applications
Building fat iPhone static libraries (device + simulator in one file)
Your intuition was right, they are too expensive for me. So, I should clarify: I am happy with using current-generation smart-card chips, but I would like to use them directly. The folks who wrote the JavaCard VM must have used some SDK... I want that SDK, so I can write my own OS.
Thanks!
Ask HN: any SDKs for embedded secure processors?
I'm currently using JavaCard smart-card chips to prototype my research project (MIT PhD). My performance isn't that good because I can't access the processor directly.Does anyone here know of a SDK that I can get my hands on (I'm an MIT PhD) that would allow me to run code directly on the hardware? (I'm hoping to use a mixture of C and direct assembly.) Due to the nature of my research, I need...
To the best of my knowledge (2006), Apple does H1 visas, but they don't sponsor green card applications. When your H1-B expires, they'll have you work elsewhere until you're eligible for an H1-B again. This is based on a small sample (rumors).