Hoy en día contamos con una gran cantidad de navegadores web para elegir, tanto para escritorio como para nuestros dispositivos móviles (independientemente de la base sobre la que están construidos), algunos de estos están enfocados en áreas en específico, por ejemplo los navegadores VR, pero escuchar sobre navegadores P2P, no es algo muy usual.
Y es que este tipo de navegadores, a diferencia de Chrome, Firefox o Safari, que se usan para acceder a páginas en internet y se conectan a servidores remotos que almacenan las páginas web y te las muestran en tu pantalla. Un navegador P2P opera de manera diferente, ya que en lugar de depender de servidores lejanos, se conecta directamente con otros usuarios que también están usando ese mismo navegador y esto puede ser útil porque hace que la conexión sea más directa y a veces más rápida, además, puede proporcionar más privacidad porque la información no pasa por tantos servidores.
Ceno en navegador web P2P para Android
Ceno es navegador web que se enfoca en proporcionar acceso a la información en situaciones donde el acceso directo a internet puede ser imposible, como durante cortes de red o ataques. Este navegador utiliza el motor GeckoView y se ha mejorado con capacidades para intercambiar datos a través de una red P2P descentralizada. En esta red, los usuarios participan en la redirección del tráfico hacia puertas de enlace externas que ofrecen acceso a la información.
La funcionalidad P2P está integrada en una biblioteca separada llamada Ouinet, que puede ser utilizada en diversas aplicaciones. Tanto el navegador CENO como la biblioteca Ouinet permiten acceder a información incluso en situaciones extremas, como cortes globales de internet. En tales casos, el contenido puede ser distribuido desde la caché o el almacenamiento local.
El proyecto utiliza el almacenamiento en caché de contenido por usuario, manteniendo una caché descentralizada de contenido popular. Cuando un usuario visita un sitio web, el contenido descargado se almacena en la caché localmente y se comparte con los participantes de la red P2P que no pueden acceder directamente al recurso o a las puertas de enlace. Cada dispositivo solo almacena los datos solicitados directamente desde ese dispositivo y la identificación de las páginas en la caché se realiza a través de un hash de la URL, y todos los datos adicionales relacionados con la página, como imágenes, scripts y estilos, se agrupan y se presentan juntos bajo un único identificador.
Para acceder a contenido nuevo al que no se puede acceder directamente, Ceno utiliza gateways proxy especiales ubicados en partes externas y no afectadas de la red, donde aún es posible establecer una conexión. La comunicación entre el cliente y la puerta de enlace se asegura mediante cifrado de clave pública. Además, se emplean firmas digitales para identificar puertas de enlace legítimas y prevenir la inserción de puertas de enlace maliciosas. Las claves de las puertas de enlace aprobadas por el proyecto se incluyen en la entrega del navegador.
Para acceder a la puerta de enlace, cuando la conexión directa no es posible, se admite una conexión en cadena a través de otros usuarios que actúan como intermediarios para reenviar el tráfico a la puerta de enlace. Esta comunicación se realiza de manera segura, cifrando los datos con la clave de la puerta de enlace para evitar el acceso no autorizado o la manipulación del tráfico.
El navegador prioriza la entrega de solicitudes directas, y si esta falla, busca en la caché distribuida. Si la URL no está en la caché, se accede a la puerta de enlace a través de otro usuario o mediante una conexión directa al gateway proxy. Es importante destacar que los datos confidenciales, como las cookies, no se almacenan en la caché para garantizar la seguridad y la privacidad de los usuarios.
Cada sistema en la red P2P cuenta con un identificador interno para el enrutamiento, independiente de la ubicación física del usuario. La integridad de la información se asegura mediante firmas digitales (Ed25519), mientras que el tráfico se cifra con TLS. Se utiliza una tabla hash distribuida (DHT) para acceder a la estructura de la red, los participantes y el contenido en caché.
Es importante destacar que Ceno no ofrece anonimato y registra la información de las solicitudes en los dispositivos de los participantes (por ejemplo, mediante hashes que revelan los sitios visitados). Para garantizar la privacidad en solicitudes sensibles, como el acceso a cuentas de correo o redes sociales, se recomienda utilizar una pestaña privada separada. En esta pestaña, los datos se solicitan directamente o a través de una puerta de enlace proxy, sin acceder ni almacenarse en el caché de la red.