Zanim zaczniesz korzystać z usług Tink, zapoznaj się z kilkoma kluczowymi pojęciami, które opisujemy w kolejnych sekcjach.
Elementy podstawowe
Tink używa elementów pierwotnych jako kryptograficznych bloków konstrukcyjnych, które zarządzają algorytmem bazowym, dzięki czemu użytkownicy mogą bezpiecznie wykonywać zadania kryptograficzne. Typ podstawowy określa szczegóły algorytmu kryptograficznego i typ klucza.
- Więcej informacji o obsługiwanych typach prostych i ich zastosowaniach znajdziesz w sekcji Wybieranie typu prostego.
Informacje o zgodności znajdziesz w artykule Obsługiwane typy proste według języka.
Szczegółowe informacje znajdziesz w sekcji Projektowanie elementów.
Typy kluczy
Typ klucza implementuje konkretny typ podstawowy. Większość typów podstawowych ma kilka kluczowych typów do wyboru w zależności od wymagań dotyczących bezpieczeństwa, czasu działania i miejsca. Na przykład AES128_GCM to AEAD, które jest szybkie i skuteczne w większości przypadków. Więcej informacji znajdziesz w artykule Obsługiwane typy kluczy według języka.
Zestawy kluczy i uchwyty do zestawów kluczy
Tink używa do zarządzania kluczami zestawów kluczy. Zestaw kluczy to w zasadzie zbiór kluczy, które ułatwiają rotację kluczy. Ważne właściwości zestawu kluczy to:
- Każdy klucz w zestawie kluczy ma unikalny identyfikator, który jest niepowtarzalny w obrębie zestawu. Ten identyfikator jest zwykle dodawany jako prefiks do każdego wygenerowanego tekstu zaszyfrowanego, podpisu lub tagu, aby wskazać, którego klucza użyto (więcej informacji znajdziesz w artykule o tym, jak Tink taguje teksty zaszyfrowane).
- W zestawie kluczy tylko 1 klucz może być podstawowy. Klucz podstawowy w zestawie kluczy to klucz, który jest obecnie „używany”.
- Wszystkie klucze w zestawie kluczy muszą być implementacjami tego samego obiektu podstawowego (np. AEAD), ale mogą mieć różne typy kluczy (np. klucz AES-GCM i XCHACHA20-POLY1305).
Każda implementacja Tink udostępnia interfejsy API do tworzenia i edytowania zestawów kluczy. Zalecamy jednak korzystanie z naszego narzędzia wiersza poleceń Tinkey.
Użytkownicy obsługują zestaw kluczy za pomocą uchwytów zestawu kluczy. Uchwyt zestawu kluczy ogranicza narażenie rzeczywistego materiału klucza, który jest poufny. Umożliwia też abstrakcję zestawu kluczy, dzięki czemu użytkownicy mogą uzyskać element pierwotny, który „zawiera” cały zestaw kluczy. Możesz na przykład uzyskać typ AEAD z zestawu kluczy zawierającego N kluczy. Szyfrowanie i odszyfrowywanie za pomocą uzyskanego typu będzie wtedy korzystać z klucza podstawowego w zestawie kluczy.
Więcej informacji znajdziesz w artykule o projektowaniu zestawu kluczy.