Linux SFTP(Secure File Transfer Protocol)基于SSH(Secure Shell)协议,提供安全的文件传输服务。SFTP支持的加密方式主要包括:
对称加密算法
- AES:高级加密标准,广泛用于加密大量数据,支持128、192和256位密钥长度。
- ChaCha20:现代流加密算法,适合移动设备,需要OpenSSH 6.5+版本。
- 3DES:三重数据加密算法,由于安全性较弱,已不推荐使用。
- Blowfish/CAST128:较旧的加密算法,存在安全漏洞,应禁用。
非对称加密算法
- RSA:传统算法,建议密钥长度至少为2048位。
- ECDSA(椭圆曲线数字签名算法):更高效,如ecdsa-sha2-nistp256。
- Ed25519:基于EdDSA,抗侧信道攻击,OpenSSH默认推荐。
消息认证码(MAC)
- HMAC-SHA2(如hmac-sha2-256):主流选择,安全性高。
- UMAC-128:高性能,但支持较少。
密钥交换算法(KEX)
- ECDH(椭圆曲线密钥交换):基于椭圆曲线,高效。
- DH Group 14/16/18(Diffie-Hellman):建议使用diffie-hellman-group18-sha512(8192位)。
- 避免使用:Group1/5(已破解)。
通过合理配置加密算法,可确保SFTP传输的机密性、完整性和身份验证安全性。实际选择需权衡安全性与兼容性(如旧设备支持)。