teoría de redes sociales totalmente encriptada

4

Tengo esta idea sobre la construcción de una red social que almacena todos sus datos encriptados. La idea es que los datos de un miembro se almacenen en múltiples 'servidores base' (a elección del miembro). Cada miembro tiene 3 conjuntos de datos y 3 claves de cifrado.

  • keyP para sus propios datos privados y configuraciones
  • keyF para su perfil (publicaciones, fotos, lista de amigos), le da esta clave a todos sus amigos
  • teclaA para su información pública (nombre, ciudad, etc.), también entregada a amigos. Los amigos pueden compartir este con sus amigos (esto permite a las personas encontrar amigos de amigos)

Una lista de amigos contendría la ID, la ubicación del servidor y la clave A de todos tus amigos.

Los miembros pueden cambiar los servidores de base cuando lo deseen. Cuando lo hagan, sus datos cifrados se eliminarán completamente del servidor. Cuando se agrega un servidor base, los datos cifrados se copiarán al nuevo servidor y esa ubicación se enviará a todos los amigos para que sepan dónde encontrarlo. Si un miembro quiere "eliminarse" del único servidor que ha dejado allí, debería haber alguna confirmación adicional.

He añadido un diagrama de secuencia aproximado para dar una impresión visual de lo que podría parecer.

Pregunta: ¿Crees que este concepto es realizable sin grandes problemas de rendimiento y crees que se puede mantener la seguridad?

Actualización:talvez"Red social" no sea realmente un nombre adecuado para ella, quiero que sea una plataforma con una mentalidad de seguridad en primer lugar y tratar de ser más astuto que las organizaciones similares a las de la NSA descifrar los datos (lo que requeriría tener mucho cuidado con las claves en lugar de compartirlas con todos tus amigos).

    
pregunta Edwin Otten 31.10.2013 - 16:09
fuente

3 respuestas

6

Un primer comentario genérico es que cuando le das una clave a un amigo, no hay forma de evitar que ese "amigo" envíe la misma clave a otras personas, o que hable sobre tu información semiprivada. En ese sentido, el cifrado no puede hacer una distinción útil entre "keyF" y "keyA". En una configuración de seguridad, solo hay dos categorías de información: lo que no le dices a nadie y lo que le dices a al menos una persona. Dado que sería bastante inútil cargar el anterior en cualquier servidor, podríamos decir que hay, en una red social, solo un tipo de información, que debe compartirse. Y realmente no puedes controlar hasta qué punto se comparten algunos datos.

Esto no es nuevo. La propagación de secretos a través del chisme es un fenómeno bien conocido y probablemente es tan antiguo como el lenguaje mismo.

Sin embargo, puede intentar trabajar en una configuración donde los amigos sean "confiables", es decir, mantendrán secretos (Dudo que este escenario sea práctico si el grupo de amigos incluye más de tres personas, pero bueno, siempre se puede esperar ). En ese caso, puede compartir datos revelando a estos pocos datos la clave que cifró los datos. Esto requiere un segundo comentario importante: no puede imponer el olvido.

Esto significa que si quieres "eliminar" a un amigo, no puedes hacer que "olvide" la clave que se compartió anteriormente. El único método es crear una nueva clave, compartirla con los amigos restantes y, posteriormente, cifrar sus datos solo con la nueva clave. Esto implica que eliminar personas de tu grupo de amigos implica gastos generales de distribución proporcionales al número de amigos restantes. Esto puede causar problemas de escalabilidad.

No está claro de qué estás tratando de protegerte. Los operadores del servidor? Los motores de búsqueda ? Tus amigos ? ¿Tal vez análisis de tráfico (es decir, reconstrucción del gráfico de amistad)? Esto debe definirse con gran precisión. La idoneidad de cualquier algoritmo de protocolo se puede analizar solo si sabemos qué tipo de propiedad de seguridad queremos lograr.

Todavía te insto a que consideres los comentarios genéricos anteriores. Pueden resumirse como: la propagación de datos es difícil de controlar. Resulta más sencillo pensar en las redes sociales como repositorios para datos públicos: todo lo que escriba en una red de este tipo puede volverse público o lo suficientemente cerca.

    
respondido por el Tom Leek 31.10.2013 - 16:48
fuente
3

La seguridad solo es tan efectiva como su confianza en sus amigos para no compartirla. Los sistemas distribuidos como este se han pensado antes, pero la adopción es un desafío. Realmente desea que la información se replique en múltiples servidores para que tenga redundancia y pueda hacer un seguimiento de dónde está.

Otra idea alternativa es que puede dar a cada usuario un par de claves pública / privada. Luego puede claves de datos asociadas categóricamente con cualquier elemento de datos para el que desee agrupar permisos.

Puede crear grupos de amigos creando un par de claves pública / privada para ese grupo y cifrando la clave privada con la clave pública de cada miembro del grupo. Luego, puede cifrar la clave de datos para cualquier información que desee compartir con la clave pública de un grupo o un conjunto de amigos a los que desea dar acceso.

También puede decidir confiar en el servidor para manejar la administración de claves o en el usuario final. Si está dispuesto a confiar en el servidor, puede proteger las claves para que los usuarios nunca tengan acceso a la clave privada del grupo o a las claves del elemento de datos, por lo que no pueden compartirla con otras personas, esto requiere confiar en que el servidor ganó. t mal comportarse mientras se ejecuta sin embargo. (Los ataques sin conexión aún están protegidos, ya que el servidor nunca tiene la información necesaria para usar la clave privada de cualquier usuario sin conexión).

Por otro lado, si lo hace localmente, las claves privadas y las claves de datos estarán disponibles para cualquier persona con acceso y no se pueden revocar sin volver a cifrar todo lo que alguien tuvo acceso cada vez que desee eliminar su acceso (lo que podría ser costoso). Luego, volvería a cifrar la nueva clave de datos o el par de claves de grupo para todas las personas que aún deberían tener acceso.

    
respondido por el AJ Henderson 31.10.2013 - 17:13
fuente
1

Eche un vistazo a esto:
enlace
enlace

La diáspora usa claves públicas y privadas para cifrar el contenido y la comunicación. También está descentralizado.

No tienes que reinventar la rueda; P

    
respondido por el hub 01.11.2013 - 10:54
fuente

Lea otras preguntas en las etiquetas