Przejdź do treści
Palladin.ioDokumentacja
EN
Dokumentacja/Bezpieczeństwo

Dane i klucze

Osobne klucze dla sejfu, wpisu i dostępu Agenta.

Po co kilka kluczy?

Palladin używa osobnych kluczy dla użytkownika, sejfu i wpisu. Dzięki temu udostępnienie jednego wpisu nie musi oznaczać przekazania klucza do całego sejfu.

MK — Master Key, czyli klucz główny — powstaje z hasła głównego przy użyciu Argon2id. To algorytm, który utrudnia masowe zgadywanie hasła. MK chroni klucz prywatny użytkownika.

VK — Vault Key, czyli klucz sejfu — pozwala otworzyć klucze wpisów w danym sejfie. Każdy uprawniony członek otrzymuje własną zaszyfrowaną kopię VK, którą może otworzyć swoim kluczem prywatnym. Taką zabezpieczoną kopię nazywamy kopertą klucza.

  1. Hasło główne
    wyprowadza MK
  2. Klucz prywatny użytkownika
  3. Klucz sejfu
    VK
  4. Klucz wpisu
    odszyfrowuje treść
Odblokowanie odbywa się na urządzeniu użytkownika. Serwer nie wykonuje tych kroków.

Pozostałe klucze

Nazwa w protokole Co chroni
EntryDEK — klucz szyfrowania wpisu Treść i opis wpisu dla członków sejfu. DEK oznacza Data Encryption Key, czyli klucz szyfrowania danych.
GrantDEK — klucz przyznanego dostępu Kopię danych przygotowaną dla konkretnej zgody na dostęp do wpisu.
VDK — klucz wyszukiwania w sejfie Metadane, które agent może wyszukiwać, bez dostępu do wartości sekretu.
Klucze agenta X25519 i Ed25519 Odpowiednio: odbiór zaszyfrowanych danych i podpisywanie żądań agenta.

Co widzi serwer?

Serwer przechowuje zaszyfrowane dane i koperty kluczy. Zna identyfikatory organizacji, sejfów, wpisów i agentów oraz ich uprawnienia, wersje i zdarzenia audytu. Szyfrowanie nie ukrywa całego faktu korzystania z usługi.

Dane do wyszukiwania są szyfrowane oddzielnie od sekretów. Agent może więc znaleźć wpis bez otrzymania jego hasła lub klucza API.

Ochrona przed podmianą

Przed odszyfrowaniem aplikacja sprawdza, czy dane należą do właściwego sejfu, odbiorcy i przyznanego dostępu oraz czy mają właściwą wersję. Porównuje je z zaufanym stanem połączenia i uprawnień, a nie tylko z opisem dołączonym do otrzymanej paczki.

Gdzie są przechowywane klucze?

Aplikacja webowa trzyma odszyfrowane klucze w pamięci odblokowanej sesji. Blokada usuwa je z tej sesji. Zapisane lokalnie zaszyfrowane dane nadal wymagają klucza do odczytu.

Aplikacja mobilna nie jest jeszcze dostępna w sklepach. Jej obecny mechanizm szybkiego odblokowania może trwale zapisywać klucz główny pod ochroną systemu. Ten mechanizm wymaga przeglądu bezpieczeństwa i blokuje wydanie aplikacji; nie jest zatwierdzonym wyjątkiem od przechowywania kluczy tylko w pamięci.

Klucze tożsamości agenta są przechowywane w systemowym magazynie lub przez osobną usługę ochronną, zwaną brokerem. Różnicę między Hardened a Convenience opisuje instrukcja instalacji.