Tero wrote:
> Payload IEs are encrypted and authenticated.
Is it not correct to say that payload IEs *may* be encrypted and/or authenticated,
rather than that they are?

Xavi wrote:
> As for well-known keys [...] My point is to remove it but I want to see everybody's opinion.

I disagree with this. The discussion is not about whether well-known keys provide
security.  I think that everyone on this list will agree that they do not.
If the choices are:
1) use a PSK so that you have a secure beacon, and you know that it's a 6tisch
network that is the kind that you want to join
2) use a well-known key so that you know that at least someone is intentionally sending 6tisch EBs (although they may be faked) and that no bits have changed in this EB
3) don't use anything at all

Then I am in favor of options 1 or 2.  That's what the current text allows.

Is there an argument in favor of option 3?

In WirelessHART, we had a discussion about option 1: "Should we keep [K1] secret?" The conclusion was: all devices from now until the end of time need to know K1, so that a node that we deploy tomorrow will be able to join a network that we deploy today. It's going to be public eventually, we may as well reveal it today.
Its purpose is not security - it is message integrity.

ksjp

On 4/21/2015 6:32 AM, Xavier Vilajosana wrote:
Dear Tero,

thanks for your comments. I will clarify that headers are only authenticated and payloads are both authenticated and encrypted. As for well-known keys, that was exactly the discussion at the meeting. My point is to remove it but I want to see everybody's opinion.

regards,
Xavi



2015-04-21 13:17 GMT+02:00 Tero Kivinen <[email protected] <mailto:[email protected]>>:

    Xavier Vilajosana writes:
    > Hi Rene, Michael and Jonathan,
    >
    > I am working on the text for the security section in the minimal
    draft. I
    > included Rene's suggestion but I still have doubts as during the
    IETF meeting
    > there was some discussion about it.
    >
    > the security section is composed of 2 paragraphs.
    >
    > As this document refers to the interaction between Layer 3 and Layer
    >    2 protocols, this interaction MUST be secured by L2 security
    >    mechanisms as defined by [IEEE802154e].  Two security
    mechanisms are
    >    considered, authentication and encryption, authentication
    applies to
    >    the all packet content while encryption applies to header IEs
    and MAC
      ^^^^^^^^^^
    Header IEs are not encrypted, they are only authenticated. Payload IEs
    are encrypted and authenticated.

    Most of the TSCH IEs are Payload IEs (or actually a Nested IEs inside
    the MLME payload IE). These include TSCH Synchronization IE, TSCH
    Slotframe and Link IE, and TSCH Timeslot IE. Those IEs are encrypted.

    TSCH uses also one Header IE, i.e. Time Correction IE, and it is only
    authenticated.

    >    payload.  Key distribution is out of scope of this document, but
    >    examples include pre-configured keys at the nodes, shared
    keys among
    >    peers or well-known keys.  Refer to the 6TiSCH architecture
    document
    >    [I-D.ietf-6tisch-architecture] for further details on key
    >    distribution and advanced security aspects.
    >
    >    The present document assumes the existence of two
    cryptographic keys,
    >    which can be pre-configured.  One of the keys (K1) is used to
    >    authenticate EBs.  As defined in Section 4, EBs MUST be
    >    authenticated, with no payload encryption.  This facilitates
    logical
    >    segregation of distinct networks.  A second key (K2) is used to
    >    authenticate DATA, ACKNOWLEDGEMENT, MAC COMMAND frame types and
    >    respective header IEs, with payload encryption. Depending on
    >    security policy, these keys could be the same (i.e., K1=K2).
    >
    > The second paragraph is what Rene proposed and had consensus on
    the ML.  In
    > red is my doubt that raises from the discussions during the WG
    meeting at the
    > IETF in Dallas. I think that someone was opposing to the text
    indicating
    > well-known keys.

    I think well-known keys will just make security weaker, and completely
    remove the security if K1=K2.

    Also if the K1 is well-known then it will NOT provide the "logical
    segregation of distinct networks".

    Also if K1 is well known, then EBs do not have any protection, i.e.
    anybody can generate fake EBs and mess up the network totally by
    giving completely wrong schedule for everybody. If the K1 is something
    that you get after you join the network, then you can verify that EBs
    are sent by someone who is part of the network, thus you can trust
    them bit more.

    Also if well-known K1 and EBs are used for time syncronization, i.e.
    keeping the ASN in sync after sleep, then nodes which wake up and
    whole do know the well-known K1 and private K2, cannot trust the ASN
    he gets from the EBs, as it might be faked, thus he cannot use K2 key
    before rejoining the network. Otherwise the attacker might roll ASN
    backwards during the sleep and cause the device to use same ASN twice
    (== same nonce twice == encryption provided by the K2 key would be
    broken).
    --
    [email protected] <mailto:[email protected]>




_______________________________________________
6tisch mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/6tisch

_______________________________________________
6tisch mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/6tisch

Reply via email to