Secret Key
System awaryjnego dostępu

Secret Key

Self-hosted Shamir SSS bcrypt 2FA SMS Zero SQL

Wielowarstwowy system ochrony bazy haseł zaprojektowany tak, aby w sytuacji kryzysowej wyznaczone osoby mogły bezpiecznie przejąć kontrolę nad kontami cyfrowymi właściciela przy jednoczesnej ochronie przed nieautoryzowanym dostępem za jego życia.

01 / Idea

Czym jest Secret Key?

Każdy z nas przechowuje dziesiątki haseł — do banków, mediów społecznościowych, poczty, subskrypcji. Co się z nimi stanie po naszej śmierci? Rodzina zostaje odcięta od kont, nie może anulować subskrypcji, zamknąć kont, odzyskać pieniędzy.

Secret Key rozwiązuje ten problem, tworząc bezpieczny plan awaryjny: główne hasło do bazy haseł jest podzielone kryptograficznie między wyznaczone, zaufane osoby. Żadna z nich nie zna hasła samodzielnie — dopiero wspólnie, w uzgodnionym momencie, mogą je odtworzyć.

System chroni właściciela za życia — każda próba dostępu wymaga weryfikacji SMS, a sam sekret nigdzie nie jest zapisany w całości. Dostęp bez wiedzy właściciela jest niemożliwy.

02 / Funkcje

Zobacz to w akcji

Najważniejsze mechanizmy Secret Key — tak, jak wyglądają w prawdziwej aplikacji.

03 / Ochrona przed zmową

Blokada czasowa i Panic Button

Nawet gdy wymagana liczba osób odzyska hasło, pliki zostają zablokowane na 48 godzin — a właściciel dostaje alert i może zablokować je na stałe.

04 / Jak to działa

Jak to działa

Właściciel przygotowuje system raz, a bliscy korzystają z niego tylko w sytuacji awaryjnej.

01

02

03

04

Wymagania: PHP 8.0+ · HTTPS · konto SMSPlanet
01

02

03

04

05

05 / Nośnik udziałów

Dowolny format przekazania

Wygenerowane udziały można przekazać wybranym osobom w dowolnej formie — wydruk na kartce, plik PDF lub autorska karta plastikowa. Niezależnie od formatu, każdy nośnik powinien zawierać te same cztery elementy.

8015c7c4f263a74d54e1c9c3162379e5aaff13f8c545d42a988aa63bc6e08caea362b60d6b0438b5375147bda06fcda208ceb886e09064967d29e3419364e91a9150071f321ec9106dcb127b65eda77a6cb0195314443e2dc43ae3955ff0c948cdb838c0eb808e7c602fd20350b290c34af781130a19ecfab7f53d758a1cf9667a9
Login: secretuser097Hasło: ByD22cQf
Jesteś posiadaczem 1 z 5 części kodu Secret Key.
W przypadku mojej śmierci skontaktuj się z osobami, które
posiadają dostęp do pozostałych 4 części kodu Secret Key.
Musicie zebrać się w gronie co najmniej 3 osób, żeby
wspólnie odszyfrować hasło dostępu do mojej bazy haseł.
Więcej informacji na stronie: adres-wlasnej-instancji.pl
Karta Secret Key — tył
Najedź lub kliknij kartę, aby ją obrócić

06 / Architektura

Twoje dane, Twój serwer

Secret Key działa na Twoim hostingu, bez bazy SQL i bez chmury. Jedyna usługa zewnętrzna to bramka SMS.

bcryptShamirPDF

PHP 8+HTTPSzero SQL
SMSPlanet

2FA SMSsecrets.jsShamir

07 / Kryptografia

Shamir Secret Sharing

Algorytm podziału sekretu na dowolną liczbę udziałów — do odtworzenia potrzeba minimalnej wymaganej ich liczby. Żaden pojedynczy udział nie ujawnia sekretu.

f(x) = a₀ + a₁x + … + aₖ₋₁xᵏ⁻¹

secrets.js · iancoleman.io/shamir

padding = 1024 bit · GF(2⁸)
08 / Bezpieczeństwo

Warstwy ochrony

Dziewięć niezależnych warstw — kompromitacja jednej nie daje dostępu do systemu. Każda działa autonomicznie.

Gwarancja kryptograficzna

Poza zakresem systemu

09 / FAQ

Często zadawane pytania

Odpowiedzi na najważniejsze pytania dotyczące systemu Secret Key.

Nie. Jest to matematycznie niemożliwe. Pojedynczy udział Shamira nie ujawnia żadnej informacji o sekrecie — to właściwość algorytmu zwana information-theoretic security. Dopiero zebranie wymaganej liczby udziałów pozwala na odtworzenie hasła.
Sama karta jest bezużyteczna bez dostępu do telefonu przypisanego do danego konta — logowanie wymaga weryfikacji SMS. Ryzyko jest więc ograniczone, jednak właściciel powinien zostać poinformowany o zgubieniu karty i rozważyć wygenerowanie nowego zestawu udziałów.
System jest zaprojektowany z nadmiarowością — wystarczy zebrać minimalną wymaganą liczbę udziałów (np. 3 z 5). Niedostępność jednej lub dwóch osób nie blokuje procedury awaryjnej, o ile pozostałe osoby są w stanie się zebrać.
Panel odszyfrowania wymaga połączenia z serwerem do logowania i weryfikacji SMS. Sam proces łączenia udziałów i odtwarzania hasła odbywa się jednak po stronie przeglądarki (JavaScript) — dane nie są przesyłane na serwer.