View Issue Details

IDProjectCategoryView StatusLast Update
0005921GNUnetGNSpublic2020-08-15 08:01
Reporterschanzen Assigned Toschanzen Due Date
PrioritynormalSeveritytweakReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
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 closedschanzen LSD0001 meta issue 
child of 0006324 closedschanzen LSD0001 meta issue 

Activities

schanzen

2019-12-01 12:03

administrator   ~0015112

Reopen until we remove ifdefs

Christian Grothoff

2019-12-07 13:49

manager   ~0015133

Flipped in 3a13f497b..b365e4d52

schanzen

2019-12-15 14:18

administrator   ~0015179

0.12.0 released

Issue History

Date ModifiedUsernameFieldChange
2019-10-05 20:31schanzenNew Issue
2019-10-05 20:32schanzenRelationship addedchild of 0005920
2019-11-08 10:24schanzenAssigned To => schanzen
2019-11-08 10:24schanzenStatusnew => confirmed
2019-11-30 14:35schanzenStatusconfirmed => resolved
2019-11-30 14:35schanzenResolutionopen => fixed
2019-11-30 14:35schanzenFixed in Version => 0.12.0
2019-12-01 12:03schanzenStatusresolved => assigned
2019-12-01 12:03schanzenNote Added: 0015112
2019-12-07 13:49Christian GrothoffStatusassigned => resolved
2019-12-07 13:49Christian GrothoffNote Added: 0015133
2019-12-15 14:18schanzenNote Added: 0015179
2019-12-15 14:18schanzenStatusresolved => closed
2020-05-31 22:52AdminknoxRelationship addedchild of 0006324
2020-08-15 02:48user1500Tag Attached: Wallet
2020-08-15 08:01Christian GrothoffTag Detached: Wallet