Roadmap Tink

(Ultimo aggiornamento: luglio 2023)

Questa pagina descrive in dettaglio gli obiettivi generali del team Tink. Verrà aggiornata periodicamente man mano che gli obiettivi vengono raggiunti o modificati.

Più repository GitHub

Stiamo dividendo il progetto in più repository GitHub, separati per lingua. Questa opzione offre i seguenti vantaggi:

  • Release disaccoppiate per ogni linguaggio (vale a dire che un problema in C++ non impedisce, ad esempio, di eseguire una release per Java).
  • release più frequenti
  • un insieme ridotto di dipendenze da scaricare per ogni libreria (ad es. SDK per diversi cloud provider)

Miglioramenti alla documentazione

Ci stiamo impegnando per migliorare la documentazione di Tink. Ciò comporta il consolidamento delle origini della documentazione di Tink (rendendo il sito la fonte attendibile per la documentazione di Tink), la fornitura di esempi aggiornati e facili da seguire e il colma di eventuali lacune nella documentazione. Sono accolti con favore qualsiasi suggerimento per migliorare la documentazione. Utilizza il sondaggio al link riportato di seguito oppure invia una richiesta di bug o di funzionalità come spiegato nella pagina Contibuzioni.

Riprogettazione di set di chiavi e registro

Vogliamo offrire agli utenti un modo migliore per gestire le chiavi all'interno di un set di chiavi. Ciò semplificherà l'implementazione dei sistemi di gestione delle chiavi e consentirà un supporto più completo per l'importazione e l'esportazione di chiavi in formati diversi, come PEM o JWK, garantendo al contempo che l'API prevenga errori comuni che potrebbero causare vulnerabilità di sicurezza. Questo lavoro è in corso.

Stiamo anche lavorando per consentire più registri in Tink. Ciò semplificherà lo sviluppo di librerie basate su Tink e consentirà anche la rimozione e il ritiro semplici degli algoritmi non sicuri. Per saperne di più, consulta la pagina Registry.

Monitoraggio dell'assistenza

Abbiamo aggiunto gli hook di monitoraggio a Tink. Gli utenti possono utilizzare questi hook per raccogliere e analizzare dati non sensibili sulle operazioni crittografiche, ad esempio i tipi di chiavi in uso o il numero di chiamate di crittografia effettuate con una chiave specifica.

Questo tipo di informazioni è utile per garantire un'adeguata rotazione delle chiavi o per creare un elenco di chiavi che potrebbero essere vulnerabili ai computer quantistici. Forniremo un tutorial su come usare questi hook a tempo debito.

Crittografia post-quantistica (PQC)

Stiamo lavorando attivamente alle implementazioni di basso livello degli algoritmi PQC scelti dal NIST. Questi includono meccanismi di incapsulamento chiave (KEM), in particolare Kyber/ML-KEM, e firme digitali, ovvero Dilithium/ML-DSA e SPHINCS+/SLH-DSA. Al termine, forniremo le API ufficiali per questi algoritmi post-quantistici in Tink. Per chiunque sia interessato a iniziare con PQC, Tink fornisce già algoritmi PQC sperimentali in C++, che coprono le firme digitali selezionate dal NIST e il KEM NTRU-HRSS (un candidato NIST KEM che alla fine non è stato selezionato).

Esibizione

Il nostro obiettivo è ottimizzare le misurazioni delle prestazioni di Tink e fornire benchmark delle prestazioni appropriati per i nostri utenti. Stiamo anche iniziando a esaminare possibili miglioramenti delle prestazioni di Tink.

Aspettiamo commenti e suggerimenti!

Ci piacerebbe saperne di più su come utilizzi Tink o su quali funzionalità sarebbero più utili per la tua implementazione. Faccelo sapere partecipando al nostro sondaggio.