SFTP (SSH File Transfer Protocol) zapewnia bezpieczną metodę przesyłania plików pomiędzy komputerami w sieci. Wykorzystuje protokół SSH (Secure Shell) do nawiązania bezpiecznego połączenia pomiędzy klientem a serwerem. W przeciwieństwie do FTP (File Transfer Protocol), który domyślnie nie jest szyfrowany, SFTP szyfruje zarówno polecenia, jak i dane wymieniane pomiędzy klientem a serwerem, zapewniając poufność i integralność przesyłanych plików.
SFTP działa poprzez protokół SSH, w szczególności wykorzystując warstwę transportową SSH do zabezpieczenia komunikacji pomiędzy klientem a serwerem. SSH zapewnia mechanizmy uwierzytelniania, szyfrowania i weryfikacji integralności danych. Gdy klient łączy się z serwerem SFTP, nawiązuje połączenie SSH przy użyciu klucza publicznego, hasła lub innych metod uwierzytelniania obsługiwanych przez SSH. Po uwierzytelnieniu klient i serwer mogą wymieniać polecenia SFTP i bezpiecznie przesyłać pliki.
Szyfrowanie SFTP polega na szyfrowaniu zarówno poleceń, jak i danych przesyłanych między klientem a serwerem przy użyciu algorytmów szyfrowania symetrycznego negocjowanych podczas uzgadniania SSH. Zazwyczaj protokół SFTP obsługuje algorytmy szyfrowania, takie jak AES (Advanced Encryption Standard) do szyfrowania danych i algorytmy HMAC (kod uwierzytelniania wiadomości oparty na skrótach) do sprawdzania integralności danych. Te algorytmy szyfrowania zapewniają, że pliki przesyłane za pośrednictwem protokołu SFTP nie mogą zostać przechwycone ani zmodyfikowane przez nieupoważnione osoby podczas transmisji przez sieć. Ten solidny mechanizm szyfrowania jest kluczową cechą protokołu SFTP, co czyni go preferowanym wyborem w przypadku bezpiecznego przesyłania plików w środowiskach, w których bezpieczeństwo danych jest najważniejsze.