PrivateSphare
PrivateSphare é uma plataforma segura, anônima e de conhecimento zero para armazenamento e compartilhamento de arquivos. Ela permite que os usuários carreguem arquivos e recebam uma frase-senha legível de 24 palavras para recuperação. Sem contas, sem rastreamento e nenhum dado não criptografado jamais toca o armazenamento persistente do servidor.
🛡️ Principais Funcionalidades
- Segurança Pós-Quântica: Os arquivos são criptografados usando um esquema Híbrido Resistente a Quantum (Kyber1024 + AES-256-GCM) que protege contra futuras ameaças de computadores quânticos.
- Criptografia de Conhecimento Zero: Os arquivos são criptografados no contexto do navegador (intenção do lado do cliente) usando uma chave derivada de uma frase-senha BIP-39 de 24 palavras.
- Privacidade de Metadados: Nomes de arquivos e tipos MIME são criptografados antes de serem armazenados no banco de dados.
- Armazenamento Opaco: Os arquivos são armazenados no S3/MinIO sob chaves UUID aleatórias. Nem mesmo um administrador pode identificar quais arquivos estão armazenados.
- Autodestruição:
- Expiração Automática: Os arquivos são automaticamente excluídos 24 horas após o upload, via políticas de ciclo de vida do S3.
- Limpeza na Recuperação: Arquivos e metadados são imediatamente destruídos assim que são recuperados com sucesso.
- Limites Duais: Limite padrão de upload de 100MB, desbloqueável para 1GB mediante um código Premium.
- Interface Moderna: Design totalmente responsivo com suporte automático a Modo Escuro e um fluxo de segurança "Concluído" para proteger frases-senha no histórico do navegador.
🛠️ Stack Tecnológico
- Backend: Rust (Axum, Tokio, Tower-HTTP)
- Banco de Dados: SurrealDB (v2.1.4)
- Armazenamento: MinIO (Compatível com S3)
- Frontend: Templates Handlebars, Tailwind CSS
- Segurança: Argon2id KDF, Kyber1024 (PQC), Criptografia AES-256-GCM, Hash SHA-256, JWT (para sessões Premium)
🚀 Primeiros Passos
Pré-requisitos
- Docker & Docker Compose (ou Podman & Podman Compose)
1. Configuração
Copie o arquivo de ambiente de exemplo e atualize seus segredos:
Edite .env para definir seu SURREAL_PASS, S3_SECRET_KEY, PRIVATE_SPHARE_PREMIUM_CODE e PRIVATE_SPHARE_JWT_SECRET.
2. Implantação
Execute a stack completa:
docker-compose up -d --build
(Ou podman-compose up -d --build)
A aplicação estará disponível em http://localhost:3000.
🔒 Arquitetura de Segurança
- Derivação de Chave: A frase-senha de 24 palavras é submetida a hash SHA-256 e então processada pelo Argon2id com um sal único de 16 bytes para derivar uma semente de 64 bytes.
- Camada Pós-Quântica: A semente é usada para gerar deterministicamente um par de chaves Kyber1024. Um segredo compartilhado é encapsulado usando a chave pública, produzindo um texto cifrado Kyber.
- Criptografia Simétrica: O segredo compartilhado é usado para criptografar os dados com AES-256-GCM.
- Layout de Armazenamento: O blob final contém o sal, nonce, texto cifrado Kyber e texto cifrado AES. Essa abordagem híbrida garante que, mesmo se o AES clássico for comprometido, a camada de PQC permaneça segura.
📜 Licença
Criado por Daniel Shamany. Projetado para privacidade.