it-swarm-es.com

¿Qué buenos, los clientes de verificación de firma digital / de marca de tiempo estándar se implementan ampliamente o fácilmente?

Estoy buscando una buena manera de publicar datos junto con una firma digital (y, idealmente, una marca de tiempo), lo que es lo más fácil posible verificar a través de la ejecución de software localmente en los datos públicos.

Por ejemplo, imagine un administrador electoral que quiera publicar datos electorales que se va a auditar (totales por candidato por el recinto). Idealmente, no queremos exigir al público que tenga que adquirir mucho si algún software especial o propietario. Se prefieren las firmas que se adhieren a una norma abierta, se pueden validar en PC, MAC, Linux y pueden generarse por software de código abierto.

Los datos deben permanecer legibles por máquina., por lo que un PDF no es adecuado, Entonces, si se usa PDF, los datos estarían en los archivos adjuntos al PDF.

P.ej. Si generamos firmas XML (por ejemplo, por IEEE 1622-2011 archivos de marcas de elecciones (EML) para las elecciones), ¿existe una funcionalidad estándar en cualquier navegador común o sistemas operativos para validar las firmas? ¿La interfaz de usuario es lo suficientemente clara para dejarlo claro para el usuario cuando los datos se ve bien, cuando es sospechoso y cómo lidiar con los problemas comunes?

Alternativas (y preocupaciones):

  • RFC 3161 - Protocolo de sello de tiempo de internet X.509 de Internet X.509 (TSP) - ¿Qué clientes multiplataforma son amigables?
  • OriginStamp , respaldado por Bitcoin Blockchain (carga por un giro rápido)
  • Firmado PDF Descripción general con los archivos de datos adjuntos: ¿Se pueden verificar y confiar en las marcas de tiempo? ¿Pueden los usuarios ser engañados a través de certificados falsos en
  • Publique el enlace a los datos y el hash de ella a través de varias redes sociales de tiempo: KeyBase (respaldado por buenas especificaciones de cripto), Twitter (Popular), ...
  • Firmas XML
  • Publicar la hash SHA-256 en el periódico (¿cómo describir los pasos de verificación al usuario?)
  • Use un frasco (cremallera firmada) y Jarsigner (¿hay una guía agradable para verificar las firmas de jar? X.509 Validación de la ruta?)
  • Usa OpenOffice (una molestia para instalar)
  • CMS o S-MIME (¿Cómo podemos publicar un mensaje S-MIME con archivos adjuntos - IMAP público?)
  • Use GPG (pero los administradores deben ingresar en la web de confianza PGP, y los usuarios deben aprender a entenderlo)
  • Use S-http (una pena http://tools.ietf.org/html/rfc266 nunca quitó ...)
  • Usa Excel (¿hay clientes libres que puedan verificar la firma? Software de código abierto para generarlo a través de un script?)
  • "Solo sirve desde un sitio web seguro" (no se ocupa de una variedad de ataques)

¡Actualizar, 2019:

  • Lista actualizada de opciones con algunos más nuevos, y aclaró mi objetivo (en la edad de la nube) de un enfoque que se puede verificar a través del software de ejecución local. Estamos aprendiendo cada vez más que los servidores web son vulnerables al ataque, y hay ventajas para distribuir datos firmados.
  • Tenga en cuenta que EML e incluso XML están perdiendo favor en estos días
9
nealmcb

Una opción sería firmar digitalmente un mensaje con el archivo adjunto XML con S/MIME. Use una página en línea en la que los usuarios puedan ingresar su dirección de correo electrónico a la que se enviará una copia.

Otra opción sería usar un PDF firmado. El PDF Standard permite PDF Documentos que firmarán digitalmente y admiten documentos adjuntos. El XML se puede unir a la PDF como un archivo adjunto. El completo PDF, incluidos los archivos adjuntos, se firmarán.

Si desea que sea más fácil para los usuarios finales que verifiquen la firma, debe asegurarse de que use un certificado X.509 de confianza universalmente o, use su propio certificado y publique la huella digital del certificado en algún lugar.

Martijn Brinkers

4
Martijn Brinkers

¿Clientela? Eso más bien se pierde el punto. Realmente se trata de formatos de archivo y protocolos.

x509 es una piedra angular de las implementaciones de cifrado. Aunque es solo un punto de partida para implementar software, probablemente debería ser su punto de partida para buscar software.

Hace unos 10 años, necesitaba implementar un PKI para mis empleadores. La ruta que tomé fue establecer una autoridad de certificación raíz usando OpenSSL. En ese momento, la verificación X509 estaba disponible para los complementos de correo electrónico requeridos para MSoutlook Express y Eudora (¡pero no para el bate!). IIRC, estos ahora están incorporados como estándar. WinCrypt (cifrado de archivos) estaba disponible como una descarga gratuita y STUNNEL acababa de haber sido portado a MSWindows.

Ciertamente, 10 años es mucho tiempo en los círculos de cifrado, pero lo bueno de X509 es que adquiere diferentes algoritmos/tamaños clave. También se basa en la misma base que LDAP.

Más recientemente, se han implementado muchas más herramientas que utilizan el cifrado de tipo SSL, por ejemplo. GNU Anubis (OK, en realidad no agrega las Sigs, pero proporciona ganchos para llamar a OpenSSL), tarjetas inteligentes

4
symcbean

Las firmas que se adhieren a una norma abierta, pueden validarse en [...] Mac [...]

En la MAC, hay un certificado, clave y un servicio de confianza que se construye en todo el lugar. Eso significa que podría enviarles datos S/MIME y podrán inspeccionar el certificado y su camino de confianza en el cliente de correo. Por otro lado, la interfaz de usuario parece un poco de garrapata o cruz en un bar sobre el mensaje. Ese es también el problema con el uso de TLS, funciona, pero funciona en silencio, y en algunas situaciones también falla en silencio. Todo lo que está en medio necesita un conocimiento especial para comprender.

Hay un complemento de terceros para gpg en Apple mail , pero como lo observó en su pregunta, registro y posterior el uso correcto de OpenPGP es difícil .

3
user185

Si el ejemplo es un caso de uso común (publicación oficial de elección), es posible que desee considerar una página web oficial que proporciona una validación de hash criptográfica del servidor y la opción de permitir que los ciudadanos validan sin conexión para ellos mismos. La Oficina Electoral publicaría los resultados en una página que proporciona el mensaje de resultado, un hash de dicho mensaje, y una función que confirma que la hash es válida para el mensaje en el lado del servidor (acción del botón o verificación automática con el resultado de la página). Este esquema abordaría la cadena de confianza mediante la resolución del sitio a una URL de la Agencia Gubernamental legítima. La superficie de ataque sería los artefactos del lado del servidor de mensaje y hash y DNS. Teniendo en cuenta el caso de uso en el ejemplo se trata de la publicación y no la documentación original, esto podría ser suficiente, ya que el punto principal sería evitar que los errores tipográficos se reproduzcan en una diseminación adicional (periódicos, etc.).

1
zedman9991