6 minute read
Criptografía para aseverar la identidad
50
Consideremos la cantidad de operaciones que tendríamos que realizar si –como sucede en el mundo real– tuviéramos que elevar a números tan grandes como los ya mencionados. RSA ha aguantado la prueba del tiempo: Lleva casi 40 años siendo uno de los algoritmos de mayor uso para la criptografía de llave pública. El costo computacional de cifrar y descifrar, sin embargo, es muy alto; hay mecanismos en puerta que gradualmente lo irán reemplazando, como los de curvas elípticas. Sin embargo, la principal belleza del hack de RSA consiste en la simplicidad y elegancia: Como aquí se expuso, no hace falta conocimientos muy avanzados de matemáticas para comprenderlo; los fundamentos de operación de curvas elípticas requieren de un conocimiento matemático mucho más profundo.
Advertisement
Recapitulando lo abordado en esta sección, los pasos para la generación de un par de llaves se resume en:
p, q : primos, aleatorios
n = pq
ϕ(n) = (p − 1)(q − 1)
e : aleatorio, 1 < e < ϕ(n), primo relativo a ϕ(n)
d = e −1 m´od ϕ(n)
Llave pública: (n, e); llave privada: d
Cifrar un mensaje m: c = me m´od n
Descifrar un mensaje c: m = cd m´od n
51
Entonces, hasta el momento hemos desarrollado los conceptos de qué significa un hacker (así como un hack), por qué prácticamente toda la historia de la criptografía (y particularmente cuando se le ve como una disciplina científica) puede verse como un hack sobre otro. Una vez desglosado el funcionamiento de RSA, no debe sorprender a los lectores que a éste se le aplique un hack más, uno de gran elegancia y belleza.
¿Qué pasa si se aplica el mismo proceso antes descrito, pero empleando las directivas criptográficas al revés?
Esto es: Dado que cifrado y descifrado son operaciones simétricas (aunque cada una hecha con llave complementaria a la otra), ¿qué pasa si en vez de cifrar con la llave pública del destinatario y descifrar con la privada, alguien cifra con su propia llave privada, y el destinatario descifra con la llave pública del remitente? Considerando que, si bien el módulo n es únicamente parte de la llave pública, ésta es necesariamente del conocimiento de su propietario, ¿qué propiedades tendría un mensaje m generado por el propietario, elevado a su llave privada? Esto es:
s = md m´od n v = se m´od n
Sí, al hacer este simple cambio introdujimos dos nuevas letras, s y v. Invito al lector a dar una segunda lectura al sencillo proceso descrito en este par de párrafos, e intentar comprender su funcionamiento antes de que arruinemos la sorpresa con una explicación (misma que inicia a continuación).
52
Dado que la llave privada d está única y exclusivamente en posesión de su propietario, cualquier operación que requiera de d tiene que haber sido hecha por éste. Y si esta operación puede ser invertida por su contraparte, la llave pública e, cualquier persona que conozca e, obtenga un mensaje cifrado y lo valide con la misma función que resultaría en cifrarlo para el propietario, puede asegurar que el mensaje digital proviene de éste. Y por eso esas nuevas letras: Se eligieron en inglés, por signature (firma) y verification (verificación).
Este hack es el fundamento básico
6
en día como “firma electrónica”. de lo que conocemos hoy
La firma electrónica presenta propiedades muy superiores al símil del cual toma su nombre en el mundo “real”, la firma autógrafa: Si bien la firma autógrafa es reconocida como un rasgo biométrico (esto es, una forma de asegurar la identidad de la persona que “forma parte” de la persona, del mismo modo que una huella dactilar, los patrones en su iris u otros varios), es un rasgo biométrico relativamente débil: no es muy resistente a un ataque de falsificación.
La firma autógrafa presenta siempre un grado de variabilidad, y por medio de la copia y repetición, no es difícil que una persona cualquiera pueda falsificar la firma de otra razonablemente bien para pasar una inspección casual; hay mecanismos que brindan mayor certeza a un análisis grafológico, pero el
6
El lector interesado en una mayor comprensión al respecto deberá agregar a su arsenal criptográfico el uso de funciones digestoras o hash, que no abordaremos en el presente texto, y permiten la distribución de un documento entero en claro con una pequeña firma adosada, lo cual resulta mucho más práctico y común en el uso diario.
53
verdadero valor de la firma autógrafa a lo largo del mundo es que su verificación típicamente puede realizarse a ojo. Si se requiere una autenticación biométrica fuerte sobre un procedimiento, resultará preferible hacerlo sobre rasgos que presenten mayor permanencia y sean más difíciles de duplicar, como los ya mencionados entre otros.
Además, si bien la firma autógrafa puede dar cierto grado de confianza respecto a la identidad de su generador, no exhibe relación alguna con el documento al que ampara. Esto es, a pesar de que mi firma autógrafa tiene cierto grado de variación, éste es completamente independiente de la razón para la cual estoy firmando. De esta práctica vienen expresiones que forman claramente parte de la cultura popular — Expresiones como “dar un cheque en blanco” hacen claro que comprendemos los peligros de estampar nuestra firma en un documento que no sabemos a qué nos está comprometiendo
La firma electrónica es en este aspecto completamente diferente de la autógrafa: Si bien las llaves criptográficas empleadas para firmar y verificar un documento se mantienen constantes, la firma resultante depende por completo del documento firmado; las firmas generadas por un mismo par de llaves son completamente diferentes entre sí, pero se validan a la misma identidad empleando las funciones matemáticas que ya discutimos.
Y es precisamente la firma electrónica, y no el ocultamiento de información que nos proporciona el cifrado, la operación criptográfica más importante para el funcionamiento de la economía sobre la red como la conocemos hoy en día. Pese al
54
imaginario popular, que diría que lo importante es “esconder los 16 dígitos, fecha de expiración, y número de seguridad de mi tarjeta de crédito”, resulta mucho más importante la existencia de un “contrato”: Un documento firmado que garantice que yo soy efectivamente la persona que solicitó determinado movimiento de fondos.
Estoy seguro que muy pocos de los lectores recuerdan haber realizado una operación de firma criptográfica desde un navegador web — Si bien es posible hacerlo, el modelo de uso de cómputo lo dificultaría. Por poner un ejemplo, yo puedo realizar una compra con tarjeta de crédito desde mi computadora o desde cualquier otra; el navegador no contiene un “certificado criptográfico” validando mi identidad. Cada vez que requiero dar mi tarjeta de crédito, capturo los números ya citados, y éstos son transmitidos cifrados — Eso sí, la contraparte (el comerciante) sí presenta al cliente un certificado asegurando su identidad, como el presentado en la figura 1.6. Es sin duda importante comprender el modelo de confianza basado en autoridades certificadoras (Housley, Ford, Polk, & Solo, 1999)(Yee, 2013) que lleva a creer en los datos aseverados por estos certificados, aunque excede del ámbito contemplado por el presente trabajo.
Claro, los números de la tarjeta de crédito requieren indudablemente de la protección de un cifrado fuerte — Pero para la historia transaccional, resulta mucho más importante resulta lo siguiente que ocurre, ya fuera del control del usuario final.
La transacción más importante en una compra en línea es la que sostienen el comerciante y la empresa a la que el usuario