ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programacion RSA


Enviado por   •  6 de Mayo de 2013  •  499 Palabras (2 Páginas)  •  303 Visitas

Página 1 de 2

Para asegurar que no se haya alterado la información de ningún ensamblado se usa el

criptosistema de clave pública RSA. Lo que se hace es calcular el código de dispersión

SHA-1 del módulo que contenga el manifiesto e incluir tanto este valor cifrado con

RSA (firma digital) como la clave pública necesaria para descifrarlo en algún lugar del

módulo que se indicará en la cabecera de CLR. Cada vez que se vaya a cargar en

memoria el ensamblado se calculará su valor de dispersión de nuevo y se comprobará

que es igual al resultado de descifrar el original usando su clave pública. Si no fuese así

se detectaría que se ha adulterado su contenido.

Para asegurar también que los contenidos del resto de ficheros que formen un

ensamblado no hayan sido alterados lo que se hace es calcular el código de dispersión

de éstos antes de cifrar el ensamblado y guardarlo en el elemento correspondiente a cada

fichero en la tabla FileDef del manifiesto. El algoritmo de cifrado usado por defecto es

SHA-1, aunque en este caso también se da la posibilidad de usar MD5. En ambos casos,

cada vez que se accede al fichero para acceder a un tipo o recurso se calculará de nuevo

su valor de dispersión y se comprobará que coincida con el almacenado en FileDef.

Dado que las claves públicas son valores que ocupan muchos bytes (2048 bits), lo que

se hace para evitar que los metadatos sean excesivamente grandes es no incluir en las

referencias a ensamblados externos de la tabla AssemblyRef las claves públicas de

dichos ensamblados, sino sólo los 64 últimos bits resultantes de aplicar un algoritmo de

dispersión a dichas claves. A este valor recortado se le llama marca de clave pública.

Hay dos tipos de ensamblados: ensamblados privados y ensamblados compartidos.

Los privados se almacenan en el mismo directorio que la aplicación que los usa y sólo

puede usarlos ésta, mientras que los compartidos se almacenan en un caché de

ensamblado global (GAC) y pueden usarlos cualquiera que haya sido compilada

referenciándolos.

Los compartidos han de cifrase con RSA ya que lo que los identifica es en el GAC es

su nombre (sin extensión) más su clave pública, lo que permite que en el GAC puedan

instalarse varios ensamblados con el mismo nombre y diferentes claves públicas. Es

decir, es como si la clave pública formase parte del nombre del ensamblado, razón por

la que a los ensamblados así cifrados se les llama ensamblados de nombre fuerte. Esta

política permite resolver los conflictos derivados de que se intente instalar en un mismo

equipo varios ensamblados compartidos con el mismo nombre pero procedentes de

distintas empresas, pues éstas tendrán distintas claves públicas.

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com