Sui sistemi Windows 10, ho trovato due versioni di bootsect.exe (un'utilità fornita da Microsoft che scrive il settore di avvio del disco) con diversi hash (SHA-1 9b7463c79460a55a36b53bee0889f894b2379ec3
per una 67ea7b4a6d73831600a141f053139b33fe90f1d8
per l'altro), ma su la superficie di esso ha la stessa firma Microsoft valida datata 2015-10-30.
Analisi approfondita della proprietà / scheda della firma digitale rivela
- stessa data di firma visualizzata (2015-10-30 03:32:09 UTC dopo la traduzione dalle mie impostazioni internazionali)
- stessa firma visualizzata (numero di serie, hash, date ..)
- diverse controfirme:
- periodo di validità 2015-10-07 18:17:29 a 2017-01-07 18:17:29 UTC e
OU = nCipher DSE ESN:98FD-C61E-E641
per uno - periodo di validità 2015-10-07 18:17:40 a 2017-01-07 18:17:40 UTC e
OU = nCipher DSE ESN:7D2E-3782-B0F7
per l'altro (probabilmente correlato al timestamping utilizzato da HSM).
- periodo di validità 2015-10-07 18:17:29 a 2017-01-07 18:17:29 UTC e
Usando un editor esadecimale, vedo in particolare queste differenze
- con offset 0x148..0x14A (unica differenza fino a dopo il 92% del file, dove la firma e la controfirma sembrano vivere)
-
06 33 02
per uno -
33 DF 01
per l'altro
-
- una stringa di data con un byte di lunghezza iniziale, per lo più corrispondente alla data della firma come mostrato nell'interfaccia utente
-
20151030033209.248Z
per uno -
20151030033209.24Z
per l'altro
-
- stringhe di data con periodo di validità della controfirma corrispondente al byte di lunghezza iniziale, come mostrato
-
151007181729Z
e170107181729Z
per uno -
151007181740Z
e170107181740Z
per l'altro
-
Domande:
- Perché sono due versioni di questa utilità?
- Quali sono le differenze operative tra queste?
- Qual è la probabile ragione della differenza (1)?
- Non sarebbe banale che il programma firmato agisse in modo diverso sulla base di quella (o delle diverse controfirme), vanificando uno degli scopi della firma digitale?
- Quale può essere il ruolo esatto delle stringhe di data in (2.) e perché differiscono per dimensioni? Si suppone che siano correlati alla build del software, alla data della firma o alla data della controfirma?
- Perché i periodi di validità in (3) differiscono di 11 secondi, quando le stringhe di data in (2) differiscono solo di 8/1000 secondi?
- Perché non c'è un secolo nella definizione interna del periodo di validità? E 'permesso da X.509 o qualunque standard definisce le firme (contatore)? Non è un rischio che una (controfigura) firma di nuovo valida nell'anno 2116?