Re: [Ace] Security of the Communication Between C and RS

Hannes Tschofenig <Hannes.Tschofenig@arm.com> Thu, 20 December 2018 09:11 UTC

Return-Path: <Hannes.Tschofenig@arm.com>
X-Original-To: ace@ietfa.amsl.com
Delivered-To: ace@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B44D413110D for <ace@ietfa.amsl.com>; Thu, 20 Dec 2018 01:11:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=armh.onmicrosoft.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 dkHPr8ZR7Mgk for <ace@ietfa.amsl.com>; Thu, 20 Dec 2018 01:11:28 -0800 (PST)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80089.outbound.protection.outlook.com [40.107.8.89]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 16556131118 for <ace@ietf.org>; Thu, 20 Dec 2018 01:11:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/d068ELbbdYOCMrKJ+XVcQ6Bt6P/VCwYgZR5NoU5uns=; b=U4F6l06DlbtSNs8P5qRuADQo9Ev1iWfoNYOlgZnIEc/slL9P471nydrtFLcnM9/NaPACKNQw8tegZDKiOy8EieD7P4foET20EtjI6nPURpvN+e6KwVrH8QOxXbXIKmYyN/Ka/Q2HGPJMtYk0nRHeOkSQBP/tNDEdZjEBoepPWXU=
Received: from VI1PR0801MB2112.eurprd08.prod.outlook.com (10.173.75.16) by VI1PR0801MB1616.eurprd08.prod.outlook.com (10.167.211.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1446.19; Thu, 20 Dec 2018 09:11:24 +0000
Received: from VI1PR0801MB2112.eurprd08.prod.outlook.com ([fe80::e8de:6a41:cbf4:89d8]) by VI1PR0801MB2112.eurprd08.prod.outlook.com ([fe80::e8de:6a41:cbf4:89d8%4]) with mapi id 15.20.1446.020; Thu, 20 Dec 2018 09:11:24 +0000
From: Hannes Tschofenig <Hannes.Tschofenig@arm.com>
To: Ludwig Seitz <ludwig.seitz@ri.se>, Jim Schaad <ietf@augustcellars.com>, 'Stefanie Gerdes' <gerdes@tzi.de>, "ace@ietf.org" <ace@ietf.org>
Thread-Topic: [Ace] Security of the Communication Between C and RS
Thread-Index: AQHUlquFKpsKbsbb2kGcq8Jrm430i6WELNAAgABWsZCAABAfgIAACmOwgAFP8YCAAAFuwIAABDYAgAAJ5ACAAAqnwIAABq+AgAB0+wCAAL1VgIAAFSBg
Date: Thu, 20 Dec 2018 09:11:24 +0000
Message-ID: <VI1PR0801MB21120C7B4116AC7A1D348064FABF0@VI1PR0801MB2112.eurprd08.prod.outlook.com>
References: <154322421294.8323.8505315870685563404.idtracker@ietfa.amsl.com> <81ba3ab4-a9ce-a6fd-fbe6-c36a6fbbd9a5@tzi.de> <VI1PR0801MB2112E04F9FD7412350995417FAA20@VI1PR0801MB2112.eurprd08.prod.outlook.com> <b994af16-9bb8-4386-e7d2-321e453417fc@ri.se> <VI1PR0801MB21124D7C11F3A1F49DCA9A2CFABD0@VI1PR0801MB2112.eurprd08.prod.outlook.com> <VI1PR0801MB21126DDCCA251EEB8DB21DAAFABD0@VI1PR0801MB2112.eurprd08.prod.outlook.com> <dff54c41-9598-8f77-83ec-f4494703d923@tzi.de> <VI1PR0801MB21125D384A3DE6BD90AEDB74FABD0@VI1PR0801MB2112.eurprd08.prod.outlook.com> <b79ea204-0d7d-3968-6ea5-cd33d5502380@tzi.de> <VI1PR0801MB2112F215E8DF2E8AC34F217FFABE0@VI1PR0801MB2112.eurprd08.prod.outlook.com> <e42032d6-ad15-26d2-cdbb-aaa34900d1ad@tzi.de> <9f35177f-30d4-817e-dfc3-9a54903ab023@ri.se> <VI1PR0801MB2112BA2A400D660DC32B7293FABE0@VI1PR0801MB2112.eurprd08.prod.outlook.com> <f441528a-aba4- 8556-0493-2e12a38e4133@ri.se> <035a01d497d8$941fa920$bc5efb60$@augustcellars.com> <ad81074d-54b8-23df-4a55-74163b290aa3@ri.se>
In-Reply-To: <ad81074d-54b8-23df-4a55-74163b290aa3@ri.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Hannes.Tschofenig@arm.com;
x-originating-ip: [80.92.114.221]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; VI1PR0801MB1616; 6:ubarc/BB5fOp8iIbxblyzR8TnYnrpGsMqUnMRfEPqXE8wlvpFZ5WELIXUi+fXwDrbFhpqiiDKhu+/rbW9dPBCoiwx2WT9Hpv3Qi1Chv74CQPCIgDFdQAWOnoRhGCy9NSEOBC9Ahm5vdVRa2ZthTWPjiCAs2hfEi7xXuSceSYgGKtqyUyLe7fz1zko0hWlgm7FUBLlobNVv0n3WR3MDF2lHf6yAnoQcQ/v8mtd44Ul81xIiPyiWbX/z5LyZ6Pw//CI6w4/46OVhefobE2DFIil0y0eRizRQsapqRm26COpJ1ghk8KBK9Xr33E27T4nrNo/cENZ1i+K907tdZMfVDL7+lTEau9T5mOIMa9tp8GTW5qBLOsvQkZrDNcmaugeOJtPNPxzk4lxhQR13IhK7Jjo8NVqpIBsJJJdaKcZn6LE0X4ydgehnPETyFr8/pWIDs/1PjR8Aun/dnxi3d5EP6lLw==; 5:bFlqHSrPhEKS1hF3pSYabOaPkys9iI7dUgVUTVlA75UJGpOSKflbNLy65ip36BtmfNru3ISlEdzkNLSE7MuYDu6MnVZZkzw/t909/W59X2vhUMt8hgwIhpu0mXm3I8DpfYTflnlgbooqaYarOfTGQj59IW1E3wzso0Vr2kD6BLk=; 7:+f4NTSpI0hQKF4HvVzzN2X0v20/KwoqU9nzsXDL8WaBHR0TThzsEMvflHdubJb/rwVVdxgSf8MAG5kRYkiD3ZWrjMMcYnGCjBMb2TOtyB3ccnMMlwR4hV/Kna3ZzKnkcOgPMixoj3uwqsDIOZEYO3g==
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: d7014df8-87f7-4ad0-1a0f-08d6665b1dc0
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR0801MB1616;
x-ms-traffictypediagnostic: VI1PR0801MB1616:
x-microsoft-antispam-prvs: <VI1PR0801MB1616485D98CF2D93F87651C9FABF0@VI1PR0801MB1616.eurprd08.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(3230021)(999002)(5005026)(6040522)(2401047)(8121501046)(3002001)(10201501046)(93006095)(93001095)(3231475)(944501520)(52105112)(6055026)(149066)(150057)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:VI1PR0801MB1616; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0801MB1616;
x-forefront-prvs: 0892FA9A88
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(346002)(366004)(136003)(396003)(39860400002)(199004)(189003)(13464003)(40434004)(55016002)(76176011)(6506007)(2906002)(53546011)(71190400001)(7696005)(9686003)(71200400001)(110136005)(68736007)(86362001)(6116002)(316002)(6436002)(8676002)(229853002)(99286004)(3846002)(93886005)(8936002)(15650500001)(33656002)(186003)(81166006)(81156014)(74316002)(256004)(446003)(14444005)(102836004)(11346002)(5024004)(7736002)(2501003)(5660300001)(476003)(478600001)(53936002)(66066001)(97736004)(105586002)(25786009)(106356001)(72206003)(486006)(305945005)(14454004)(26005)(6246003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0801MB1616; H:VI1PR0801MB2112.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: EJVLqMTYwxZGwKNakmB12WHK4xrsugN4W5tkgww/fhNeRVneBjT3YPSGJ/Q0l54s1iw8hc/3nn0fpvuuahR+y26g1I1YSxVdLg4mLUqh155OhMR+6WzwvaMftP7d6z6wCswmkTAYT0cNf2DjUR1dJ9e9NGcpFZxG5FaN8EyRFSeG0tY44Mve0a3oq/cdAuPuFPDOwmHL2nmckV24RcpftgHd6ghLTby6v6FL2tX/3EC7ZuDwxmM3EkuJ2GtvlN9pcWwXKGabUukHOVBJfPwqJ0l16bVzpcp/HjXZZNk7sLDj4NrWuJj4zAhAikt8EA4W
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d7014df8-87f7-4ad0-1a0f-08d6665b1dc0
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2018 09:11:24.5608 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1616
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/-8g3ghLkvEIussQhfZSXs_1IZ_o>
Subject: Re: [Ace] Security of the Communication Between C and RS
X-BeenThere: ace@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Authentication and Authorization for Constrained Environments \(ace\)" <ace.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ace>, <mailto:ace-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ace/>
List-Post: <mailto:ace@ietf.org>
List-Help: <mailto:ace-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ace>, <mailto:ace-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Dec 2018 09:11:37 -0000

Hi Ludwig, Hi Jim

A few remarks below:

-----Original Message-----
From: Ludwig Seitz <ludwig.seitz@ri.se>
Sent: Donnerstag, 20. Dezember 2018 08:40
To: Jim Schaad <ietf@augustcellars.com>; Hannes Tschofenig <Hannes.Tschofenig@arm.com>; 'Stefanie Gerdes' <gerdes@tzi.de>; ace@ietf.org
Subject: Re: [Ace] Security of the Communication Between C and RS

On 19/12/2018 21:22, Jim Schaad wrote:
>

>>> In step (4) you tie the expiry of the token to the attacker getting
>>> hold of the key. What happens if the attacker gets hold of the pop
>>> key before the token expires?
>>
>> If it is detected the AS would revoke the token. Then the client
>> _could_ use client introspection to get that information. Note that
>> this is what the CMU people are looking at.
>
> I am having a real problem with the idea that we are going to start
> adding the idea of revocation to the entire system.   I would much
> rather make sure that both sides are given an idea of when things are
> going to expire and just make things expire relatively quickly.
>

It's quite unlike the revocation in PKI, it's just that an AS can mark a token as invalid, and this information would then be available to those who can do introspection.

[Hannes] I see revocation and expiry of credentials as two somewhat different concepts.
In OAuth, we have a spec that deals with a limited form of revocation but the best mitigation IMHO is to issue "short-lived" tokens (short lived in the context of the given application domain). The token introspection interface also provides additional capabilities for real-time checking the status of a token. Finally, it is worth mentioning the SecEvents work here as well.

In practice it is difficult to revoke tokens in a timely fashion since you have to find out that there has been a leakage in the first place, which (as media reports indicate) often takes months if not years for companies to notice.

Regarding expiry of the token, we have the ability for the AS to tell the client as well as the RS how long the token is valid. Do we want to mandate it? Even if I don't see the harm in not providing the info to the client I am saying "why not". I am just not sure whether mandatorily sending the expired_in parameter to the client will help to prevent any attacks.

>>
>>> Additionally, if you use DTLS/TLS just having the PoP key still
>>> requires the attacker to run a new DTLS/TLS handshake with the RS.
>>
>> If the pop-key was used as a basis for doing a DTLS-PSK handshake,
>> the attacker should be able to hijack the connection and impersonate
>> either party.
>
> This depends on the version of PSK that you are doing.  If you use
> PSK+ECDH then the attacker cannot hijack the connection.
>

Right of course. I suspect however that not all constrained devices would implement the PSK+ECDH handshake, or are the other PSK handshakes deprecated?

[Hannes] It really depends what assumptions you make about how the attacker managed to get access to the PoP key in the first place, which we haven't really gone into any level of detail.
From my experience (as I mentioned to John  Mattsson in his DTLS/TLS vs. OSCORE performance analysis) use of PSK+ECDH(E) is rather unlikely since you are essentially dumping the positive effects of the PSK-based mechanism while maintaining all the negative aspects of the long-term PSK credential.

>>
>>> It would also be useful to know where the attacker got the PoP key
>>> from and how you can even detect the compromise.
>>
>> That is a different story entirely. You could imagine the case of an
>> RS improperly deleting an expired token and the associated pop-key,
>> and then being subject to a physical attack that recovers that
>> information.
>
> It would be more reasonable to say that if you are doing a physical
> attack, then it would be easy to get an RPK and then you are the RS
> until such a time as the AS is told that the key is no longer trusted.
> In this case you will just continue getting tokens as a client which
> are still valid and none of this is helpful in any event.

Ok my example was perhaps not ideal, since it has an even bigger breach as precondition. So under what conditions would an attacker get access to a pop-key of an expired token? Steffi any ideas?

[Hannes] We definitely need some more details about the type of attack we would like to prevent. Maybe it is worthwhile to think about what information the attacker steals from whom at what point in time could be a way to progress the topic.

Ciao
Hannes


/Ludwig



--
Ludwig Seitz, PhD
Security Lab, RISE
Phone +46(0)70-349 92 51
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.