Noutăți · Securitatea la Blackbear

Ce nu putem citi

15 august 2026 Xavi Group Partea 1 din 3
Ilustrație: un urs negru la un birou de lemn apasă un sigiliu de ceară pe un plic, lângă un teanc de plicuri deja sigilate

Blackbear este local, în primul rând. Fiecare funcție merge pe dispozitivul tău, iar implicit datele tale stau doar acolo, fără niciun server la mijloc.

Când activezi sincronizarea în cloud, serverele noastre încep să-ți transporte datele între dispozitivele tale și oamenii tăi. Seria aceasta explică ce înseamnă asta pentru confidențialitatea ta. Partea 1 e despre criptare: ce pleacă de pe dispozitivul tău și de ce nu putem citi. Partea 2 e un registru onest al metadatelor pe care serverele noastre chiar le păstrează. Partea 3 e despre distribuire și colaborare.

Tot ce urmează descrie cod lansat, nu intenții. Acolo unde numim un algoritm sau un număr, e cel care rulează azi în producție.

Criptarea are loc pe dispozitivul tău

Fiecare modificare pe care o sincronizezi e criptată înainte să atingă rețeaua. Notițe, documente, sarcini, evenimente, intrări de jurnal, foi de calcul, pânze, audio, istoric al versiunilor. Fiecare e sigilată cu XChaCha20-Poly1305, un cifru autentificat, cu o cheie care nu părăsește niciodată dispozitivul tău neprotejată. Serverele noastre primesc text cifrat și stochează text cifrat.

Imaginile și fișierele audio sunt tratate la fel: criptate pe dispozitivul tău și încărcate ca blocuri de date opace.

Codul care face toate acestea e o singură implementare în Rust, construită pe ecosistemul RustCrypto și compilată în WebAssembly. Aplicația și CLI-ul Blackbear o folosesc pe aceeași, byte cu byte, iar noi o testăm cu date de test comune mai multor limbaje, ca nicio a doua implementare să nu se poată îndepărta pe tăcute.

Ce protejează asta și ce nu

Criptarea e o unealtă anume, nu un câmp de forță. Înainte de detalii, limitele.

Acest design te protejează de:

  • O breșă pasivă în serverele sau baza noastră de date — date stocate furate. Ce se scurge e text cifrat și chei împachetate.
  • Noi înșine. Sistemele noastre de producție nu primesc niciodată cheile tale de conținut sau text în clar, așa că o cerere legală pentru conținutul tău obține ce deținem cu adevărat: metadate (Partea 2) și blocuri sigilate.

Nu te protejează de:

  • Un dispozitiv compromis, furat sau deblocat. Dispozitivul îți ține cheile; securitatea lui e temelia pe care stă tot restul.
  • Oricine are fraza ta de acces sau cele douăsprezece cuvinte de recuperare.
  • Ce fac destinatarii autorizați cu ce le distribui. Distribuirea e încredere în oameni, nu doar matematică.
  • Metadatele traficului: cine, când, cât. Acesta e întregul subiect al Părții 2.
  • Aplicația însăși. Pe web, aplicația vine de pe serverele noastre la fiecare încărcare; pe desktop, prin versiuni semnate. Nicio schemă de criptare nu supraviețuiește unei aplicații rău-intenționate, oricine ar livra-o.
  • Momentele în care alegi să trimiți date în clar: când îi ceri lui Pax să folosească un model în cloud, când conectezi un calendar extern, când exporti fișiere, când trimiți o invitație pe e-mail. Acestea ajung intenționat la cine ai ales, sub regulile acelora, nu sub criptarea noastră.

Ierarhia cheilor

Fraza ta de acces nu părăsește niciodată dispozitivul. Totul pornește de la ea:

Fraza ta de acces
12 cuvinte de recuperare
↓ Argon2id
↓ HKDF
Cheia de cont
Cheia de recuperare
fiecare împachetează ↓
Cheia seifului · aleatorie, 256 de biți, nu părăsește niciodată dispozitivul neîmpachetată
↓ criptează
notițe · documente · sarcini · evenimente · foi de calcul · media · istoric

Serverul stochează doar copiile împachetate: text cifrat care protejează text cifrat.

De ce acest ocol? Îți permite să-ți schimbi fraza de acces fără să recriptezi o viață întreagă și permite existența recuperării fără să slăbească ușa de la intrare.

O precauție care merită scrisă negru pe alb: Argon2id face ghicitul scump; nu poate face o frază de acces slabă să fie puternică. Cheia seifului împachetată e exact atât de puternică pe cât e fraza care o împachetează. Alege una lungă.

Recuperarea înseamnă douăsprezece cuvinte

Când configurezi sincronizarea, Blackbear îți dă o frază de recuperare: douăsprezece cuvinte (BIP39) care codifică 128 de biți de entropie. Din ele se derivează o cheie independentă care împachetează a doua oară cheia seifului.

Ți-ai pierdut fraza de acces? Cele douăsprezece cuvinte te aduc înapoi. Le-ai pierdut pe amândouă? Datele tale sincronizate s-au dus. Nu le putem reseta și niciun tichet de suport nu ne poate convinge s-o facem, pentru că la noi nu există nimic de resetat. Nu e o lipsă a suportului nostru. E designul care ține.

Adăugarea unui dispozitiv

Pe un dispozitiv nou, introduci fraza de acces. Din ea se derivează local cheia de cont, care despachetează cheia seifului din copia împachetată păstrată pe serverul nostru. Serverul nu vede niciodată fraza de acces și nu vede niciodată rezultatul.

Un dispozitiv existent și deblocat poate preda și el cheia direct. Sigilează cheia seifului pentru cheia publică X25519 a noului dispozitiv și o lasă într-un loc de transfer care se autodistruge după cinci minute, folosit sau nu. O limită onestă aici: dispozitivul existent află cheia publică a celui nou prin contul tău conectat, așa că această cale asistată are încredere că serverul nostru transmite cheia potrivită pentru dispozitivul ales de tine. Calea cu fraza de acces nu cere o astfel de încredere.

Pentru că exact acest vocabular l-ar împrumuta cineva care face phishing, o regulă care merită scrisă negru pe alb: nu-ți vom cere niciodată fraza de acces sau cuvintele de recuperare și nu-ți vom cere niciodată să aprobi un transfer de dispozitiv. Aceste solicitări apar doar într-o aplicație pe care ai deschis-o tu. Oricine altcineva le cere e un atac.

Mesajele

Mesageria folosește chei proprii, separate de sincronizare. Fiecare cont are o identitate de mesagerie X25519, iar fiecare mesaj își derivează o cheie unică dintr-o sare nouă, proprie mesajului, prin HKDF-SHA256. Mesajele călătoresc ca plicuri sigilate. Serverul le transmite mai departe; nu le poate deschide. Partea 2 arată ce dezvăluie exteriorul plicului.

O notă de design, spusă direct: cheile unice pentru fiecare mesaj nu sunt designul cu clichet rotativ pe care îl folosesc unele aplicații de mesagerie. Dacă cheia de mesagerie de lungă durată a unui dispozitiv ar fi vreodată compromisă, mesajele sigilate pentru ea ar fi în pericol. Cheile per mesaj limitează pagubele; nu sunt confidențialitate persistentă (forward secrecy) și preferăm să știi diferența.

Istoric fără amprente de conținut

Istoricul versiunilor se sincronizează ca instantanee criptate, cu ID-uri valabile doar în seiful tău. Dacă tu și un străin salvați un fișier identic, serverul vede două ID-uri fără legătură: conținuturile identice nu pot fi potrivite între conturi. Mărimea și momentul rămân vizibile, ca la tot traficul de sincronizare. Acestea sunt metadate, iar subiectul îi aparține Părții 2.

Dovadă fără dezvăluire

Operațiunile distructive asupra contului cer o dovadă a seifului: o semnătură de la o cheie Ed25519 derivată din cheia seifului. Dovedești că deții seiful fără ca seiful să călătorească vreodată. Iar când cheile și-au făcut treaba în memorie, sunt șterse cu zerouri.

Nimic din toate astea nu e exotic. XChaCha20-Poly1305, Argon2id, X25519, Ed25519, HKDF-SHA256: primitive standard, plictisitoare, verificate intens. Partea interesantă e disciplina de a le aplica peste tot și de a spune cu voce tare ce nu acoperă. Despre această disciplină e restul seriei.

Lecturi suplimentare

Securitatea la Blackbear

  1. 1. Ce nu putem citi (ești aici)
  2. 2. Ce pot vedea serverele noastre
  3. 3. Cum rămâne distribuirea sigilată

Încearcă Blackbear

Gratuit. Fără card de credit.

Deschide Blackbear