Por que a Qypher é segura.
Para técnicos: explicamos, no nível dos princípios de design, com que abordagem a Qypher garante sua segurança.
Primeiro — o que esta página omite de propósito.
Esta página descreve a segurança da Qypher na forma das "propriedades e princípios que a protegem". Já os detalhes de implementação — tamanho das chaves, combinação exata dos algoritmos, estruturas de dados internas — são deliberadamente omitidos: publicá-los só serviria a um atacante e não é necessário para entender a segurança. A segurança da Qypher não se baseia em esconder o design, mas nas próprias propriedades aqui descritas.
1. Projetado sem senhas
As credenciais são tokens gerados pela máquina, não senhas memorizadas por pessoas. Os riscos próprios das senhas — reutilização, adivinhação, phishing de um segredo memorizado — simplesmente não ocorrem.
2. Nenhuma credencial bruta é armazenada (apenas hashes unidirecionais)
O banco de dados da Qypher nunca guarda as credenciais de forma reversível. Ele mantém apenas um hash unidirecional — um valor transformado do qual o original não pode ser recalculado. Assim, mesmo que o banco vaze, não é possível extrair credenciais utilizáveis. Dados pessoais como nomes e endereços também são armazenados totalmente criptografados, de modo que, mesmo em um vazamento, seu conteúdo não poderia ser lido diretamente.
3. Gerado com um CSPRNG
As credenciais são produzidas por um gerador de números pseudoaleatórios criptograficamente seguro (CSPRNG) e nunca dependem de entradas previsíveis como a hora; por isso não podem ser enumeradas nem reproduzidas por adivinhação.
4. Os tokens usam criptografia autenticada (à prova de adulteração)
O token contido no código QR não só é criptografado, como também protegido na integridade. Qualquer token alterado ou falsificado é rejeitado com certeza na verificação. Não é possível montar um token válido a partir de informações parciais.
5. As credenciais são verificadas como um todo indivisível
Vários componentes são verificados juntos como uma única unidade. Conhecer apenas uma parte não autentica, de modo que não há margem para atacar os componentes individualmente.
6. O resultado de login é verificado junto com seu destino (antidesvio)
O resultado de login inclui a informação de destino — "para qual site" — e é selado de modo que não possa ser alterado depois. O site receptor verifica a autenticidade desse selo antes de aceitá-lo. Por isso, um atacante não consegue interceptar o resultado no caminho e reutilizá-lo em outro site (falso).
7. O compartilhamento de dados parte do consentimento do usuário (o usuário mantém o controle)
Por padrão, cada site recebe apenas o mínimo: o ID Qypher e o resultado da verificação de idade (sim/não). A idade real e a data de nascimento nunca são enviadas — apenas se o usuário cumpre o requisito de idade do site (o resultado é incluído por padrão para que uma verificação de idade obrigatória não possa ser burlada recusando-se a enviá-lo). O compartilhamento de qualquer outra coisa só é decidido quando estão presentes tanto a solicitação do site quanto a permissão do usuário; dados não autorizados pelo usuário nunca são enviados. Os dados solicitados e os termos de cada site são exibidos no login, e o usuário pode consentir após conferir.
※ Contudo, como um site trata os dados depois de compartilhados é responsabilidade dele, e a Qypher não garante isso.
8. Revogação imediata (reemitir invalida o Cartão Qypher anterior)
Reemitir um Cartão Qypher torna o anterior inválido no mesmo instante. Em caso de perda, ou se algo parecer estranho, o usuário pode reemiti-lo a qualquer momento para invalidar a credencial anterior. Mesmo em caso de vazamento, o período de exposição é mantido no mínimo.
9. Sessões do lado do servidor + expiração por inatividade
As sessões são verificadas no servidor, e no cliente não se guarda nenhum segredo que sirva de base de confiança. Após um período de inatividade, a sessão expira automaticamente. Por design, nada cujo roubo importe fica no cliente.
10. Defesa em camadas no perímetro
A API é protegida por várias camadas — detecção automatizada de abusos, bloqueio baseado em reputação e filtragem de bots (os critérios e limiares específicos não são divulgados).
11. A determinação da idade é centralizada no lado da Qypher
A Qypher determina a idade a partir da data de nascimento registrada, mas transmite a cada site apenas o resultado de se o usuário cumpre o requisito de idade do site (sim/não), e não a idade exata. A data de nascimento e a idade real permanecem dentro da Qypher e nunca chegam ao site (enviar a idade exata a cada vez poderia permitir deduzir a data de nascimento pela mudança do valor; por isso só o resultado é compartilhado). Assim, cada site não precisa coletar nem gerenciar a data de nascimento ou a idade.
Além disso, cada site pode definir seu próprio limite de idade e escolher se os usuários abaixo dele são simplesmente bloqueados (restrição de idade) ou permitidos com confirmação de um responsável (para menores de 13, a confirmação de um responsável é a regra básica).
※ Trata-se de uma determinação com base na data de nascimento registrada, não de uma verificação de idade por documentos oficiais.
12. A mesma criptografia em que governos e bancos confiam
Em vez de criptografia própria, usamos cifragem consagrada mundialmente, adotada também por órgãos governamentais e pelo setor financeiro. São métodos confiáveis, examinados durante anos por especialistas do mundo todo. Toda a comunicação é protegida por TLS. Nunca apoiamos a segurança apenas em esconder o design.
Em resumo, contra o que isso protege.
- Mesmo que o banco de dados vaze: as credenciais usadas na autenticação são armazenadas apenas como hashes unidirecionais, então nenhuma credencial diretamente utilizável pode ser obtida.
- Mesmo que um Cartão Qypher seja fotografado ou copiado: uma reemissão invalida o antigo na hora, e falsificação ou adulteração é detectada pela criptografia autenticada.
- Mesmo se for direcionado a um site falso: como o destino do resultado de autenticação é verificado, ele não pode ser desviado para o site de um atacante.
- Dados não autorizados pelo usuário não são transmitidos: um site só recebe o que está na interseção de "sua solicitação" e "a permissão do usuário"; nenhuma informação não autorizada circula por conta própria.
Por que não publicamos os detalhes de implementação. Porque são informações que só serviriam a um atacante. A segurança do design é garantida pelas propriedades listadas acima. Se você descobrir uma vulnerabilidade, agradecemos que nos avise pelo formulário de contato antes que ela seja explorada.
Veja como instalar
Contato / relatar uma vulnerabilidade
Qypher = QR + Key + Cipher
A segurança vem do design, não do segredo.