SFTP
SSH File Transfer Protocol. Le mécanisme universel de dépôt de fichiers EDI sécurisés — simple, ubiquitaire, à ne pas confondre avec FTPS.
Définition
SFTP est un protocole d'accès et de transfert de fichiers qui s'exécute par-dessus un canal SSH. Il a été développé par le SECSH Working Group de l'IETF. La spécification finale (draft-ietf-secsh-filexfer-13) est arrêtée à la version 6 et n'a jamais été promue RFC, mais l'implémentation de référence (OpenSSH) en a fait un standard de fait. Caractéristiques :
- Transport sous-jacent : SSH (RFC 4253), port 22 par défaut. Confidentialité, intégrité et authentification fournies par SSH.
- Authentification : mot de passe, clé publique (RSA, ECDSA, Ed25519), GSSAPI Kerberos.
- Opérations : open, read, write, close, opendir, readdir, mkdir, rmdir, stat, fstat, lstat, setstat, rename, remove, symlink, readlink, realpath.
- Pas de chiffrement de fichier en repos : SFTP chiffre la transmission, pas le fichier déposé. Pour un fichier signé+chiffré end-to-end, il faut le pré-signer/chiffrer (S/MIME, PGP) avant dépôt.
SFTP n'est pas FTPS. FTPS est FTP encapsulé en TLS (deux connexions, contrôle et données). SFTP est SSH avec un sous-système file-transfer (une seule connexion, port 22). Deux mondes techniques distincts qui partagent le mot « secure ».
Origine
Tatu Ylönen développe SSH version 1 en 1995 ; SSH 2.0 est rédigé par l'IETF SECSH Working Group entre 1997 et 2006 et publié en RFC 4250-4256. Le sous-système SFTP est ajouté à SSH 2.0 ; les versions de protocole 3 (OpenSSH 4.x, 5.x) et 6 (draft-13) cohabitent encore. L'industrie EDI adopte SFTP pour son faible coût opérationnel (un seul port, une seule authentification) en alternative à AS2 pour les flux peu critiques ou les sous-traitants long-tail.
Exemple en contexte
Une centrale d'achat reçoit ses INVOIC EDIFACT via SFTP : chaque
fournisseur dispose d'un compte SSH avec clé publique, dépose ses
INVOIC.txt dans ~/in/, et lit ses CONTRL.txt de réponse dans
~/out/. Les fichiers sont chiffrés PGP avec la clé de la
centrale avant dépôt pour atteindre la non-répudiation que SFTP nu ne
fournit pas.