En los sistemas Windows 10, encontré dos versiones de bootsect.exe (una utilidad suministrada por Microsoft que escribe el sector de arranque del disco) con hashes diferentes (SHA-1 9b7463c79460a55a36b53bee0889f894b2379ec3
para uno 67ea7b4a6d73831600a141f053139b33fe90f1d8
para el otro), pero en la superficie de la misma es la firma válida de Microsoft con fecha del 30-10-2015.
Un análisis más detallado de la pestaña de propiedad / firma digital revela
- se muestra la misma fecha de la firma (2015-10-30 03:32:09 UTC después de la traducción de mi ubicación)
- se muestra la misma firma (número de serie, hash, fechas ...)
- contrasignaturas diferentes:
- período de validez 2015-10-07 18:17:29 a 2017-01-07 18:17:29 UTC y
OU = nCipher DSE ESN:98FD-C61E-E641
para uno - período de validez 2015-10-07 18:17:40 a 2017-01-07 18:17:40 UTC y
OU = nCipher DSE ESN:7D2E-3782-B0F7
para el otro (probablemente relacionado con el sello de tiempo HSM utilizado).
- período de validez 2015-10-07 18:17:29 a 2017-01-07 18:17:29 UTC y
Al utilizar un editor hexadecimal, veo en particular estas diferencias
- en el desplazamiento 0x148..0x14A (única diferencia hasta después del 92% del archivo, donde la firma y la firma de firma parecen existir)
-
06 33 02
para uno -
33 DF 01
para el otro
-
- una cadena de fecha con byte de longitud inicial, que coincide principalmente con la fecha de la firma como se muestra en la interfaz de usuario
-
20151030033209.248Z
para uno -
20151030033209.24Z
para el otro
-
- cadenas de fecha con el byte de longitud inicial que coinciden con el período de validez de la contrasignación como se muestra
-
151007181729Z
y170107181729Z
para uno -
151007181740Z
y170107181740Z
para el otro
-
Preguntas:
- ¿Por qué son dos versiones de esta utilidad?
- ¿Cuáles son las diferencias operativas entre estos?
- ¿Cuál es la razón probable de la diferencia (1.)?
- ¿No sería trivial que el programa firmado actúe de manera diferente en función de eso (o las diferentes firmas de contra-firma), derrotando uno de los propósitos de la firma digital?
- ¿Cuál puede ser el rol exacto de las cadenas de fecha en (2.) y por qué difieren en tamaño? ¿Se supone que están relacionados con la compilación de software, la fecha de firma o la fecha de firma?
- ¿Por qué los períodos de validez en (3) difieren en 11 segundos, cuando las cadenas de fecha en (2) difieren solo en 8/1000 segundos?
- ¿Por qué no hay un siglo en la definición interna del período de validez? ¿Está permitido por X.509 o cualquier estándar que defina las firmas (de contador)? ¿No es eso un riesgo de que una (contra) firma vuelva a ser válida en el año 2116?