Roteiro de Tink

Última atualização: julho de 2023

Esta página detalha as metas de alto nível da equipe da Tink. Ele será atualizado periodicamente à medida que as metas forem alcançadas ou alteradas.

Vários repositórios do GitHub

Estamos dividindo o projeto em vários repositórios do GitHub, separados por linguagem. Isso oferece os seguintes benefícios:

  • versões separadas para cada linguagem. Isso significa que um problema no C++ não impede a execução de um lançamento para Java, por exemplo.
  • lançamentos mais frequentes
  • um conjunto reduzido de dependências disponíveis para download para cada biblioteca (por exemplo, SDKs de vários provedores de nuvem);

Melhorias na documentação

Estamos trabalhando para melhorar a documentação do Tink. Isso envolve a consolidação das fontes de documentação do Tink (tornando este site a fonte da verdade para a documentação do Tink), fornecendo exemplos atualizados e fáceis de seguir e preenchendo quaisquer lacunas na documentação. Sugestões de melhorias na documentação são bem-vindas. Use a pesquisa vinculada abaixo ou registre um bug ou uma solicitação de recurso, conforme descrito na página Contribuições.

Reformulação do conjunto de chaves e do registro

Queremos oferecer aos usuários uma maneira melhor de gerenciar as chaves em um conjunto. Isso facilitará a implementação de sistemas de gerenciamento de chaves e permitirá um suporte mais abrangente para importação e exportação de chaves para formatos diferentes, como PEM ou JWK, além de garantir que a API evite erros comuns que podem resultar em vulnerabilidades de segurança. Esse trabalho está em andamento.

Também estamos trabalhando para permitir vários registros no Tink. Isso facilitará o desenvolvimento de bibliotecas baseadas no Tink, além de facilitar a remoção e a descontinuação de algoritmos não seguros. Veja mais informações na página Registro.

Suporte do Monitoring

Adicionamos ganchos de monitoramento ao Tink. Os usuários podem usar esses hooks para coletar e analisar dados não confidenciais sobre operações criptográficas, como quais tipos de chave estão em uso ou o número de chamadas de criptografia feitas com uma chave específica.

Esse tipo de informação é útil para garantir a rotação de chaves adequada ou para criar uma lista de chaves que podem ser vulneráveis a computadores quânticos. No futuro, forneceremos um tutorial sobre como usar esses hooks.

Criptografia pós-quântica (PQC)

Estamos trabalhando ativamente em implementações de baixo nível dos algoritmos de PQC selecionados pelo NIST. Isso inclui mecanismos de encapsulamento de chaves (KEMs), especificamente Kyber/ML-KEM, e assinaturas digitais, como Dilithium/ML-DSA e SPHINCS+/SLH-DSA. Quando tudo estiver pronto, forneceremos APIs oficiais para esses algoritmos pós-quânticos na Tink. Para qualquer pessoa interessada em começar com o PQC, a Tink já fornece algoritmos experimentais de PQC em C++, cobrindo as assinaturas digitais selecionadas pelo NIST, e o NTRU-HRSS KEM (um candidato do NIST KEM que não foi selecionado).

Performance

Queremos ajustar as medições de desempenho do Tink e fornecer comparativos de mercado adequados para nossos usuários. Também estamos começando a investigar possíveis melhorias de desempenho no Tink.

O que você acha?

Queremos saber como você usa o Tink ou quais recursos seriam mais úteis para sua implementação. Responda a nossa pesquisa para compartilhar sua opinião.