Ir al contenido

Próximamente estarán disponibles los certificados de 47 días. ¿Todo listo?

Actúa ahora →

Certificados de firma de código con sellado de tiempo: importancia

Certificados de firma de código con sellado de tiempo

Introducción

Vamos a discutirlo brevemente Firma de código.

La firma de código es un método para poner un firma digital en un archivo, documento, software o ejecutable para probar su autenticidad y autenticidad en cuanto a la funcionalidad y las características que ofrece. Esto también garantiza que la entidad de software (archivo, documento, software o ejecutable) no se altere durante su tránsito.
La firma de código se ha convertido en un requisito esencial para los desarrolladores de software. La razón es que la firma de código garantiza la confianza de los usuarios en el software y también proporciona confianza a los usuarios para evitar los mensajes de advertencia que aparecen cuando un usuario descarga/instala el ejecutable en su entorno.

¿Qué es el sellado de tiempo?

El sellado de tiempo es una parte opcional del proceso de firma de código, que permite al software reconocer la validez de una firma de código aplicada, incluso después de que caduque un certificado de firma de código. En otras palabras, el sellado de tiempo conserva la firma aplicada al software.
Cada vez que el ejecutable del software firmado se ejecuta en cualquier equipo o sistema cliente, el sistema operativo del usuario verifica su firma digital. Supongamos que el usuario ha marcado el tiempo del software. El equipo del usuario verificará la firma basándose en la hora de la firma digital, en lugar de la hora actual del sistema cuando se ejecuta el software.

A continuación se muestra el flujo de trabajo para un proceso de sellado de tiempo:

flujo de trabajo del proceso de sellado de tiempo

El sellado de tiempo lo proporciona la Autoridad de Sellado de Tiempo (TSA), que utiliza Infraestructura de clave pública (PKI) Principios y tecnología para la aplicación de marcas de tiempo.

Solución de firma de código empresarial

Obtenga una solución para todas sus necesidades criptográficas de firma de código de software con nuestra solución de firma de código.

Los siguientes pasos se realizan en el software de sellado de tiempo:

  1. El solicitante del software que necesita tener una marca de tiempo crea un valor hash y lo envía a la TSA.
  2. El valor hash, la hora autorizada y otra información relacionada, como los datos y la hora de la firma digital, son combinados por la TSA y firmados con su clave privada para crear un nuevo valor hash.
  3. A continuación, el nuevo hash y el hash del software se agrupan y se envían al solicitante.
  4. La aplicación del solicitante recibe el paquete y lo verifica. Una vez realizada la verificación, la marca de tiempo se vuelve válida y se integra en la firma del código del software.

Intentemos entender esto en términos de un escenario del mundo real.
Supongamos que usted es el desarrollador, firmó el código de su software y el certificado es válido desde enero de 2021 hasta enero de 2022. Ahora, un usuario que descarga su software en octubre de 2021 olvida instalarlo debido a su apretada agenda. Intenta instalarlo en febrero de 2022, pero recibe un error.

Analicemos el mismo escenario, con la única excepción de que se le asignó una marca de tiempo al software en julio de 2021. Ahora, cuando el usuario intenta instalar el software en febrero de 2022, lo logra y no recibe ningún error. ¡Este es el efecto de la marca de tiempo!

Protocolos utilizados en el sellado de tiempo

En el software de sellado de tiempo se utilizan los siguientes protocolos:

RFC 3161

Se actualiza el RFC 3161 y se designa como RFC 5035, que además permite el uso de ESSCertIDv2.

Código de autenticación de Microsoft

Microsoft Authenticode se puede utilizar en varios formatos, como .cab, .exe, .ocx y .dll.

Mejores prácticas para el sellado de tiempo de Code Sign

Las siguientes prácticas recomendadas se pueden adaptar mientras se realiza el sellado de tiempo de la firma de código:

  1. Asegúrese siempre de que la opción de sellado de tiempo esté habilitada en su herramienta de firma, como Microsoft Signtool. Además, elija una herramienta de firma que admita el sellado de tiempo, ya que es una función opcional por defecto.
  2. Asegúrese de incluir el sellado de tiempo en su proceso de desarrollo de software. Esto evitará problemas inesperados debido a discrepancias entre versiones.
  3. Documente el proceso completo de su herramienta de firma mientras utiliza la opción de sellado de tiempo, ya que cada herramienta de firma tiene un flujo de trabajo diferente para el sellado de tiempo. Además, distribuya este documento a todas las partes interesadas en el proceso de firma de código.
  4. El sellado de tiempo permite al sistema cliente verificar si el software fue firmado antes o después de la revocación del código. certificado de firmaPor lo tanto, si desea revocar el certificado de firma de código por cualquier motivo, como una vulnerabilidad de la clave privada, puede hacerlo. El sistema cliente no tendrá ninguna dificultad al instalar el software, ya que el sellado de tiempo se realizó cuando el certificado de firma de código era válido.

Conclusión

El sellado de tiempo parece ser un paso opcional, pero es un componente vital del ecosistema de firma de código de su organización. Sin el sellado de tiempo, la expiración o revocación de los certificados de firma de código reduciría la confianza de los clientes en el mismo producto de software. El sellado de tiempo garantiza que, incluso si los certificados pierden su validez o se revocan por algún motivo, sus firmas siguen siendo válidas, seguras y confiables.