Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยเครือข่าย

Stream Cipher ใน Network Security คืออะไร

Stream Cipher (สตรีมซิเฟอร์) คืออะไร?

Stream Cipher เป็นอัลกอริทึมการเข้ารหัสแบบสตรีมที่เข้ารหัสข้อมูลทีละบิต (bit) หรือทีละไบต์ (byte) โดยใช้ Keystream (สตรีมคีย์) ที่สร้างขึ้นจากคีย์ลับและค่าเริ่มต้น (IV - Initialization Vector) ซึ่งแตกต่างจาก Block Cipher ที่เข้ารหัสเป็นบล็อกขนาดคงที่ (เช่น 64 หรือ 128 บิต)

ลักษณะสำคัญของ Stream Cipher

  • เข้ารหัสข้อมูลต่อเนื่อง (Streaming data) ได้อย่างมีประสิทธิภาพ
  • เหมาะสำหรับข้อมูลที่ไม่ทราบขนาดล่วงหน้า (เช่น เสียง, วิดีโอ, การสื่อสารเรียลไทม์)
  • ความเร็วสูงกว่า Block Cipher ในการประมวลผลข้อมูลสตรีม
  • ต้องการ Keystream ที่สุ่มได้ยาก (Cryptographically Secure PRNG)
  • ห้ามนำคีย์ซ้ำใช้ (Key Reuse จะทำให้แฮกได้ง่าย)

ประเภทของ Stream Cipher

  1. Synchronous Stream Cipher: Keystream สร้างขึ้นอิสระจากข้อมูลต้นทาง (Plaintext) และข้อมูลเข้ารหัส (Ciphertext) ต้องมีกลไก Resynchronization
  2. Self-synchronizing Stream Cipher: Keystream ขึ้นอยู่กับ Ciphertext ก่อนหน้า (นิยมน้อยกว่าในปัจจุบัน)

ตัวอย่าง Stream Cipher ที่นิยม

Stream Cipher vs Block Cipher

อัลกอริทึมรายละเอียด
RC4Stream Cipher ที่ใช้แพร่หลายที่สุดในอดีต (SSL/TLS, WEP) แต่ปัจจุบันถือว่าไม่ปลอดภัยแล้ว
ChaCha20Stream Cipher สมัยใหม่ ใช้ใน TLS 1.3, VPN (WireGuard) ปลอดภัยและเร็ว
Salsa20พัฒนาโดย Daniel J. Bernstein ฐานของ ChaCha20
AES-CTR / AES-GCMBlock Cipher (AES) ที่ทำงานในโหมด Stream (Counter Mode)
คุณสมบัติStream CipherBlock Cipher
หน่วยการเข้ารหัสบิต/ไบต์เดี่ยวบล็อกขนาดคงที่ (128 บิต)
ความเร็วกับสตรีมเร็วกว่าช้ากว่า (ต้อง Padding)
การแพร่กระจายข้อผิดพลาดจำกัดในบิตเดียวกระจายไปทั้งบล็อก
การใช้งานReal-time, Streamingไฟล์, Database, Disk Encryption

ความปลอดภัยของ Stream Cipher

Stream Cipher จะปลอดภัยก็ต่อเมื่อ:

  • ใช้ PRNG ที่ทำนายไม่ได้ (CSPRNG)
  • ไม่มีการนำคีย์ + IV ซ้ำใช้ (Key/IV Reuse)
  • มีการยืนยันความสมบูรณ์ข้อมูล (Integrity) เช่น ใช้กับ MAC หรือ AEAD (เช่น ChaCha20-Poly1305)

สรุป

Stream Cipher เป็นวิธีเข้ารหัสที่เหมาะสำหรับข้อมูลสตรีมและเรียลไทม์ โดยเฉพาะ ChaCha20 และ AES-GCM ที่เป็นมาตรฐานในปัจจุบัน RC4 ควรหลีกเลี่ยงเพราะมีช่องโหว่ร้ายแรง