About the FTPES (FTPS) function
The FTPES (FTPS) function supports a variety of encryption algorithms for secure file transfers. To ensure compatibility with a wide range of servers, several encryption algorithms are supported, including some that may not comply with current security best practices.
Encryption algorithms supported by the FTPES (FTPS) function
The following encryption algorithms are supported.
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_256_GCM_SHA384
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA
About recommended encryption algorithms
Based on the NIST Recommendations (NIST SP 800-57 Part 1, Revision 5) and related security standards, the following encryption algorithms are recommended.
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
About deprecated algorithms
The FTPES (FTPS) function also supports the following algorithms for compatibility reasons, but they are deprecated based on the NIST Recommendations (NIST SP 800-57 Part 1, Revision 5) and related security standards and may be removed in future versions.
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_256_GCM_SHA384
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA
Connection compatibility
The FTPES (FTPS) function is designed to balance security and compatibility. Currently, we support deprecated algorithms for the following reasons, but we may remove these algorithms in future versions to enhance security.
- Freelance photographers and videographers need to connect to servers operated by various clients.
- Compatibility with older systems and legacy servers must be maintained.
- Changing the encryption algorithm settings on the server side is complex, and not all users are prepared to change to a secure setting.
- FTPES (FTPS) server settings are often shared with other secure services, so it is necessary to consider the impact on other services on the server, and changes may not always be easy to implement.
- To ensure interoperability in different environments, support for a wide range of cryptographic algorithms is necessary.
The encryption algorithm used during FTPES (FTPS) connection is determined by automatic negotiation with the destination server, so it depends on the server's settings. While we are aware of the security risks, we currently prioritize broad compatibility in order to meet the diverse needs of our users.
Security risks
The use of deprecated algorithms, including CBC/DHE/RSA/SHA-1, increases the risk that encrypted data may be decrypted or tampered with by an attacker, exposing data in transit.
Recommendations for a secure connection
When using the FTPES (FTPS) client function, check in advance whether the server to which you are connecting supports the recommended encryption algorithms. We recommend that you enable only the recommended algorithms and disable non-recommended algorithms on the server side.
References
- Recommendation for Key Management, Special Publication 800-57 Part 1 Revision 5, NIST, 2020.
- Transitioning the Use of Cryptographic Algorithms and Key Lengths, Special Publication 800-131A Revision 2, NIST, 2019.
- Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication, Special Publication 800-38B, NIST, 2005 (includes updates as of 10/06/2016).

