SFTP 기능 소개
SFTP 기능은 다양한 암호화 알고리즘을 지원하여 파일 전송을 안전하게 보호합니다. 다양한 서버와의 호환성을 보장하기 위해 여러 암호화 알고리즘이 지원되는데, 여기에 포함된 것이 현재의 보안 모범 사례에 부합되지 않을 수도 있습니다.
SFTP 기능이 지원하는 암호화 알고리즘
다음과 같은 암호화 알고리즘이 지원됩니다.
Key exchange algorithms
- curve25519-sha256
- curve25519-sha256@libssh.org
- ecdh-sha2-nistp256
- ecdh-sha2-nistp384
- ecdh-sha2-nistp521
- diffie-hellman-group-exchange-sha256
- diffie-hellman-group16-sha512
- diffie-hellman-group18-sha512
- diffie-hellman-group14-sha256
- diffie-hellman-group14-sha1
- diffie-hellman-group1-sha1
- diffie-hellman-group-exchange-sha1
Host key algorithms
- ecdsa-sha2-nistp256
- ecdsa-sha2-nistp384
- ecdsa-sha2-nistp521
- ecdsa-sha2-nistp256-cert-v01@openssh.com
- ecdsa-sha2-nistp384-cert-v01@openssh.com
- ecdsa-sha2-nistp521-cert-v01@openssh.com
- ssh-ed25519
- ssh-rsa
- ssh-dss
Ciphers
- aes128-ctr
- aes192-ctr
- aes256-ctr
- aes256-cbc
- rijndael-cbc@lysator.liu.se
- aes192-cbc
- aes128-cbc
- blowfish-cbc
- arcfour128
- arcfour
- cast128-cbc
- 3des-cbc
MACs
- hmac-sha2-256
- hmac-sha2-512
- hmac-sha1
- hmac-sha1-96
- hmac-md5
- hmac-md5-96
- hmac-ripemd160
- hmac-ripemd160@openssh.com
권장되는 암호화 알고리즘 소개
NIST 권장 사항(NIST SP 800-57 Part 1, Revision 5) 및 관련 보안 표준을 토대로 다음과 같은 암호화 알고리즘이 권장됩니다.
Key exchange algorithms
- curve25519-sha256
- curve25519-sha256@libssh.org
- ecdh-sha2-nistp256
- ecdh-sha2-nistp384
- ecdh-sha2-nistp521
- diffie-hellman-group-exchange-sha256
- diffie-hellman-group16-sha512
- diffie-hellman-group18-sha512
Host key algorithms
- ecdsa-sha2-nistp256
- ecdsa-sha2-nistp384
- ecdsa-sha2-nistp521
- ecdsa-sha2-nistp256-cert-v01@openssh.com
- ecdsa-sha2-nistp384-cert-v01@openssh.com
- ecdsa-sha2-nistp521-cert-v01@openssh.com
- ssh-ed25519
Ciphers
- aes128-ctr
- aes192-ctr
- aes256-ctr
MACs
- hmac-sha2-256
- hmac-sha2-512
더 이상 사용되지 않는 알고리즘 소개
또한 SFTP 기능은 호환성을 위해 다음과 같은 알고리즘도 지원하지만, NIST 권장 사항(NIST SP 800-57 Part 1, Revision 5) 및 관련 보안 표준에 따라 더 이상 사용되지 않으며 이후 버전에서 제거될 수도 있습니다.
Key exchange algorithms
- diffie-hellman-group14-sha256
- diffie-hellman-group14-sha1
- diffie-hellman-group1-sha1
- diffie-hellman-group-exchange-sha1
Host key algorithms
- ssh-dss
- ssh-rsa
Ciphers
- rijndael-cbc@lysator.liu.se
- blowfish-cbc
- arcfour128
- arcfour
- cast128-cbc
- 3des-cbc
- aes128-cbc
- aes192-cbc
- aes256-cbc
MACs
- hmac-sha1
- hmac-sha1-96
- hmac-md5
- hmac-md5-96
- hmac-ripemd160
- hmac-ripemd160@openssh.com
연결 호환성
SFTP 기능은 보안과 호환성 사이의 균형을 맞추도록 설계되었습니다. 현재 당사는 다음과 같은 이유로 더 이상 사용되지 않는 알고리즘을 지원하고 있지만, 보안 강화를 위해 향후 버전에서 이러한 알고리즘을 제거할 수도 있습니다.
- 프리랜서 사진작가 및 비디오작가는 다양한 클라이언트가 운영하는 서버에 연결해야 합니다.
- 구형 시스템 및 레거시 서버와의 호환성을 유지해야 합니다.
- 서버 측에서 암호화 알고리즘 설정을 변경하는 것은 복잡하며, 모든 사용자가 보안 설정으로 변경할 준비가 되어 있는 것은 아닙니다.
- SFTP 서버 설정은 다른 보안 서비스와 공유되는 경우가 많으므로, 서버의 다른 서비스에 미치는 영향을 고려해야 하며, 변경 사항을 구현하기가 까다로울 수 있습니다.
- 다양한 환경에서 상호 운용성을 보장하려면 광범위한 암호화 알고리즘을 지원해야 합니다.
SFTP 연결 중에 사용되는 암호화 알고리즘은 대상 서버와의 자동 협상을 통해 결정되므로, 서버의 설정에 따라 암호화 알고리즘이 달라집니다. 당사는 보안 위험을 인식하고 있지만, 사용자의 다양한 요구를 충족하기 위해 현재는 광범위한 호환성을 우선시하고 있습니다.
보안 위험
더 이상 사용되지 않는 알고리즘을 사용하면 SHA-1 기반 알고리즘 그리고 DSA 키가 중간자 공격에 대해 취약해지고, 서버 신원스푸핑의 위험이 높아지면, 전송 중 데이터를 노출시킬 수 있는 구형 암호화 알고리즘(예: 3DES 및 RC4 변형)을 사용한 암호 분석의 가능성이 높아집니다.
보안 연결에 대한 권장 사항
SFTP 클라이언트 기능을 사용하는 경우, 연결하려는 서버가 권장 암호화 알고리즘을 지원하는지 미리 확인하여 주십시오. 서버 측에서 권장되는 알고리즘만 활성화하고 권장되지 않는 알고리즘은 비활성화하는 것이 좋습니다.
참조
- 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).

