On Sun, Dec 09, 2018 at 09:06:00PM +0100, Pavel Machek wrote: ... > > > > The default permissions for the device are 600. > > > > > > Good. This does not belong to non-root. > > > > There are entirely legitimate use cases for using this as an > > unprivileged user. However, that'll be up to system and distribution > > policy, which can evolve over time, and it makes sense for the *initial* > > kernel permission to start out root-only and then adjust permissions via > > udev. > > Agreed. > > > Building a software certificate store. Hardening key-agent software like > > ssh-agent or gpg-agent. Building a challenge-response authentication > > system. Providing more assurance that your server infrastructure is > > uncompromised. Offloading computation to a system without having to > > fully trust that system. > > I think you can do the crypto stuff... as crypto already verifies the > results. But I don't think you can do the computation offload. You can, as long as you can do attestation. > > As one of many possibilities, imagine a distcc that didn't have to trust > > the compile nodes. The compile nodes could fail to return results at > > all, but they couldn't alter the results. > > distcc on untrusted nodes ... oh yes, that would be great. > > Except that you can't do it, right? :-). > > First, AFAICT it would be quite hard to get gcc to run under SGX. But > maybe you have spare month or three and can do it. Assuming you don't need to #include files, gcc seems quite simple to run in an enclave: data in, computation inside, data out.