una proceso hacer gratis funciona firma electronico electronica documentos desventajas como certificado cryptography authorization digital-signature identification

cryptography - proceso - firma electronica y firma digital



Qué usar? ¿Firma digital? (4)

Lo siento, no pude encontrar el mejor título para esta pregunta. Lo siguiente es mi requisito.

Estoy trabajando en un proyecto que trata qué gran cantidad de transacciones de dinero a una cuenta diferente. El sistema transfiere dinero automáticamente a las cuentas de A, B, C, etc., pero antes de hacerlo, alguien de A, B o C debe aprobar (electrónicamente) la cantidad que se transferirá.

¿Cuál crees que es la mejor manera de hacerlo? Quiero que el sistema envíe un archivo (PDF de algo) que está firmado digitalmente (?) Y la persona autorizada de A, B y C debe verificar y confirmar que la cantidad es correcta.

Como la cantidad es alta, debo asegurarme de que el archivo enviado por el sistema no esté alterado y, al mismo tiempo, también quiero asegurarme de que el archivo (respuesta) enviado por A, B o C tampoco sea manipulado. ¿Cuál es la mejor manera de lograrlo? ¿Algunas ideas?


Digital Signatures es lo que estás buscando. Adobe PDF (dado que usted mencionó el pdf) le permite firmar el pdf en la versión gratuita de Adobe Reader y la verificación también se realiza automáticamente, tan pronto como abra el documento en formato PDF.

La diferencia entre DigSig y (H) MAC publicada por Noldorin es que los MAC utilizan cifrado simétrico, donde se requiere un canal seguro para intercambiar la clave, mientras que en un entorno PKI ese canal seguro no es necesario.

Depende de cómo quiera distribuir sus claves.


Deberá examinar los MAC (códigos de autenticación de mensajes). Hay una serie de bibliotecas para varios idiomas que implementan algoritmos comunes como HMAC .

EDITAR: Consulte también DSA ( http://en.wikipedia.org/wiki/Digital_Signature_Algorithm ), que es un algoritmo popular para firmas digitales, y se implementa completamente en el marco .NET estándar (System.Cryptography namespace).


Mi primera reacción serían las firmas digitales, pero tienen un defecto fatal: son datos digitales que podrían ser comprometidos por un usuario descuidado.

Si eso es una preocupación, puede recurrir al proceso que usan los bancos sudafricanos, una contraseña de un solo uso. Esta contraseña se transfiere a ellos a través de un medio que no está involucrado en la transacción (en Sudáfrica esto es por SMS, que recomiendo encarecidamente). Primero ingresamos un nombre de usuario y una contraseña, y luego obtenemos la OTP por medio de un mensaje de texto que luego debemos ingresar para cualquier transacción que genere dinero al salir de nuestras cuentas.

Las formas fuertes de seguridad (en aumento de efectividad) incluyen (no soy un experto, pero sí conozco algunas):

  • Conocimiento (una contraseña)
  • Posesión (una tarjeta SIM de teléfono celular que puede recibir SMSes, o una memoria USB con un certificado)
  • Ubicación (una computadora con un sistema de administración de certificados basado en hardware, CellID)
  • Tiempo (OTP caduca, la transacción debe ocurrir en un momento específico)
  • Identidad (Un lector de huellas dactilares, efectivamente una contraseña, pero terriblemente largo)
  • Unicidad (Un cable de fibra óptica codificado en la polarización de los fotones)

Por lo que sé, si tienes tres de ellos, puedes estar cómodo con tu seguridad. Agregar más aumenta la seguridad de forma exponencial, pero también aumenta el factor de inconveniencia. Los bancos usan Knowledge, Possession and Time en Sudáfrica, y el phishing realmente no funciona contra los bancos sudafricanos.

Espero que esto te haya ayudado un poco.


Para firmar digitalmente un archivo, puede usar cualquiera de los socios de Microsoft. Arx, por ejemplo, le proporciona una herramienta llamada CoSign que puede usar de forma gratuita (o al menos su versión de prueba). Esto le permitirá agregar firmas electrónicas a la mayoría de los formatos disponibles (word, pdf, xml, etc.).