Segurança e criptografia
Uma sessão remota mostra a tela de alguém e permite que você trabalhe no computador dessa pessoa. O ShareDesk foi feito para que só os dois computadores da sessão possam vê-la, o cliente decida quem entra e cada etapa possa ser verificada.
- Criptografia de ponta a ponta. Tela, som, entradas, área de transferência, chat, arquivos, terminal e túneis trafegam criptografados diretamente entre os dois computadores. As chaves nunca saem deles.
- Nosso servidor só faz a conexão. Ele ajuda os dois computadores a se encontrarem e repassa o pedido de conexão. Ele não pode ver nem descriptografar a sessão.
- Dispositivos verificados. Cada instalação tem sua própria chave. Os dois lados comprovam quem são, e um código de segurança permite compará-la nas duas telas.
- O cliente mantém o controle. Ninguém entra sem um sim ou uma senha definida pelo dono, um banner mostra cada sessão e um clique a encerra.
1. Criptografia de ponta a ponta
Cada sessão é criptografada de ponta a ponta com os padrões abertos também usados por serviços de videochamada (WebRTC). Ela está sempre ativa e não pode ser desligada:
- A tela trafega como um fluxo SRTP criptografado com AES-GCM; as chaves são combinadas diretamente entre os dois computadores via DTLS.
- Todo o resto – mouse e teclado, área de transferência, chat, som, transferências de arquivos, o terminal e túneis para outros dispositivos – trafega em canais criptografados com DTLS da mesma conexão.
- As chaves existem só nos dois computadores. Elas são criadas de novo a cada conexão e nunca são enviadas ao nosso servidor nem a um relay.
2. O que o nosso servidor faz – e o que não faz
Antes que dois computadores possam conversar diretamente, eles precisam se encontrar. Essa é a única tarefa do nosso servidor:
- Ele repassa o pedido de conexão: o nome, a empresa e a foto do técnico, e o endereço IP de onde veio o pedido, para que o cliente possa decidir.
- Ele repassa os detalhes técnicos de que os dois computadores precisam para se alcançar. Eles são apagados assim que são buscados; o que sobrar é removido em poucos minutos.
- Tudo isso funciona por HTTPS. Um ID do ShareDesk só pode ser usado pelo próprio computador, então ninguém consegue se passar por outra pessoa.
- Ele nunca recebe a sessão em si: nada de tela, entradas, arquivos ou chat.
Quando uma rede não permite uma conexão direta, a sessão passa por um relay. Um relay só encaminha os dados já criptografados; ele não tem chaves e não consegue lê-los.
3. Dispositivos verificados e o código de segurança
A criptografia só vale tanto quanto a certeza de que você está falando com o computador certo. O próprio ShareDesk verifica isso:
- Cada instalação do ShareDesk tem sua própria chave de dispositivo (ECDSA P-256), guardada nas Chaves do Mac ou, no Windows, protegida pelo sistema.
- No início de cada sessão, os dois computadores assinam exatamente esta conexão com sua chave de dispositivo, dentro do canal criptografado. Um computador que não consegue comprovar sua chave não obtém sessão.
- Os computadores conhecidos são lembrados. Se um ID do ShareDesk conhecido de repente aparecer com uma chave diferente, o app ShareDesk encerra a sessão em vez de continuar em silêncio.
- Os dois lados mostram um código de segurança de seis dígitos. Se ele for igual nas duas telas, não há ninguém no meio.
No visualizador web, a conexão é criptografada da mesma forma, mas um navegador não tem uma chave de dispositivo própria. Essas sessões são marcadas como “não verificada (navegador)” no computador do cliente.
4. O cliente decide
- Todo pedido é mostrado. O cliente vê o nome, a empresa e a foto do técnico, o ID do ShareDesk e de onde vem o pedido, e escolhe o que o técnico pode fazer. “Aceitar” só fica ativo depois de um instante e não pode ser acionado com a tecla Return, então nada é aceito por engano. Pedidos sem resposta desaparecem após 60 segundos.
- Sete permissões separadas: controle, área de transferência, arquivos, som, tela de privacidade, terminal e túneis. Cada uma pode ser desligada antes ou durante uma sessão; sem “controle”, o técnico só pode assistir.
- Sempre visível. Durante uma sessão, um banner mostra quem está conectado, com um botão Encerrar e um botão para ocultar a tela. Se o técnico gravar a sessão, o banner avisa.
- O microfone do cliente. Os técnicos só ouvem o cliente enquanto o microfone do cliente está ligado. O banner mostra isso, e o cliente pode desligá-lo a qualquer momento. Se a sessão não permitir, a pessoa diante do computador é consultada primeiro; em uma sessão não supervisionada em que ninguém responde em 30 segundos, ele é ligado.
- Bloquear e limitar. IDs podem ser bloqueados; as listas de permitidos e de bloqueio aceitam IDs e endereços IP. Pedidos recusados repetidamente do mesmo ID são retidos pelo servidor.
- Só uma senha de acesso não supervisionado, uma senha de uso único ou um técnico em quem o cliente escolheu confiar pula a pergunta – veja abaixo.
5. Acesso não supervisionado
Para acessar seus próprios computadores sem ninguém diante da tela, você define uma senha neles. O ShareDesk nunca envia essa senha:
- O computador não guarda a senha em si, só um valor derivado dela, nas suas Chaves, legível apenas naquele dispositivo.
- Para se conectar, o app do técnico responde a um desafio aleatório de uso único (HMAC-SHA256) e assim comprova que conhece a senha sem revelá-la. Uma prova não pode ser reutilizada e fica vinculada à conexão criptografada.
- Após cinco senhas ou códigos errados, o ID fica bloqueado por dez minutos.
- Códigos de dois fatores (TOTP, como nos apps autenticadores) podem ser exigidos adicionalmente; cada código funciona uma única vez.
- Na janela de início de sessão após uma reinicialização, só a tela e o controle estão disponíveis – nada de arquivos, terminal ou túneis.
- Opcionalmente, o Mac se bloqueia quando a última sessão termina.
Se você salvar uma senha de acesso não supervisionado no seu catálogo de endereços enquanto estiver com a sessão iniciada na conta, a chave derivada é armazenada com a sua conta e compartilhada com os colegas com quem você compartilha esse computador, para que eles também possam se conectar. Use uma senha forte e compartilhe esses computadores apenas com pessoas que devem ter acesso.
6. Contas de técnico
As contas são opcionais; elas servem para equipes que querem um catálogo de endereços compartilhado, perfis e um registro de sessões.
- As senhas são armazenadas apenas como hash bcrypt e precisam ter pelo menos dez caracteres.
- Um login vale por no máximo 180 dias; sair o encerra na hora. O servidor guarda apenas um hash dele, e o Mac o guarda nas Chaves.
- Tentativas de login malsucedidas repetidas são desaceleradas por endereço e por conta.
- Os links de convite expiram após 30 dias.
- O login em dois fatores pode ser ativado em qualquer conta: depois da senha, um código de um app autenticador ou um código de recuperação de uso único. Os apps para Mac e Windows também o pedem.
- Chaves de acesso permitem que os técnicos entrem na conta web com Touch ID, Face ID, Windows Hello ou o celular em vez de uma senha; uma chave de acesso conta como login em dois fatores.
7. Apps e atualizações assinados
- O app para Mac é assinado com um Apple Developer ID, usa o hardened runtime e é notarizado pela Apple.
- As atualizações são assinadas (Ed25519). O app só instala uma atualização se a assinatura corresponder à nossa chave – no Mac e no Windows.
8. Dados e localização
- Nossos servidores são operados pela MarketVision AG na Suíça.
- Sem conta, o servidor não guarda nada sobre suas sessões além dos detalhes de conexão de curta duração descritos acima. Com uma conta, ele armazena seu catálogo de endereços, perfis e – se você o sincronizar – seu registro de sessões; a política de privacidade lista tudo, incluindo relatórios de diagnóstico e por quanto tempo os dados são mantidos.
- O app não usa rastreamento, análises nem publicidade. O site usa o Google Tag Manager com um banner de consentimento; a política de privacidade o descreve.
9. Encontrou uma vulnerabilidade?
Por favor, avise-nos antes de publicá-la: info@marketvision.ch. Descreva o que você encontrou e como reproduzir; responderemos e corrigiremos o mais rápido possível.