Bueno, un problema hasta hace muy poco tiempo (es decir, ¡la semana pasada!) fue que las implementaciones de Math.random () en la mayoría de los navegadores eran, francamente, basura. V8 (el motor de Javascript detrás de Chrome y NodeJS) y < a href="http://jandemooij.nl/blog/2015/11/30/testing-math-random-crushing-the-browser/"> Spidermonkey (el motor de Firefox) usó PRNG con períodos demasiado cortos , y hay evidencia que sugiere que IE y Edge también han roto PRNGs. Esto significa que si hay alguna llamada a ellos desde cualquier elemento de una capa que dependa de ellos, habrá un conjunto limitado de resultados posibles. Ahora, esto aún puede ser un montón de resultados (alrededor de 590 millones, para el caso V8), pero eso es mucho menos que el ideal 2 ^ 132 (5,444,517,870,715,015,413,993,718,908,291,383,296).
Esto significa que cualquier ataque tiene una probabilidad mucho mayor de éxito: interceptar datos en tránsito y luego atacar sin conexión. Puede tomar un tiempo, pero AES es rápido en los procesadores modernos, y las computadoras son baratas.
Otros problemas con esto podrían ser: ¿cómo puede asegurarse de que no haya extensiones en uso? El navegador está fuera de su control. ¿Cómo puede estar seguro de que no hay fallas por descubrir en IPFS? Los profesionales de la seguridad tienden a preferir los sistemas que han sido objeto de muchos ataques, y no se han roto, a los nuevos sistemas que no se han probado tanto. Incluso si la teoría matemática es perfectamente sólida, ¿es correcta la implementación? Un error tipográfico o una adición incorrecta podría dar lugar a un problema masivo: consulte Heartbleed.
También hay problemas con otras partes de la infraestructura del navegador que pueden afectar a algunos tipos de criptografía en el navegador. La interfaz de FileWriter está en desuso, lo que significa que cualquier cosa más grande que la memoria del navegador no se puede descifrar de manera confiable (no hay una forma sensata de escribirla en el disco; curiosamente, FileReader funciona bien para el cifrado). Falta el soporte del navegador para las operaciones de encriptación: Windows y Linux pueden usar llamadas nativas para AES en la actualidad, en procesadores modernos, pero se necesitaría trabajo para que los navegadores puedan hacer lo mismo.
Estamos llegando, pero aún no es un problema resuelto. Si IPFS resiste el escrutinio, los fabricantes de navegadores implementan fuentes de aleatorización mejoradas, y así sucesivamente, estará cerca. Sin embargo, no parece probable que el problema de la extensión desaparezca: la gente parece estar atada a sus bloqueadores de anuncios, y probablemente no quieran intercambiar seguridad por no tener ninguna extensión activada para anuncios.