Sécurité & données
Hôtes de confiance (known_hosts)
La première connexion à un hôte capture l'empreinte de sa clé publique (SHA-256) et la stocke après votre confirmation. Les connexions suivantes comparent l'empreinte — si elle change un jour, vous recevez une alerte claire.
Gérez la liste dans Paramètres → Sécurité → Hôtes de confiance — chaque entrée affiche l'hôte, l'algorithme de clé (Ed25519, RSA, ECDSA…) et l'empreinte, et peut être supprimée.
Comment la connexion est protégée
DR-Terminal utilise sa propre implémentation SSH, durcie contre les attaquants actifs et les serveurs hostiles :
- La clé de l'hôte est vérifiée pendant le handshake, avant l'envoi de quoi que ce soit de secret. Si un intercepteur (man-in-the-middle) présente la mauvaise clé, la connexion est interrompue lors de l'échange de clés — votre mot de passe ou votre clé privée ne quitte jamais l'appareil.
- Uniquement des algorithmes robustes, par défaut. Les algorithmes hérités et sujets à la rétrogradation — signatures et MAC SHA-1,
ssh-rsa, Diffie-Hellman 1024 bits — sont désactivés. Les connexions utilisent un échange de clés moderne (d'abord les hybrides post-quantiquessntrup761x25519-sha512etmlkem768x25519-sha256, puis Curve25519, ECDH, Diffie-Hellman ≥ 2048 bits), des chiffrements (AES-GCM, ChaCha20-Poly1305, AES-CTR) et des types de clés d'hôte (Ed25519, ECDSA, RSA-SHA2). Un serveur qui ne propose que quelque chose de plus faible ne peut pas se connecter — sauf si vous réactivez délibérément un algorithme hérité dans Algorithmes SSH (ci-dessous). - Aucune rétrogradation silencieuse. La signature utilisée par le serveur doit correspondre à ce qui a été négocié, de sorte qu'il ne puisse pas revenir à une signature plus faible à votre insu.
- Terrapin (CVE-2023-48795) est atténué grâce à l'échange de clés strict.
- Résistant à un serveur hostile ou bogué. Les longueurs de paquets, les champs de messages et les fenêtres de canaux provenant du réseau sont tous soumis à une vérification de bornes, de sorte qu'un serveur malveillant ne peut pas faire planter l'application ni épuiser sa mémoire — pas même avant que vous ne vous authentifiiez.
Ces protections sont activées automatiquement. Vous n'interagissez avec elles que via l'invite des hôtes de confiance ci-dessus.
Algorithmes SSH (avancé)
Paramètres → Sécurité → Algorithmes SSH vous permet d'ajuster ce que le client propose aux serveurs — pour un équipement hérité qui ne parle qu'un vieux chiffrement, ou pour figer l'ordre auquel vous faites confiance. La page comporte une section par catégorie de négociation :
- Échange de clés, Chiffrements, MAC (intégrité) — activez ou désactivez chaque algorithme et déplacez-le vers le haut ou le bas ; l'ordre est l'ordre de préférence envoyé au serveur (le premier algorithme pris en charge par les deux côtés l'emporte).
- Clés d'hôte — activation/désactivation uniquement.
- Compression — un commutateur oui/non (désactivé par défaut). Oui propose
[email protected]en premier avecnoneen repli pour les serveurs sans zlib ; Non ne propose quenone, le serveur ne peut donc pas activer la compression. La compression aide sur les liaisons lentes et coûte du CPU des deux côtés.
Les algorithmes que la bibliothèque livre désactivés portent une petite étiquette ambre legacy — ils restent désactivés tant que vous ne les activez pas. Une catégorie ne peut jamais se retrouver vide : le dernier algorithme activé ne peut pas être désactivé. Réinitialiser à côté d'un titre de section la ramène aux valeurs par défaut de la bibliothèque.
Chaque connexion enregistrée peut surcharger le choix global : dans le formulaire de connexion, Algorithmes SSH → Personnalisé ouvre le même éditeur pour cet hôte uniquement (Par défaut suit le réglage global). Confirmer l'éditeur met à jour le formulaire — pensez ensuite à Enregistrer la connexion. Ce qui a réellement été négocié — échange de clés, clé d'hôte, chiffrement, MAC, compression — s'affiche dans Infos de connexion du menu de session.
Les nouveaux réglages s'appliquent aux connexions ouvertes ensuite. Un second onglet vers le même hôte réutilise la connexion SSH active et donc ses algorithmes — déconnectez-vous et reconnectez-vous pour renégocier.
Avertissement post-quantique
Un attaquant « stocker maintenant, déchiffrer plus tard » enregistre le trafic d'aujourd'hui et le déchiffre dès que les ordinateurs quantiques sauront casser l'échange de clés classique. DR-Terminal privilégie l'échange de clés hybride post-quantique (sntrup761x25519-sha512, mlkem768x25519-sha256 — les mêmes que ceux livrés avec OpenSSH) et, comme OpenSSH, avertit lorsqu'une session se retrouve sur un échange classique : une boîte de dialogue apparaît une fois par connexion pour signaler que l'échange de clés n'est pas post-quantique et que le serveur a peut-être besoin d'une mise à niveau. Ne plus afficher désactive définitivement l'avertissement ; il se trouve dans Paramètres → Sécurité → Avertissement post-quantique (activé par défaut).
Clés exportées
Lorsque vous convertissez ou exportez une clé privée (Clés SSH → Convertir) et définissez une phrase secrète, le chiffrement utilise une fonction de dérivation de clé robuste choisie selon le format — bcrypt pour OpenSSH, PBKDF2 pour PKCS#8, Argon2id pour PuTTY PPK v3 — et chaque sel et IV provient d'un générateur de nombres aléatoires cryptographiquement sûr. Le convertisseur lit et écrit OpenSSH, PKCS#8, PKCS#1 et PuTTY PPK (v2/v3), à partir de PEM comme de DER binaire.
Où résident les secrets
Les mots de passe, les clés privées et les phrases secrètes ne sont jamais sérialisés dans le JSON des connexions. Ils vont directement dans le magasin sécurisé de la plateforme :
- Android — EncryptedSharedPreferences, adossé au Keystore matériel.
- iOS — Keychain (protégé par biométrie si vous l'avez activée).
- Desktop — fichier chiffré AES-256-GCM, clé dérivée du profil utilisateur.
Sauvegarde de configuration chiffrée
Paramètres → Configuration → Exporter la sauvegarde crée un fichier .drterminal protégé par mot de passe. Il contient : connexions (avec identifiants), groupes, hôtes de confiance, clés SSH, favoris SFTP, historique des commandes, règles de surlignage, snippets, profils série et Telnet, préférences d'algorithmes SSH, apparence du terminal et paramètres, ainsi que (sur mobile) la configuration du clavier DevOps. Importer la sauvegarde restaure le même ensemble — utile lors d'un changement de machine.
Format : JSON chiffré avec AES-256-GCM. Le mot de passe n'est jamais stocké dans le fichier — il sert uniquement à dériver la clé de chiffrement (PBKDF2, 100 000 itérations de SHA-256).
Importer ~/.ssh/config
Sur Desktop, vous pouvez importer en masse des hôtes depuis une configuration OpenSSH existante. L'importateur analyse les entrées Host, HostName, User, Port, IdentityFile et ProxyJump et les ajoute comme connexions enregistrées. Les fichiers de clés référencés par IdentityFile sont chargés depuis le disque dans SecureStorage.
Niveaux de journalisation
Dans Paramètres → Terminal → Niveau de journal fichier, choisissez ce qui atteint ~/.dr-terminal/logs/ (Desktop) ou l'équivalent sur mobile. Par défaut : ERROR — bruit minimal. Pour le diagnostic, basculez sur DEBUG.