Após um ano de desenvolvimento, foi lançada a versão 2.1.0 do navegador web móvel CENO, projetado para permitir o acesso à informação em situações em que o acesso direto é impossível, como em casos de desconexão de segmentos da internet da rede global devido a falhas ou ações maliciosas. O navegador é baseado no motor GeckoView (usado no Firefox para Android) e ampliado com a capacidade de troca de dados por meio de uma rede P2P descentralizada, na qual os usuários participam do redirecionamento do tráfego para gateways externos que garantem o acesso à informação. O trabalho do projeto é distribuído sob a licença MIT. Versões prontas estão disponíveis no Google Play.
A funcionalidade P2P foi transferida para a biblioteca separada Ouinet, que pode ser utilizada em aplicativos diversos. O navegador CENO e a biblioteca Ouinet permitem o acesso à informação em situações até mesmo de desconexão total da internet, como em caso de falhas globais. Nesse caso, o conteúdo pode ser distribuído a partir do cache ou de dispositivos locais.
O projeto utiliza o cache de conteúdo em cada usuário, mantendo um cache descentralizado de conteúdo popular. Ao abrir um site, o conteúdo carregado é armazenado no sistema local e se torna disponível para os membros da rede P2P que não conseguem acessar diretamente o recurso ou os gateways. Em cada dispositivo, apenas os dados que foram solicitados diretamente por aquele dispositivo são armazenados. A identificação das páginas em cache é feita utilizando o hash da URL. Todos os dados adicionais relacionados à página, como imagens, scripts e estilos, são agrupados e enviados juntos sob um único identificador.
Para acessar novos conteúdos, cujo acesso direto é impossível, são utilizados proxies especiais (injector), que são posicionados em partes externas não corrompidas da rede, onde ainda é possível estabelecer uma conexão. A informação entre o cliente e o gateway é criptografada utilizando criptografia baseada em chaves públicas. Para a identificação dos gateways e para evitar a inserção de gateways maliciosos, são utilizadas assinaturas digitais, e as chaves dos gateways acompanhados pelo projeto estão incluídas na distribuição do navegador.
Para acessar o gateway em situações de inacessibilidade direta, é suportada a conexão em cadeia através de outros usuários, que atuam como proxies para redirecionar o tráfego ao gateway (os dados são criptografados com a chave do gateway, o que impede que usuários transitários, através dos quais o pedido é transmitido, interfiram no tráfego ou determinem o conteúdo). Sistemas clientes não enviam solicitações externas em nome de outros usuários, mas ou entregam dados do cache ou são usados como um elo para estabelecer um túnel para o proxy-gateway.
As solicitações comuns são inicialmente tentadas diretamente pelo navegador e, se a solicitação direta não for bem-sucedida, busca-se no cache distribuído. Na ausência de URL no cache, as informações são solicitadas através da conexão com o proxy-gateway ou consultando o gateway através de outro usuário. Dados confidenciais, como cookies, não são armazenados no cache.

Cada sistema na rede P2P é equipado com um identificador interno, que é usado para roteamento na rede P2P, mas não está vinculado à localização física do usuário. A autenticidade das informações transmitidas e armazenadas no cache é garantida através do uso de assinaturas digitais (Ed25519). O tráfego transmitido é criptografado usando TLS. Para acessar informações sobre a estrutura da rede, participantes e conteúdo em cache, é utilizada uma tabela de hash distribuída (DHT). Se necessário, além do HTTP, podem ser utilizados µTP ou Tor como transporte.
No entanto, o CENO não garante anonimato e as informações sobre as solicitações enviadas estão disponíveis para análise nos dispositivos dos participantes (por exemplo, pelo hash, é possível determinar que o usuário acessou um determinado site). Para solicitações confidenciais, como aquelas que requerem conexão com sua conta de e-mail ou redes sociais, é recomendável usar uma aba privada separada, na qual os dados são solicitados apenas diretamente ou através do proxy-gateway, mas sem acessar o cache e sem permanecer no cache.
Entre as mudanças na nova versão:
- O motor do navegador está sincronizado com os componentes do Firefox 123.1.0.
- Melhorada a indicação das fontes de carregamento de conteúdo.
- O modo escuro está ativado por padrão.
- Adicionada uma configuração para exportar logs completos da operação do aplicativo.
- Uma página de espera foi adicionada durante o início da conexão.
- Foi adicionada uma configuração para gerenciar a ativação do modo de ponte.
- A lista padrão de sites recomendados foi atualizada.
Fonte: opennet.ru
