Re: [Teep] My BoF impression

"Wheeler, David M" <david.m.wheeler@intel.com> Wed, 05 April 2017 16:36 UTC

Return-Path: <david.m.wheeler@intel.com>
X-Original-To: teep@ietfa.amsl.com
Delivered-To: teep@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D94F812420B for <teep@ietfa.amsl.com>; Wed, 5 Apr 2017 09:36:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.811
X-Spam-Level:
X-Spam-Status: No, score=-6.811 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, T_DKIM_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (public key: not available)" header.d=intel.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id d9azjwmbVLoY for <teep@ietfa.amsl.com>; Wed, 5 Apr 2017 09:36:09 -0700 (PDT)
Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 82918127871 for <teep@ietf.org>; Wed, 5 Apr 2017 09:36:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1491410169; x=1522946169; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=sqRbM9frDQ1iEQ6Ggq5WWYni2ApiSsC9DHXWqxMqyV8=; b=gop2WUGbe8DT30pzr7a0RbpzFTIFij2TWk5Kce5+kODautINX2AmnBnQ SzK3GpnYXfgNsliSYmJuyQt25dyGeQ==;
Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Apr 2017 09:35:57 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos; i="5.36,279,1486454400"; d="scan'208,217"; a="83540801"
Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga005.jf.intel.com with ESMTP; 05 Apr 2017 09:35:56 -0700
Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 5 Apr 2017 09:34:32 -0700
Received: from crsmsx101.amr.corp.intel.com (172.18.63.136) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 5 Apr 2017 09:34:31 -0700
Received: from crsmsx102.amr.corp.intel.com ([169.254.2.201]) by CRSMSX101.amr.corp.intel.com ([169.254.1.38]) with mapi id 14.03.0319.002; Wed, 5 Apr 2017 10:34:30 -0600
From: "Wheeler, David M" <david.m.wheeler@intel.com>
To: 'Jeremy O'Donoghue' <jodonogh@qti.qualcomm.com>, Tero Kivinen <kivinen@iki.fi>
CC: Hannes Tschofenig <Hannes.Tschofenig@arm.com>, teep <teep@ietf.org>
Thread-Topic: [Teep] My BoF impression
Thread-Index: AQHSrU2OutoLuMZ4AkG1IyV4CnXf16G1Rm1g
Date: Wed, 05 Apr 2017 16:34:29 +0000
Message-ID: <0627F5240443D2498FAA65332EE46C84366ED746@CRSMSX102.amr.corp.intel.com>
References: <HE1PR0802MB2475515770704882F9CFBDBCFA080@HE1PR0802MB2475.eurprd08.prod.outlook.com> <22755.33183.740819.743679@fireball.acr.fi> <CB221FB1-18D2-4F7B-88D9-1E9F9828D468@qti.qualcomm.com>
In-Reply-To: <CB221FB1-18D2-4F7B-88D9-1E9F9828D468@qti.qualcomm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzBjMWUzZjMtMzQwYS00M2QxLWE5NWUtZmY5MDU3MjU4OTM2IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjIuMTEuMCIsIlRydXN0ZWRMYWJlbEhhc2giOiJQTFpDbkVsSXJ4aGpITnhYcWswTHZxbDBURkI3XC9YTWg1a1hRN1wveW8yMHM9In0=
x-ctpclassification: CTP_IC
dlp-product: dlpe-windows
dlp-version: 10.0.102.7
dlp-reaction: no-action
x-originating-ip: [172.18.205.10]
Content-Type: multipart/alternative; boundary="_000_0627F5240443D2498FAA65332EE46C84366ED746CRSMSX102amrcor_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/teep/57iYKeAu-J1CXEECBdlLTcrAaO0>
Subject: Re: [Teep] My BoF impression
X-BeenThere: teep@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: A Protocol for Dynamic Trusted Execution Environment Enablement <teep.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/teep>, <mailto:teep-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/teep/>
List-Post: <mailto:teep@ietf.org>
List-Help: <mailto:teep-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/teep>, <mailto:teep-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 05 Apr 2017 16:36:13 -0000

I’m a bit behind on the thread, but want to respond to Jeremy’s original comment.

First, I this is exactly the type of conversation we need to have. Thanks for kicking this off very directly.
I agree with your perception of the two groups, though I think it is important to understand the motivations in the second group, since they may be varied.

I will put myself voluntarily in the second bucket. I will present my personal perspective, which may be different from others in the “second group”.

For myself, I am looking to define a more abstract definition of a TEE, and desiring a protocol that is applicable to a wide set of TEEs. From my perspective, looking at TEEs that Intel has in the marketplace, and also having worked for several years on Intel’s XScale processors (and am thus familiar with TZ), the current OTrP draft addresses Trust Zone concerns without really considering other TEEs. This is my perception, of course.

It is also my opinion that an IETF protocol should do more than address implementation specific concerns.
I am motivated to work jointly on developing OTrP to address a wider set of concerns common to TEEs and their environments, with the purpose of expanding the ease with which the marketplace can utilize TEE mechanisms.

Part of this development of OTrP (from my perspective) is being less normative about the exact location and instantiation of certain parties (particularly the TSM) and be specific on the operations and activities at particular “service access points” of the protocol. My point here is that OTrP in its current rendition is <emphasis> too </emphasis> implementation specific and too normative in its description of the marketplace. I believe this is fine as an example, but not as part of the protocol.

I believe IETF is exactly the place to have this conversation and define a very open and inclusive protocol. I realize that takes some time. I look forward to having this conversation in more detail.

Thanks,
Dave Wheeler

From: TEEP [mailto:teep-bounces@ietf.org] On Behalf Of Jeremy O'Donoghue
Sent: Tuesday, April 4, 2017 7:13 AM
To: Tero Kivinen <kivinen@iki.fi>
Cc: Hannes Tschofenig <Hannes.Tschofenig@arm.com>; teep <teep@ietf.org>
Subject: Re: [Teep] My BoF impression


On 4 Apr 2017, at 12:21, Tero Kivinen <kivinen@iki.fi<mailto:kivinen@iki.fi>> wrote:

My feeling that the main question what people did not understand was:

What is the real difference between TEEP and just normal
application download. I.e., why separate protocol is needed.
How is this different from just having perhaps encrypted
signed application blob from the marketplace and installing
that.

At least that was my main question when we discussed this before the
BoF.

Of course it does not help, that when you ask that question from
different people you get different answer, as the idea of what TEEP is
different for different people…

I think there is a degree of talking at cross-purposes.

There is one group - essentially those sponsoring the creation of this group - which has a very clear understanding of what it would like TEEP to be, which is essentially three things:


  1.  A mechanism for managing Trusted Applications and their associated secrets and key material in a GlobalPlatform TEE or something that is conceptually very similar.
  2.  A mechanism for establishing a chain of trust rooted in firmware and covering the TEE and possibly other system components up to and including the executing Task in a Security Domain.
  3.  A mechanism - targeted at phone and tablet type devices - which operates independently of the “App Store” mechanism, and is based on a PKI infrastructure allowing Service Providers to manage the Trusted Applications they control without the need for user intervention.

The draft specification very clearly addresses such a system. Understanding it fully requires considerable familiarity with the GlobalPlatform TEE specifications, since much of the terminology and architectural assumptions are derived from these.

There is a second group which is starting from a more abstract position of what a TEE should look like and what security services it might then provide to a system and how the control of these could be structured. This is a completely different problem, and likely a much broader one which is difficult to encapsulate in a small scope.


Trying to make the architecture too generic also confuses things. It
might be better to have more concrete example with more limited scope,
that would explain things what TEEP should provide.

For example:

1) TEEP provides a way to install software from the Secure
trusted application marketplace to the TEE running inside
device.

2) The Secure trusted appliation marketplace needs to be able
to verify that the TEE wanting to install an application is
actual TEE, and not some fake device, for example using
signature from the key installed by the manufacturer which is
used to sign the installation request.

3) The Secure trusted application marketplace can then encrypt
the trusted application with TEE specific key, so that nobody
else than TEE can decrypt and install it. This will prevent
leaking out confidential material inside the application.
Trusted application instlal package might also be personalized
for the specific TEE. Secure trusted application marketplace
will also sign the trusted application install package, so TEE
can verify it is authentic.

4) TEE will verify the signature of the trusted application
install package, and check that signer is trusted, and then it
will decrypt the package, and install it.

5) The application running on the REE side might need to
verify that the trusted application part of it has been
properly installed to real TEE, so it can trust it doing its
job. I am not sure if this will be part of the TEEP or not...

Is my understanding of TEEP correct? I do not know, and I assume other
people have different ideas what should or should not be part of it.

I think this is a pretty good explanation of what the first group would like to see.

Best regards
Jeremy