È importante il modo in cui le informazioni vengono rappresentate prima della firma?

2

Ho dei messaggi che formeranno una registrazione permanente e verranno archiviati per un lungo periodo. Mi preoccupo dell'integrità, dell'autenticazione e del non disconoscimento, quindi intendo che i client che creano tali messaggi li sottoscrivano con chiavi private prima di inviarli, in modo che il loro contenuto e la loro origine possano essere verificati alla consegna e in qualsiasi momento nel futuro. Il mio piano è di fare in modo che i client cancellino i messaggi con SHA-256 e firmino l'hash utilizzando le chiavi private RSA a 2048 bit. I messaggi saranno dati strutturati con un numero fisso di campi. (Nel caso abbia importanza, la specifica attuale richiede che ciascun messaggio sia composto da tre stringhe ASCII, due interi senza segno e una data / ora.)

La garanzia trasmessa dalla firma del messaggio è influenzata da come viene rappresentato il messaggio? Per essere più concreti, fa una differenza pratica in quanto è difficile modificare o falsificare un messaggio firmato se il messaggio da firmare è in, ad es. XML, o JSON o DER, o semplicemente concatenati insieme alle interruzioni di riga per i separatori?

    
posta Jason Whittle 30.03.2016 - 03:31
fonte

1 risposta

1

La maggior parte delle soluzioni che ho trovato hanno scelto una struttura tipo XML in cui il "testo normale" è stato una parte e la firma è stata una sezione aggiunta.

Prima

<message><various tags to represent your data></message>

Dopo

<message><various tags to represent your data><signedhash></signedhash></message>

Ma per rispondere alla tua domanda, direi che avrebbe poca differenza pratica.

Esistono maggiori rischi teorici con qualsiasi situazione in cui si aumenta la prevedibilità del testo normale prima della crittografia in cui è stato utilizzato il padding casuale per assicurarsi che tutti i messaggi corrispondessero esattamente allo stesso numero di byte.

Se inserisci una struttura nota nel tuo hash, potrebbero volerci qualche decennio in meno per forzare un hash che corrisponde correttamente?

    
risposta data 30.03.2016 - 07:23
fonte

Leggi altre domande sui tag