Dos mecanismos para la autenticación de clave pública
1. Hay tres ataques de intermediario comunes en Internet: 1) Escuchas 2) Manipulación de datos 3) Secuestro de sesión.
2. Existen tres métodos comúnmente utilizados para el cifrado de datos: cifrado simétrico, cifrado asimétrico y cifrado unidireccional.
3.ssl: Secure Socket Layer, una capa de socket segura.
4.TLS: Seguridad de la capa de transporte, similar a ssl.
5. Generador de números aleatorios: /dev/random y /dev/urandom. -Sal: depende del generador de números aleatorios.
6. Fuentes de números aleatorios: pool de entropía y generador de números pseudoaleatorios. Los números aleatorios en el grupo de entropía provienen de la interrupción del dispositivo de bloque y el intervalo de tiempo entre los clics del teclado y del mouse; los números aleatorios en el generador de números pseudoaleatorios provienen del grupo de entropía y la generación de software.
7.openssl rand [base64] num también se puede utilizar para generar números aleatorios.
8.echo–n " QQ " | OpenSSL base64, es decir, QQ codificado en base64.
Segundo, cifrado simétrico:
1. La parte que cifra y la que desencripta utilizan la misma clave.
2. La velocidad de cifrado y descifrado es relativamente rápida y adecuada para datos largos.
3. El proceso de transmisión de claves no es seguro y es fácil de descifrar, y la gestión de claves también es problemática.
4. Algoritmos de cifrado: DES (Estándar de cifrado de datos), 3DES, AES (Estándar de cifrado avanzado, admite cifrado de claves de 128, 192, 256 y 512 bits), Blowfish.
5. Herramientas de cifrado: openssl, gpg (herramienta pgp)
Tercero, cifrado asimétrico (cifrado de clave pública):
1. con un par de claves: clave pública y clave privada.
2. Cifrado de clave pública y descifrado de clave privada;
3. El proceso de transmisión de la clave pública no es seguro y puede ser robado y reemplazado fácilmente.
4. Debido a que la longitud de la clave utilizada por la clave pública es muy larga, la velocidad de cifrado de la clave pública es muy lenta y generalmente no se utiliza para el cifrado.
5. Un usuario usa su clave privada para cifrar y otros usuarios usan su clave pública para descifrar, realizando así la función de firma digital.
6. Otra función del cifrado de clave pública es implementar el intercambio de claves.
7. Algoritmos de cifrado y firma: RSA, ELGamal.
8. Algoritmo de firma de clave pública: DSA.
9. Herramientas de cifrado: gpg, openssl
IV. Cifrado unidireccional:
1. Características: efecto avalancha, salida de longitud fija, irreversible.
2. La función es garantizar la integridad de los datos.
3. Algoritmos de cifrado: md5 (longitud de clave estándar 128 bits), sha1 (longitud de clave estándar 160 bits), md4, CRC-32.
4. Herramientas de cifrado: md5sum, sha1sum, openssl dgst.
5. Calcule el valor hash del archivo, por ejemplo: md5sum/shalsumfilename, OpenSSL dgst–MD5/-sha 1 filename.
5. Dos mecanismos de intercambio de claves:
1. Implementación del cifrado de clave pública: el remitente utiliza la clave pública del receptor para cifrar su propia clave y el receptor utiliza la suya privada. La clave se descifra para obtener la clave del remitente, y viceversa, logrando el intercambio de claves.
2. Utilice el algoritmo DH: la premisa es que el emisor y el receptor acuerdan utilizar el mismo número primo grande P y el número generado G, así como los números aleatorios X e Y generados respectivamente. El remitente envía el valor generado por G elevado a la potencia de. La parte realiza la operación de potencia Y en el resultado recibido y finalmente forma la contraseña y completa el intercambio de claves.
6. Para lograr la integridad de los datos al mismo tiempo, los mecanismos de autenticación y cifrado de datos adoptados son los siguientes:
Supongamos que Bob y Ross se comunican:
1 Proceso de cifrado:
Bob usa un algoritmo de cifrado unidireccional para obtener la firma de los datos enviados (para la detección de la integridad de los datos). Bob usa su clave privada para cifrar la firma (para autenticación) y coloca la firma detrás de los datos. Bob genera una contraseña D y usa esta contraseña para cifrar la firma y los datos cifrados (implementando el cifrado de datos). Los datos generados en este momento se llaman q, y finalmente la contraseña D se cifra con la clave pública de Rose y D se coloca después de q.
2 Proceso de descifrado:
Rose usa su clave privada para descifrar y obtener D, luego usa D para descifrar para obtener los datos y la firma cifrada, y luego usa la clave pública de Bob para descifrar. la firma. Si se puede descifrar, significa que los datos fueron enviados por Bob; de lo contrario, no fue así. Finalmente, se utiliza un algoritmo de cifrado unidireccional para calcular la firma de los datos y la firma enviada se compara con la firma calculada por Rose para determinar si los datos han sido manipulados. Si los códigos de característica son consistentes, los datos no han cambiado. Si las firmas son inconsistentes, los datos han cambiado.
7. openssl:
1) Componente: libcrypto: biblioteca de cifrado.
Libssl: Biblioteca que implementa funciones ssl.
Openssl: una herramienta de cifrado multipropósito que puede proporcionar cifrado simétrico, cifrado de clave pública y cifrado unidireccional, y puede usarse como una CA local simple.
2) En el cifrado simétrico, el archivo se cifra con openssl:
OpenSSL enc-des 3-salt-a-in texto cifrado con salida de texto sin formato
Aprobado descifrado de openssl:
openssl enc -d -des3 -salt -a -in des3 -out texto sin formato
3) versión de openssl: vea la información de la versión de openssl.
4) openssl: ingrese al modo de línea de comando de openssl.
5) velocidad de openssl: prueba la velocidad de un algoritmo de cifrado para cifrar claves de diferentes longitudes.
6) En el cifrado de clave pública, openssl se puede utilizar para generar claves privadas.
Openssl genrsa especifica la longitud de la clave privada generada>; el nombre del archivo en el que se guardará.
Openssl genrsa [des3] -outEl nombre del archivo guardado especifica la longitud de la clave privada generada.
Modifique los permisos del archivo clave al generar el archivo clave: (umask 077Openssl genrsa especifica la longitud de la clave privada generada>; el nombre del archivo se guarda en)
Openssl genrsa especifica la clave privada generada. Longitud [-des3] (archivo de clave privada cifrado) > nombre de archivo para guardar.
Openssl genrsa [-des3] -outEl nombre del archivo guardado especifica la longitud de la clave privada generada.
Cuando se genera una clave privada y el archivo no está cifrado, el archivo de clave privada no cifrado se puede cifrar y guardar en el siguiente formato: archivo almacenado en la clave privada no cifrada en openssl rsa en – nombre de archivo guardado en DES 3 -afuera.
Descifrar la clave privada: openssl rsa en el archivo de clave privada que debe descifrarse; guarde el nombre del archivo -out.
7) Extraiga la clave pública de la clave privada: OpenSSL RSA–in my .key-pub out especifica el nombre del archivo para guardar la clave pública.