È meno sicuro firmare la rappresentazione semantica del carico utile quindi la rappresentazione lessicale?

0

Penso che un esempio illustri meglio le mie domande. Diciamo che voglio inviare un messaggio JSON.

{ "payload": { "b": 5, "a": 1 }, "signature": "...9oZRsvygw1pTFuRcfXXpFKMRBmkrzdTn6lzS..." }

L'alternativa X sarebbe quella di mettere il carico utile in una stringa, possibilmente codificato in base64, e firmare quella stringa.

L'alternativa Y sarebbe quella di fare una rappresentazione canonica del contenuto semantico del carico utile e firmarlo. Ad esempio, potrei creare e firmare la seguente stringa

{"a":1,"b":5}

Si noti che nella rappresentazione semantica le chiavi sono ordinate in base al nome e non all'ordine iniziale.

Sarebbe meno o più sicuro firmare la rappresentazione semantica?

    
posta Mikael Vandmo 06.10.2017 - 14:29
fonte

1 risposta

1

Entrambi dovrebbero essere sicuri per quanto posso vedere.

Ordinare le chiavi (supponendo che il lettore remoto non si preoccupi di ordinare nell'esempio iniziale) in teoria lo rende leggermente più sicuro perché limita le opzioni per l'attaccante quando tenta di creare una collisione - ma se si sta usando un sistema crittograficamente sicuro firma quindi non dovresti preoccuparti in entrambi i casi. Non dovresti pensare in termini di "più / meno sicuro", solo in termini di "sicuro" e "non sicuro" laddove non è noto che la sicurezza sia fragile entro un ragionevole lasso di tempo con le attuali conoscenze e tecnologie pubbliche.

    
risposta data 06.10.2017 - 14:50
fonte

Leggi altre domande sui tag