INSTITUTO TECNOLÓGICO SUPERIOR DE LA

MONTAÑA

INGENIERIA INFORMÁTICA
MATERIA:
Auditoría Informática
TEMA:
Aplicaciones de la criptografía.
ALUMNAS:
Ana Laura Leal Herrera
Esperanza Morales Álvarez
Patricia Moreno Álvarez
Marypaz Soriano Morales
FACILITADOR:
M.T.I. Abel Moreno Basilio






Tlapa de Comonfort, Gro., Junio de 2014

Índice
INTRODUCCIÓN……………………………………………………………………. 2
Aplicaciones de la criptografía
6.1. Autenticación e identificación……………………………………… 3
6.2. Esquemas de compartición de secretos…………………………. 4
6.3. Situaciones de confianza mutua…………………………………... 6
6.4. Dinero electrónico…………………………………………………… 8
6.5. Elecciones electrónicas…………………………………………….. 10
6.6. Expectativas a futuro……………………………………………….. 12
6.7. PGP………………………………………………………………… 13
6.7.1 Fundamentos e historia de PGP……………………………. 15
6.7.2 Estructura de PGP…………………………………………… 16
6.7.3 Vulnerabilidades de PGP……………………………………. 21










3
INTRODUCCIÓN
Hoy en día la tecnología ha evolucionado rápidamente, así mismo el internet ha
cambiado la comunicación y negocios.
La comunicación se ha vuelto más importante en nuestra vida ya que es el
proceso donde el emisor transmite un mensaje el cual viaja a través de un canal
para llegar al receptor, y cuando llega esta información al receptor en ella
decodifica, la interpreta y surge la retroalimentación.
Al transmitir la información puede que la alteren y esto suele llegar a un nivel de
riesgos y sobre todo si es una información considerada.
Por este motivo se efectúa la seguridad de la información. Por lo cual en este
proyecto de investigación explicara a detalles una de las aplicaciones para generar
la seguridad de la información.
PKI, ofrece hacer un uso seguro el cual se basa en RSA.
Consiste en la función de la infraestructura de clave pública, o conocido como PKI
el cual es un conjunto de aplicaciones y de servicios que nos permite utilizar la
criptografía, es decir, obtener la seguridad de la información.
En el desarrollo de esta investigación explicara a detalles lo contenido de la
infraestructura de clave pública.








4
6. APLICACIONES DE LA CRIPTOGRAFÍA
6.1 Autenticación e identificación
Autenticación.- Elemento encriptado con la clave de sesión apropiada que
contiene el nombre del cliente y una maca temporal. Demuestra la identidad del
usuario.
Autenticación del servidor + clave sesión
- El cliente verifica la autenticidad del servidor (clave pública)
- Se intercambian una clave secreta K
Autenticación del cliente
- El servidor verifica la autenticidad del cliente (varios métodos)
Identificación y autenticación. Gracias al uso de firmas digitales y otras técnicas
criptográficas es posible identificar a un individuo o validar el acceso a un recurso
en un entorno de red con más garantías que con los sistemas de usuario y clave
tradicionales.
Dentro de un sistema de control de acceso con autenticación, ésta será sin duda
el proceso más importante. Si por ejemplo un sitio web tiene información sensible
o dirigida sólo a un pequeño grupo de personas, la autenticación asegura que las
personas que ven esas páginas estén autorizadas. En el caso de utilizar tarjetas
criptográficas como el DNI la autenticación que estas ofrecen puede permitir
controlar al completo cuándo y dónde alguien entra, navega y sale.
Entonces, se puede definir la autenticación como el proceso electrónico mediante
el cual se verifica la identidad de un usuario.
Existen tres métodos de autenticación:
 basados en algo conocido: contraseñas, frases de paso, etc.
 basados en algo poseído: tarjeta de identidad, tarjeta inteligente (smartcard),
dispositivo USB (token), etc.


5
 basados característica físicas del usuario: verificación de voz, escritura,
huellas, patrones oculares, etc.
En función del número de factores en los que se base el sistema de autenticación
se puede hablar de:
Autenticación. En la seguridad de ordenador, la autenticación es el proceso de
intento de verificar la identidad digital del remitente de una comunicación como
una petición para conectarse. El remitente siendo autenticado puede ser una
persona que usa un ordenador, un ordenador por sí mismo o un programa del
ordenador. En un web de confianza, "autenticación" es un modo de asegurar que
los usuarios son quien ellos dice que ellos son - que el usuario que intenta realizar
funciones en un sistema es de hecho el usuario que tiene la autorización para
hacer así.
6.2 ESQUEMAS DE COMPARTICIÓN DE SECRETOS
El sistema de compartición de secretos de Shamir es un algoritmo criptográfico.
Es una forma de compartición de secretos donde un secreto se divide en partes y
se da a cada participante una sola: todas o parte de ellas son necesarias para
reconstruir el secreto.
El algoritmo basa su funcionamiento en una propiedad de los polinomios
interpolares y fue desarrollado por el criptógrafo Israelí Adi Shamir, que presento
en 1979.
La idea esencial de la combinación de umbral de Shamir es que dos puntos son
suficientes para definir una línea recta, tres puntos lo son para definir una
parábola, cuatro para definir una curva cúbica y así sucesivamente. Es decir, con
necesarios n + 1 puntos para definir un polinomio de grado n.
Un esquema de compartir secretos es un protocolo criptográfico en el que, como
su nombre indica, se divide un determinado secreto en fragmentos que se
reparten entre los participantes.


6
La motivación principal de la compartición de secretos ha sido que en algunas
situaciones existe una llave secreta que provee acceso a muchos archivos de
actividades muy importantes.
Los ECS surgen de la necesidad del manejo de llaves robusto. Dada una llave
criptográfica queremos generalizar la noción de control de acceso fragmentado.
Podemos usar el término ECS pues esto enfatiza la propiedad de fragmentación, a
diferencia de los esquemas de umbral creados inicialmente y que son más
restrictivos, pues requieren la concurrencia de un número fijo de participante.
Los ECS tratan este problema y nos permiten tener confiabilidad sin riesgo
creciente.
La idea esencial de la combinación de umbral de Shamir es que dos puntos son
suficientes para definir una línea recta, tres puntos lo son para definir
una parábola, cuatro para definir una curva cúbica y así sucesivamente. Es decir,
son necesarios puntos para definir un polinomio de grado .
Supongamos que queremos trabajar con un umbral de para compartir un
secreto (cualquier número, sin pérdida de generalidad) siendo . La
elección de los valores de y determina la fortaleza del sistema.
Eligiendo al azar coeficientes , y siendo , se
construye el polinomio .
Calculamos cualesquiera puntos a partir del mismo, por ejemplo determinamos
que de lo que se deriva . A todo participante en el secreto
se le da un punto (un par de valores, el de entrada y el de salida para el polinomio)
Dado cualquier subconjunto de entre estos pares, podemos calcular los
coeficientes del polinomio mediante interpolación y luego despejar, que es el
secreto.



7
6.3 SITUACIONES DE CONFIANZA MUTUA
Existen diferentes retos sobre el uso de la criptografía, (por ejemplo):
a) Para los técnicos:
(1) Simplificar los métodos a la medida del valor de los secretos;
(2) Resolver el conflicto Estado-sociedad.
Los gobiernos desean conocer las claves criptográficas (por razones muy
diversas: defenderse contra el terrorismo, seguridad nacional, velar ante posibles
robos, destrucciones, olvidos, desapariciones,... Parece ser que no existe solución
técnica satisfactoria, la solución quizás no sea de índole técnica sino política y
humanística.
(b) Para los filósofos y políticos:
Devolver a la sociedad un grado casi angélico de confianza mutua interpersonal.
Todas las complejas técnicas criptográficas dan por hecho que todos tenemos
grandes secretos y que vivimos en una sociedad hipotética con absoluta
desconfianza generalizada.

Dada la variedad de documentos digítales, informáticos, imágenes, etc. es
necesario desarrollar métodos que aseguren y protejan a los autores de los
mismos contra el pirateo. Josep Domingo, Jordi Herrera y Ricardo X. Sánchez nos
presentan un esquema original para la protección del copyright electrónico. La
criptografía busca nuevos métodos que sean resistentes a la violación
matemática. Hay muchos desarrollos e investigaciones al respecto. Además de las
curvas elípticas e hiperbólicas, la criptografía cuántica y otros métodos
matemáticos. Existe una extensión de los abandonados "métodos de mochila" que
ofrece algunas posibilidades.



8
Redes de Confianza

 En muchas ocasiones no se dispone ni de Autoridades de Certificación ni
de Registro. Una solución tomada estriba en la confianza de los propios
usuarios entre ellos.

 Por ejemplo, si Juan confía plenamente en Luís y Luís ha aceptado la
identificación de Pedro, Juan podría inicialmente aceptar a Pedro, porque
Luís es de su confianza.

 Comentario: En una red de confianza, una identificación (clave
nueva) se considerará vál ida si viene firmada por suficientes claves
válidas.

 Por ejemplo, PGP en correo seguro lo utiliza.

Aplicaciones Criptográficas en Redes
o Para poder detectar y prevenir estos ataques, las redes deben incorporar
mecanismos que proporcionen servicios de seguridad.
o Estos servicios, ya comentados, son:
 Autenticación.
 Confidencialidad.
 Integridad.
 No Repudio.







9
6.4 DINERO ELECTRÓNICO
Una aplicación más, que puede ser realidad gracias a la criptografía de clave
pública es conocida como dinero electrónico, en términos sencillos el dinero
electrónico es otra representación de lo que conocemos como dinero o valor.
El dinero electrónico es físicamente un número que se genera aleatoriamente, se
le asigna un valor, se cifra y firma y se envía al banco, ahí el banco valida el
número y certifica el valor, y lo regresa al usuario firmado por el banco, entonces
el usuario puede efectuar alguna transacción con ese billete electrónico.
Las principales propiedades del dinero electrónico son las siguientes:
1) Independencia: la seguridad del dinero digital no debe depender de la el lugar
físico donde se encuentre, por ejemplo en el disco duro de una PC
2) Seguridad: el dinero digital (el número) no debe de ser usado en dos diferentes
transacciones
3) Privacidad: el dinero electrónico debe de proteger la privacidad de su usuario,
de esta forma cuando se haga una transacción debe de poder cambiarse el
número a otro usuario sin que el banco sepa que dueños tuvo antes.
4) Pagos fuera de línea: el dinero electrónico no debe de depender de la conexión
de la red, así un usuario puede transferir dinero electrónico que tenga en una
“smart card” a una computadora, el dinero digital debe ser independiente al medio
de transporte que use. Criptografía para principiantes
5) Transferibilidad: el dinero electrónico debe de ser transferible, cuando un
usuario transfiere dinero electrónico a otro usuario debe de borrarse la identidad
del primero.
6) Divisibilidad: el dinero electrónico debe de poder dividirse en valores
fraccionarios según sea el uso que se da, por ejemplo en valor de 100, 50 y 25


10
La serie de pasos que puede seguir una transacción que se realiza con dinero
electrónico en un escenario simple es la siguiente:
Supóngase que el usuario A quiere mandar un cheque a B, usando ahora dinero
electrónico.
1) A genera un número aleatorio grande N de digamos 100 dígitos y le da un valor
digamos 1000 pesos
2) A cifra este número junto a su valor con su clave secreta asimétrica.
3) Afirma este número y lo transmite a su banco.
4) El banco de A usa, la clave pública de Apara descifrar el número y verificar la
firma, así recibe la orden y sabe que es de A. El banco borra la firma de A del
documento electrónico.
5) El banco revisa que Atenga en sus cuentas la cantidad pedida 1000 pesos y la
debita de alguna de sus cuentas.
6) El banco firma el número que mando A, con el valor asignado de 1000 pesos
7) El banco regresa el número que ya es dinero a, A
8) A envía este dinero a B
9) B verifica la firma del banco de A, que está en N
10) B envía N a su banco
11) EL banco de B re-verifica la firma del banco de A en N
12) El banco de B verifica que N no esté en la lista de números “ya usados”
13) El banco de B acredita la cantidad de 1000 pesos a la cuenta de B
14) El banco de B pone a N en la lista de números “ya usados”
15) Finalmente el banco de B envía un recibo firmado donde establece que tiene


11
1000 pesos más en su cuenta
6.5 ELECCIONES ELECTRÓNICAS
El voto por internet o voto electrónico se produce cuando la votación se lleva a
cabo mediante el uso de redes telemáticas y agentes telemáticos específicos de
tal forma que los votos se depositan en una urna remota fuera de la vista del
votante. Tanto la autorización para votar como el voto “viajan” por la red.
El voto por Internet ha cobrado popularidad y ha sido usado para elecciones
generales y referéndum en el Reino Unido, Estonia y Suiza, así como también en
elecciones municipales en Canadá, elecciones partidarias primarias en Francia y
elecciones presidenciales en los Estados Unidos.
Para votar por internet es necesario:
 Un ordenador conectado a la red
 Un documento de identidad electrónico que proporciona una herramienta
de firma digital, fundamental para la autentificación de la identidad del
votante.
 Disponer de un lector para tarjetas electrónicas.
Inconvenientes
× Según Bernd Beckert, el investigador responsable del proyecto sobre voto
electrónico del Panel de Opciones Científicas y Tecnológicas del
Parlamento Europeo (STOA), existe el riesgo de fraude y de amenazas a la
seguridad por parte de crackers.

× Si bien el votante tiene que identificarse por medio de su identificación
oficial, la verificación no se puede hacer sobre la persona (a diferencia de
cuando se vota en un recinto electoral). No obstante, para superar este
obstáculo se puede utilizar el voto por Internet a través del móvil, de forma
que la tarjeta SIM sirve para identificarse y se necesita activar la
identificación móvil en la web de la Policía.


12

× La elección pierde toda auditabilidad, dado que no hay un documento físico
que respalde a cada uno de los votos emitidos; un error de programación o
un ataque deliberado pueden alterar uno o todos los votos emitidos

× El diseño de interfaces usuario muchas veces es subóptimo, y la población
menos acostumbrada al uso del cómputo puede sufrir dificultades que
entorpezcan la votación, o incluso que cambien el sentido por completo de
su voto

Ventajas
 Permitiría votar desde cualquier lugar con acceso a Internet.

 Según Thad Hall, un politólogo autor de Electronic Elections, permitiría
votar a las personas con discapacidades o que tienen dificultades para
llegar en su día al colegio electoral o lugar de votación.

 El voto por correo también está sujeto a riesgos, y sin embargo se utiliza
desde hace tiempo.

 Fomentaría la participación y el sentimiento de democracia.

Verificación criptográfica
Los sistemas de voto electrónico pueden ofrecer soluciones que permiten a los
votantes verificar si sus votos han sido registrados y contados con cálculos
matemáticos. Estos sistemas pueden aliviar preocupaciones respecto de votos
registrados incorrectamente. Una forma de mitigar esas preocupaciones podría ser
permitir a los votantes verificar cómo han votado, con algún tipo de recibo
electrónico, firmado por la autoridad electoral mediante una firma digital. Esta


13
característica podría probar en forma concluyente la exactitud del conteo, pero
cualquier sistema de verificación que no pueda garantizar la anonimidad de la
elección del votante puede producir intimidación en el votante o permitir la venta
del voto. Algunas soluciones criptográficas se dirigen a permitir al votante verificar
su voto personalmente, pero no a un tercero. Una de las maneras sería proveer al
votante de un recibo firmado digitalmente de su voto así como también de recibos
de otros votos seleccionados al azar. Esto permitiría que sólo el votante identifique
su voto, pero no le permitiría probar su voto a nadie más. Además, cada voto
podría estar señalado con una identificación de sesión generada al azar, lo que
permitiría al votante verificar que el voto fue registrado correctamente en un
control de auditoría público de la papeleta.

6.6 EXPECTATIVAS A FUTURO
Se puede afirmar con rotundidad es que los modelos criptográficos actuales
seguirán siendo válidos durante algunos años más. En cualquier caso no conviene
perder de vista los avances tecnológicos, ya que cuando se conviertan en
realidades, obligarán a replantear muchas situaciones, no solo en la criptografía.










14
6.7 PGP
Pretty Good Privacy o PGP (privacidad bastante buena)
Es un programa desarrollado por Phil Zimmermann y cuya finalidad es proteger la
información distribuida a través de Internet mediante el uso de criptografía de
clave pública, así como facilitar la autenticación de documentos gracias a firmas
digitales.
PGP es un sistema mixto, pues cada vez que se codifica un mensaje, primero se
comprime el texto plano (para evitar la redundancia), luego se genera una clave
de sesión (aleatoria) y con esta clave de sesión se cifra el mensaje. La clave luego
se cifra usando la clave pública del destinatario.
Este paquete de clave de sesión (cifrada con la clave pública del destinatario),
texto (comprimido y encriptado con la clave de sesión) y a veces firma (cifrada con
la clave privada de quien envía) se llama hipertexto y es lo que se envía por
Internet. El receptor descifra la clave de sesión con su clave privada y usando esta
clave de sesión descifra el mensaje, se descomprime y queda listo para ser leído.
O sea el mensaje se cifra y descifra con la misma clave de sesión (método
simétrico o de clave privada) pero para enviar las claves de sesión se e cifran con
el par de claves pública-privada.
Si usamos PGP 5x o superior, el algoritmo simétrico (el de la clave de sesión)
usado por PGP puede ser cualquiera de estos tres:
1. CAST: clave de 128 bits, rápido, bien diseñado, su desventaja: es
relativamente nuevo y no ha sido sometido a ataque durante mucho tiempo.
Tiene patentes pendientes pero existe el compromiso de sus creadores de
dejar una versión libre en cualquier caso.
2. Triple-DES: clave de 168 bits, el algoritmo DES, publicado por IBM en los
70s aplicado tres veces lo hace un sistema muy robusto, tal como los otros


15
dos algoritmos no se sabe de nadie que haya logrado romperlo a la fecha.
No está protegido por patentes, es el más lento de los tres
3. IDEA: clave de 128 bits. el algoritmo fue publicado en 1990 y ha soportado
toda clase de ataques desde esa fecha, probablemente obtenga patente lo
que podría ser un problema para su uso futuro
Por defecto se usa CAST pero podría escogerse cualquiera de los tres con Launch
PGP Keys, Edit, Preferences, Advanced
A su vez, según el tamaño de nuestra clave será la clave pública usada para cifrar
la clave de sesión
1. RSA key pair para claves pequeñas, por ej. 768 bits (seguridad débil), esta
funciona con PGP 2.xx
2. DH/DSS key pair para claves grandes, por ej. 1024/2048 bits. El PGP 5.xx y
superiores generan por defecto estas claves, pero también aceptan y
generan claves RSA por razones de compatibilidad
Para la firma digital PGP usa el algoritmo SHA que crea la función Hash
requerida.
Finalmente podemos preguntarnos ¿que son al fin y al cabo las claves?, en PGP
las claves son números enormemente grandes, por ejemplo una clave de 1024
bits es un número binario ¡de 1024 cifras! o sea su cifra máxima es 2 elevado a
1024 lo que equivale a un número decimal con varios cientos de cifras, solo como
ejemplo, se estima que el número de átomos que contiene la Vía Láctea es de 2
elevado a 223, creo que sobran comentarios.






16
6.7.1 FUNDAMENTOS E HISTORIA DE PGP
PGP trabaja con criptografía asimétrica, y por ello tal vez su punto más fuerte sea
precisamente la gran facilidad que ofrece al usuario a la hora de gestionar sus
claves públicas y privadas. Si uno emplea algoritmos asimétricos, debe poseer las
claves públicas de todos sus interlocutores, además de la clave privada propia.
Con PGP surge el concepto de anillo de claves (o llavero), que no es ni más ni
menos que el lugar que este programa proporciona para que el usuario guarde
todas las claves que posee. El anillo de claves es un único _chero en el que se
pueden efectuar operaciones de extracción e inserción de claves de manera
sencilla, y que además proporciona un mecanismo de identificación y
autenticación de llaves completas y simples de utilizar. Esta facilidad en la gestión
de claves es una de las causas fundamentales que han hecho a PGP tan popular.
La historia de PGP se remonta a comienzos de los años 90. La primera versión
era completamente diferente a los PGP posteriores, además de ser incompatible
con _estos. La familia de
Versiones 2.x.x fue la que alcanzó una mayor popularidad, y sigue siendo utilizada
por mucha gente en la actualidad. Los PGP 2.x.x emplean _únicamente los
algoritmos IDEA, RSA y MD5.
En algún momento una versión de PGP atravesó las fronteras de EE.UU. y nació
la primera versión internacional de PGP, denominada PGPi, lo que le supuso a
Phill Zimmermann una investigación de más de tres años por parte del FBI, ya que
supuestamente se habían violado las restrictivas leyes de exportación de material
criptográfico que poseen los Estados Unidos. Para la versión 5 de PGP se
subsanó este problema exportando una versión impresa del código fuente, que
luego era reconstruida y compilada en Europa.







17
6.7.2 ESTRUCTURA DE PGP
Codificación de Mensajes

Como el lector ya sabe, los algoritmos simétricos de cifrado son
considerablemente más rápidos que los asimétricos. Por esta razón PGP cifra
primero el mensaje empleando un algoritmo simétrico (ver _gura 14.1) con una
clave generada aleatoriamente (clave de sesión) y
Posteriormente codifica la clave haciendo uso de la llave pública del destinatario.
Dicha clave es extraída convenientemente del anillo de claves públicas a partir del
identificador suministrado por el usuario, todo ello de forma transparente, por lo
que _únicamente debemos preocuparnos de indicar el mensaje a codificar y la
lista de identificadores de los destinatarios. Nótese que para que el mensaje
pueda ser leído por múltiples destinatarios basta con que se incluya en la
cabecera la clave de sesión codificada con cada una de las claves publicas
correspondientes.
Cuando se trata de decodificar el mensaje, PGP simplemente busca en la
cabecera las claves públicas con las que esta codificado y nos pide una
contraseña. La contraseña servirá para que PGP abra nuestro anillo de claves
privadas y compruebe si tenemos una clave que permita decodificar el mensaje.
En caso afirmativo, PGP descifrara el mensaje. Nótese que siempre que
queramos hacer uso de una clave privada, habremos de suministrar a PGP la
contraseña correspondiente, por lo que si el anillo de claves privadas quedara
comprometido, un atacante aún tendrá que averiguar nuestra contraseña para
descifrar nuestros mensajes. No obstante, si nuestro archivo de claves privadas
cayera en malas manos, lo mejor será revocar todas las claves que tuviera
almacenadas y generar otras nuevas. Como puede comprenderse, gran parte de
la seguridad de PGP reside en la calidad del generador aleatorio que se emplea
para calcular las claves de sesión, puesto que si alguien logra predecir la
secuencia de claves que estamos usando, podrá descifrar todos nuestros
mensajes independientemente de los destinatarios a los que vayan dirigidos.
Afortunadamente, PGP utiliza un método de generación de números


18
pseudocódigo aleatorios muy seguro |una secuencia aleatoria pura es imposible
de conseguir, como se dijo en el capítulo 8|, y protege criptográficamente la
semilla que necesita1. No obstante, consideraremos sensible al _chero que
contiene dicha semilla |normalmente RANDSEED.BIN|, y por lo tanto habremos de
evitar que quede expuesto.





Firma Digital
En lo que se refiere a la firma digital, las primeras versiones de PGP obtienen en
primer lugar la signatura MD5 (ver sección 13.1.3), que posteriormente se codifica
empleando la clave privada RSA correspondiente. La firma digital o signatura
puede ser añadida al fichero u obtenida en otro _chero aparte.
Esta opción es muy _útil si queremos firmar un _chero ejecutable, por ejemplo.


19





Armaduras ASCII

Una de las funcionalidades más _útiles de PGP consiste en la posibilidad de
generar una
Armadura ASCII para cualquiera de sus salidas. Obviamente, todas las salidas de
PGP (mensajes codificados, claves publicas extraídas de algún anillo, firmas
digitales, etc.) consisten en secuencias binarias, que pueden ser almacenadas en
archivos. Sin embargo, en la mayoría de los casos puede interesarnos enviar la
información mediante correo electrónico, o almacenarla en archivos de texto.
Recordemos que el código ASCII original emplea 7 bits para codificar cada letra, lo
cual quiere decir que los caracteres situados por encima del valor ASCII 127 no
está definidos, y de hecho diferentes computadoras y sistemas operativos los
interpretan de manera distinta. También hay que tener en cuenta que entre los 128
caracteres ASCII se encuentran muchos que representan códigos de control,
como el retorno de carro, el _n de _chero, el tabulador, etc. La idea es elegir 64
caracteres imprimibles (que no sean de control) dentro de esos 128. Con este
conjunto de códigos ASCII podremos representar exactamente 6 bits, por lo que
una secuencia de tres bytes (24 bits) podrá codificarse mediante cuatro de estos


20
caracteres. Esta cadena de símbolos resultante se trocea colocando en cada línea
un número razonable de símbolos, por ejemplo 72. El resultado es una secuencia
de caracteres que pueden ser tratados como texto estándar, además de ser
manipulados en cualquier editor. Existe la ventaja adicional de que esta
representación es apropiada para ser enviada por correo electrónico, ya que
muchas pasarelas de correo no admiten caracteres por encima de 127, y además
truncan las líneas demasiado largas, por lo que podrán alterar los mensajes si
viajaran en otro formato.

Gestión de Claves

PGP, como ya se ha dicho, almacena las claves en unas estructuras denominadas
anillos.
Un anillo no es más que una colección de claves, almacenadas en un fichero.
Cada usuario tendrá dos anillos, uno para las claves públicas (PUBRING.PKR) y
otro para las privadas (SECRING.SKR).
Cada una de las claves, además de la secuencia binaria correspondiente para el
algoritmo concreto donde se emplee, posee una serie de datos, como son el
identificador del usuario que la emitió, la fecha de expiración, la versión de PGP
con que fue generada, y la denominada huella digital (fingerprint). Este último
campo es bastante útil, pues se trata de una secuencia hexadecimal lo
suficientemente larga como para que sea única, y lo suficientemente corta como
para que pueda ser escrita en un papel, o leída de viva voz. La huella digital se
emplea para asegurar la autenticidad de una clave. Por ejemplo, la huella digital
de la clave pública anterior es:
9E2B 9D14 CBCE FE12 16A8 C103 48B2 5161 69AB 5784
Si alguien quisiera asegurarse de la autenticidad de dicha clave, bastará con que
llamara por teléfono al autor, y le pidiera que le leyera la su huella digital.





21
Distribución de Claves y Redes de Confianza
PGP, como cualquier sistema basado en clave pública, es susceptible a ataques
de intermediario (sección 12.2.2). Esto nos obliga a establecer mecanismos para
asegurarnos de que una clave procede realmente de quien nosotros creemos. Una
de las cosas que permite esto, aunque no la _única, es la huella digital.
PGP permite a un usuario firmar claves, y de esta forma podremos confiar en la
autenticidad de una clave siempre que _esta venga firmada por una persona de
confianza. Hay que distinguir entonces dos tipos de confianza: aquella que nos
permite creer en la validez de una clave, y aquella que nos permite fiarnos de una
persona como certificador de claves. La primera se puede calcular
automáticamente, en función de que las firmas que contenga una clave
pertenezcan a personas de confianza, pero la segunda ha de ser establecida
manualmente. No olvidemos que el hecho de que una clave sea auténtica no nos
dice nada acerca de la persona que la emitió. Por ejemplo, yo puedo tener la
seguridad de que una clave pertenece a una persona, pero esa persona puede
dedicarse a firmar todas las claves que le llegan, sin asegurarse de su
autenticidad, por lo que en ningún caso merecerá nuestra confianza.
Cuando una clave queda comprometida, puede ser revocada por su autor. Para
ello basta con generar y distribuir un certificado de revocación que informara a
todos los usuarios de que esa clave ya no es válida. Para generarlo es necesaria
la clave privada, por lo que en muchos casos se recomienda generar con cada
clave su certificado de revocación y guardarlo en lugar seguro, de forma que si
perdemos la clave privada podamos revocarla de todas formas.
Afortunadamente, las _últimas versiones de PGP permiten nombrar revocadores
de claves, que son usuarios capaces de invalidar nuestra propia clave, sin hacer
uso de la llave privada.

Otros PGP
La rápida popularización de PGP entre ciertos sectores de la comunidad de
Internet, y el desarrollo del estándar público Open PGP, han hecho posible la
proliferación de variantes más o menos complejas del programa de Zimmerman.


22
Muchas de ellas son desarrolladas por los propios usuarios, para mejorar alguna
característica, como manejar claves de mayor longitud (PGPg), y otras
corresponden a aplicaciones de tipo comercial.
Especial mención merece la implementación de Open PGP que está llevando a
cabo el proyecto GNU: GnuPG (GNU Privacy Guard), que funciona en múltiples
plataformas, y emplea únicamente algoritmos de libre distribución |entre ellos
AES|, aunque presenta una estructura que la hace fácilmente extensible. De
hecho, hoy por hoy, podríamos decir que es la implementación de PGP más
completa, segura y útil para cualquier usuario.

6.7.3 VULNERABILIDADES DE PGP
Según todo lo dicho hasta ahora, parece claro que PGP proporciona un nivel de
seguridad que nada tiene que envidiar a cualquier otro sistema cifrado jamás
desarrollado. ¿Qué sentido tiene, pues, hablar de sus ´ vulnerabilidades, si estas
parecen no existir?
Como cualquier herramienta, PGP proporcionara un gran rendimiento si se emplea
correctamente, pero su uso inadecuado podría convertirlo en una protección
totalmente inútil. Es por ello que parece interesante llevar a cabo una peque ´ na
recapitulación acerca de las ´ buenas costumbres que harán de PGP nuestro
mejor aliado.
 Escoger contraseñas adecuadas.
 Proteger adecuadamente los archivos sensibles. Estos archivos serán,
lógicamente, nuestros llaveros (anillos de claves) y el fichero que alberga la
semilla aleatoria. Esta protección debe llevarse a cabo tanto frente al
acceso de posibles curiosos, como frente a una posible pérdida de los
datos (¡recuerde que si pierde el archivo con su clave privada no podrá
descifrar jamás ningún mensaje!).


23
 Emitir revocaciones de nuestras claves al generarlas y guardarlas en lugar
seguro. Serán el único mecanismo válido para revocar una clave en caso
de pérdida del anillo privado.
 Firmar sólo las claves de cuya autenticidad estemos seguros. Es la única
manera de que las redes de confianza puedan funcionar, ya que si todos
firmaremos las claves alegremente, podríamos estar certificando claves
falsas.

Al margen de un uso correcto, que es fundamental, debemos mencionar que
últimamente han sido detectados algunos fallos en las diversas implementaciones
de PGP. Clasificaremos dichas vulnerabilidades en dos grupos claramente
diferenciados:
 Debidas a la implementación: Estos agujeros de seguridad son provocados
por una implementación defectuosa de PGP, y corresponden a versiones
concretas del programa. Por ejemplo, el fallo descubierto en la versión 5.0
de PGP para UNIX, que hacía que las claves de sesión no fueran
completamente aleatorias, o el encontrado en todas las versiones para
Windows, desde la 5.0 a la 7.0.4, en la que un inadecuado procesamiento
de las armaduras ASCII permitía a un atacante introducir _cheros en la
computadora de la víctima.

 Intrínsecas al protocolo: En este apartado habrá que reseñar aquellos
agujeros de seguridad que son inherentes a la definición del estándar
Open PGP. En este sentido, a principios de 2001 se hizo pública una
técnica que permitirá a un atacante falsificar firmas digitales. En cualquier
caso, se necesita acceso físico a la computadora de la víctima para
manipular su clave privada, por lo que el fallo carece de interés práctico,
aunque suponemos que obligara a una revisión del protocolo.



24