Zaszyfrowane także przed administratorem bazy
Jak działa szyfrowanie kopertowe w BOSZKA i dlaczego ani administrator bazy danych, ani osoba z kopią zapasową nie odczyta Twoich kwot, nazw ani notatek.
Aplikacja do finansów osobistych wie o Tobie więcej niż większość serwisów, z których korzystasz: ile zarabiasz, ile masz oszczędności, w co inwestujesz, ile płacisz za mieszkanie. Dlatego BOSZKA by Dragua od pierwszego dnia była projektowana z jednym założeniem – Twoje dane majątkowe mają być nieczytelne dla każdego, kto nie zna Twojego hasła. Także dla nas.

Co dokładnie jest szyfrowane
Wszystko, co mówi o Twoim majątku: kwoty i salda, nazwy kont i instytucji, numery rachunków, opisy wydatków i notatki, nazwy celów, faktury działalności, liczby akcji i jednostek, oprocentowania lokat i obligacji, a nawet sekret logowania dwuskładnikowego. W bazie danych każde takie pole jest zapisane jako szyfrogram – ciąg bajtów, który bez klucza nic nie znaczy.
Jawne pozostają tylko informacje potrzebne do działania aplikacji, które same nic nie mówią o Twoich pieniądzach: daty, rodzaje i kategorie wpisów, identyfikatory oraz adres e-mail do powiadomień. Notowania walut, metali i kryptowalut oraz parametry podatkowe są wspólne dla wszystkich i z założenia nie są tajne.
Szyfrowanie kopertowe – jak w menedżerach haseł
BOSZKA korzysta z modelu znanego z menedżerów haseł. Przy zakładaniu konta powstaje losowy klucz danych (AES-256) – tylko dla Ciebie. Tym kluczem szyfrowane są wszystkie Twoje dane. Sam klucz nigdy nie jest zapisywany jawnie: zostaje „zapakowany w kopertę”, którą otwiera wyłącznie Twoje hasło.
- Hasło – znasz je tylko Ty. Serwer przechowuje wyłącznie jego skrót, z którego hasła nie da się odtworzyć.
- Klucz z hasła – przy logowaniu z hasła wyprowadzany jest klucz algorytmem PBKDF2-HMAC-SHA256 z 600 000 powtórzeń i losową solą. To celowo kosztowne obliczenie: zgadywanie haseł metodą prób staje się niepraktyczne.
- Koperta – klucz z hasła otwiera kopertę (AES-256-GCM) z Twoim kluczem danych. Koperta jest kryptograficznie związana z Twoim kontem – nie da się jej podłożyć innemu użytkownikowi.
- Dane – każde pole szyfrowane jest osobno (AES-256-GCM z losowym nonce). Szyfrogram jest związany z konkretnym polem i konkretnym użytkownikiem, więc nawet przestawienie zaszyfrowanych wartości w bazie zostanie wykryte.
Klucz tylko w pamięci, tylko na czas sesji
Po zalogowaniu otwarty klucz danych trafia wyłącznie do pamięci serwera – nigdy na dysk, do bazy ani do ciasteczka. Przeglądarka dostaje tylko losowy identyfikator sesji. Klucz jest zerowany przy wylogowaniu, po 30 minutach bezczynności i najpóźniej po 12 godzinach. Restart serwera oznacza po prostu ponowne logowanie.
Gdy jesteś wylogowany, serwer fizycznie nie ma czym odczytać Twoich danych. Dlatego przypomnienia o płatnościach i lokatach korzystają tylko z jawnych dat – bez odszyfrowywania kwot czy nazw.
Administrator bazy danych, osoba z dostępem do kopii zapasowej czy ktoś, kto wykradłby plik bazy, zobaczy zamiast „Konto osobiste – 5 897,59 zł” ciąg bajtów w rodzaju 0x01A9F3C27E…. Bez Twojego hasła albo kodu odzyskiwania tych danych nie da się z bazy odczytać.
Zmiana hasła bez ryzyka
Przy zmianie hasła BOSZKA nie musi przeszyfrowywać wszystkich danych – wystarczy nowa koperta z nową solą, zapisana w tej samej transakcji co nowe hasło. Operacja jest natychmiastowa i atomowa: nie ma momentu, w którym przerwanie mogłoby uszkodzić dane. Jednocześnie wszystkie Twoje pozostałe sesje tracą klucz i zostają wylogowane.
Kod odzyskiwania – druga, jedyna kopia klucza
Skoro klucz otwiera tylko Twoje hasło albo kod odzyskiwania, nikt nie może też „zresetować hasła z zachowaniem danych”. Zamiast tego przy rejestracji dostajesz kod odzyskiwania – 32 znaki (160 bitów losowości), które otwierają drugą kopertę z tym samym kluczem danych. Zapisujesz go w bezpiecznym miejscu; aplikacja nie pozwoli przejść dalej, dopóki nie potwierdzisz, że to zrobiłeś.
Po odzyskaniu konta stary kod przestaje działać, dostajesz nowy, a pozostałe sesje i zapamiętane urządzenia są wylogowywane. Przy włączonym logowaniu dwuskładnikowym odzyskanie wymaga dodatkowo kodu z aplikacji.
Jak szyfrowanie współpracuje z resztą zabezpieczeń
- Izolacja użytkowników – każde zapytanie do bazy jest automatycznie zawężone do Twoich danych, a próba zapisu cudzego obiektu kończy się błędem.
- Logowanie dwuskładnikowe i klucze dostępu – chronią przed tym, czego szyfrowanie nie powstrzyma: przejętym hasłem.
- Niekasowalny dziennik – każde istotne działanie zostaje zapisane w łańcuchu skrótów kryptograficznych, którego nie da się po cichu zmienić.
- Kryptografia wbudowana w platformę – BOSZKA używa sprawdzonych algorytmów wbudowanych w .NET, bez egzotycznych bibliotek.
Uczciwie o granicach
Żadne zabezpieczenie nie jest absolutne i nie będziemy udawać, że jest inaczej. Szyfrowanie chroni dane „w spoczynku” – w bazie, w kopiach zapasowych, w przypadku wycieku pliku. Nie zastąpi jednak ochrony samego serwera ani Twojego hasła – kto pozna hasło, zaloguje się jak Ty. Dlatego szyfrowanie uzupełniają zabezpieczenia serwera i minimalne uprawnienia w bazie danych, sesje wygasają po 30 minutach bezczynności, a do konta warto dodać drugi składnik logowania.
Ta przejrzystość jest częścią projektu: na ekranie „Bezpieczeństwo konta” aplikacja sama wyjaśnia, jak chronione są Twoje dane, a w dzienniku aktywności widzisz każde logowanie i każdą zmianę.
Zapomniane hasło i zgubiony kod odzyskiwania oznaczają, że danych nie da się odzyskać – nikt nie ma do nich „klucza zapasowego”. To cena prawdziwej prywatności. Zapisz kod odzyskiwania w menedżerze haseł albo na papierze w bezpiecznym miejscu.



