Subject: [manet] You help appreciated on IBS draft

From: "Dearlove, Christopher (UK)" <[email-masked]>
Date: Tue, 22 Jul 2014 14:19:06 +0000

I've just done the draft-dearlove-manet-ibs-00 -> draft-ietf-manet-ibs-00 conversion, literally just a change of name, not even a comma changed otherwise.

Both drafts contain a TBD appendix. Actually I have written that appendix. I'll include part of it below. Why only part? Because the point is first to create a real message, then second to create a real signature. If you've ever implemented something like RFC 6507, the test vectors are invaluable for checking your code.

My unpublished full version has the result of the signature, and intermediate values before that. But I think a better test than me publishing and someone saying "yes I agree" is for one or more people to produce their signature blind for comparison. Of course in the case of a difference, then we can see who is right. Which is why the "or more" is good.

Note that you don't need the fully implement the extension to do that, just implement (or find an implementation of) ECCSI to do that.

Of course should someone point out that the message is incorrect, or unsuitable in some manner before we get to the signature calculation part, or there is some other error, then I'll have to re-run my signature again. That's the one easy part.

Obviously there's an acknowledgement on offer, I'm afraid it's the best incentive I have.

Christopher

Appendix A.  Example

   Appendix C of [RFC6130] contains this example of a HELLO message.
   (Note that normally, a TIMESTAMP ICV would also be added before the
   ICV TLV, but for simplicity that step has been omitted here.)

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     HELLO     | MF=7  | MAL=3 |      Message Length = 45      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Hop Limit = 1 | Hop Count = 0 |    Message Sequence Number    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Message TLV Block Length = 8  | VALIDITY_TIME |  MTLVF = 16   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Value Len = 1 | Value (Time)  | INTERVAL_TIME |  MTLVF = 16   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Value Len = 1 | Value (Time)  | Num Addrs = 5 |   ABF = 128   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Head Len = 3  |                     Head                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Mid 0     |     Mid 1     |     Mid 2     |     Mid 3     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Mid 4     | Address TLV Block Length = 14 |   LOCAL_IF    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  ATLVF = 80   |   Index = 0   | Value Len = 1 |    THIS_IF    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  LINK_STATUS  |   ATLV = 52   | Strt Indx = 1 | Stop Indx = 4 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Value Len = 4 |     HEARD     |     HEARD     |   SYMMETRIC   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     LOST      |
     +-+-+-+-+-+-+-+-+

   In order to provide an example of an ECCSI ICV Message TLV that may
   be added to this message, the fields shown need to all have numerical
   values, both by inserting defined numerical values (e.g. 0 for HELLO)
   and by selecting example values where needed.  The latter consists
   of:

   o  The message sequence number will be zero.

   o  The five addresses will be 192.0.2.1 to 192.0.2.5.

   o  The message validity time will be 6 seconds, and the message
      interval time will be 2 seconds, each encoded with a constant
      value C = 1/1024 seconds, as described in [RFC5497], as referenced
      from [RFC6130].

   In addition, when calculating an ICV, the hop count and hop limit are
   both set to zero.  This results in the message:

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 0 0 0|0 1 1 1 0 0 1 1|0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0|0 0 0 0 0 0 0 1|0 0 0 1 0 0 0 0|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 0 0 1|0 1 1 0 0 1 0 0|0 0 0 0 0 0 0 0|0 0 0 1 0 0 0 0|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 0 0 1|0 1 0 1 1 0 0 0|0 0 0 0 0 1 0 1|1 0 0 0 0 0 0 0|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 0 1 1|1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 0 0 1|0 0 0 0 0 0 1 0|0 0 0 0 0 0 1 1|0 0 0 0 0 1 0 0|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 1 0 1|0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0|0 0 0 0 0 0 1 0|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 1 0 1 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 0 1 1|0 0 1 1 0 1 0 0|0 0 0 0 0 0 0 1|0 0 0 0 0 1 0 0|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 1 0 0|0 0 0 0 0 0 1 0|0 0 0 0 0 0 1 0|0 0 0 0 0 0 0 1|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0 0 0 0 0|
     +-+-+-+-+-+-+-+-+

   Or in hexadecimal form

      M         := 0x 0073002D  00000000  00080110  01640010
                      01580580  03C00002  01020304  05000E02
                      05000100  03340104  04020201  00

   The ICV TLV that will be added will have cryptographic function
   ECCSI-ADDR, and hash function SHA-256.  This message has no
   originator address, but it travels a single hop, and its IP source
   address can be used.  This will be assumed to be 192.0.2.0, with an
   empty <key-id>, thus the sender's identity will be, in hexadecimal
   form:

      ID        := 0x  C0000200

   Parameters for [RFC6507] will thus be n = 256, N = 32.  The same
   parameters and master key will be used as in Appendix A of [RFC6507],
   i.e., the elliptic curve P-256, with parameters:

      p         := 0x  FFFFFFFF 00000001 00000000 00000000
                       00000000 FFFFFFFF FFFFFFFF FFFFFFFF

      B         := 0x  5AC635D8 AA3A93E7 B3EBBD55 769886BC
                       651D06B0 CC53B0F6 3BCE3C3E 27D2604B

      q         := 0x  FFFFFFFF 00000000 FFFFFFFF FFFFFFFF
                       BCE6FAAD A7179E84 F3B9CAC2 FC632551

      G         := 0x  04
                       6B17D1F2 E12C4247 F8BCE6E5 63A440F2
                       77037D81 2DEB33A0 F4A13945 D898C296
                       4FE342E2 FE1A7F9B 8EE7EB4A 7C0F9E16
                       2BCE3357 6B315ECE CBB64068 37BF51F5

      KSAK      := 0x  12345;

      KPAK      := 0x  04
                       50D4670B DE75244F 28D2838A 0D25558A
                       7A72686D 4522D4C8 273FB644 2AEBFA93
                       DBDD3755 1AFD263B 5DFD617F 3960C65A
                       8C298850 FF99F203 66DCE7D4 367217F4

   The remaining steps to creating a private key for ID use the same
   "random" value v as Appendix A of [RFC6507] and are:

      v         := 0x  23456;

(Values of PVT and HS omitted here.)

   The remaining steps to creating a signature for M use the same
   "random" value j as Appendix A of [RFC6507] and are:

      j         := 0x  34567;

      J         := 0x  04
                       269D4C8F DEB66A74 E4EF8C0D 5DCC597D
                       DFE6029C 2AFFC493 6008CD2C C1045D81
                       6DDA6A13 10F4B067 BD5DABDA D741B7CE
                       F36457E1 96B1BFA9 7FD5F8FB B3926ADB

(Remainder giving values of r, HE, s', s and Signature omitted here.)

--
Christopher Dearlove
Senior Principal Engineer, Information Assurance Group
Communications, Networks and Image Analysis Capability
BAE Systems Advanced Technology Centre
West Hanningfield Road, Great Baddow, Chelmsford, CM2 8HN, UK
Tel: +44 1245 242194 |  Fax: +44 1245 242124
[email-masked]<mailto:[email-masked]> | http://www.baesystems.com

BAE Systems (Operations) Limited
Registered Office: Warwick House, PO Box 87, Farnborough Aerospace Centre, Farnborough, Hants, GU14 6YU, UK
Registered in England & Wales No: 1996687

********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************

---

From: Thomas Heide Clausen <[email-masked]>
Date: Tue, 22 Jul 2014 16:23:38 +0200

> 
> Obviously there’s an acknowledgement on offer, I’m afraid it’s the best incentive I have.
>  
> Christopher

This is the IETF - we work better on offers of beer or caffeine ;)

---

From: "Dearlove, Christopher (UK)" <[email-masked]>
Date: Tue, 22 Jul 2014 14:27:28 +0000

If you can tell me which IETF protocol I can use to transfer those, I’ll see if I can find an implementation.

From: Thomas Heide Clausen [mailto:[email-masked]]
Sent: 22 July 2014 15:24
To: Dearlove, Christopher (UK)
Cc: [email-masked]
Subject: Re: [manet] You help appreciated on IBS draft

*** WARNING ***
This message originates from outside our organisation, either from an external partner or the internet.
Consider carefully whether you should click on any links, open any attachments or reply.
For information regarding Red Flags that you can look out for in emails you receive, click here<http://intranet.ent.baesystems.com/howwework/security/spotlights/Documents/Red%20Flags.pdf>.
If you feel the email is suspicious, please follow this process<http://intranet.ent.baesystems.com/howwework/security/spotlights/Documents/Dealing%20With%20Suspicious%20Emails.pdf>.

Christopher

---

From: Thomas Heide Clausen <[email-masked]>
Date: Tue, 22 Jul 2014 16:30:56 +0200

> On 22 Jul 2014, at 16:27 , Dearlove, Christopher (UK) <[email-masked]> wrote:
> 

I dunno, there was a lot of “everything-over-MPLS” so I’m sure that there must be  a beer-and-caffeine-over-MPLS spec somewhere in the repositories. Adrian, a pointer?

Thomas

> [email-masked] | http://www.baesystems.com
> 
> For information regarding Red Flags that you can look out for in emails you receive, click here.
> If you feel the email is suspicious, please follow this process.
> 
>  
> _______________________________________________
> manet mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/manet