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 …
- ¿Cómo puede ocurrir un ataque de malware en una base de datos móvil?
- Cómo encontrar todos mis correos electrónicos y contraseñas
- ¿Por dónde empiezo a aprender sobre piratería informática y ciberseguridad?
- ¿Qué tipo de herramientas de seguridad / red existen para dispositivos móviles? ¿Y cuáles son sus mejores ejemplos?
- ¿Qué software monitorea los recursos del sistema y de la red y notifica al personal de seguridad de la red cuando detecta una posible intrusión?
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.