1. Helyi, offline működés
A titkosítás és a visszafejtés a felhasználó eszközén történik. A helyi használathoz nem kell fiók vagy internet. A feloldott rekordok csak az alkalmazás memóriájában élnek; záráskor a titkos kulcsok felszabadulnak, a képernyővédelmi és vágólapvédelmi lehetőségek pedig aktiválódnak.
2. Főjelszó és hitelesített titkosítás
A főjelszóból egyedi, véletlen sóval Argon2id származtat 256 bites kulcsot. A trezor XChaCha20-Poly1305-IETF hitelesített titkosítást használ, minden mentéskor friss, véletlen nonce-szal. A titkosított fejléc verziózott, ezért későbbi biztonságos migrációra alkalmas. Saját titkosítási algoritmust nem használunk.
3. Helyi trezor és külső .vault mentés
A helyi fájl jelszóval nyitható kulcshelyet tartalmaz a mindennapi offline belépéshez. Exportálás és szerverfeltöltés előtt az app ezt a kulcshelyet eltávolítja. A külső .vault kizárólag egy második, helyreállítási kulccsal védett adatblokkot tartalmaz.
4. A .bpsr valódi szerepe
A .bpsr egy helyben generált, 256 bites véletlen helyreállítási titkot tartalmaz. A külső mentés kulcsa a főjelszóból Argon2id segítségével származtatott kulcs és e titok HKDF-HMAC-SHA-256 kombinációjából készül. Emiatt a külső vagy szerveren tárolt .vault visszafejtéséhez a főjelszó és a hozzá tartozó .bpsr együtt szükséges. Ugyanaz a .bpsr a trezor későbbi mentésverzióihoz is használható.
5. Online mentés és új eszköz
A szerver csak a helyreállítási típusú, titkosított v2 mentést, annak méretét, hashét, formátumverzióját és időbélyegeit tárolja. Az app minden telepítése véletlen eszközazonosítót kap. Az első megerősített eszköz után minden új telepítés egyszer használható, rövid élettartamú e-mailes jóváhagyást igényel a feltöltéshez vagy letöltéshez.
A letöltés csak a titkosított fájlhoz ad hozzáférést. A visszafejtés ezután is kizárólag helyben, a megfelelő .bpsr és főjelszó megadásával történik.
6. Biztonságos visszaállítás és egyesítés
Az app a formátumot, a fájlok trezorcsalád-azonosítóját és a hitelesített titkosítást még a jelenlegi trezor módosítása előtt ellenőrzi. Csere esetén visszaállítható előző példány készül. Egyesítéskor a jelenlegi rekord az elsődleges; azonos azonosítójú, de eltérő importált rekord külön példányként marad meg, így nincs csendes adatvesztés.
7. Dead Man védelem
A funkció alapértelmezetten ki van kapcsolva. Bekapcsolva több figyelmeztetést és türelmi időt alkalmaz. Appos vagy kézi életjel megszakítja a folyamatot. A határidő végén kizárólag a felhasználó által megírt üzenet kerülhet a megadott kapcsolattartóhoz; főjelszó, .bpsr, kulcs vagy olvasható trezor soha.
8. Fiókhitelesítés
A fiókjelszó erős, sózott jelszóhashként tárolódik. A munkamenet-tokenekből csak ellenőrző hash kerül az adatbázisba. Rate limit, fokozatos ideiglenes zárolás, CSRF-védelem, e-mail-megerősítés, rövid élettartamú egyszer használatos tokenek és eszközhöz kötött app-munkamenetek csökkentik a visszaélés kockázatát.
9. Fenyegetési modell és korlátok
A kialakítás erősen csökkenti annak kockázatát, hogy a szerver adatbázisának önmagában történő kiszivárgása, hálózati lehallgatás vagy véletlen fájlmódosítás olvasható trezorhoz vezessen. Nem tud teljes védelmet nyújtani feltört vagy rootolt készülék, aktív képernyő- vagy billentyűzetfigyelő kártevő, gyenge főjelszó, illetve a főjelszó és a .bpsr egyidejű megszerzése ellen.
10. Kiadás előtti feltétel
Nyilvános éles kiadás előtt független mobil- és backend-biztonsági audit, külső kriptográfiai felülvizsgálat, dokumentált helyreállítási próba, függőségvizsgálat és incidenskezelési eljárás szükséges. Hibát valós titkok csatolása nélkül a security@bluepulsar.eu címen lehet jelezni.