Přejít na obsah

Zabezpečení

Architektura zabezpečení a model hrozeb

Notenz používá dvě rozdílné úrovně šifrování. Běžné položky trezoru se šifrují na serveru, abychom je mohli automaticky doručit. Zapečetěný trezor Guardian a položky se sdíleným klíčem se šifrují celé v prohlížeči, takže klíč nikdy nemáme. Tato stránka vysvětluje, co každá úroveň dělá, co můžeme a nemůžeme číst a jaké má limity.

Krátce a jednoduše

  • 🔐 Poznámky se zašifrují hned po příchodu k nám. Ukládáme zašifrovaná data, ne čitelný text. Naši pracovníci ho nečtou.
  • 🔑 Příjemci obsah přečtou až po odeslání trezoru. Ne dřív.
  • 🤔 Může to Notenz technicky otevřít? U běžného trezoru ano, protože máme klíč pro automatické doručení, když to nemůžete udělat vy. Zjistěte proč a čím se liší Zapečetěný trezor →
  • 🌐 Připojení je vždy bezpečné. Stejně jako u internetového bankovnictví je zámek v prohlížeči vždy zapnutý.
  • 🪪 Heslo nikdy neukládáme v původní podobě. Ukládáme jednosměrný matematický otisk. I kdyby někdo databázi ukradl, heslo zůstane v bezpečí.
  • 🚨 Našli jste problém? Napište na [email protected] a rychle ho opravíme.

Model dvou úrovní šifrování

Úroveň 1: Běžné položky trezoru

Všechny položky Free, Pro a Guardian, které nejsou Zapečetěný trezor ani položka se sdíleným klíčem. To je většina obsahu trezoru.

  • Textové poznámky: Fernet (AES-128-CBC + HMAC-SHA256), na serveru
  • Soubory: AES-256-GCM, přenos po částech, na serveru
  • Klíč má: Notenz (je potřeba pro automatické doručení)
Notenz tyto položky technicky umí rozšifrovat. Potřebujeme to, abychom je mohli automaticky doručit, když se přestanete ozývat.

Úroveň 2: Bez znalosti (jen Guardian)

Zapečetěný trezor (Soukromá tajemství) a položky se sdíleným klíčem. Před nahráním se celé zašifrují v prohlížeči.

  • Zapečetěný trezor: PBKDF2-SHA256, 600 000 opakování, AES-256-GCM
  • Sdílený klíč / věta pro položku: PBKDF2-SHA256, 100 000 opakování, AES-256-GCM
  • Klíč má: Jen vy. Notenz ukládá pouze zašifrovaná data.
Notenz tyto položky nemůže číst. Ani úplné napadení serveru neukáže jejich čitelný obsah. Zapomenutý klíč ale znamená trvalou ztrátu.

Co Notenz může a nemůže vidět

Notenz může číst

  • Názvy položek (nejsou zašifrované, aby vám pomohly s přehledem)
  • Obsah běžné položky trezoru (klíč na serveru, nutný pro doručení)
  • Běžné soubory trezoru (rozšifrované při doručení)
  • E-mailovou adresu, plán ozývání a seznam příjemců
  • Doplňující údaje: kdy položky vznikly, byly otevřeny a doručeny

Notenz nemůže číst

  • Tajemství Zapečetěného trezoru (klíč je v prohlížeči a nikdy se neposílá)
  • Obsah položky se sdíleným klíčem (klíč je v prohlížeči a nikdy se neposílá)
  • Obsah položky zašifrovaný heslovou větou (klíč je v prohlížeči)
  • Heslo k účtu (uložen je jen otisk PBKDF2-SHA256)
  • Kódy dvoufázového ověření (uložen je jen otisk HMAC-SHA256)

Model hrozeb: před čím chráníme a před čím ne

Chráníme před

  • ✓ Krádež samotné databáze: vše je při uložení šifrované; bez hlavního klíče jsou ukradená data k ničemu
  • ✓ Napadení serveru u položek úrovně 2: Zapečetěný trezor a položky se sdíleným klíčem nelze rozšifrovat ani s přístupem k serveru, protože klíč na naše servery nikdy nepřijde
  • ✓ Náhodný přístup pracovníků: nemáme nástroj pro prohlížení obsahu trezoru
  • ✓ Zkoušení hesel k účtu: PBKDF2-SHA256 a omezený počet přihlášení
  • ✓ Hádaní tokenů: veřejné odkazy mají omezený počet pokusů a bezpečně náhodné tokeny
  • ✓ Útok na relaci a CSRF: tokeny CSRF při všech změnách, bezpečné cookies HttpOnly

NEchráníme před (poctivé limity)

  • ✗ Úplné napadení běžícího serveru (úroveň 1): útočník s databází i hlavním klíčem může rozšifrovat běžné položky trezoru. Riziko snižujeme možností výměny klíče, ale teoreticky existuje.
  • ✗ Běžné položky trezoru nejsou pro příjemce šifrované mezi konci: náš server je rozšifruje a pošle e-mailem. TLS chrání e-mail na cestě, ale při doručení vidíme čitelný obsah.
  • ✗ Napadené zařízení: heslovou větu úrovně 2 zadanou v prohlížeči lze zachytit před šifrováním. Server tomu nezabrání.
  • ✗ Zapomenutá heslová věta úrovně 2: Zapečetěný trezor a položky se sdíleným klíčem nepůjde trvale obnovit. Na serveru není možnost obnovení.
  • ✗ Doplňující údaje: i u položek úrovně 2 ukládáme názvy, časy a adresy doručení. Úroveň 2 skryje obsah, ne existenci položky.
  • ✗ Notenz nemá certifikaci ISO 27001. Jsme hostováni u DigitalOcean, který má jako poskytovatel cloudové infrastruktury certifikaci ISO/IEC 27001:2013.

Šifrování při uložení

Textové poznámky se před uložením šifrují na serveru pomocí Fernet. Soubory používají AES-256-GCM po částech. Hlavní klíč je uložený zvlášť od obsahu, takže ukradená databáze obsahuje jen šifrovaná data.

  • ✓ Textové poznámky: Fernet (AES-128-CBC + HMAC-SHA256), klíč na serveru
  • ✓ Soubory: průběžné AES-256-GCM (jedinečný 12bajtový nonce pro každou část), klíč na serveru
  • ✓ Hlavní klíč je uložený zvlášť od databáze; klíč lze vyměnit
  • ✓ Čitelný obsah se nikdy nezapisuje na disk ani do záznamů

Váš obsah nečteme

Poznámky a soubory se před uložením šifrují. Při běžném provozu se nikdo v Notenz nedívá na to, co jste napsali, ani nemá nástroj, který by to četl. Názvy nejsou šifrované, aby se vám věci lépe třídily, ale obsah je vždy šifrovaný. Automatické procesy obsah rozšifrují jen pro doručení trezoru ve správný čas. Viz níže pro úplný přehled.

  • ✓ Žádný čitelný obsah v záznamech aplikace
  • ✓ Žádný čitelný obsah v zálohách databáze
  • ✓ Žádný nástroj pro pracovníky k prohlížení obsahu trezoru

Tajemství pro dvě osoby (rozdělené doručení)

Pro zvlášť citlivé věci můžete použít režim Tajemství pro dvě osoby. Když se trezor odešle, tajemství se rozdělí na samostatnou část pro každého vybraného příjemce, alespoň dva. Libovolné 2 části stačí k obnovení původní zprávy, ale jedna část sama o sobě neprozradí vůbec nic.

  • ✓ S jedinou částí je čtení kryptograficky nemožné
  • ✓ Tajemství obnoví libovolné 2 z N částí. I když ztratíte kontakt s jedním důvěryhodným člověkem, libovolní 2 ostatní ho otevřou
  • ✓ Části se po vytvoření nikdy neukládají společně

Textové poznámky

Text poznámky se rozdělí mezi příjemce. Libovolní 2 vloží své části na notenz.com/reconstruct/ a původní zpráva se obnoví přímo v jejich prohlížeči. Nic se neposílá zpět do Notenz.

  • ✓ Obnovení proběhne ze 100% v prohlížeči bez komunikace se serverem
  • ✓ Notenz nikdy nemá obnovený čitelný obsah

Soubory

U souborů Notenz rozdělí přístup pro přístup k souboru, ne samotný soubor. Krátký náhodný přístupový token se rozdělí mezi příjemce. Když libovolní 2 spojí své části, prohlížeč tokenem vyžádá soubor. Notenz ho rozšifruje a nabídne ke stažení. Jedna část sama token nevytvoří.

  • ✓ Rozdělí se jen přístupový token. E-mailem se neposílá žádný soubor
  • ✓ Soubor je při uložení šifrovaný AES-256-GCM a rozšifruje se až při stažení
  • ✓ Odkaz ke stažení platí 90 dní a pak automaticky skončí

Otevřeně o omezení

Na rozdíl od položek se sdíleným klíčem Notenz obsah Tajemství pro dvě osoby má, aby ho mohl doručit. Nejde tedy o šifrování bez znalosti klíče. Pokud chcete záruku, že obsah nepřečte ani Notenz, použijte položku se sdíleným klíčem.

Otevřená odpověď: může Notenz číst můj trezor?

U běžného trezoru je odpověď technicky ano. Jednoduše vysvětleno:

Notenz má trezor automaticky doručit, i když sami nemůžete napsat heslo. Proto náš systém umí trezor otevřít bez vás. Máme proto hlavní klíč.

That means: if someone broke into a stolen database backup alone, they'd find nothing but scrambled bytes: useless without the key. But if someone fully broke into our live servers (not just the database), they could, in theory, get the key too and unlock your vault. We guard hard against that (separate storage for the key, no staff access, encrypted backups, and we're rolling out key-rotation tooling so a leaked key can be replaced quickly), but it's an honest limit, not a guarantee of "nobody, ever, under any circumstances."

Chcete trezor, který neotevře ani Notenz? Použijte Zapečetěný trezor. Zašifruje se ve vašem prohlížeči. Po zapomenutí hesla je navždy ztracený.

Chcete stejnou záruku, ale položka se má doručit? Použijte položku se sdíleným klíčem. Klíč vytvoříte vy a příjemci ho předáte jen vy.

Zapečetěný trezor: šifrování bez znalosti klíče

Guardian

Položky Zapečetěného trezoru se zašifrují ve vašem prohlížeči před nahráním. Notenz ukládá jen šifrovaná data, nikdy čitelná tajemství ani šifrovací klíč. Ani napadená databáze neukáže nic čitelného.

Technické údaje

  • Vytvoření klíče: PBKDF2-SHA256, 600 000 opakování
  • Šifrování: AES-GCM 256 bitů
  • IV: náhodných 12 bajtů pro každé tajemství, nikdy znovu
  • Ověřovací značka: AES-GCM pozná zásah do dat a špatné heslo
  • Běh: šifrování probíhá ve vašem prohlížeči, klíče neopustí zařízení

Důležité omezení

Zapečetěný trezor potřebuje k rozšifrování vaše heslo Notenz. Když ho zapomenete, tajemství nepůjde obnovit. Na serveru nejsou zadní vrátka.

Chcete, aby Zapečetěný trezor fungoval i po změně hesla k účtu?

By default, Sealed Vault uses your normal Notenz login password. If you ever reset that password (e.g. via "forgot password"), your existing Sealed Vault secrets become unreadable, because they were encrypted with the old password.

Můžete zapnout samostatné heslo Zapečetěného trezoru. Toto druhé heslo otevírá jen citlivá tajemství a nezávisí na přihlášení. Změna hesla k účtu ho neovlivní.

Když samostatné heslo zapomenete, Notenz tajemství neobnoví. Není odkaz pro změnu ani výjimka podpory. Před zapnutím si heslo zapište na bezpečné místo.

Jak dát později přístup někomu dalšímu

Zapečetěný trezor se nedoručuje automaticky. Důvěryhodnému člověku dejte mimo Notenz dvě oddělené věci: přístup k účtu Notenz a heslo Zapečetěného trezoru.

Tyto dvě věci držte odděleně. Kdo má obě, trezor otevře. Kdo má jen jednu, ne.

Položka se sdíleným klíčem: šifrované doručení mezi konci

Guardian

Zapečetěný trezor neotevře ani Notenz, ale nikomu se nedoručí. Položka se sdíleným klíčem dává stejnou ochranu věci, kterou chcete doručit příjemci.

Prohlížeč před odesláním vytvoří náhodný klíč a zašifruje poznámku nebo soubor. Notenz ukládá jen šifrovanou podobu. Příjemce dostane položku i stránku k otevření, kam vloží klíč.

  • ✓ Zašifruje se v prohlížeči před příchodem do Notenz, ukládáme jen zamčenou podobu
  • ✓ Příjemci se při odeslání trezoru doručí automaticky jako ostatní položky
  • ✓ Příjemce dostane na odkazu stránku, kde zadá klíč pro čtení nebo stažení

Klíč musíte předat sami: přečtěte si to pozorně

Notenz tento klíč nikdy nemá. Předat ho příjemci je jen váš úkol. Pošlete ho osobně, telefonem nebo přes Signal, nikdy vedle samotné položky.

Když klíč ztratíte nebo nepředáte, příjemce položku dostane, ale nikdy ji neotevře. Data zůstanou trvale zamčená a Notenz je neumí obnovit ani vytvořit nový klíč.

Použijte to pro několik věcí, které potřebují nejvyšší soukromí a doručení. Pro vše ostatní je běžný trezor bezpečnější každodenní volba, protože ho doručíme automaticky i při ztrátě přístupu.

Šifrování položky heslovou větou

Guardian

Uživatelé Guardian mohou každou položku trezoru chránit zapamatovatelnou heslovou větou ze 4 slov, kterou vytvoří prohlížeč. Věta se nikdy neposílá na servery Notenz. Příjemce ji zadá na odkazu pro doručení a obsah se rozšifruje v jeho prohlížeči. Funguje samostatně i spolu s Tajemstvím pro dvě osoby, kdy jsou k otevření potřeba 2 důvěryhodní lidé.

Kdyby Notenz někdy zmizel

Šifrování bez znalosti klíče znamená, že Notenz vaše klíče nikdy nemá. K rozšifrování obsahu proto Notenz nepotřebujete, stačí heslová věta a běžné šifrování. Nabízíme samostatný nástroj pro dešifrování bez internetu který běží celý v uložené stránce prohlížeče, bez serveru, přihlášení a požadavků ven. Uložte si kopii už teď. S heslovou větou bude fungovat i tehdy, když servery Notenz nebudou dostupné.

Přenos dat a infrastruktura

Veškerá komunikace mezi prohlížečem a našimi servery je při přenosu šifrovaná pomocí TLS (HTTPS). Při změnách používáme ochranu CSRF. Cookies relace jsou označeny jako HttpOnly a Secure.

  • ✓ Jen TLS/HTTPS; HTTP přesměrujeme na HTTPS
  • ✓ Tokeny CSRF u všech požadavků POST/DELETE
  • ✓ Bezpečné cookies relace HttpOnly
  • ✓ Hostujeme u DigitalOcean, poskytovatele cloudové infrastruktury s certifikací ISO/IEC 27001:2013. Notenz samotný certifikaci ISO 27001 nemá.
  • ✓ Datové centrum v EU

Přihlášení a ověření

Hesla ukládáme jako otisky PBKDF2-SHA256. Dvoufázové ověření (2FA) jednorázovým kódem e-mailem je ve výchozím stavu zapnuté pro všechny účty. Účty Guardian ho nemohou vypnout.

  • ✓ Hashování hesel PBKDF2-SHA256 (výchozí v Djangu, běžný standard)
  • ✓ Dvoufázové ověření e-mailem je ve výchozím stavu zapnuté pro všechny plány
  • ✓ Plán Guardian: dvoufázové ověření je povinné a nelze ho vypnout
  • ✓ Kódy 2FA ukládáme jako otisk HMAC-SHA256, ne jako skutečné kódy
  • ✓ Kódy OTP platí 5 minut
  • ✓ Než lze 2FA vypnout, je nutné ho ověřit v současné relaci
  • ✓ Omezení pokusů: nejvýše 5 ověření za 10 minut

Našli jste bezpečnostní problém?

Bezpečnostní hlášení bereme vážně. Pokud jste našli chybu v zabezpečení, napište nám na [email protected]. Odpovíme do 48 hodin a budeme s vámi pracovat na opravě. Formální program odměn za chyby zatím nemáme, ale zodpovědné nahlášení si velmi vážíme.