Subject: Re: [Rats] 答复: New RATS Architecture document

From: Michael Eckel <[email-masked]>
Date: Tue, 17 Sep 2019 14:31:17 +0200

Hi Frank,

just to reply to your comment on Section 5. The approach of replacing
the first four bytes with the 4 bytes IPv4 address is to counter (some
flavors of) relay attacks. The Attester replaces these 4 bytes with its
IP address and the Verifier in a verification process does the same with
the IP address of the Attester that it sent the attestation request to.
Verification will be successful only if the IP addresses are the same.

Thanks,
Michael

-- 
Fraunhofer SIT
*Michael Eckel*
Cyber Security Researcher
📧 [email-masked] <[email-masked]>
🕿 +49 6151 869-221 <tel:+496151869221>

Fraunhofer Institute for Secure Information Technology SIT
🏭 Cyber-physical Systems Security
🏠 Rheinstraße 75, 64295 Darmstadt, Germany
🌍 sit.fraunhofer.de <https://sit.fraunhofer.de/>

Member of CRISP

Hi Henk, other draft authors,
Thanks for the efforts for largely simplifying this new version, which looks much more clear and understandable.

I have reviewed the draft through and have some comments as below:
Section 1.1
1. should "message digest" be "MAC"?
2. nit. s/A corresponding attestation provisioning workflow uses trustworthiness Claims/ A corresponding attestation provisioning workflow uses Reference Claims/
3. the Endorsements definition in Section 4.3.2 seems to be more correct than the one in this section, but still be a little abstract. Is my understanding right: an example of Endorsements is manufacturer's CA?
4. In general, the overlapping exists for the RATS messages' definition in this section and section 4.3.2. Please combine them into one.

Section 3
The last sentence emphasis on the "change". Can you clarify what kind of change it is? The change of the Evidence with time or the change between Evidence and KGV? The former seems to be too narrow, the latter is better.

Section 3.2
Although I can understand, but some contents in it are not straightforward, like: " recursive trustworthiness properties and the need for termination. " and others. I suggest to re-write them using other well-known text such as: trust chain, root of trust, etc.

Section 4.2
1. Freshness is only for replay attack? No any time freshness meaning?
2. for the principle of Identity, do you consider the privacy protection issue: run remote attestation without revealing the device's identity?
3. Some confusing terminologies: does Provenance equal to source authentication? does Veracity equal to integrity protection? Validity seems to be like Freshness, right?

Section 5
I don't get your point why the last four bytes of a challenge nonce are replaced by the IPv4 address-value of the Attester in its response. Can you clarify?

B.R.
Frank

-----邮件原件-----
发件人: RATS [mailto:[email-masked]] 代表 Henk Birkholz
发送时间: 2019年9月10日 21:13
收件人: [email-masked] <mailto:[email-masked]>
主题: [Rats] New RATS Architecture document

Hi all,

we created a fully revised architecture document that maps and represents the state of the current discussion and the material presented at the last IETF meeting.

The current Editor's version can be found here:

> https://ietf-rats.github.io/draft-birkholz-rats-architecture/draft-bir
> kholz-rats-architecture.html

We will submit a new version the day after the RATS virtual interim.

TL;DR
Below you can find a list of essential changes & a list of action items still to be addressed.

This version of the RATS Architecture document:

* does not define or uses the terms "root(s) of trust" (RoT) or "Trust 
Anchor" (TA) at the moment. (Note: It is a fact that the Asserter Role 
_is_ a TA for the Verifier Role and that an Attester Role _could_ rely 
on RoTs. But - this content will not go into the main body of this 
document),

* does define RATS Roles, Messages, and Principals formerly known as 
"Actors" (borrowing heavily from ABLP),

* provides an even more "base" interaction model diagram for the RATS 
Roles than presented in the last IETF meeting slide deck:

> https://datatracker.ietf.org/meeting/105/materials/slides-105-rats-sessb-rats-architecture-interaction-model-challange-response-yang-module-information-module-00.pdf

* introduces a framework for "level of confidence" in the 
trustworthiness of an Attester and the endorsement of the protection 
characteristics of its "Attesting Computing Context", allowing for other 
entities to use this framework and fill it with, e.g., openly defined 
levels of confidence metrics,

* is not based on the primitive of "trust" but the concept of 
"trustworthiness" as illustrated by the RATS charter,

* simplifies the definitions of Attester and Verifier that seemed to 
have caused some unfortunate confusion following the proposal of Giri 
and starting with commonly-accepted definitions and then justify why 
they may need to be modified,

* differentiates between the Attesting Computing Environment and the 
Attested Computing Environment better, which both are components of an 
Attester,

* uses the "Claim" concept as a building block to compose Evidence, 
Known-Good-Values and Endorsements. Conversely, the "Assertion" concept 
is dropped in this proposal (as initially suggested by Laurence, IIRC?). 
(Note: this was done to simplify the discussion about the information 
model. Please also note: Due to the {J|C}WT definition of "Claim", a 
key/value pair is implied, which is already a data model decision and 
not mandated by an information model), and

* analogously, now uses the term Known-Good-Values instead of 
Attestation Assertions.

For future versions the authors intent:

* to elaborate on the use of RATS Principals, including more exemplary 
diagrams of RATS Role composition and interaction between RATS 
Principals based on the use case document (and by that address a unified 
mapping to TEEP, RIV, and models that use EAT),

* to shift some of the focus on technical-trust as proposed by Thomas. 
(the Endorsements provided by an Asserter are a first step into that 
direction),

* still not to define the roots of trust terms nor invent new words for 
them :) But - start to reference them on a minimal level and define a 
base set of primitives they can provide in order to describe what they 
actually are and can do in the context of RATS as proposed by Ira, Simon 
and Thomas,

* to introduce and define a concise scope for layered attestation, 
addressing, e.g., the staging of Computing Environments and the 
(un-)availability of an Attesting Computing Environment at certain 
points of time, or, another example given, addressing the 
differentiation of an attested boot sequence of an Attester and an 
Attester running TEEs or rich systems for years,

* to address the change of Roles of a Principal over time as proposed by 
Ian,

* to move the remaining architectural sections in the EAT draft into the 
RATS Architecture draft, and

* to shift some of the focus on the out-of-band trust establishment in 
order to illustrate a coherent RATS ecosystem (e.g. the provisioning of 
key material is not include in the "base diagram" anymore for now - this 
will be more elaborated on in future section of the architecture).

Viele Grüße,

Henk

_______________________________________________
RATS mailing list
[email-masked] <mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/rats

  * [Rats] New RATS Architecture document
    <https://mailarchive.ietf.org/arch/msg/rats/wSGCnW6oAveg6EXC7BuEC1UVBvE>  Henk
    Birkholz
  * Re: [Rats] New RATS Architecture document
    <https://mailarchive.ietf.org/arch/msg/rats/ATlF1dyQTPLBU62-uD7pBnZfwaA>  Giridhar
    Mandyam
  * Re: [Rats] New RATS Architecture document
    <https://mailarchive.ietf.org/arch/msg/rats/MMYVbA0RnARJyNCs9ujZi5H85Ms>  Laurence
    Lundblade
  * Re: [Rats] New RATS Architecture document
    <https://mailarchive.ietf.org/arch/msg/rats/mZYSW1fWfBNa5-g6iLRqvQkuk1g>  Simon
    Frost
  * Re: [Rats] New RATS Architecture document
    <https://mailarchive.ietf.org/arch/msg/rats/NmoL5MaM6urrz21Z3DvQH9ileW8>  Henk
    Birkholz
  * [Rats] 答复: New RATS Architecture document
    <https://mailarchive.ietf.org/arch/msg/rats/7EM4bPJowc4FhrvUkDkSW_0_ZBU>  Xialiang
    (Frank, Network Standard & Patent Dept)

---

From: "Xialiang (Frank, Network Standard & Patent Dept)" <[email-masked]>
Date: Wed, 18 Sep 2019 02:21:49 +0000

But the nonce itself without IP  address can protect against replay attack already. Right?
I understand this method is just for verifying the same Attester address, right? The Attester authentication can do the same job too.

In summary, I don’t see very clear benefit for this method.

This e-mail and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!

发件人: RATS [mailto:[email-masked]] 代表 Michael Eckel
发送时间: 2019年9月17日 20:31
收件人: Henk Birkholz <[email-masked]>
抄送: [email-masked]
主题: Re: [Rats] 答复: New RATS Architecture document

Hi Frank,

just to reply to your comment on Section 5. The approach of replacing the first four bytes with the 4 bytes IPv4 address is to counter (some flavors of) relay attacks. The Attester replaces these 4 bytes with its IP address and the Verifier in a verification process does the same with the IP address of the Attester that it sent the attestation request to. Verification will be successful only if the IP addresses are the same.

Thanks,
Michael
--
[Fraunhofer SIT]
Michael Eckel
Cyber Security Researcher
📧 [email-masked]<[email-masked]>
🕿 +49 6151 869-221<tel:+496151869221>

Fraunhofer Institute for Secure Information Technology SIT
🏭 Cyber-physical Systems Security
🏠 Rheinstraße 75, 64295 Darmstadt, Germany
🌍 sit.fraunhofer.de<https://sit.fraunhofer.de/>

[Member of CRISP]

Section 1.1

Section 3

Section 3.2

Section 4.2

Section 5

B.R.

Frank

-----邮件原件-----

发送时间: 2019年9月10日 21:13

收件人: [email-masked]<mailto:[email-masked]>

Hi all,

TL;DR

document),

Attester,

Attestation Assertions.

direction),

and Thomas,

Ian,

Viele Grüße,

Henk

RATS mailing list

[email-masked]<mailto:[email-masked]>

  *   [Rats] New RATS Architecture document<https://mailarchive.ietf.org/arch/msg/rats/wSGCnW6oAveg6EXC7BuEC1UVBvE>  Henk Birkholz
  *   Re: [Rats] New RATS Architecture document<https://mailarchive.ietf.org/arch/msg/rats/ATlF1dyQTPLBU62-uD7pBnZfwaA>  Giridhar Mandyam
  *   Re: [Rats] New RATS Architecture document<https://mailarchive.ietf.org/arch/msg/rats/MMYVbA0RnARJyNCs9ujZi5H85Ms>  Laurence Lundblade
  *   Re: [Rats] New RATS Architecture document<https://mailarchive.ietf.org/arch/msg/rats/mZYSW1fWfBNa5-g6iLRqvQkuk1g>  Simon Frost
  *   Re: [Rats] New RATS Architecture document<https://mailarchive.ietf.org/arch/msg/rats/NmoL5MaM6urrz21Z3DvQH9ileW8>  Henk Birkholz
  *   [Rats] 答复: New RATS Architecture document<https://mailarchive.ietf.org/arch/msg/rats/7EM4bPJowc4FhrvUkDkSW_0_ZBU>  Xialiang (Frank, Network Standard & Patent Dept)

---

From: Laurence Lundblade <[email-masked]>
Date: Tue, 17 Sep 2019 21:49:49 -0700

Seems like the IP address should just be a claim on its own rather than stuffing it into the nonce. That avoids losing some nonce entropy. The IP address might be privacy violating in use cases where as a plain nonce is not. So in a privacy sensitive use case you’d want to just use the plain nonce and no IP address, so keeping them separate seems better.

LL

> On Sep 17, 2019, at 5:31 AM, Michael Eckel <[email-masked]> wrote:
> 
> Hi Frank,
> 
> 📧 [email-masked] <x-msg://63/[email-masked]>
> 发件人: RATS [mailto:[email-masked] <mailto:[email-masked]>] 代表 Henk Birkholz
> 发送时间: 2019年9月10日 21:13
> > https://ietf-rats.github.io/draft-birkholz-rats-architecture/draft-bir <https://ietf-rats.github.io/draft-birkholz-rats-architecture/draft-bir>
> > https://datatracker.ietf.org/meeting/105/materials/slides-105-rats-sessb-rats-architecture-interaction-model-challange-response-yang-module-information-module-00.pdf <https://datatracker.ietf.org/meeting/105/materials/slides-105-rats-sessb-rats-architecture-interaction-model-challange-response-yang-module-information-module-00.pdf>
> 
> https://www.ietf.org/mailman/listinfo/rats <https://www.ietf.org/mailman/listinfo/rats>
> [Rats] New RATS Architecture document <https://mailarchive.ietf.org/arch/msg/rats/wSGCnW6oAveg6EXC7BuEC1UVBvE>  Henk Birkholz
> Re: [Rats] New RATS Architecture document <https://mailarchive.ietf.org/arch/msg/rats/ATlF1dyQTPLBU62-uD7pBnZfwaA>  Giridhar Mandyam
> Re: [Rats] New RATS Architecture document <https://mailarchive.ietf.org/arch/msg/rats/MMYVbA0RnARJyNCs9ujZi5H85Ms>  Laurence Lundblade
> Re: [Rats] New RATS Architecture document <https://mailarchive.ietf.org/arch/msg/rats/mZYSW1fWfBNa5-g6iLRqvQkuk1g>  Simon Frost
> Re: [Rats] New RATS Architecture document <https://mailarchive.ietf.org/arch/msg/rats/NmoL5MaM6urrz21Z3DvQH9ileW8>  Henk Birkholz
> [Rats] 答复: New RATS Architecture document <https://mailarchive.ietf.org/arch/msg/rats/7EM4bPJowc4FhrvUkDkSW_0_ZBU>  Xialiang (Frank, Network Standard & Patent Dept)
> [email-masked]

---

From: Michael Eckel <[email-masked]>
Date: Wed, 18 Sep 2019 16:18:40 +0200

Hi Frank,

you are totally right in terms of replay attacks. I was talking about
reLay attacks (e.g. Asokan attack), not about rePLay attacks.

Open CIT (https://github.com/opencit) for example is doing that, too.

Best regards,
Michael

Fraunhofer SIT
*Michael Eckel*

Member of CRISP

---

From: Michael Eckel <[email-masked]>
Date: Wed, 18 Sep 2019 16:33:46 +0200

Hi Laurence,

I think I understand your concern.

But first some clarification. The IP address is never
exposed/transferred in plain text during transmission. It is, as part of
the nonce, hashed again in a signature (or at least cryptographically
scrambled/blinded, depending on the used signature algorithm).

Sure, you lose some entropy with that technique. That is true. But if
you chose the nonce to be big enough, you should be able to compensate
for that, right?

Having the IP address to be part of another (explicit) claim can
definitely make sense in some use cases, I can imagine.

The IP address here is chosen to "augment" the nonce with rather easy to
obtain additional information that is known to both the Verifier and the
Attester. There could be something different--and perhaps more
suitable--,such as a unique device ID, that is hard for an attacker to
find out/guess. Again, this unique device ID would never be transmitted
in plain over the wire! And that is the important thing to be aware of
here. I hope that helps ...

Thanks, Michael

Fraunhofer SIT
*Michael Eckel*

Member of CRISP