Cómo funciona PGP

PGP es un software de cifrado de correo electrónico basado en el sistema de cifrado de clave pública RSA. Puede usarlo para mantener la confidencialidad de sus correos electrónicos y evitar lecturas no autorizadas, y también puede firmar digitalmente sus correos electrónicos para que los destinatarios puedan estar seguros de que son suyos. Le permite comunicarse de forma segura con personas que nunca ha conocido, sin la necesidad de canales confidenciales para pasar las claves por adelantado. Utiliza: gestión prudente de claves, un algoritmo híbrido de RSA y cifrado tradicional, algoritmo de resumen de correo para firmas digitales, compresión antes del cifrado, etc., y un buen diseño ergonómico. Es potente y rápido. Y su código fuente es gratuito.

De hecho, las funciones de PGP son más de las mencionadas anteriormente: PGP se puede usar para cifrar archivos y PGP también se puede usar en lugar de UUencode para generar formato; es, MIME;'s; BASE; 64; formato) archivo de codificación.

El fundador de PGP es el estadounidense Phil Zimmermann. Su creatividad radica en el hecho de que combina la conveniencia del sistema de clave pública RSA con la alta velocidad del sistema de cifrado tradicional y tiene diseños ingeniosos en mecanismos de gestión de firma digital y autenticación de claves. Por lo tanto, PGP se ha convertido casi en el paquete de software de cifrado de clave pública más popular.

PGP es un software de cifrado de uso público. El cifrado es por seguridad y la privacidad es un derecho humano básico. En la sociedad moderna, el correo electrónico y la transferencia de archivos a través de Internet se han convertido en parte de la vida. Los problemas de seguridad del correo electrónico son cada vez más importantes. Todo el mundo sabe que los datos transmitidos por Internet no están cifrados. Si no protege su información, un tercero puede obtener fácilmente sus secretos. Otro problema es la autenticación de la información. Cómo convencer al destinatario de que el correo electrónico no ha sido manipulado por un tercero requiere tecnología de firma digital. Las características del sistema de clave pública RSA lo hacen muy adecuado para cumplir con los dos requisitos anteriores:

Confidencialidad (Privacidad) y Autenticación (Autenticación).

El algoritmo RSA (Rivest-Shamir-Adleman) es un sistema de clave pública basado en el supuesto de que es imposible factorizar números grandes en factores primos. En pocas palabras, encuentre dos números primos muy grandes, uno está abierto al mundo y el otro no se lo cuenta a nadie. Una se llama "clave pública" y la otra se llama "clave privada" (Clave;pública;&;Clave;secreta;o;Clave;privada). Estas dos claves son complementarias, lo que significa que el texto cifrado cifrado con la clave pública se puede descifrar con la clave privada y viceversa. Supongamos que A quiere enviar una carta a B y conocen la clave pública de cada uno. A usa la clave pública de B para cifrar el correo electrónico y lo envía. Una vez que B lo recibe, puede usar su propia clave privada para descifrar el texto original de A. Como nadie más conoce la clave privada de B, ni siquiera A mismo puede descifrar la carta, lo que resuelve el problema de mantener la carta confidencial. Por otro lado, como todos conocen la clave pública de B, todos pueden enviar una carta a B, por lo que B no puede estar seguro de si se trata de una carta de A. Surge el problema de la autenticación y las firmas digitales son útiles en este momento.

Antes de explicar la firma digital, primero debemos explicar qué es un "mensaje; resumen", en pocas palabras, consiste en utilizar un determinado algoritmo para calcular un mensaje que puede reflejar la "esencia" del mensaje. El número cambiará una vez que haya algún cambio en el correo electrónico. Luego, este número más el nombre del autor (en realidad en la clave del autor) y la fecha, etc., se pueden usar como firma. Para ser precisos, PGP utiliza un número binario de 128 bits como "resumen de correo electrónico". El algoritmo utilizado para generarlo se llama MD5 (mensaje;digest;5). El proponente de MD5 es Ron;Rivest. Está escrito por Colin Plumb, MD5 en sí es un software público. Por lo que no hay ninguna mención al respecto en los términos legales de PGP. MD5 es un algoritmo hash unidireccional. A diferencia del código de verificación CRC, es difícil encontrar un correo electrónico de reemplazo que tenga la misma "esencia" que el original.

Volviendo a la firma digital, A usa su propia clave privada para cifrar la "esencia" de 128 bits anterior, la adjunta al correo electrónico y luego usa la clave pública de B para cifrar todo el correo electrónico. De esta manera, después de que B recibe el texto cifrado, B usa su propia clave privada para descifrar el correo electrónico y obtiene el texto y la firma originales de A. El PGP de B también calcula una "esencia" de 128 bits a partir del texto original y luego usa el público de A. clave. Compare los números obtenidos al descifrar la firma. Si coinciden, significa que el correo electrónico efectivamente es de A. De esta manera se cumplen ambos requisitos.

PGP también sólo puede firmar sin cifrar. Esto es adecuado para hacer declaraciones públicas. Para demostrar su identidad (es la única forma en Internet), el declarante puede firmar con su persona. clave privada. Esto permite al destinatario confirmar la identidad del remitente y evita que el remitente niegue su declaración. Esto tiene grandes perspectivas de aplicación en el campo comercial. Puede evitar que el remitente rechace la carta y que la carta sea manipulada en el camino.

Entonces, ¿por qué se dice que PGP utiliza un algoritmo híbrido de RSA y cifrado tradicional? Debido a que el algoritmo RSA es extremadamente intensivo desde el punto de vista computacional y no es adecuado para cifrar grandes cantidades de datos en términos de velocidad, PGP en realidad no utiliza el propio RSA para el cifrado, sino un algoritmo de cifrado tradicional llamado IDEA.

Primero, permítanme explicar qué es el cifrado tradicional. En pocas palabras, utiliza una clave para cifrar el texto sin formato y luego usa la misma clave para descifrarlo. El representante de este método es DES (EE.UU.; Federal; Cifrado de datos; Estándar), que es el cifrado multiplicativo. Su principal desventaja es que el canal de transmisión de claves no puede resolver el problema de seguridad y no es adecuado para las necesidades de cifrado de correo electrónico en entornos de red.

2009-1-20 23:37 Responder

Italia

lvchenyang_

24 fans

2 Lou

IDEA; es un algoritmo patentado, y el titular de la patente es ETH y una empresa suiza: Ascom-Tech AG.

No es necesario pagarles tarifas por implementaciones no comerciales de IDEA. La velocidad de cifrado (descifrado) de IDEA es mucho más rápida que la de RSA, por lo que, de hecho, PGP utiliza una clave generada aleatoriamente (diferente para cada cifrado) para cifrar el texto sin formato usando el algoritmo IDEA y luego cifra la clave usando el algoritmo RSA. De esta manera, el destinatario también usa RSA para descifrar la clave aleatoria y luego usa IDEA para descifrar el correo electrónico. Este cifrado en cadena logra tanto la confidencialidad del sistema RSA como la velocidad del algoritmo IDEA. La mitad de la creatividad del PGP reside en este punto. ¿Por qué se propuso el sistema RSA en los años 1970 pero no se ha promovido ni aplicado? ¡La velocidad es demasiado lenta! ¿Dónde está entonces la otra mitad de la creatividad de PGP? A continuación hablaré sobre la gestión de claves PGP.

Un sistema de cifrado maduro debe ir acompañado de un mecanismo de gestión de claves maduro. El sistema de clave pública se propuso para resolver las deficiencias de los sistemas de cifrado tradicionales en los que la distribución de claves es difícil de mantener en secreto. Por ejemplo, uno de los métodos comunes utilizados por los piratas informáticos es "escuchar". Sería demasiado peligroso si la clave se transmitiera a través de la red. Por ejemplo: en la versión antigua de Novell Netware, la contraseña del usuario se transmitía en texto claro en la línea, de modo que el oyente podía obtener fácilmente las contraseñas de otras personas. Por supuesto, la contraseña de usuario en el encabezado del paquete en Netware 4.1 ahora está cifrada. Para PGP, la clave pública debe hacerse pública, por lo que no hay problema para evitar escuchas ilegales. Sin embargo, todavía existen problemas de seguridad en la liberación de claves públicas, como la manipulación de claves públicas (Pública; Clave; Manipulación). Esta puede ser la mayor vulnerabilidad en el sistema de criptografía de claves públicas, porque la mayoría de los principiantes no pueden descubrir esto rápidamente. Debe asegurarse de que la clave pública que obtenga pertenezca a la persona a la que parece pertenecer. Para aclarar este problema, daré un ejemplo y luego hablaré sobre cómo usar PGP correctamente para tapar esta laguna.

Tome la comunicación entre usted y Alice como ejemplo. Suponga que desea enviarle una carta a Alice, entonces debe tener la clave pública de Alice. Descargó la clave pública de Alice del BBS y la usó para cifrar el archivo. Se la envié a Alice usando la función de correo electrónico de BBS. Desafortunadamente, ni usted ni Alice saben que otro usuario llamado Charlie se coló en la BBS y reemplazó la clave pública de Alice con la clave pública en el par de claves que generó usando el nombre de Alice. Entonces la clave pública que utilizas para enviar el mensaje no pertenece a Alice sino a Charlie. Todo parece normal porque el nombre de usuario de la clave pública que obtuviste es "Alice". Entonces Charlie puede usar la clave privada que tiene en la mano para descifrar tu carta a Alice, e incluso puede usar la clave pública real de Alice para reenviar tu carta a Alice, de modo que nadie sospeche si quiere cambiar la carta que enviaste. Para Alice: Tampoco hay nada malo en la carta de Alice. Es más, también puede falsificar la firma de Alice para enviarle una carta a usted o a otras personas. Debido a que la clave pública que tiene en sus manos está falsificada, pensará que en realidad es una carta de Alice.

La mejor manera de prevenir esta situación es evitar darle a otra persona la oportunidad de alterar la clave pública, como obtener la clave pública de Alice directamente de ella cuando está a miles de kilómetros de distancia o no puede verla. Esto es muy difícil. PGP desarrolló un mecanismo de introducción de clave pública para resolver este problema. Por ejemplo: si usted y Alice tienen el mismo amigo David, y David sabe que la clave pública de Alice en su mano es correcta (existe otro método de PGP sobre cómo autenticar la clave pública, que se discutirá más adelante, asumiendo aquí David ha autenticado su clave pública con Alice). De esta manera, David puede usar su propia clave privada para firmar la clave pública de Alice (usando el método de firma mencionado anteriormente), lo que indica que garantiza que la clave pública pertenece a Alice. Por supuesto, debe usar la clave pública de David para verificar la clave pública que le dio a Alice. De manera similar, David también puede autenticar su clave pública ante Alice, de modo que David se convierta en el "presentador" entre usted y Alice. De esta manera, Alice o David pueden cargar de forma segura la clave pública de Alice firmada por David en el BBS para que usted pueda obtenerla sin que usted la descubra, ni siquiera el administrador del BBS. Este es un medio seguro para transferir claves públicas desde canales públicos.

Algunas personas pueden preguntar: ¿Cómo se obtiene la clave pública de David de forma segura? De hecho, es posible que la clave pública de David que obtuviste también sea falsa, pero esto requiere que el alborotador participe en todo el proceso. Debe estar familiarizado con ustedes tres y planificar durante mucho tiempo, lo que generalmente es imposible. Por supuesto, PGP también tiene sugerencias preventivas para esta posibilidad, que es dejar que una persona o institución en la que todos confían en general desempeñe este papel. Se le llama "camarero de claves" o "autoridad de certificación". Cada clave pública firmada por él se considera auténtica, por lo que todos solo necesitan tener una copia de su clave pública. Es conveniente autenticar la clave pública de esta persona. Si proporciona este servicio ampliamente, es extremadamente difícil falsificar su clave pública porque su clave pública circula ampliamente. Esa "autoridad" puede ser ejercida por organizaciones de control no individuales o agencias gubernamentales, y ya existen instituciones con sistemas de certificación jerárquicos.

2009-1-20 23:37 Responder

Italia

lvchenyang_

24 fans

3 Lou

Para aquellos que están muy dispersos, PGP prefiere utilizar métodos de referencia de clave privada, porque dicha falta de oficialidad orgánica puede reflejar mejor las interacciones sociales naturales de las personas, y las personas también pueden elegir libremente a alguien en quien confíen para presentarlo. De todos modos, es lo mismo que conocer gente que no conoces. Cada clave pública tiene al menos un "Usuario; ID". Intente utilizar su nombre completo y es mejor agregar su dirección de correo electrónico para evitar confusiones.

¡Atención! Una regla que debes seguir es: antes de usar cualquier clave pública, ¡primero debes autentificarla! ! ! No importa a qué tentación esté expuesto, y por supuesto habrá esta tentación, no debe, en absoluto, confiar directamente en una clave pública obtenida de canales públicos (especialmente aquellos que parecen confidenciales). Recuerde usar un conocido. para introducirla, o autentificarse usted y la otra parte en persona. Del mismo modo, no debes firmar ni certificar las claves públicas de otras personas de manera casual. Al igual que en la vida real, solo entregarás las llaves de tu casa a personas en las que confíes.

A continuación, hablaré de cómo autenticar la clave a través del teléfono. Cada clave tiene su propia identificación (keyID). keyID es un número hexadecimal de ocho dígitos. La probabilidad de que dos claves tengan el mismo keyID es de una entre miles de millones.

Y PGP también proporciona un método de identificación más confiable. claves: "clave"; cada clave corresponde a una cadena de números (dieciséis números hexadecimales de ocho dígitos). La posibilidad de números repetidos es aún menor y nadie puede especificar una clave con una determinada huella digital. se genera aleatoriamente y no puede obtener la clave pública de alguien a partir de la huella digital. Luego puede verificar la huella digital con él en el teléfono para autenticar su clave pública. Si no puede hablar con Alice por teléfono, puede autenticar la clave pública de David. hablando con David por teléfono, autenticando así la clave pública de Alice a través de David. Esta es la combinación de autenticación directa e introducción indirecta.

Esto lleva a otro método, que consiste en recopilar sus propias claves públicas firmadas por. diferentes personas y enviarlas a un lugar público, de modo que pueda esperar que la mayoría de las personas conozcan al menos a una de ellas, autenticando así indirectamente su clave pública. De manera similar, después de firmar la clave pública de su amigo, debe enviársela. para que tus otros amigos puedan autenticarlo. Es un poco interesante, al igual que las interacciones de las personas en la sociedad real, PGP descubrirá automáticamente cuáles de las claves públicas que obtienes son introducidas por tus amigos. los amigos de tus amigos, y cuáles son presentados por amigos de amigos. Presentado por un amigo... Te ayudará a dividirlos en diferentes niveles de confianza, permitiéndote decidir cuánta confianza tienes en ellos. Puedes especificar a quién. tiene la capacidad de referir claves públicas en varios niveles. Esta capacidad viene con él. El mecanismo de autenticación es transitivo. Phil Zimmermann, el autor de PGP, dijo: "No es transitivo". . Pero es un tonto el que cree que el presidente nunca miente, pero obviamente yo no creo que el presidente nunca mienta. ”

La seguridad de la clave pública es el núcleo de la seguridad de PGP y no entraré en detalles aquí. Al igual que el sistema tradicional de clave única, la confidencialidad de la clave privada también es decisiva. la clave pública En otras palabras, no hay problema de manipulación de la clave privada, pero sí de fuga. La clave privada de RSA es un número muy largo y es imposible que los usuarios la recuerden. para permitir a los usuarios especificar una clave privada RSA generada aleatoriamente. Una contraseña (contraseña; fase) solo se puede liberar para su uso proporcionando la contraseña. El método de cifrar la clave privada con una contraseña es tan confidencial como el propio PGP, por lo que la seguridad de. La clave privada es en realidad, en primer lugar, para el usuario. La confidencialidad de la contraseña. Por supuesto, la confidencialidad del archivo de clave privada en sí también es peligrosa, porque todo lo que el cracker necesita es utilizar métodos exhaustivos para detectar su contraseña. es una capa de seguridad que se pierde aquí. Recuerde, como cualquier clave privada, mantenga su clave privada en secreto y no permita que nadie más tenga acceso a ella.

La cuidadosa consideración de los problemas de seguridad por parte de PGP se refleja en cada aspecto de PGP. Por ejemplo, la clave real para cada cifrado es un número aleatorio. Todo el mundo sabe que las computadoras no pueden generar números verdaderamente aleatorios. El programa PGP es muy cauteloso con la generación de números aleatorios. La generación de números aleatorios clave, como las claves RSA, se basa en la semilla de números aleatorios obtenida del intervalo de tiempo entre las miradas al teclado del usuario. El archivo randseed.bin en el disco está cifrado con la misma seguridad que el correo electrónico. Esto evita efectivamente que otros analicen el patrón de su clave de cifrado real de su archivo randseed.bin.

Aquí me gustaría mencionar el procesamiento de precompresión previo al cifrado de PGP. El núcleo de PGP utiliza el algoritmo PKZIP para comprimir el texto sin formato antes del cifrado. Por un lado, en el caso de los correos electrónicos, el texto cifrado comprimido, cifrado y luego codificado con 7 bits puede ser más corto que el texto sin formato, lo que ahorra tiempo de transmisión de la red. Por otro lado, una vez comprimido el texto sin formato, en realidad es equivalente a una transformación. La información es más confusa y desorganizada, y la resistencia a los ataques de texto sin formato es más fuerte. El algoritmo PKZIP utilizado en PGP está aprobado por el autor original. El algoritmo PKZIP es un algoritmo de compresión reconocido con buena tasa de compresión y velocidad de compresión. Lo que se utiliza en PGP es el algoritmo compatible con PKZIP versión 2.0.

Bien, presentaré el tema de la seguridad de PGP en el artículo "Seguridad de PGP". He dicho todo lo anterior sólo para que todos sepan que PGP es muy seguro, siempre que siga el método de uso correcto. Para obtener información sobre la instalación y el uso de PGP, consulte el artículo "Instalación y uso de PGP; 2.6.3i". Si no comprende algo de vocabulario al leer documentos en inglés, intente encontrar pistas en el artículo "Glosario de PGP". PGP;2.6.3i es la versión de PGP que recomiendo a todos. Para preguntas detalladas sobre esta versión, consulte el artículo "PGPi; Preguntas y respuestas".

Los artículos firmados con PGP se pueden ver en todas partes en Internet hoy, y la versión de PGP también se está actualizando rápidamente. Se dice que PGP;3.0; Cada vez más personas en todo el mundo utilizan PGP y nosotros, los chinos, también deberíamos prestar atención a proteger nuestros derechos legales de privacidad. Traduje y compilé estos artículos para promover el uso de PGP en China. Aunque todavía es algo nuevo, tenemos que ver que definitivamente crecerá rápidamente en el espacio de Internet (CyberSpace). Aunque China comenzó tarde, no es mucho peor que Estados Unidos.