Steganography (การซ่อนข้อมูล)
Steganography เป็นแนวทางที่อำนวยความสะดวกในการซ่อนข้อความที่ต้องการเก็บความลับ ไว้ภายในข้อความอื่น ผลลัพธ์คือการปิดบังข้อความลับเอง
แนวทาง Steganography สามารถใช้กับภาพ ไฟล์วิดีโอ หรือไฟล์เสียง โดยทั่วไป แต่ Steganography เขียนในตัวอักษร เช่น การทำเครื่องหมายแฮช แต่การใช้งานภายในภาพก็ทั่วไปเช่นกัน ไม่ว่าจะเป็นอัตราใด Steganography ป้องกันการลักลอบคัดลอกวัสดุที่ครอบครอง รวมถึงช่วยเหลือในการเข้าถึงโดยไม่ได้รับอนุญาต
การใช้งานหนึ่งของ Steganography เช่น Watermarking (ลายน้ำ) ซึ่งซ่อนข้อมูลลิขสิทธิ์ภายในลายน้ำโดยการวางซ้อนเอกสารที่ไม่สามารถตรวจจับได้โดยตาเปล่า นี่ป้องกันการกระทำฉ้อโกงและให้สื่อที่ได้รับการคุ้มครองลิขสิทธิ์มีการป้องกันมากขึ้น
เป้าหมายหลักของ Steganography คือการสื่อสารอย่างปลอดภัยในลักษณะที่แยกแยะไม่ได้เลย และป้องกันไม่ให้ดึงดูดความสงสัยต่อการส่งข้อมูลที่ซ่อนอยู่
ไม่ได้เป็นการป้องกันไม่ให้ผู้อื่นเข้าใจข้อมูลที่ซ่อนอยู่ แต่เป็นการป้องกันไม่ให้ผู้อื่นคิดว่าข้อมูลนั้นมีอยู่จริง หากวิธี Steganography ทำให้ใครสงสัยช่องทาง Carrier วิธีนั้นจึงล้มเหลว
โมเดลพื้นฐานของ Steganography ประกอบด้วย Carrier, Message และ Password Carrier เรียกอีกอย่างว่า Cover-object ซึ่งข้อความถูกติดตั้งและทำหน้าที่ซ่อนการมีอยู่ของข้อความ
Message คือข้อมูลที่ผู้ส่งต้องการให้เป็นความลับ สามารถเป็น Plain text, Ciphertext, ภาพอื่น หรืออะไรก็ตามที่สามารถติดตั้งใน Bit stream ได้ รวมถึงเครื่องหมายลิขสิทธิ์ การสื่อสารลับ หรือหมายเลขซีเรียล
Password เรียกว่า Stego-key สามารถรับรองว่าผู้รับที่เข้าใจคีย์ถอดรหัสที่สอดคล้อง จะสามารถแยกที่อยู่จาก Cover-object ได้ Cover-object ที่มีข้อความที่ติดตั้งลับ จึงเรียกว่า Stego-object
การกู้คืนที่อยู่จาก Stego-object ต้องการ Cover-object เอง และคีย์ถอดรหัสที่สอดคล้อง หาก Stego-key ถูกใช้ในช่วงการเข้ารหัส ภาพต้นฉบับอาจหรืออาจไม่จำเป็นในแอปพลิเคชันส่วนใหญ่ในการแยกข้อความ
มี Carrier ที่เหมาะสมหลายอย่าง ดังนี้:
- Network Protocols เช่น TCP, IP และ UDP
- Audio ที่ใช้รูปแบบเสียงดิจิทัล รวมถึง wav, midi, avi, mpeg, mpi และ voc
- File and Disk ที่สามารถซ่อนและผนวกเอกสารโดยใช้ Slack space
- Text รวมถึง Null characters, เฉพาะ Morse code แบบคล้ายกัน เช่น html และ java
- Image files รวมถึง bmp, gif และ jpg ซึ่งสามารถเป็นทั้งสีและ Grayscale
โดยทั่วไป กระบวนการซ่อนข้อมูลแยกบิตซ้ำ (Redundant bits) จาก Cover-object กระบวนการรวม 2 ขั้นตอน ดังนี้:
- การรู้จำบิตซ้ำใน Cover-object - บิตซ้ำคือบิตที่สามารถเปลี่ยนแปลงได้โดยไม่ทำลายคุณสมบัติหรือหลักการของ Cover-object
- กระบวนการฝัง (Embedding procedure) - เลือกซับเซตของบิตซ้ำเพื่อแทนที่ด้วยข้อมูลจากข้อความลับ Stego-object ถูกสร้างโดยการแทนที่บิตซ้ำที่เลือกด้วยบิตข้อความ