Arquitetura Técnica para Dispositivos Móveis
Esta página explica como o aplicativo móvel Crisis Connect estabelece a confiança, transmite mensagens e chamadas criptografadas de ponta a ponta enquanto a internet estiver ativa, continua funcionando através do Bluetooth direto quando as redes caem e direciona os socorristas para caminhos seguros.
Código Abertoemirhan-duman/Crisis-ConnectResumo do Sistema
Modelo de Operação
Princípios de Design
Local Antes da Nuvem
O sistema é projetado para funcionar totalmente sem a internet. A camada online complementa o caminho de emergência offline, em vez de substituí-lo; os pacotes de emergência locais permanecem nos caminhos de rádio do dispositivo para dispositivo.
Antes da Rede
O comportamento padrão é Bluetooth ponto a ponto. Modos de maior alcance são aplicados apenas sob controle explícito de função, capacidade e operador.
Tempo Executivo Limitado
O design assume condições de energia limitadas e instáveis no campo, portanto, os limites da fila, os limites de repetição, os serviços em primeiro plano e o escopo de chamadas únicas são intencionais.
A Confiança é Explícita
Os contatos ficam operacionais somente após a inicialização do QR mais verificação criptográfica de liveness, e os fluxos seguros para o respondente exigem verificação baseada em certificado.
Estação de Rádio Primária
Extensões Controladas
Rede de Responders Autorizados
Canal Público GATT Opcional
Portas de Ativação Explícitas
Controles de Abuso Limitados
Confiança Bootstrap
Modelo de Identidade e Confiança
Caminho Seguro para Contatos Conhecidos
Autenticação do Residente
Requisitos de rede
Ciclo de Vida de Chaves e Certificados
Ciclo de Vida da Mensagem
Caminho de Voz
Perfil de Voz
Sequência de Chamada
Política Adaptativa
A implementação retrocede de WB para NB quando os tempos de escrita aumentam, ocorrem novamente, ou a profundidade de jitter se torna instável; ela só volta a ser atualizada após uma recuperação sustentada. Esta é uma política de continuidade limitada, não uma garantia universal de QoS.
Camada Online
Mensagens Criptografadas de Ponta a Ponta
Chamadas de Voz e Vídeo WebRTC
SOS na Internet
Modo de Resgate
Sinalização de Emergência
- O SOS acionado pelo usuário coloca o dispositivo em um estado de emergência local e emite anúncios BLE conectáveis para o serviço de resgate `0xCC00`.
- O conteúdo do anúncio permanece mínimo na configuração padrão: o sinal de rádio expõe a descoberta em nível de serviço, em vez de uma identidade totalmente autenticada.
- A transmissão de SOS foi projetada para melhorar a descoberta de respondentes próximos durante as varreduras de setores quando as redes de área ampla estão indisponíveis.
- O custo de privacidade é explícito: a capacidade de descoberta aumenta no modo SOS, portanto, consentimento, estado da interface clara e controles de taxa são importantes.
Verificação do Residente
- Após a conexão, o socorrista e a vítima trocam os desafios e respostas de autenticação em `0xCC10` e `0xCC11` e derivam uma chave de sessão ECDH efêmera.
- A prova de papel criptografada chega em `0xCC20` e deve incluir referência de certificado, escopo do papel, tempo de emissão e data de expiração.
- Verificações de validação são realizadas para assinatura, autoridade de confiança, vinculação da transcrição, expiração e autorização do papel antes que qualquer promoção segura seja permitida.
- Provas expiradas, malformadas ou de escopo incorreto são rejeitadas na entrada, em vez de serem downgradadas para o chat de resgate.
Chat de Resgate Seguro
- Somente após a verificação bem-sucedida, a vítima emite `OK` no `0xCC21`, abrindo o caminho seguro.
- Chat de resgate criptografado em ambas as direções prossegue nos endereços `0xCC30` e `0xCC31` com semântica de ACK `ENTREGUE` e `LIDO`.
- As restrições atuais incluem tamanho de pacote de papelada limitado, fragmentação consciente do MTU e um envelope de pacote de chat seguro grande, mas finito.
- Clientes não verificados nunca alcançam o canal de escrita seguro; a porta de promoção é uma barreira rígida, não uma interface UI.
Serviços em segundo plano
Serviço RfcommEmFundo
Mantém o ouvinte de transporte clássico, a sinalização de chamadas e os ciclos de vida da transferência de mídia ou arquivos para sessões locais.
Serviço GattSOSServer
Hospeda o transmissor SOS do Modo de Resgate e o ponto de extremidade de interação seguro com os socorristas usado pelas vítimas nos fluxos de resgate BLE.
Serviço GattRescueClient + Serviço MeshAware
Gerencia as sessões de resgate BLE do lado do socorrista e, quando autorizado, a descoberta e autenticação da rede Wi-Fi Aware com comportamento de reconexão limitado.
CrisisLink, Ferramentas Offline e Aplicativo para iOS
O serviço CrisisLinkForegroundService limpa os dados de telemetria em fila após a recuperação da internet validada, o serviço OfflineDownloadService gerencia as regiões de mapa offline, e o aplicativo iOS permanece ativo, mas ainda está sujeito às suas próprias verificações de disponibilidade.