Firmas Digitales
Imagina este guión. Tu banco decide mandarte el estado de banco del mes por e-mail. Verificas tu inbox y encuentras el estado en una fijación. ¿Cómo sabes que estás mirando el mismo documento que te manda el banco y que no fue cambiado mientras viajó por el espacio de cyber y alrededor el mundo a tu inbox? ¿Cómo sabes que vino por tu banco?
Encuentra firmas digitales – una medida de seguridad usada para verificar la fuente de un documento y asegurar que el documento no ha sido cambiado, análogo a la firma actual de una persona.
Si el banco había firmado el estado digitalmente, puedes asegurarte que sí viene del banco y no ha sido cambiado.
Como funciona
Una firma digital, siendo un tipo de la criptografía de claves públicas o criptografía asimétrica de clave, usa un par de claves relacionadas matemáticamente, llamada la clave pública y la clave privada para encriptar y decriptar la data. El documento para ser firmado se corta a un resumen de mensaje único y de tamaño fijado usando cualquier de los algoritmos populares del hashing como MD5, para aumentar la eficaz del proceso del firmar. La clave privada de la persona quien firma el documento se usa para encriptar el resumen del mensaje. Un certificado digital conteniendo la clave pública de la persona identifica que esa clave pública sí es de la persona que lo firmó. Este certificado se proporciona por una agencia de certificar como VeriSign, Entrust y GeoTrust. El resumen del mensaje y el certificado digital juntos se llaman la firma digital. Esta firma es empotrada dentro del documento y transmitida a lo largo del documento.
Un Certificado Digital
Al lado de recibir, un resumen del mensaje fresco del documento se engendra usando el mismo algoritmo de hashing que fue usado para firmarlo. Entonces, el resumen del mensaje encriptado que es una parte de la firma digital está decriptado usando la clave pública y el resumen del mensaje resultante está comparado con el que fue engendrado del documento original. Si los digiere, podemos concluir el siguiente:
> El mensaje no fue cambiado
Un resumen del mensaje es único a un texto dado. Haciendo modificaciones minores al texto resultará en un resumen del mensaje diferente. Puedes tratar esto. Aquí está una enlace a un applet que encontramos que computa el SHA1 o MD5 hash por un texto dado.
http://www.jensign.com/JavaScience/www/messagedigestj2/index.html
Imagina que cortamos el texto: “Este es algún texto que estamos usando para mostrar que cambios pequeños modificarán el resumen del mensaje resultante.”
Recibimos el hash de MD5 como “5824 A3D2 AD810CC070FCA69F64B3E1F2.”
Ahora modificamos el mismo texto como “Este es algún texto que estamos usando para mostrar que cambios pequeños modificarán el resumen del mensaje resultante” (el período al fin fue quitado).
Ahora recibimos el MD5 como “9B524A8370638AFF9962F3182A807680,” cual es completamente diferente del otro valor. Advierte que el cambio (aún un carácter) produce otro valor.
> La identidad del emisor es verificada y genuina
Si no fuera el caso, la clave pública en el certificado digital decriptaría el resumen del mensaje a algo diferente del resumen del mensaje actual cual no igualaría el resumen del mensaje engendrado.
Por eso firmas digitales se usan para verificar la identidad y la integridad de un documento transmitido por el Internet.
Referencias
- An introduction to Digital Signatures, by David Youd.
- http://www.youdzone.com/signature.html
- Digital Signature Guidelines Tutorial.
- http://www.abanet.org/scitech/ec/isc/dsg-tutorial.html
- Digital signatures - Improve document authenticity and integrity.
- http://www.adobe.com/security/digsig.html
- MessageDigest Applet (Java Plugin Version).
- http://www.jensign.com/JavaScience/www/messagedigestj2/index.html