¿Usar la criptografía es suficiente para proteger la mensajería instantánea?

A2A.

La criptografía está lejos de ser una panacea global, y siempre depende de lo que está construyendo (arquitectura), cómo la está construyendo (implementación) y por qué (objetivo de seguridad y perfil del atacante).

Por lo tanto, esta será una respuesta extraña, porque en lugar de decir que estoy “a favor” o “en contra” de su idea (gran admirador de la idea en principio) creo que debería considerar algunas cosas …

Entonces, comencemos desde el principio. ¿Qué tipo de herramienta de mensajería instantánea es esta? ¿Es una aplicación puramente basada en la web? ¿Es un servidor web que habla con un conjunto de clientes de escritorio asíncronos / sincronizados con Gchat o AIM? ¿Son sus clientes móviles (suponiendo eso debido al comentario del giroscopio)?

Además, ¿de qué tipo de persona estás tratando de protegerte? Si está tratando de protegerse de la mayoría de los piratas informáticos, muchas de las características como tor son algo innecesarias. Si está tratando de ser completamente anónimo y enviar mensajes que no pueden ser leídos por la NSA, será mejor que su arquitectura sea perfecta e implemente todo perfectamente. Incluso entonces, probablemente todavía estés jodido si realmente quieren leer lo que la gente dice.

Déjame profundizar en cada biblioteca de la que has hablado:

Bouncycastle: ¿Estás usando bouncycastle para encriptar el mensaje o el canal? Si está encriptando el mensaje, ¿cómo maneja la administración de claves? El mal manejo de las claves en el intercambio de claves es un gran defecto que puede volver a morderte si alguien intenta emplear un ataque de canal lateral.

Además, ¿maneja el cómputo para el cifrado y descifrado en el dispositivo o en el servidor? Si es lo primero, ¿cómo lidias con el éxito en el rendimiento? Si estoy cifrando o descifrando un mensaje grande en AES256 en mi iPhone, estás hablando de un gran éxito en el rendimiento. Si el cifrado / descifrado está en el servidor, ¿cómo asegurar el canal lo suficientemente bien y garantizar que no pueda robar el texto sin formato sobre el cable o en reposo en el dispositivo?

Tor: la madre de todas las características de anonimato, así como la degradación del rendimiento de la red. Si usa Tor para enviar mensajes a cualquier tipo de multimedia, lo pasará mal. Además, si no implementa Tor correctamente, puede enfrentarse a ataques conocidos como el ataque de nodo de salida estadística que puede atribuir tráfico a ciertos usuarios.

Obfsproxy: Entonces Tor es lo suficientemente bueno para la mayoría de las cosas. Si está utilizando obfsproxy, lo está haciendo porque le preocupa el tráfico entre usted y su puente más cercano.

Si es así, estás usando tu sombrero de papel de aluminio muy ajustado. Si realmente le preocupa el anonimato, al menos puede evitar la mayoría de estos problemas manejando sus nodos de salida con cuidado. Posiblemente una característica superflua a menos que su apellido sea Snowden o Manning.

Anti-forense: pasé mucho tiempo trabajando en esto en mi último trabajo e investigando esta área en la escuela. Cosas muy interesantes, y lo felicito por la idea de “limpiar” el dispositivo utilizando un PRNG del movimiento giroscópico.

Aparte de eso, esta es una de las áreas en las que realmente debe preocuparse por su objetivo de seguridad y su perfil de atacante. Por ejemplo, cryptoshredding (su “limpieza del dispositivo”) no es suficiente para detener el extremo ultra alto de los atacantes. Puede realizar ataques de canal lateral como ataques de memoria cronometrados para evitar un borrado, y la única forma en que puede realizar un borrado completo correctamente es sumergir el medio de almacenamiento en termita líquida activada e incinerarlo.

Dejando a un lado el technobabble, creo que la idea de tener una versión anónima y criptográficamente mejorada de algo como Snapchat o Groupme es una gran idea. Lograrlo requerirá una arquitectura cuidadosa y una buena gestión de productos anticuados para que no anule su seguridad o dañe tanto su rendimiento que su sistema sea inutilizable en primer lugar.

La mayoría de los sistemas nunca se rompen realmente debido al cifrado. Por lo que he visto, casi siempre se rompen a través de un ataque lateral simple en una de las bases de confianza que subyacen en el modelo de seguridad.

¿Estás haciendo una aplicación de mensajería? El proveedor de la aplicación puede inyectar el código en el momento del lanzamiento, el fabricante del hardware en el momento de la fabricación o simplemente pueden comprometerlo a usted y a sus servidores e inyectar directamente en el binario. Su protocolo está roto, y todo lo que se necesitó fue una reunión con algunos ejecutivos de la compañía o acceso a usted, lo cual es bastante fácil de lograr. Bueno, mucho más fácil que romper AES de todos modos.

Los sistemas de seguridad rara vez se rompen debido a los propios mecanismos de seguridad. Por lo general, el mecanismo es a menudo el componente más fuerte. Esta es también la razón por la cual casi todos los que están fuera de la academia no se molestan en atacarlo. Simplemente no vale la pena el tiempo ni el esfuerzo. Golpea a los jugadores, golpea los puntos de estrangulamiento y exprime la vida de los participantes para romper los sistemas de seguridad del mundo real.

La criptografía es suficiente para ralentizar a los atacantes. Esto debe ser entendido.

Se necesita poder, poder real, para detenerlos.

Una cadena es tan fuerte como su eslabón más débil. A menos que comprenda profundamente cada parte del sistema, no solo como una biblioteca de recuadro negro, sino exactamente cómo y por qué funciona el cifrado / ofuscación / etc., existe una posibilidad extremadamente alta de que esté diseñando algo que solo les da a sus usuarios una falsa sensación de seguridad, que vale menos que nada; Es mejor saber que sus comunicaciones son inseguras y planear en consecuencia que asumir que está despejado cuando no lo está.

No hay forma de que publique algo que ofrezca algún tipo de seguridad sin tener primero cada pieza, y todas las conexiones entre ellas, examinadas a fondo por expertos. No quisiera arriesgarme a que uno de mis usuarios sea decapitado por un dictador del tercer mundo como resultado de un error de mi parte.

Depende … Por ejemplo, creo que todas las soluciones criptográficas que ha mencionado anteriormente no tienen ningún valor cuando el atacante ya ha obtenido acceso al dispositivo que ejecuta su software de mensajería instantánea. Puede instalar fácilmente un key-logger en su dispositivo que capturará cualquier mensaje que cree con él antes de que llegue a la unidad de disco cifrada que tiene.

la seguridad es tan fuerte / débil como el eslabón más débil.