[PATCH 0/1] Implement cryptographic initialization control.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Good morning, I hope the week has started well for everyone.

We had raised this issue a couple of week ago, when Jarkko commented
that he would be disinclined to change the signature of ioctl's once
they are in place.  There was no reply to that mail so we will raise
the issue again, this time with a patch.

As a preface, it is important to note that the only consumers of this
driver are the userspace SGX runtimes.  There may be some incidental
interest in individuals who dabble in SGX programming but a full
runtime is a substantive body of work and there will be a limited body
of such software.  The driver thus, primarily, needs to service the
needs of these runtimes.

In addition, since the proposed driver is built statically into the
kernel, there is no straight forward way of providing an alternative
implementation with modules.  So the driver needs to support all of
the runtime functionality needs.

Currently Intel has the reference implementation.  GOOGLE and
Microsoft are using that implementation or a modified version of it.
It is unclear what IBM/RH is using with their Enarx project, their
web-site was indicating that as of 1/1/2020, the codebase was not yet
functional, but that may have since changed.  We have a second
implementation that is compatible with the Intel implementation that
is focused on a minimal footprint implementation.  There may be a few
others banging around as well.

In order to deliver security solutions consistent with its design, SGX
needs to have the ability to implement cryptograhic initialization
policy.  There have been comments that cryptographic policies would be
considered after the driver is in the kernel.

Unfortunately, if we follow this strategy, there will inevitably be
issues surrounding the driver ABI, and based on Jarkko's comments, the
ioctl signatures.  So we need to resolve the issue before the driver
goes in.  It seems unlikely that this will delay the driver much more
then it already has been delayed.

We developed a patch on top of the current driver that implements a
framework for such policies.  This mail will be followed up with a
copy of the patch, if it gets mangled we have the patch available at
the following URL:

ftp://ftp.enjellic.com/pub/sgx/kernel/SFLC-current.patch

As the diffstat on the patch demonstrates, this infrastructure can be
implemented with virtually no impact on the driver writ large.  The
infrastructure also results in no change to the default initialization
behavior of the driver and only implements cryptographically enforced
policy at the discretion of the owner/administrator of the system.

We believe this demonstrates there is no technical reason for not
having such support in the driver.  Runtimes are free to completely
ignore the functionality as are the distributions.

We've scoped this to only the SGX list at this time before litigating
the issue on its technical merits on LKML.

Have a good day.

Dr. Greg

As always,
Dr. Greg Wettstein, Ph.D, Worker      SGX secured infrastructure and
Enjellic Systems Development, LLC     autonomously self-defensive
4206 N. 19th Ave.                     platforms.
Fargo, ND  58102
PH: 701-281-1686                      EMAIL: greg@xxxxxxxxxxxx
------------------------------------------------------------------------------
"I had three strikes against me; I had a radical idea, it worked, and
 I was an outsider."
                                -- Craig Venter



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux