¿Hay implementaciones de "cifrado en secreto" en el mundo real?

17

Imagina algo como TrueCrypt donde el usuario A puede descifrar sus archivos, o 3 de los 10 directores de su organización pueden descifrar los archivos de A. Según tengo entendido, esto es similar a la forma en que se protegen las claves de raíz DNSSEC . Obligatorio wiki entradas . ¿Alguien sabe de alguna implementación comercial o de código abierto de cifrado de archivos utilizando el intercambio secreto?

    
pregunta scuzzy-delta 18.07.2011 - 06:10
fuente

8 respuestas

6

Quiero decir que el producto comercial PGP ha tenido esta característica durante al menos 10 años. Actualmente tiene esta característica ahora:

enlace y enlace

    
respondido por el Jeff Ferland 18.07.2011 - 21:57
fuente
21

Hay al menos dos implementaciones gratuitas que forman parte de Ubuntu Linux e implementan la división y combinación secretas de Shamir:

  • gfshare: página de manual de Ubuntu: gfshare - explicación de Shamir Secret Sharing en gf (2 ** 8) proporciona herramientas para compartir en secreto (gfsplit y gfcombine) que pueden dividir un archivo arbitrario en recursos compartidos, así como una biblioteca para uso de los desarrolladores.

  • El paquete " ssss " proporciona el programa ssss-split que le solicita una frase de contraseña que no puede tener más de 128 caracteres, para dividirse en un conjunto de frases para compartir. Luego, el programa ssss-combine solicita suficientes frases compartidas e imprime el secreto.

gfshare trabaja directamente con archivos, mientras que ssss se usaría para dividir una frase de paso que luego se puede usar con gpg o openssl u otra utilidad de cifrado. Entonces gfshare parecería más simple para su caso de uso.

    
respondido por el nealmcb 18.07.2011 - 16:17
fuente
5

Aquí hay una biblioteca de Shamir's Secret Sharing que reuní en Python: enlace .

Es realmente sencillo dividir secretos:

>>> from secretsharing import SecretSharer
>>> shares = SecretSharer.split_secret("c4bbcb1fbec99d65bf59d85c8cb62ee2db963f0fe106f483d9afa73bd4e39a8a", 2, 3)
['1-58cbd30524507e7a198bdfeb69c8d87fd7d2c10e8d5408851404f7d258cbcea7', '2-ecdbdaea89d75f8e73bde77a46db821cd40f430d39a11c864e5a4868dcb403ed', '3-80ebe2cfef5e40a2cdefef0923ee2bb9d04bc50be5ee308788af98ff609c380a']

... y recupera secretos:

>>> SecretSharer.recover_secret(shares[0:3])
'c4bbcb1fbec99d65bf59d85c8cb62ee2db963f0fe106f483d9afa73bd4e39a8a'

Y admite una gran cantidad de formatos secretos y de uso compartido, como las claves privadas de Bitcoin y base32:

>>> from secretsharing import BitcoinToZB32SecretSharer
>>> shares = BitcoinToZB32SecretSharer.split_secret("5KJvsngHeMpm884wtkJNzQGaCErckhHJBGFsvd3VyK5qMZXj3hS", 2, 3)
['b-aweuzkm9jmfgd7x4k595bzcm3er3epf4dprfwzpprqa3exbuocs9byn4owfuqbo', 'n-btetgqqu8doacarsbyfdzpyycyj6gfdeaaxrpfx33pdjk4ou1d5owjdmdi1iegm9', 'd-njh33f14q7smucmh8iq8uaewc8mzub3mzptrwsegfiz3hc1fozkkjtguc4trh6sq']
    
respondido por el Ryan 29.05.2014 - 23:18
fuente
4

El crossover físico / de TI viene con escenarios de Break Glass para emergencias: los poseedores de una parte del secreto los recuperan de sus cajas fuertes e ingresan una frase de contraseña para aprobar los permisos de acceso de emergencia a corto plazo. Esto es bastante común en organizaciones grandes, especialmente en servicios financieros.

No he visto una implementación en el mundo real de la solución puramente técnica a la que creo que te refieres, donde el algoritmo de cifrado se enfrenta con x de las teclas y para desbloquear.

Me pregunto cuál sería el escenario que lo requeriría como una solución sobre algo tan simple como el escenario de vidrio roto que mencioné.

    
respondido por el Rory Alsop 18.07.2011 - 15:43
fuente
3

Vault de Hashicorp utiliza el intercambio secreto de Shamir como parte de el proceso de" anulación de sellado " que lee y desencripta los secretos del backend de almacenamiento.

    
respondido por el Xiong Chiamiov 19.02.2016 - 01:01
fuente
2

La empresa con la que trabajo actualmente tiene esto en su lugar utilizando PGP. Se utiliza para procedimientos de custodia de claves. La llave maestra que puede descifrar todo se almacena en componentes en las bolsas selladas. Solo cuando 3 personas se juntan, pueden descifrar los secretos de otra persona.

    
respondido por el Henri 18.07.2011 - 15:30
fuente
1

El uso compartido de claves también se utiliza en los módulos de seguridad de hardware, por ejemplo, para desbloquear la cuenta del administrador. En la documentación de Amazon CloudHSM, la clave compartida se explica bastante bien: Amazon CloudHSM: Acerca de M de N

    
respondido por el Benedikt Köppel 31.07.2013 - 17:42
fuente
0

Trabajo en una empresa que utiliza VSS de forma extensiva para nuestro producto de encriptación (getvida.io).

Este documento resume la técnica bastante bien: enlace

  • Las claves para el sistema de encriptación de la nube de Vida se dividen mediante acciones secretas "verificables".

  • Los compromisos de coeficiente se basan en la curva elíptica DLP para la seguridad, en lugar de la exponenciación del campo principal.

El valor de VSS (en general, no solo en nuestro caso de uso), es que alguien puede agregar y eliminar dispositivos de seguridad sin exponer secretos, a la vez que se asegura que las acciones recién construidas se derivan del secreto original.

Esto evita que un atacante engañe a un usuario de esquema de umbral para que aplique una clave no válida. (Lo que, a su vez, podría usarse para forzar la filtración de información).

    
respondido por el Erik Aronesty 20.11.2018 - 15:47
fuente

Lea otras preguntas en las etiquetas