URL de protección de contraseña usando AES en el navegador.
¡El bloqueo de enlaces ahora admite marcadores ocultos y ocultos a través de marcadores! Lea más aquí.
Link Lock es una herramienta para encriptar y descifrar URL. Cuando un usuario visita una URL encriptada, se le solicitará una contraseña. Si la contraseña es correcta, el bloqueo de enlace recupera la URL original y luego redirige allí. De lo contrario, se muestra un error. Los usuarios también pueden agregar sugerencias para mostrar cerca de la solicitud de contraseña.
Cada URL cifrada se almacena completamente dentro del enlace generado por la aplicación. Como resultado, los usuarios controlan todos los datos que crean con el bloqueo de enlace. Nunca se almacena nada en un servidor, y no hay cookies, seguimiento o registro.
Link Lock tiene muchos usos:
robots.txt Link Lock utiliza AES en modo GCM para cifrar de forma segura contraseñas, y PBKDF2 y SHA-256 salados (100,000 iteraciones) para una derivación de clave segura. El cifrado, el descifrado y la derivación clave son realizadas por la API SubtleCrypto . El vector de inicialización se aleatoriza de forma predeterminada, pero la sal no lo es. El usuario puede habilitar o deshabilitar la aleatorización del vector de inicialización como la sal puede habilitar o deshabilitar por el usuario a través de "opciones avanzadas". El vector de sal e inicialización se envía con los datos cifrados si se generan aleatoriamente. La API está versión de tal manera que los viejos enlaces cifrados siempre funcionarán, incluso si las versiones posteriores del bloqueo de enlaces se actualizan para ser más seguros. Lea el código ( api.js en particular) para obtener más información.
Lea la discusión de noticias del hacker aquí.
También se discutió en R/NetSec y se discute en R/Programming.
El código fue escrito para ser leído. Léelo, especialmente si no confía en mí para crear una aplicación de cifrado segura. En particular:
SubtleCrypto . Link Lock se puede usar para evadir la censura. Si le preocupa que enviar enlaces con el nombre de dominio jstrieb.github.io lo ponga en riesgo, simplemente reemplace el dominio con otro. Por ejemplo, compartir
https://wikipedia.org/#eyJ2IjoiMC4wLjEiLCJlIjoiYUgrNDhISkpBWWhkeFFMc0l0VlIzeFlma21mYlZCOFJ5Zz09In0=
en lugar de
https://jstrieb.github.io/link-lock/#eyJ2IjoiMC4wLjEiLCJlIjoiYUgrNDhISkpBWWhkeFFMc0l0VlIzeFlma21mYlZCOFJ5Zz09In0=
Cualquier dominio se puede usar en lugar de wikipedia.org . De esa manera, un tercero malicioso que haga clic en el enlace alterado se llevará a una página válida, lo que ayuda a aliviar la sospecha. Al compartir la contraseña para desbloquear el enlace, explique cómo cambiar el nombre de dominio con jstrieb.github.io/link-lock , o con la ruta a un clon local de bloqueo de enlace. El uso de una copia local se recomienda particularmente para evadir la censura, ya que nunca se realiza una solicitud a mi dominio.
Alternativamente, pegue el enlace alterado directamente en la página Decrypt. Esta página no verifica el nombre de dominio del enlace pegado, solo el "fragmento" (la parte después del # ). Entonces, por ejemplo, el enlace de Wikipedia anterior se puede pegar directamente allí y descifrarse sin cambiar el dominio.
También se recomienda usar una copia local de las páginas de URL. Las páginas web completas se pueden compartir de manera segura y secreta de esta manera.
Este proyecto se mantiene activamente. Si no hay compromisos recientes, ¡significa que todo ha estado funcionando sin problemas! Incluso si se actualiza el protocolo de almacenamiento de enlaces, el bloqueo de enlaces está diseñado para ser 100% compatible con el retroceso, por lo que sus enlaces bloqueados nunca se romperán.
Incluso si algo me sucediera, y no podría seguir trabajando en el proyecto, Link Lock continuará funcionando mientras mi cuenta de GitHub esté abierta y el dominio Jstrieb.github.io esté en línea.
Gracias a aquellos que ofrecieron comentarios sobre este programa antes de su lanzamiento. Gracias también a la piscina de segunda oportunidad de Hacker News.
Gracias a @iammandatory por descubrir una vulnerabilidad de XSS reflejada como resultado de permitir protocolos no hiperitos en la URL. La vulnerabilidad se ha solucionado desde entonces.
Gracias a Guillaume (@gverdun) por traducir el bloqueo de enlace al francés y alojar una versión traducida. Del mismo modo, gracias a Nele Hirsch (@ebildungslabor) por traducir y organizar una versión alemana, y a Piotr Wereszczyński (@yoursenseicreeper) por traducir y organizar una versión polaca.
Hay algunas cosas que puede hacer para apoyar el proyecto:
¡Estas cosas me motivan a seguir compartiendo lo que construyo, y proporcionan validación de que mi trabajo es apreciado! También me ayudan a mejorar el proyecto. ¡Gracias de antemano!
Si insiste en gastar dinero para mostrar su apoyo, le animo a que haga una donación generosa a una de las siguientes organizaciones. Al abogar por las libertades de Internet, organizaciones como estas me ayudan a sentirme cómodo publicando el trabajo públicamente en la web.