Colección de citas famosas - Colección de máximas - ¿Qué es una clave de seguridad?

¿Qué es una clave de seguridad?

Clave de seguridad Edite la clave de seguridad de red para esta sección.

Solo la clave privada puede descifrar datos cifrados con la clave pública. En cambio, sólo la clave pública puede descifrar los datos cifrados con la clave privada. Es esta asimetría la que hace que la criptografía de clave pública sea tan útil. La autenticación mediante criptografía de clave pública es un proceso de verificación de identidad, cuyo propósito es convencer a una entidad de que la otra parte es quien dice ser. A continuación se utiliza un ejemplo sencillo para describir cómo verificar fácilmente la identidad utilizando un sistema de criptografía de clave pública. NOTA: Las claves siguientes indican que algo se ha cifrado o descifrado utilizando la clave.

1. Prototipo de cifrado y descifrado

Supongamos que A quiere autenticar a B. B tiene un par de claves, es decir, una clave pública y B pone su clave pública. Revelado a A (cómo lo hace se discutirá más adelante). Luego, A genera un mensaje aleatorio y lo envía a B..a-gt; Brand-Message B cifra este mensaje con su clave privada y devuelve el mensaje cifrado a AB's-private-Key A recibe este mensaje; y luego lo descifra con la clave pública enviada por B. Compara el mensaje descifrado con el mensaje original y, si coinciden, sabe que se está comunicando con B. Un intruso no debería conocer la clave privada de B, por lo que no puede cifrar un mensaje aleatorio que A quiere comprobar correctamente.

2. Firmas digitales

A menos que sepas exactamente qué estás cifrando, cifrar algo con tu clave privada y luego enviarlo a otra persona nunca es algo bueno. Esto se debe a que los datos cifrados pueden traicionarte (recuerda, solo tú puedes cifrarlos porque solo tú tienes la clave). Por lo tanto, B no cifra el mensaje original enviado por A, sino que construye un resumen del mensaje y lo cifra. El resumen del mensaje se extrae del mensaje aleatorio de alguna manera y tiene las siguientes características: - El resumen es difícil de revertir, cualquiera que se haga pasar por B no puede obtener el mensaje original del resumen - El impostor no puede encontrar un mensaje diferente con el mismo resumen. Al utilizar resúmenes, B puede protegerse. Primero calcula y cifra el resumen del mensaje aleatorio que le envió A, y luego devuelve el resumen cifrado a A. A puede calcular el mismo resumen y la identidad de B puede autenticarse descifrando el mensaje de B y comparándolo. Este proceso es la legendaria firma digital. a- gt;Hola, ¿eres B? b- gt; A a, esta es b {digest [a, esta es b]} la clave privada s de b. Cuando B usa este protocolo, sabe qué mensaje envía a A y no le importa firmarlo. Primero envía el mensaje no cifrado "A, este es B" y luego el resumen cifrado. Es fácil para a juzgar que B es B y B no firmó nada que no quisiera firmar.

3. Distribuir claves públicas y certificados

¿Cómo distribuye B de manera confiable su propia clave pública? Supongamos que el protocolo de autenticación es así: a->B hola B- gt; A Hola, soy B, B's - clave pública A- gt; pruébalo B- gt; a, esta es b]} b's -private-key Si usa este protocolo, cualquiera puede ser b, todo lo que necesita es una clave pública y una clave privada. Le mientes a A y dices que eres B, luego reemplazas la clave pública de B con tu propia clave pública y luego usas algo cifrado con tu clave privada para demostrarlo, de modo que A no pueda decir que no eres B. Para resolver este problema, ISO inventó algo llamado certificado. Un certificado incluye lo siguiente: - El nombre del emisor del certificado - La comunidad a la que se envía el certificado - La clave pública del sujeto - Algunos certificados con marca de tiempo están firmados con la clave privada del emisor del certificado y todos conocen la clave pública del emisor del certificado ( es decir, el emisor del certificado tiene el certificado, etc.). Los certificados son la forma estándar de vincular una clave pública a un nombre. Utilizando la tecnología de certificados, cualquiera puede determinar si B está falsificado mirando el certificado de B. Suponiendo que B controla estrictamente su clave privada y que efectivamente es B quien obtuvo el certificado, entonces todo está bien.

El siguiente es el acuerdo de indemnización: a-> B Hola B- gt; A Hola, soy B, B's - certificado A- gt Pruébalo B- gt; b ]} clave-privada-s de b Cuando A recibe el primer mensaje de B, puede verificar el certificado, verificar la firma (como se indicó anteriormente, utilizando cifrado de clave pública y abstracta) y luego verificar el asunto (el nombre de B) para determinar si es Verdadero. o falso. De esta manera, ella cree que la clave pública es la clave pública de B y luego le pide a B que pruebe su identidad. B repite el mismo proceso anterior, calcula el resumen del mensaje, lo firma y lo envía a A. A puede usar la clave pública obtenida del certificado para verificar el resumen del mensaje de B y determinar su identidad.

4. Evite la manipulación de datos y el código de verificación de mensajes.

Supongamos que hay una mala persona h. Aunque no puede descubrir el secreto intercambiado entre A y B, puede interferir y destruir su conversación. . Por ejemplo, si H está entre A y B, puede optar por devolver la mayor parte del mensaje y continuar transmitiéndolo sin cambiarlo, pero destruyendo bits específicos. a- gt; Hola H- gt; B Hola B- gt; Hola, soy B, certificado de B H- gt A Hola, soy B, certificado de B- gt; - gt;H A, este es B{ digest[A, este es B]} B's - clave privada H- gt;A A, este es B{ digest[A, este es B]} B's- Clave privada A- gt; , aquí hay una clave pública H- gt para el secreto B; OK, aquí hay una clave pública secreta B- gt; clave secreta para un determinado mensaje H- gt; {algún mensaje} clave-secreta]h permite pasar datos; sin cambios hasta que A y B comparten un secreto. Entonces H entra en este modo cambiando el mensaje enviado por B a A. En este momento, A cree en B, entonces puede creer en el mensaje modificado y luego actuar en consecuencia. Tenga en cuenta que H no conoce el secreto; todo lo que puede hacer es destruir los datos cifrados con la clave secreta. Es posible que no pueda producir información válida utilizando este protocolo, pero la próxima vez puede que tenga suerte. Para evitar esta infracción, A y B introdujeron un código de autenticación de mensajes (MAC) en su protocolo. La MAC se calcula en función de la clave y los datos transmitidos, y las propiedades del algoritmo de resumen anterior se pueden utilizar para construir funciones MAC resistentes a H. Mac: = resumen [un mensaje, secreto] Debido a que H no conoce la clave, no puede calcular el valor correcto de este resumen. Incluso si H cambia el mensaje aleatoriamente, sus posibilidades de éxito son muy pequeñas si los datos agregados son grandes. Por ejemplo, al utilizar MD5, A y B pueden enviar valores MAC de 128 bits en sus mensajes. La probabilidad de que h adivine el valor MAC correcto es 18,446,744,073,709,551,665438 1. El siguiente es un acuerdo de muestra, que ha sido revisado: a-> B Hola B- gt; A Hola, soy B, B's - certificado A- gt Pruébalo B- gt; ]} clave privada de b ok b, aquí hay una clave pública de b secreta {algún mensaje, MAC} clave secreta h Ahora estamos en problemas. Puede cambiar cualquier mensaje, pero el cálculo del MAC revelará su fraude. a y B pueden encontrar el valor MAC falsificado y detener la conversación, por lo que H no puede falsificar el mensaje de B. Pero eso no impide que H siga repitiendo como un loro. Si H graba la conversación, es posible que no conozca el contenido de la misma, pero puede reproducirla. De hecho, H puede hacer cosas muy desagradables entre A y B.