Re: [PATCH] doc: trusted-encrypted: updates with TEE as a new trust source (update)

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

 



Hi Jarkko,

On Fri, 11 Dec 2020 at 13:44, Jarkko Sakkinen <jarkko@xxxxxxxxxx> wrote:
>
> On Wed, Dec 09, 2020 at 11:42:49AM -0500, Mimi Zohar wrote:
> > From: Elaine Palmer <erpalmer@xxxxxxxxxx>
> >
> > Update trusted key documentation with additional comparisons between
> > discrete TPMs and TEE.
> >
> > Signed-off-by: Elaine Palmer <erpalmer@xxxxxxxxxx>
>
> Right, so OP-TEE is not the same as TEE. I did not know this and the
> patch set does not underline this.
>
> I re-checked the patches and none of them say explicitly that OP-TEE
> is an application living inside TEE.

This patch-set provides a trust source based on generic TEE interface
where underlying TEE implementations like OP-TEE (drivers/tee/optee/),
AMD TEE (drivers/tee/amdtee/) etc. can easily be hooked up. And this
is similar to the TPM interface where underlying TPM implementations
like discrete TPM, virtual TPM, firmware TPM etc. can be easily hooked
up.

>
> This essentially means that the backend needs to be renamed as "op_tee".
>

I don't see any need for this, see above.

> All patches need to be rewritten according to this.
>
>
> > ---
> >  .../security/keys/trusted-encrypted.rst       | 73 +++++++++++++++++--
> >  1 file changed, 65 insertions(+), 8 deletions(-)
> >
> > diff --git a/Documentation/security/keys/trusted-encrypted.rst b/Documentation/security/keys/trusted-encrypted.rst
> > index 16042c8ff8ae..90c02105ab89 100644
> > --- a/Documentation/security/keys/trusted-encrypted.rst
> > +++ b/Documentation/security/keys/trusted-encrypted.rst
> > @@ -14,12 +14,14 @@ convenience, and are integrity verified.
> >  Trust Source
> >  ============
> >
> > -Trust Source provides the source of security for the Trusted Keys, on which
> > -basis Trusted Keys establishes a Trust model with its user. A Trust Source could
> > -differ from one system to another depending on its security requirements. It
> > -could be either an off-chip device or an on-chip device. Following section
> > -demostrates a list of supported devices along with their security properties/
> > -guarantees:
> > +A trust source provides the source of security for Trusted Keys.  This
> > +section lists currently supported trust sources, along with their security
> > +considerations.  Whether or not a trust source is sufficiently safe depends
> > +on the strength and correctness of its implementation, as well as the threat
> > +environment for a specific use case.  Since the kernel doesn't know what the
> > +environment is, and there is no metric of trust, it is dependent on the
> > +consumer of the Trusted Keys to determine if the trust source is sufficiently
> > +safe.
> >
> >    *  Root of trust for storage
> >
> > @@ -116,6 +118,59 @@ guarantees:
> >           Provides no protection by itself, relies on the underlying platform for
> >           features such as tamper resistance.
> >
> > +  *  Provisioning - the trust source's unique and verifiable cryptographic
> > +     identity is provisioned during manufacturing
> > +
> > +     (1) TPM
> > +
> > +         The unique and verifiable cryptographic identity is the endorsement
> > +         key (EK) or its primary seed.  A review of the generation of the EK
> > +         and its accompanying certificate is part of the Common Criteria
> > +         evaluation of the product's lifecycle processes (ALC_*).  See "TCG
> > +         Protection Profile for PC Client Specific TPM 2"
> > +
> > +     (2) TEE
> > +
> > +         A protection profile for TEEs does not yet exist.  Therefore, the
> > +         provisioning process that generates the Hardware Unique Key is not
> > +         evaluated by an independent third party and is highly dependent on
> > +         the manufacturing environment.
>
> Comparing TPM and TEE does not make logically any sense given that TPM
> is application and TEE a platfrom.
>

I think comparing them on the basis of standardized interfaces to
trust source and common platform security features does make sense.

-Sumit

> > +
> > +
> > +  *  Cryptography
> > +
> > +     (1) TPM
> > +
> > +         As part of the TPM's mandatory Common Criteria evaluation, the
> > +         correctness of the TPM's implementation of cryptographic algorithms,
> > +         the protection of keys, and the generation of random numbers, and other
> > +         security-relevant functions must be documented, reviewed, and tested by
> > +         an independent third party evaluation agency.  It must meet the
> > +         requirements of FIPS 140-2, FIPS 140-3, or ISO/IEC 19790:2012.
> > +
> > +     (2) TEE
> > +
> > +         Evaluations of cryptographic modules within TEEs are not required, but
> > +         some are available for specific implementations within TEEs.
> > +
> > +
> > +  *  Interfaces and APIs
> > +
> > +     (1) TPM
> > +
> > +         TPMs have well-documented, standardized interfaces and APIs.
> > +
> > +     (2) TEE
> > +
> > +         Unless TEEs implement functionality such as a virtual TPM, they have
> > +         custom interfaces and APIs.
> > +
> > +
> > +  *  Threat model
> > +
> > +     The strength and appropriateness of a particular TPM or TEE for a given
> > +     purpose must be assessed when using them to protect security-relevant data.
> > +
> >
> >  Key Generation
> >  ==============
> > @@ -123,8 +178,10 @@ Key Generation
> >  Trusted Keys
> >  ------------
> >
> > -New keys are created from trust source generated random numbers, and are
> > -encrypted/decrypted using trust source storage root key.
> > +New keys are created from random numbers generated in the trust source. They
> > +are encrypted/decrypted using a child key in the storage key hierarchy.
> > +Encryption and decryption of the child key must be protected by a strong
> > +access control policy within the trust source.
> >
> >    *  TPM (hardware device) based RNG
> >
> > --
> > 2.18.4
> >
> >
>
> /Jarkko



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux Kernel]     [Linux Kernel Hardening]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux