________________________________ 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. [AS] But this is also the case when we have two entities. The receiver has no way of knowing whether the other entity is compromised. You are simply stating my point 3 below again here. It is more likely that a group key is stolen. 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. [AS] Again this applies to the two entity case. If we cannot enforce responsible behaviour on the senders then having crypto makes no sense. 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. [AS] Again, this is the case with the single sender. The only issue goes back to greater likelihood of stealing a key that is shared between multiple senders. 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. [AS] You are assuming an independent probability distribution in this calculation - if the probability of key compromise from one device is p then the probability of key compromise from N devices is clearly greater than p but it is only equal to your formula in a theoretic world of independent distributions. Now if we have N identical devices in a building, I do not know what this number is but without proper experimentation there is no way to determine this number. 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. [AS] Agree. The probability approaches unity that someone will figure out how to hack any give product assuming that product is wide spread (cf Philips lightbulbs). [AS] Agree. But you are saying here the p goes to 1 in your formula. So we get to the situation of no difference between the group key vs pairwise keys because (1-p ~= (1 - (1-p)^N). 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). [AS] The original figure of merit of 200ms is still valid. However, not all of these 200 ms are available for crypto. It is difficult to come up with an exact number for how much is available for crypto because this really depends on the number of hops in the mesh and also whether or not a controller is present as an intermediate step between sensor and actuator. The 50-100ms I provided is already very generous from an application point of view - which we understand quite will. 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) [AS] I do not know of any special purpose hardware that does this at the cost levels we need. We are already using ECDSA capable hardware in our development because we use asymmetric crypto for almost everything other than to turn light on/off (e.g. to configure/commission the system). The best parts we have seen offer us about 200 ms for sing+verify. The links you provided do not tell me what hardware parts you are proposing we use. [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. ________________________________________________________ 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.
_______________________________________________ Ace mailing list Ace@ietf.org https://www.ietf.org/mailman/listinfo/ace