Passar para o conteúdo principal
Todas as coleçõesDesenvolvimento
Segurança Online e o Handy
Segurança Online e o Handy

Entenda como o Handy opera enquanto online, suas limitações e o quão seguro ele é.

Atualizado essa semana

Uma questão comum que potenciais usuários do Handy tem é sobre a segurança do dispositivo considerando que o dispositivo necessita uma conexão constante com a internet para sincronizar com conteúdo e funções. Quando algo tão pessoal quanto masturbação está envolvido, é importante entender exatamente qual o papel da conexão e que tipo de dados estão sendo transmitidas.

Como uma visão geral, nós implementamos as seguintes questões de segurança quando lidando com a conectividade do Handy.

  • Criptografia de ponta-a-ponta entre o Handy e nossos servidores através de HTTPS

  • Suas conexões com os serviços de terceiros só é identificável pela sua chave de conexão, que você pode trocar a qualquer momento.

  • Mudanças de chave de conexão são feitas em um nível de hardware e terceiros não serão capazes de descobrir sua chave de conexão se você não compartilhar ela.

  • A configuração do Handy é feita localmente via Bluetooth, que tem um limite de 10 metros no sinal.

Vamos ver algumas questões feitas frequentemente


É verdade que movimentos sincronizados com conteúdo requer uma conexão a internet?

Sincronização de movimento perfeito requer uma conexão de internet. Você pode sincronizar vídeos através de Bluetooth usando ferramentas da comunidades como Buttplug.io, Intiface e ScriptPlayer.

Reprodução via Bluetooth não foi feita por nosso time, nós somente adicionamos um comando e a incrível comunidade fez o resto.

No entanto, nós geralmente não recomendamos este métodos pela experiência não vai ser tão precisa quanto o método Online, isso é devido ao desenvolvimento limitado que foi feita na interface Bluetooth.

Por que a sincronia perfeita requer uma conexão com a internet? Não é possível tornar essa função Offline ou através de Bluetooth?

Nós acreditamos na simplicidade e interatividade online.

Devido a recursos limitados, nós temos que escolher uma direção e seguir nela. A solução online nos permite integrar rapidamente com provedores de conteúdo. A maioria desses serviços são baseados na web e controlar um dispositivo local requer muito mais esforço desses serviços comparado a adicionar nosso SDK em JavaScript com algumas linhas de código.

Outro aspecto a se pensar é operacional: nós não temos a capacidade de oferecer suporte técnico de três métodos de sincronização diferentes. Precisamos focar em manter o que temos estável e sem erros. Precisamos de tempo para crescer de uma start-up pequena para uma empresa completa e estável.

Por que não deixar a comunidade fazer o trabalho e liberar o código do servidor como "Open-Source"

A resposta honesta para isto é que isso é nossa propriedade intelectual, portanto nós não queremos que isso vire público. Nós temos uma empresa para gerir, no fim do dia. Porém isso colide com nossa ambição de construir o produto com a comunidade.

Nosso código de servidor e firmware vão permanecer fechados, mas com o máximo de transparência possível. Todo o resto deve estar aberto. Nós visamos ter nossos sites e produtos em um Git público para transparência e recomendações da comunidade.

Quais tipos de dados são enviados ao servidor do Handy?

Se o usuário está sincronizando com um arquivo FunScript, o script inteiro é enviado para nossos servidores, convertido para um arquivo CSV e então baixado dos nossos servidores para o Handy. Se você está hospedando um arquivo CSV em um servidor (Local ou remoto), o seu Handy baixa ele diretamente.

Se tem algum metadata no FunScript, ela nunca é lida. Somente o arranjo de ações do FunScript é convertido para CSV. Quando o seu Handy baixa o script, ele é armazenado como um valor em SHA256 do script contido na memória.

Por exemplo:

Nome do script: "Video 123"

Arranjo de ações: Alternar entre posição 0 e 100 por 2 segundos.

Resultado em Valor SHA256:

0767c52c7b5f8a996a57d742e6508ccf7fd1daa4266ade0a12e1b8d9b5fb25c5.

Atualmente o Handy só pode ter um script por vez, mas isso pode mudar no futuro com atualizações ao dispositivo e firmware

Como isso funcionar com serviços que não são baseados em script? Tais quais jogos, com movimentos imprevisíveis.

Eles funcionam enviando um chamado de API através dos nossos servidores. Exemplo com o começo de modo de Movimento Alternativo. (HAMP)

  • Você aperta "Start" em qualquer aplicativo conectado ao Handy, incluindo HandyFeeling

  • O serviço envia um pedido de API para nossos servidores. Você pode ler mais sobre o pedido especifico aqui:
    https://www.handyfeeling.com/api/handy/v2/docs/#/HAMP/start

  • O comando é transformado por nossos servidores para a "Linguagem do Handy" e envia para o seu dispositivo. Nosso servidor sabe qual Handy ele precisa enviar baseado na chave de conexão que você digitou no aplicativo em uso.

  • Nosso servidor então registra que uma sessão de controle remoto começou, todas as informações são embaralhadas, incluindo a chave de conexão.

O Handy pode ser "Hackeado"?


Os riscos enquanto você usa o Handy são mínimos. Aqui uma explicação dessa operação do nosso CTO, Alexander:

"Uma dica geral: Se está online, pode ser "hackeada" ou manipulada. Tendo dito isso, irei descrever o sistema de conexão do Handy.

A chave do Handy é gerada dentro do seu Handy usando ruído na sua antena de Wi-Fi para gerar uma chave verdadeiramente aleatória. Gerar uma nova chave torna a antiga inútil. Não existe registro histórico de chaves. Isso torna difícil o rastreamento para aplicativos de terceiros que precisam conectar ao nosso API para controlar o seu Handy. Eles não recebem um IP do seu Handy quando se conectam ao nosso API. Nosso sistema de conexão servidor-Handy usa o método de "fire and forget" (Enviar e esquecer). Quando você envia o comando, o sistema checa se tem um dispositivo com essa chave online, ele não verifica uma base de dados para verificar se essa chave existe. Se o dispositivo está online a mensagem é transformada e enviada para o dispositivo.

Fica na conta do dispositivo de responder ou não. Isso significa que você precisaria usar força bruta para checar todas as chaves possíveis para ver se tem um dispositivo com a chave que você está testando online. O tamanho da chave é uma variável de 5 a 32 caracteres, com minúscula, maiúscula e números. Isso dá 26+26+10 = 62 caracteres.

Para as menores chaves possíveis, são 625 = 916.123.862 combinações.

Para as chaves maiores isso da em 6232 = 2.272.657.884.496.751.345.355.241.563.627.544.170.162.852.933.518.655.225.856 combinações para testar.

Mas vamos dizer que o sistema é invadido usando força bruta e sua chave é roubada. O invasor pode controlar seu dispositivo enquanto estiver online. Não é o maior problema de segurança, não é ideal, mas eles não terão acesso a coisas como seu histórico de pesquisa, informações de pagamento, etc. Então, você pode simplesmente trocar a chave e o invasor não seria capaz de usa-la novamente.

Outra coisa que nós diríamos é que o Handy é Offline por padrão. Você deve manualmente apertar o botão de ativar o Wi-Fi no nível de Hardware toda vez que você liga o Handy. É sua escolha colocar o dispositivo online.

Um poderia dizer que seria melhor criar um dispositivo completamente Offline, mas trazer seu dispositivo para o online você tem acesso a atualizações de firmware e o poder do API. Nós gastamos nosso tempo no hardware, a conexão do servidor e os desenvolvedores de terceiros para criar aplicativos para seu dispositivo. Com nosso sistema de chave de conexão, eles não vão ter acesso direto ao dispositivo. Se você quer revogar esse acesso, basta trocar a chave.

Privacidade por padrão é muit importante para nós. Uma coisa boa é que existe muito pouco dinheiro a ser feito desses dados comparado a outros serviços que você talvez use. Isso tira a pressão dos engenheiros de coletar dados no futuro também."


Respondeu à sua pergunta?