Re: [Ace] Adoption of Low Latency Group Communication Security Work in ACE

Michael StJohns <mstjohns@comcast.net> Mon, 25 July 2016 18:07 UTC

Return-Path: <mstjohns@comcast.net>
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 05ED412D9C3 for <ace@ietfa.amsl.com>; Mon, 25 Jul 2016 11:07:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.986
X-Spam-Level:
X-Spam-Status: No, score=-3.986 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-1.287, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=comcast.net
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 H9haLuB5WGQm for <ace@ietfa.amsl.com>; Mon, 25 Jul 2016 11:07:41 -0700 (PDT)
Received: from resqmta-po-12v.sys.comcast.net (resqmta-po-12v.sys.comcast.net [IPv6:2001:558:fe16:19:96:114:154:171]) (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 5F9FC12D9B9 for <ace@ietf.org>; Mon, 25 Jul 2016 11:07:41 -0700 (PDT)
Received: from resomta-po-18v.sys.comcast.net ([96.114.154.242]) by resqmta-po-12v.sys.comcast.net with SMTP id RkHLbBV3elHMYRkI0bDekk; Mon, 25 Jul 2016 18:07:40 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1469470060; bh=Kflsu0w907+CEMZrskqt5bPl805LC4ANIP2eMwPdW2A=; h=Received:Received:Subject:To:From:Message-ID:Date:MIME-Version: Content-Type; b=o19mMFf8PvgX7STO+nd+dIMMCd/FP1kYaCoKE8aYpL+xM5Qfc6oXm9kIonPlogVWL l7JDK925JdOo2XXykpcrjteWrRBrG1MkVTf3AqjX1sqU+zSYzF+lwUvPOrDWmqN/UT F6UtLGQZzL4MLexhQWCjUx5M+xZ6JwsgMnnku7SqLJJ2/jcxqOD8xwPvmVeuhryXni Zlb2766wdLePnz6+gbxovAKbdvcsZlPjQVanAVp5mhsyiVCZSXI6rR7t40exhJx+E2 5DTf5bgcBzBeCOEsDfEEoc9ZAFyl+ZjrcqWZfUXhQXpDBnEhl305yHgTA73/eYk33Y 0ZSWDbmZ2SaGw==
Received: from [IPv6:2601:148:c000:1951:ccd7:589d:2636:a1d] ([IPv6:2601:148:c000:1951:ccd7:589d:2636:a1d]) by comcast with SMTP id RkHyblrHGyikqRkHybTqJa; Mon, 25 Jul 2016 18:07:39 +0000
To: Somaraju Abhinav <abhinav.somaraju@tridonic.com>, "ace@ietf.org" <ace@ietf.org>
References: <578F4D59.8050005@gmx.net> <5E393DF26B791A428E5F003BB6C5342AB3716D64@OC11EXPO33.exchange.mit.edu> <23666.1469091857@obiwan.sandelman.ca> <95b0103c-ba2d-6cd8-6241-228df46e530b@sics.se> <8ca27108-a8b9-7b07-e752-656247716708@comcast.net> <HE1PR0601MB22030003D2913DA6096CB3E4FC0D0@HE1PR0601MB2203.eurprd06.prod.outlook.com> <a318cda7-ebf2-5a5c-d86a-9d67fb41a82f@comcast.net> <HE1PR0601MB2203D1C2C96278B23D71AD31FC0D0@HE1PR0601MB2203.eurprd06.prod.outlook.com>
From: Michael StJohns <mstjohns@comcast.net>
Message-ID: <374883b2-f69f-e36b-8b56-92cae2a0e1c6@comcast.net>
Date: Mon, 25 Jul 2016 14:07:47 -0400
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version: 1.0
In-Reply-To: <HE1PR0601MB2203D1C2C96278B23D71AD31FC0D0@HE1PR0601MB2203.eurprd06.prod.outlook.com>
Content-Type: multipart/alternative; boundary="------------DFDD25975B0385C41533835C"
X-CMAE-Envelope: MS4wfN88bOnpJR2O6i49tBTSFo/9Gw/SdIA/CgPUnRQvnKw43UxqnrUoQOaYefdKuA5wwIvd0+0DeBHFD9cpBKjUW8qLTbQwYE4yTXK84P2km6MJwMiwG9rL DH2z6esaeE5O0Qx4wIB1lJ7Pm4SzGDHhQDADLvabD6tl9AAHW763nXQXbBYiLZMXvBKlcoCB5HT2FZu+YJXpC0+nUtEPcNEOpAmfSFXhZUfGzJI3KAReoC4U
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/hmhdj92RQlA5P0EoN7m_n625LmI>
Subject: Re: [Ace] Adoption of Low Latency Group Communication Security Work in ACE
X-BeenThere: ace@ietf.org
X-Mailman-Version: 2.1.17
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: Mon, 25 Jul 2016 18:07:44 -0000

On 7/25/2016 12:59 PM, Somaraju Abhinav wrote:
>
>
>
>
> ------------------------------------------------------------------------
> Let's try one more time here.
> [AS] Good. Much clearer now.
>
> 1) If a group of devices share a key, and
> 2) If some of that group of devices are controllers, and
> 3) The majority are actuators (e.g. lightbulbs, locks), and,
> 4) The shared key is the only cryptographic protection on 
> authentication, THEN,
> 5) The compromise of any device, even an actuator can be used to 
> successfully forge messages that appear to come from controller nodes.
> [AS] Agree.
>
> Permissions notwithstanding - if more than two entities share a 
> symmetric key, a receiver of a symmetrically signed message cannot 
> trust that the message it received came from the identified source.
> [AS] Agree, but I have a few comments:
> 1) Source authentication vs group membership authentication: I agree 
> with you that the receiver can not authenticate the source of the 
> message. However, if the key is not compromised, then the receiver can 
> authenticate that the source of the message is from a group member.

The receiver has no guaranteed way of knowing whether or not ANY group 
member is compromised so the authentication is pretty much meaningless.

Also any assertion in the message as to the role of the purported sender 
is meaningless as well as you can't actually enforce responsible 
behavior on an end-node.

> 2) Group membership authentication is sufficient: I am only 
> knowledgeable about lighting applications and will talk about how this 
> occurs (but this is also applicable to other building automation 
> applications AFAIK). In this application, a commissioner verifies the 
> existence of devices that are permanently installed in a building 
> using public key crypto and can give group keys to devices that should 
> be a part of the group. Note that these groups are not dynamically 
> changing and members of the group are permanently installed in a 
> building. Therefore, typically authentication of group membership is 
> sufficient for application requirements.

Again - no.  Compromise of a single device that is legitimately part of 
the group can be done on an on-going basis.  E.g. the device gets and 
keeps getting group keys and then sends them off to the attacker.

> 3) Probability of key compromise: This is the point where group 
> symmetric key crypto suffers compared to using symmetric key for a 
> pair of devices. The claim here is that it is easier to compromise a 
> key that is stored in a large number (e.g. 1000) of identical devices 
> rather than a specific device in a network. I do not disagree with 
> this claim. However, I do not think this is a big price to pay at 
> least for lighting applications. The claim here is that it is easier 
> to hack into one of a thousand identical devices than a small number 
> of these identical devices. You have to weigh this against the fact 
> that it solves an application problem with no other feasible solution. 
> I am prepared to be educated in this regard but we essentially have 
> 50-100 ms for the signing+verification process and I do not know of a 
> solution that does this.

*sigh*  The formula for the probability of the compromised of a mesh is  
1-(1-p)^N.  Where p is the probability of the compromise of a single 
device and N is the number of devices.

The table is here: 
https://www.ietf.org/mail-archive/web/dtls-iot/current/msg00165.html

The cost formula for actually attacking the mesh is MIN 
(costAttack[0..N]) where costAttack[0..N] is the array of costs to break 
into any given node.

The probability approaches unity that someone will figure out how to 
hack any give product assuming that product is wide spread (cf Philips 
lightbulbs).

And - I repeat - there is a feasible solution - public key control 
message authentication.   (I note with amusement that the figure of 
merit of 50-100ms performance is a decrease from what I think was the 
original figure of merit of 200-300ms and that it seems to be getting 
lower as the performance of commodity hardware increases). And note that 
special purpose hardware can do this will within this time window. 
(https://www.ietf.org/mail-archive/web/dtls-iot/current/msg00316.html, 
https://www.ietf.org/mail-archive/web/dtls-iot/current/msg00317.html)

>
> [If two entities share a key, and I get a message that's signed by 
> that key, and I didn't sign the message then obviously it came from 
> the other guy.  If three entities share a key Alice, Bob and Charlie, 
> and Alice receives a message that purports to be from Bob, but is 
> actually originating from Charlie, she cannot determine that the 
> message did not come from Bob through any cryptographic means with 
> this key]
>
> Continuing:
>
> The usual model for symmetric key authentication of a message is:
>
> Sender does:  messageAuthenticationCode = MAC (sharedKey, Message).  
> Send Message || messageAuthenticationCode.
>
> Receiver does:  receivedMessageAuthenticationCode = MAC (sharedKey, 
> Message).  Compare receivedMessageAuthenticationCode with 
> messageAuthenticationCode and if they match (according to match 
> rules), message is authenticate.
>
> Note the similarities.  In a symmetric key authentication - the sign 
> and verify steps differ only on what you do with the output of the MAC 
> calculation.  Which implies that basically if you can verify it, you 
> can forge it.
> [AS] This point is completely clear. We CAN NOT DO SOURCE AUTHENTICATION.

To be clear, you can't do source authentication with group symmetric keys.

So given that you can't do source authentication, why do group keys at 
all?  It's no better than a sturdy lock on an outhouse with no roof.



>
> Please let's consider the cryptography rather than something that 
> doesn't actually provide an enforceable mechanism.
> [AS] Again, I repeat the comments above. It is clear that if a 
> symmetric group key is used, then source authentication is no longer 
> possible. But, considering cryptography, it is possible to 
> authenticate group membership. Authentication of group membership is 
> sufficient for this use case. The main issues to weigh are: "The 
> greater likelihood of key compromise when the secret is shared by a 
> large number of identical and permanently installed nodes compared to 
> a similar single node" vs "The requirements of low latency communication".

You've stated your restrictions.  I've stated my objections.  I see 
nothing at all new in the discussion since DICE.

>
> Mike
>
> ps - someplace along the way someone came up with the meme that the 
> lightbulbs and locks were on the same key domain and that was what I 
> was complaining about.  Instead, see above.    What I'm complaining 
> about - indeed what we settled upon in DICE - is that symmetric key 
> group communications systems are not secure enough for any 
> cyber-physical control system without specific mitigations.
> [AS] Agree. We are looking at various mitigation issues. The main ones 
> are: Ensure permissions are properly scoped so that compromise of 
> group key only results in little harm. Propose methods for recycling 
> group key. Ensure that devices use PKI to authenticate themselves 
> before receiving a group key. This list is clearly not complete and 
> would be great to receive more input as to how more mitigation is 
> possible.

You have locked on to one particular solution that will not work. Using 
PKI to get symmetric group keys WILL NOT give you any protection.


>
> (For a definition of cyber-physical - Wiki is pretty good - 
> https://en.wikipedia.org/wiki/Cyber-physical_system)
> Cyber-physical system - Wikipedia, the free encyclopedia 
> <https://en.wikipedia.org/wiki/Cyber-physical_system>
> en.wikipedia.org
> A cyber-physical system (CPS) is a mechanism controlled or monitored 
> by computer-based algorithms. Examples of CPS include smart grid, 
> autonomous automobile systems, ...
>
>
>
>
>
>
>
>>
>> In general, authentication comes with the key that you have - 
>> authorization is then tied to that key.  In DTLS  (as in TLS), your 
>> session key is also your authorization key once your TLS session is 
>> tied to a particular identity (e.g. via an HTTP login, via a client 
>> cert exchange, via OAuth).
>>
>> So - cosmetic differences only.
>>
>> Mike
>>
>
> ________________________________________________________ The contents 
> of this e-mail and any attachments are confidential to the intended 
> recipient. They may not be disclosed to or used by or copied in any 
> way by anyone other than the intended recipient. If this e-mail is 
> received in error, please immediately notify the sender and delete the 
> e-mail and attached documents. Please note that neither the sender nor 
> the sender's company accept any responsibility for viruses and it is 
> your responsibility to scan or otherwise check this e-mail and any 
> attachments.