# Dane i klucze

> Palladin documentation · 1.0 · PL · 2026-10-25


## 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**.

<figure class="doc-diagram"><ol><li>Hasło główne<br><small>wyprowadza MK</small></li><li>Klucz prywatny użytkownika</li><li>Klucz sejfu<br><small>VK</small></li><li>Klucz wpisu<br><small>odszyfrowuje treść</small></li></ol><figcaption>Odblokowanie odbywa się na urządzeniu użytkownika. Serwer nie wykonuje tych kroków.</figcaption></figure>

## 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](/pl/docs/developers/installation#hardened-a-convenience).
