View Issue Details

IDProjectCategoryView StatusLast Update
0005921GNUnetGNSpublic2019-12-07 14:49
ReporterschanzenAssigned Toschanzen 
PrioritynormalSeveritytweakReproducibilityhave not tried
Status resolvedResolutionfixed 
Product VersionSVN HEAD 
Target Version0.12.0Fixed in Version0.12.0 
Summary0005921: Simplify/harmonize GNS key derivations
DescriptionThe GNS key derivations are kind of all over the place, e.g. for the derivation of the symmetric encryption key we
calculate:
       PRK_kiv := HKDF-Extract (zk, label)
       K := HKDF-Expand (PRK_kiv, "gns-aes-ctx-key", 512 / 8);
       IV := HKDF-Expand (PRK_kiv, "gns-aes-ctx-iv", 256 / 8)

This means that we use the zone key (zk) as salt and label as initial keying material.
Usually, we use a string as salt and key as IKM, for example when we derive the zone key for signing:
PRK_h := HKDF-Extract ("key-derivation", zk)
         h := HKDF-Expand (PRK_h, label | "gns", 512 / 8)

In order to harmonize this, LSD001 specifies:
         PRK_k := HKDF-Extract ("gns-aes-ctx-key", zk)
         PRK_iv := HKDF-Extract ("gns-aes-ctx-iv", zk)
         K := HKDF-Expand (PRK_k, label, 512 / 8);
         IV := HKDF-Expand (PRK_iv, label, 256 / 8)

This is already implemented but guarded by the define "LSD001" in src/gnsrecord/gnsrecord_crypto.c.
Define for 0.12.
TagsNo tags attached.

Relationships

child of 0005920 assignedschanzen LSD001 meta issue 

Activities

schanzen

2019-12-01 13:03

manager   ~0015112

Reopen until we remove ifdefs

Christian Grothoff

2019-12-07 14:49

manager   ~0015133

Flipped in 3a13f497b..b365e4d52

Issue History

Date Modified Username Field Change
2019-10-05 22:31 schanzen New Issue
2019-10-05 22:32 schanzen Relationship added child of 0005920
2019-11-08 11:24 schanzen Assigned To => schanzen
2019-11-08 11:24 schanzen Status new => confirmed
2019-11-30 15:35 schanzen Status confirmed => resolved
2019-11-30 15:35 schanzen Resolution open => fixed
2019-11-30 15:35 schanzen Fixed in Version => 0.12.0
2019-12-01 13:03 schanzen Status resolved => assigned
2019-12-01 13:03 schanzen Note Added: 0015112
2019-12-07 14:49 Christian Grothoff Status assigned => resolved
2019-12-07 14:49 Christian Grothoff Note Added: 0015133