เกี่ยวกับฟังก์ชัน 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 *1
  • diffie-hellman-group18-sha512 *1
  • diffie-hellman-group14-sha256 *1
  • 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
  • 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 *2
  • arcfour128 *2
  • arcfour *2
  • cast128-cbc *2
  • 3des-cbc

MACs

  • hmac-sha2-256
  • hmac-sha2-512
  • hmac-sha1
  • hmac-sha1-96
  • hmac-md5
  • hmac-md5-96
  • hmac-ripemd160 *2
  • hmac-ripemd160@openssh.com *2

*1 ไม่รองรับกล้องต่อไปนี้:
- ILCE-1 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 3.00
- ILCE-9M3 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 3.00
- ILCE-7SM3 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 4.00

*2 รองรับเฉพาะกล้องต่อไปนี้:
- ILCE-1 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 3.00
- ILCE-9M3 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 3.00
- ILCE-7SM3 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 4.00


เกี่ยวกับอัลกอริทึมการเข้ารหัสที่แนะนำ

ตามคำแนะนำของ 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 *1
  • diffie-hellman-group18-sha512 *1

Host key algorithms

  • ecdsa-sha2-nistp256
  • ecdsa-sha2-nistp384
  • ecdsa-sha2-nistp521
  • ssh-ed25519

Ciphers

  • aes128-ctr
  • aes192-ctr
  • aes256-ctr

MACs

  • hmac-sha2-256
  • hmac-sha2-512

*1 ไม่รองรับกล้องต่อไปนี้:
- ILCE-1 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 3.00
- ILCE-9M3 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 3.00
- ILCE-7SM3 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 4.00


เกี่ยวกับอัลกอริทึมที่เลิกใช้แล้ว

ฟังก์ชัน SFTP ยังรองรับอัลกอริทึมต่อไปนี้เพื่อเหตุผลด้านความเข้ากันได้เช่นกัน แต่เป็นอัลกอริทึมที่เลิกใช้แล้วตามคำแนะนำของ NIST (NIST SP 800-57 Part 1, Revision 5) และมาตรฐานความปลอดภัยที่เกี่ยวข้อง ซึ่งอาจถูกนำออกในเวอร์ชันในอนาคต

Key exchange algorithms

  • diffie-hellman-group14-sha256 *1
  • 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 *2
  • arcfour128 *2
  • arcfour *2
  • cast128-cbc *2
  • 3des-cbc
  • aes128-cbc
  • aes192-cbc
  • aes256-cbc

MACs

  • hmac-sha1
  • hmac-sha1-96
  • hmac-md5
  • hmac-md5-96
  • hmac-ripemd160 *2
  • hmac-ripemd160@openssh.com *2

*1 ไม่รองรับกล้องรุ่นต่อไปนี้:
- ILCE-1 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 3.00
- ILCE-9M3 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 3.00
- ILCE-7SM3 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 4.00

*2 รองรับเฉพาะกล้องรุ่นต่อไปนี้:
- ILCE-1 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 3.00
- ILCE-9M3 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 3.00
- ILCE-7SM3 ที่ใช้ซอฟต์แวร์ระบบเวอร์ชันก่อนหน้า Ver. 4.00


ความเข้ากันได้ในการเชื่อมต่อ

ฟังก์ชัน SFTP ออกแบบมาเพื่อทำให้เกิดสมดุลระหว่างความปลอดภัยกับความเข้ากันได้ ในปัจจุบัน เรารองรับอัลกอริทึมที่เลิกใช้แล้วด้วยเหตุผลต่อไปนี้ แต่เราอาจนำอัลกอริทึมเหล่านี้ออกในเวอร์ชันในอนาคตเพื่อเพิ่มความปลอดภัย

  • ช่างภาพและช่างวิดีโอฟรีแลนซ์จำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์ที่ดำเนินการโดยลูกค้าหลายราย
  • ความเข้ากันได้กับระบบเก่าและเซิร์ฟเวอร์รุ่นเก่าเป็นสิ่งที่ต้องรักษาไว้
  • การเปลี่ยนการตั้งค่าอัลกอริทึมการเข้ารหัสในฝั่งเซิร์ฟเวอร์มีความซับซ้อน และไม่ใช่ว่าผู้ใช้ทุกคนจะพร้อมเปลี่ยนไปใช้การตั้งค่าที่ปลอดภัย
  • การตั้งค่าเซิร์ฟเวอร์ SFTP มักจะใช้ร่วมกับบริการที่ปลอดภัยอื่นๆ ดังนั้นจึงจำเป็นต้องพิจารณาผลกระทบต่อบริการอื่นๆ ในเซิร์ฟเวอร์ และการดำเนินการเปลี่ยนแปลงอาจไม่ใช่เรื่องง่ายเสมอไป
  • การรองรับอัลกอริทึมการเข้ารหัสที่หลากหลายเป็นสิ่งจำเป็น เพื่อให้สามารถทำงานร่วมกันได้ในสภาพแวดล้อมที่แตกต่างกัน

อัลกอริทึมการเข้ารหัสที่ใช้ในระหว่างการเชื่อมต่อ SFTP นั้นกำหนดขึ้นโดยการต่อรองกับเซิร์ฟเวอร์ปลายทางโดยอัตโนมัติ ดังนั้นจึงขึ้นอยู่กับการตั้งค่าของเซิร์ฟเวอร์ดังกล่าว แม้ว่าเราตระหนักดีถึงความเสี่ยงด้านความปลอดภัย แต่ในขณะนี้เราให้ความสำคัญกับความเข้ากันได้อย่างกว้างขวางเป็นอันดับแรกเพื่อตอบสนองความต้องการที่หลากหลายของผู้ใช้

ความเสี่ยงด้านความปลอดภัย

การใช้อัลกอริทึมที่เลิกใช้แล้วจะเพิ่มความเสี่ยงให้อัลกอริทึมที่ใช้ SHA-1 และคีย์ DSA มีช่องโหว่ต่อการถูกโจมตีแบบ man-in-the-middle และอาจนำไปสู่ความเสี่ยงที่เซิร์ฟเวอร์ถูกปลอมแปลงตัวตน รวมถึงเพิ่มโอกาสที่ข้อมูลที่เข้ารหัสด้วยอัลกอริทึมรุ่นเก่า (เช่น รูปแบบ 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).
TP1002161234