|
El sistema de claves públicas RSA En base a documentación de RSA Data Security
El sistema de claves públicas
RSA El sistema de claves públicas RSA El RSA es un sistema criptográfico con clave pública tanto para encriptado como para autenticación que fue desarrollado por Ron Rivest, Adi Shamir y Leonard Adleman en 1977. Se basa en algoritmos matemáticos, en donde el encriptado y la autenticación se producen sin compartir ninguna clave secreta: cada persona utiliza sólo las claves públicas de otros usuarios y su propia clave privada. Cualquier persona puede enviar un mensaje encriptado o verificar un documento firmado por otra utilizando sólo claves públicas, pero solamente alguien que posee la clave privada correcta puede desencriptar o firmar el mensaje. El punto a tener en cuenta es que la seguridad
del sistema RSA se basa en el siguiente concepto: factorear números primos fuertes
(grandes) es difícil. El sistema RSA y el sistema DES El RSA no es una alternativa del sistema DES (de clave secreta) ni lo reemplaza, lo complementa (como cualquier otro cifrado para encriptado masivo de datos) y se utiliza junto con el sistema DES para crear un medio seguro de comunicaciones. El RSA agrega dos funciones importantes que no proporciona el sistema DES: el intercambio seguro de claves sin un previo intercambio de claves secretas y la firma digital. Para encriptar mensajes, utilizamos RSA y DES en combinación de la siguiente forma: 1. Se encripta el mensaje con una clave DES elegida al azar. 2. Antes de enviarlo por un medio poco seguro, se encripta la clave DES por medio del RSA. 3. Se envían juntos, el mensaje DES encriptado y la clave DES encriptada a través del RSA. Este protocolo se conoce como el sobre digital RSA. Se podría preguntar el motivo por el cual no se utiliza el sistema RSA para encriptar el mensaje directamente y así evitar el uso del sistema DES. Aunque podría aplicarse a mensajes cortos, el DES (u otro sistema de encriptado) es preferible en el caso de un mensaje largo ya que es mucho más veloz que el RSA. En algunas situaciones, RSA no es necesario y
basta con DES. Esto incluye a los entornos con multiusuarios donde es posible intercambiar
claves DES en forma segura, por ejemplo, si ambas partes se reúnen en privado. El sistema
RSA es poco necesario en un entorno con un solo usuario, por ejemplo, si se desea mantener
encriptados los archivos personales, solo se necesita el sistema DES. El RSA y la
criptografía con clave pública, en general, se aplican mejor en entornos con
multiusuarios. Cualquier sistema que utilice firmas digitales necesita del RSA o de algún
otro sistema con clave pública. Utilización del RSA / DES en la práctica para Encriptar El sistema RSA se combina con un sistema criptográfico con clave secreta, como DES, para encriptar un mensaje por medio de un "sobre digital RSA". Supongamos que Alicia quiere enviar un mensaje encriptado a Juan:
Utilización del RSA / DES en la práctica para Firmar Supongamos que Alicia quiere enviar un mensaje firmado a Juan:
Se debe tener en cuenta que para la autenticación o firma digital, los roles de las claves pública y privada son los opuestos que en el encriptado, donde la clave pública se utiliza para encriptar y la privada para desencriptar. En la práctica, el exponente público es mucho menor que el exponente privado. Esto significa que la verificación de una firma se efectúa más rápidamente que la firma misma. Es mejor así, ya que un mensaje o documento será firmado por un individuo una vez, en cambio, la firma será verificada varias veces. No es probable que alguien encuentre un mensaje cuyo "hash" arroje un valor predeterminado o dos mensajes cuyos "hash" arrojen el mismo valor. Si alguna de estas alternativas fuera posible, un intruso podría adjuntar un mensaje falso a la firma de Alicia. Las funciones de "hash" como MD4 y MD5 se han diseñado específicamente para demostrar que encontrar un número duplicado es casi imposible y se las considera apropiadas para utilizarlas en criptografía. La firma digital puede estar acompañada por
uno o más certificados. Un certificado es un documento firmado que atestigua la identidad
del firmante y su clave pública. Su propósito es evitar que una persona se haga pasar
por otra utilizando una clave pública fraudulentamente registrada por ésta en nombre de
otro. Si se incluye un certificado, el receptor del mensaje (o un tercero) puede comprobar
la autenticidad de la clave pública del mensaje, presuponiendo que la clave pública es
confiable. Detección de documentos alterados y/o errores de transmisión Una firma digital RSA es superior a una firma manuscrita ya que atestigua el contenido del mensaje y, al mismo tiempo, la identidad del firmante. Siempre que se utilice la función segura de "hash", no hay posibilidades de quitarle la firma a un documento y adjuntársela a otro o de alterar el mensaje firmado. El más mínimo cambio en un documento firmado
hará fracasar el proceso de verificación de la firma digital. El sistema de
autenticación RSA permite verificar la integridad de un documento firmado. Por supuesto,
si la verificación de la firma falla, no quedará claro si hubo un intento de fraguarla o
si se trató de un mero error en la transmisión de la información. La utilización del sistema RSA está experimentando una rápida expansión y puede llegar a ser omnipresente en los próximos años. Hoy en día, se utiliza en una gran variedad de productos, plataformas e industrias del mundo entero. Se encuentra en productos comerciales de software y se planea una expansión mayor. RSA está incluido en sistemas Apple, Microsoft, Netscape, Novell, Sun, etc. actuales y futuros. En cuanto al hardware, el sistema RSA se puede encontrar en teléfonos seguros, en tarjetas de redes Ethernet y en tarjetas inteligentes. El RSA se utiliza también en muchos organismos estatales estadounidenses, grandes compañías, laboratorios y universidades. La adopción del sistema RSA parece utilizarse
más rápidamente para autenticación (firmas digitales) que para una mayor privacidad
(encriptado). Quizá, esto se deba a que los productos para autenticación son más
fáciles de exportar. El sistema RSA forma parte de muchos estándares oficiales en todo el mundo. El estándar ISO 9796 (Organización Internacional de Estándares, "International Standards Organization") incluye al RSA como un algoritmo criptográfico, como así también el CCITT (Comité Internacional de Consulta en Telegrafía y Telefonía, "Consultative Committee in International Telegraphy and Telephony") mediante el estándar de seguridad X.509. El RSA forma parte de los estándares de SWIFT (Sociedad para las Telecomunicaciones Financieras Interbancarias Mundiales, "Society for Worldwide Interbank Financial Telecommunications"), de los estándares de ETEBAC 5 del sistema financiero francés y del borrador del estándar ANSI X9.31 del sistema bancario estadounidense. También el estándar australiano de administración de claves, AS2805.6.5.3 especifica RSA. El RSA se encuentra en el PEM (Correo con Privacidad del Internet "Privacy Enhanced Mail") y en el PKCS para la industria del software. El taller de implementadores de OSI (OIW) ha lanzado acuerdos entre implementadores referidos a PKCS y PEM, que incluyen al sistema RSA. Otros estándares están en etapa de desarrollo
y se anunciarán dentro de los próximos años. Se espera que muchos incluyan el RSA como
sistema adicional o recomendado para autenticación y/o privacidad. Ventajas del sistema RSA (criptografía de clave pública):
Por: Miguel Angel Fraga Volver al Comienzo de Página
|