TimeVault — kryptografia czasu, dziedziczenia i dostępu warunkowego
Pięć kierunków wokół sejfu cyfrowego bez strażnika: podział zaufania 2-z-3, odzysk wieloczynnikowy i granica między znakowaniem przeszłości a wymuszaniem przyszłości — z udokumentowanymi przeprojektowaniami.
Koch Laboratory — TimeVault: kryptografia czasu, dziedziczenia i dostępu warunkowego
Ten kierunek pyta, jak sejf cyfrowy ma egzekwować warunki, których nie pilnuje żadna zaufana strona: „otwórz po mojej śmierci, ale nie wcześniej”, „otwórz tylko przy tych czynnikach”, „nie zdradzaj nawet tego, ile sekretów w ogóle przechowujesz”. Wspólny mianownik wszystkich pytań: serwer i oprogramowanie mają być zbędne jako strażnik — każda gwarancja, którą da się przenieść z polityki aplikacji do kryptografii, ma być tam przeniesiona, a granice tego przenoszenia są właściwym wynikiem badawczym.
Jest to środkowe ogniwo wieloletniej linii badawczej laboratorium „kryptografia czasu i dostępu warunkowego”: od eksperymentów time-lock z konsensusem źródeł czasu (2021), przez rodzinę TimeVault (2025–2026), po ogólną kopertę warunków dostępu w projekcie komunikatora (2026). Każde ogniwo dokumentuje granice poprzedniego.
Metodyka. Jak w reszcie laboratorium: problem → hipoteza → falsyfikowalne kryterium → metoda → wynik z warunkami brzegowymi; przeprojektowania i ślepe uliczki są dokumentowane, nie ukrywane.
1. Podział zaufania 2-z-3: dziedziczenie bez zaufanego serwera
Pytanie badawcze. Czy sejf może zwolnić dostęp spadkobiercy po śmierci właściciela, jeżeli serwis przechowujący dane nigdy — także w trakcie zwolnienia — nie jest w stanie samodzielnie niczego odszyfrować? Dlaczego to trudne. Trzy strony (właściciel, spadkobierca, serwis) mają sprzeczne wymagania: serwis musi móc uczestniczyć w zwolnieniu, ale nie może móc dokonać go sam; spadkobierca nie może mieć dostępu przed zdarzeniem; właściciel nie może być zakładnikiem dostępności serwisu. Stan techniki (publikowany). Podział sekretu Shamira (1979) nad GF(256) — prymityw jest stanem techniki; własna implementacja referencyjna bez zależności zewnętrznych, z testami odzysku każdą parą udziałów. Kryterium sukcesu (testowane). Pojedynczy udział nie ujawnia niczego o sekrecie; dowolne dwa z trzech odtwarzają klucz; ścieżka zwolnienia (przełącznik bezczynności albo zweryfikowany akt zgonu) uruchamia udział serwisu dopiero po spełnieniu warunku. Status: zaimplementowane + testy.
2. Wieloczynnikowy odzysk sekretu: pliki jako czynniki, kolejność jako informacja
Pytanie badawcze. Jak pogodzić dwie sprzeczne własności odzysku klucza z czynników materialnych (pliki-klucze): ścieżkę główną, w której kolejność czynników jest częścią sekretu, ze ścieżką awaryjną, która przeżyje utratę części czynników — bez osłabienia którejkolwiek z nich? Dlaczego to trudne. Ścieżka awaryjna jest z definicji „tylnym wejściem” do ścieżki głównej: każdy bit ułatwienia odzysku jest bitem ułatwienia ataku. Dodatkowy wymóg: koperty nie mogą zdradzać, które pliki są czynnikami. Stan techniki (publikowany). Shamir K-z-N; KDF/HKDF z separacją domen; kody odzysku o alfabecie odpornym na pomyłki ludzkie. Kryterium sukcesu (testowane). Zła kolejność czynników — odmowa; ścieżka awaryjna K-z-N działa w dowolnej kolejności; poniżej progu K — odmowa; materiał kluczowy zerowany po użyciu. Konstrukcja (schemat wiązania udziału z czynnikiem, selekcja dopasowań, format kopert): wstrzymana (otwarta opcja patentowa). Status: zaimplementowane + testy.
3. Wynik graniczny: znakowanie przeszłości ≠ wymuszanie przyszłości
Teza (publikowana świadomie). Wieloźródłowe znakowanie czasem (niezależne źródła czasu, publiczny rejestr skrótów, zewnętrzne kotwiczenie) potrafi udowodnić przeszłość — że dane istniały nie później niż w chwili T. Nie potrafi natomiast wymusić przyszłości: warunek „nie otwieraj przed T” egzekwowany lokalną polityką urządzenia pozostaje polityką, nie kryptografią. Wymuszenie czasu bez zaufanej strony (time-lock puzzles, VDF, zewnętrzne kworum czasu) to osobny, otwarty kierunek — świadomie odróżniany od tego, co już działa. Dlaczego to publikujemy. To rozgraniczenie jest wynikiem badawczym samym w sobie: precyzuje, którą część „kryptografii czasu” domknięto, a która pozostaje niepewnością techniczną programu. Stan techniki (publikowany). RFC 3161/TSA i kotwiczenie w łańcuchach publicznych (znakowanie przeszłości); time-lock puzzles (Rivest–Shamir–Wagner), VDF (wymuszanie przyszłości — poza zakresem obecnej implementacji). Status: znakowanie i przełącznik bezczynności — zaimplementowane + testy; kryptograficzne wymuszanie przyszłości — otwarte pytanie badawcze.
4. Zaprzeczalność liczby przechowywanych sekretów
Pytanie badawcze. Czy kontener sejfu może nie zdradzać, ile realnych sekretów zawiera — tak, by obserwator (lub przymus) nie odróżnił sejfu pełnego od częściowo pustego? Dlaczego to trudne. Każda różnica rozkładu — długości, struktury, metadanych, zachowania przy odblokowaniu — jest sygnałem. Zaprzeczalność musi przetrwać także inspekcję samego pliku kontenera. Stan techniki (publikowany). Klasa rozwiązań ukrytych wolumenów (VeraCrypt i pokrewne) — wraz z ich znanymi ograniczeniami. Kryterium sukcesu. Kontener z k realnymi sekretami jest nieodróżnialny od kontenera z k′ ≠ k realnymi sekretami dla obserwatora bez poprawnych czynników. Konstrukcja (wypełnianie pustych miejsc, ujednolicenie polityk i zachowań): wstrzymana (otwarta opcja patentowa). Status: zaimplementowane / w walidacji.
5. Przeprojektowania i wyniki negatywne (publikowane)
- Koperta kryptograficzna v1 → v2. Pierwsza wersja koperty chroniła nagłówek zwykłym skrótem; przeprojektowano ją na uwierzytelnienie nagłówka osobnym kluczem (wyprowadzanym przez HKDF z separacją domen) z porównaniem w czasie stałym i automatyczną migracją starych kontenerów przy pierwszym poprawnym odblokowaniu. Udokumentowana lekcja: integralność bez klucza nie jest integralnością.
- Rewert podpisu certyfikatów (2025). Pierwsze podejście do podpisu cyfrowego certyfikatów wycofano w całości; do podpisów PDF wrócono później na standardowym stosie PKI (PAdES). Ślepa uliczka udokumentowana w historii projektu.
- Porzucone kierunki. Tryb kont pozornych i moduł doręczeń usunięto z projektu — zakres świadomie zawężono do rdzenia: podział zaufania, odzysk wieloczynnikowy, czas.