Securitate și date
Gazde de încredere (known_hosts)
Prima conexiune la o gazdă captează amprenta cheii ei publice (SHA-256) și o stochează după ce confirmi. Conexiunile ulterioare compară amprenta — dacă se schimbă vreodată, primești o alertă clară.
Gestionează lista în Setări → Securitate → Gazde de încredere — fiecare intrare arată gazda, algoritmul cheii (Ed25519, RSA, ECDSA…) și amprenta, și poate fi eliminată.
Cum este protejată conexiunea
DR-Terminal folosește propria implementare SSH, întărită împotriva atacatorilor activi și a serverelor ostile:
- Cheia gazdei este verificată în timpul handshake-ului, înainte să fie trimis ceva secret. Dacă un intermediar (man-in-the-middle) prezintă cheia greșită, conexiunea este întreruptă la schimbul de chei — parola sau cheia ta privată nu părăsește niciodată dispozitivul.
- Doar algoritmi puternici, în mod implicit. Algoritmii vechi, predispuși la downgrade — semnături și MAC-uri SHA-1,
ssh-rsa, Diffie-Hellman pe 1024 de biți — sunt dezactivați. Conexiunile folosesc schimb de chei modern (Curve25519, ECDH, Diffie-Hellman ≥ 2048 de biți), cifruri (AES-GCM, ChaCha20-Poly1305, AES-CTR) și tipuri de cheie de gazdă (Ed25519, ECDSA, RSA-SHA2). Un server care oferă doar ceva mai slab nu se poate conecta. - Fără downgrade silențios. Semnătura folosită de server trebuie să corespundă cu ceea ce s-a negociat, deci nu poate recurge la una mai slabă pe la spatele tău.
- Terrapin (CVE-2023-48795) este atenuat prin schimb de chei strict.
- Rezistent la un server ostil sau cu erori. Lungimile pachetelor, câmpurile mesajelor și ferestrele de canal care vin din rețea sunt toate verificate ca limite, astfel încât un server rău intenționat nu poate bloca aplicația sau epuiza memoria acesteia — nici măcar înainte de autentificare.
Aceste protecții sunt active automat. Interacționezi cu ele doar prin solicitarea de gazde de încredere de mai sus.
Chei exportate
Când convertești sau exporți o cheie privată (Chei SSH → Convertește) și setezi o frază de acces, criptarea folosește o funcție puternică de derivare a cheii aleasă în funcție de format — bcrypt pentru OpenSSH, PBKDF2 pentru PKCS#8, Argon2id pentru PuTTY PPK v3 — și fiecare salt și IV provine dintr-un generator aleatoriu sigur criptografic. Convertorul citește și scrie OpenSSH, PKCS#8, PKCS#1 și PuTTY PPK (v2/v3), atât din PEM, cât și din DER binar.
Unde se află secretele
Parolele, cheile private și frazele de acces nu sunt niciodată serializate în JSON-ul conexiunii. Ele ajung direct în depozitul securizat al platformei:
- Android — EncryptedSharedPreferences, susținut de Keystore-ul hardware.
- iOS — Keychain (protejat biometric dacă l-ai activat).
- Desktop — fișier criptat AES-256-GCM, cheie derivată din profilul utilizatorului.
Backup criptat al configurației
Setări → Configurare → Exportă backup creează un fișier .drterminal protejat cu parolă. Conține: conexiuni (cu date de autentificare), grupuri, gazde de încredere, chei SSH, marcaje SFTP, istoricul comenzilor, reguli de evidențiere, snippeturi, profiluri seriale și Telnet, aspectul terminalului și setările, iar (pe mobil) configurația tastaturii DevOps. Importă backup restaurează același pachet — util când te muți între mașini.
Format: JSON criptat cu AES-256-GCM. Parola nu este niciodată stocată în fișier — derivă doar cheia de criptare (PBKDF2, 100 000 de iterații de SHA-256).
Importă ~/.ssh/config
Pe Desktop poți importa în masă gazde dintr-o configurare OpenSSH existentă. Importatorul analizează intrările Host, HostName, User, Port, IdentityFile și ProxyJump și le adaugă ca conexiuni salvate. Fișierele de cheie la care se referă IdentityFile sunt încărcate de pe disc în SecureStorage.
Niveluri de jurnalizare
În Setări → Terminal → Nivel de jurnalizare în fișier alege ce ajunge în ~/.dr-terminal/logs/ (Desktop) sau echivalentul de pe mobil. Implicit: ERROR — zgomot minim. Pentru diagnostic, comută la DEBUG.