varon una significado para nombres nombre niños mejores los hijo guía famosos exito españoles decidir completa biblicos bebé bebes actual c# .net delay-sign

c# - una - ¿Qué son exactamente la firma Delay y los nombres fuertes en.net?



nombres para niños biblicos (1)

He visto en muchos artículos que está escrito que la firma de demora y el nombre seguro de un ensamblaje evitan que se enganche.

Qué significa eso?

Lo único que sé es que sin un nombre seguro no puede instalar un ensamblaje en GAC. Entonces, supongamos que tengo un ensamblaje sin un nombre fuerte. ¿Puede ser robado?

Alguien por favor aclara mi duda.


Hay mucha información sobre esto en MSDN; por ejemplo: asignación de nombre fuerte y firma de retraso

Para resumir la idea básica:

La denominación fuerte es una forma de estampar su ensamblaje con una marca de identificación simple, que puede usarse más adelante para validar que no se ha modificado desde que se implementó. El nombre seguro es básicamente un hash del nombre del ensamblado, la versión y una "clave de nombre seguro" exclusivo del desarrollador. Las referencias a conjuntos de nombres fuertes pasan por una validación más estricta que las referencias a los que no tienen nombres fuertes; en particular, las referencias con nombre seguro deben coincidir con los números de versión, y el hash de nombre seguro debe coincidir.

Esto ayuda a evitar dos fuentes comunes de posibles vulnerabilidades de seguridad en sus programas:

  1. Un usuario malintencionado reemplaza un conjunto en su programa con un conjunto diferente con el mismo nombre de archivo, pero que contiene código malicioso, y convence a su programa para que lo cargue y lo ejecute.
  2. Un usuario malintencionado reemplaza un ensamblaje en su programa con una versión diferente del mismo ensamblaje, pero que tiene errores conocidos que ya se han corregido.

El proceso de nombre seguro rechazará ambas acciones porque los datos de nombre seguro no coincidirán. Esta es la razón por la que los ensamblajes en el GAC deben tener un nombre sólido: son usos tan ubicuos que, de otro modo, serían objetivos importantes para este tipo de secuestro.

Sin embargo, tenga en cuenta que los nombres fuertes no hacen absolutamente nada para verificar la identidad del editor . Cualquiera puede publicar un ensamblaje con un nombre seguro que diga ser Microsoft y no hay nada en el nombre seguro para refutar esa afirmación. La verificación de la identificación es el trabajo de las firmas digitales de Authenticode, que son diferentes de los nombres fuertes. Los dos se usan a menudo juntos, pero son conceptos ortogonales.

La firma de demora es una técnica para firmar ensamblajes fuera del proceso de construcción. La idea aquí es que su compañía puede tener políticas que no permitan que las claves de nombre seguro estén disponibles en el momento de la compilación (quizás se mantengan fuera de línea o estén protegidas detrás de una contraseña). clave de nombre: básicamente reserva espacio para que la clave se agregue más tarde, por un usuario autorizado. Mientras tanto, se incluye una clave de nombre seguro parcial: solo la información suficiente para que otros ensamblajes hagan una referencia segura, pero no lo suficiente para detectar cambios o modificaciones.