Steganography and Cryptography

kcn note
4 min readJun 16, 2020

--

เทคโนโลยีสารสนเทศ และเครือข่ายอินเทอร์เน็ต ช่วยให้การแลกเปลี่ยน การส่งผ่าน และการเผยแพร่ข้อมูลดิจิทัลทำได้อย่างสะดวก อย่างไรก็ตาม จำเป็นต้องคำนึงถึงเรื่องความมั่นคงปลอดภัยในการสื่อสารโดยเฉพาะการรับส่งข้อมูลที่มีความสำคัญยิ่งยวด เช่น ข้อมูลลับทางด้านการเมือง และการทหาร ซึ่งไม่ต้องการให้บุคคลที่ไม่เกี่ยวข้องสามารถอ่านได้ เป็นต้น รวมไปถึงข้อมูลที่สงวนลิขสิทธิ์ที่ไม่ต้องการให้มีการเผยแพร่ต่ออย่างผิดกฎหมายด้วย ดังนั้น นักวิจัยและนักพัฒนาด้านเทคโนโลยีสารสนเทศจึงได้คิดวิธีการปกป้องข้อมูลสำคัญดังกล่าว วิธีการซึ่งเป็นที่รู้จักโดยไปคือ วิทยาการเข้ารหัสลับ (cryptography) และวิทยาการอำพรางข้อมูล (steganography)

สำหรับวิทยาการเข้ารหัสลับนั้นเป็นการนำข้อมูล (plan text) ผ่านการเข้ารหัสเพื่อให้ได้ข้อมูลที่ไม่สามารถอ่านเข้าใจได้ (cipher text) โดยมีความแตกต่างจากวิทยาการอำพรางข้อมูล ซึ่งใช้วิธีการซ่อนข้อมูลลับ (secret message) ไว้ในข้อมูลปรกติ (innocuous message) ทำให้ไม่เป็นที่สังเกตแก่บุคคลทั่วไป จึงสามารถส่งข้อมูลลับโดยซ่อนไว้ในสื่อสำหรับซ่อนข้อมูล (cover media) และส่งผ่านเครือข่ายสาธารณะ หรือระบบให้บริการรับส่งข้อมูลใดๆได้ ซึ่งตรงกันข้ามกับข้อมูลที่ผ่านการเข้ารหัสลับที่สังเกตรู้ได้ว่าเป็นข้อมูลประเภทดังกล่าว และอาจจะกลายเป็นข้อมูลที่ต้องสงสัย รวมถึงการใช้วิธีการเข้ารหัสข้อมูลที่ต้องสงสัยว่าอาจเป็นข้อมูลที่เกี่ยวข้องกับการก่อการร้าย ถือว่าเป็นวิธีการที่ผิดกฎหมายตามพระราชบัญญัติการก่อการร้ายในประเทศสหรัฐอเมริกา (the USA Patriot Act)

วิทยาการอำพรางข้อมูล เป็นวิธีการซ่อนข้อมูลลับ (secret message) ไว้ในข้อมูลปรกติ (innocuous message) โดยอาศัยสื่อสำหรับซ่อนข้อมูล เพื่อให้ไม่เป็นที่สังเกตแก่บุคคลทั่วไป จึงสามารถเลี่ยงการตรวจจับการอำพรางข้อมูลจากโปรแกรมคอมพิวเตอร์ หรือจากบุคคลที่สามได้ แสดงได้ดังภาพที่ 1 (Aabed et al., 2007)

ภาพที่ 1 วิทยาการอำพรางข้อมูล

นอกจากนี้ วิทยาการอำพรางข้อมูล ยังหมายความถึงการสร้างช่องทางลับ (covert channels) สำหรับส่งผ่านข้อมูลที่ถูกอำพรางแล้วด้วย วิทยาการอำพรางข้อมูลสามารถนำไปใช้ประโยชน์ด้านความมั่นคงปลอดภัยในการสื่อสารโดยเฉพาะการรับส่งข้อมูลที่มีความสำคัญยิ่งยวด เช่น ข้อมูลลับทางด้านการเมือง และการทหาร ซึ่งไม่ต้องการให้บุคคลที่ไม่เกี่ยวข้องสามารถอ่านได้ เป็นต้น รวมไปถึงข้อมูลที่สงวนลิขสิทธิ์ที่ไม่ต้องการให้มีการเผยแพร่ต่ออย่างผิดกฎหมายด้วย โดยสามารถแบ่งประเภทการใช้งานเป็น 2 ประเภท คือ การซ่อนข้อมูล (data hiding) เพื่อป้องกันการตรวจสอบข้อมูลลับ และการสร้างสัญลักษณ์ให้กับข้อมูล (data remaking) เพื่อป้องกันการลบออก

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

วิทยาการอำพรางข้อมูลที่นำไปใช้ประโยชน์สำหรับการสร้างสัญลักษณ์ให้กับข้อมูลนั้น ต้องเป็นวิธีที่ทนต่อการลบสัญลักษณ์ที่ซ่อนไว้ออกจากข้อมูลได้ โดยวิธีการนี้นำไปใช้เพื่อสร้างลายน้ำสำหรับปกป้องข้อมูลที่มีลิขสิทธิ์

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

วิทยาการอำพรางข้อมูลโดยอาศัยตัวอักษร เป็นวิธีการซ่อนข้อมูลลับไว้ในตัวอักษรข้อมูลปรกติ โดยวิธีการดังกล่าวแบ่งได้เป็น 2 หลักการ คือ วิทยาการอำพรางข้อมูลโดยใช้หลักการทางภาษาศาสตร์ (linguistic steganography) และวิทยาการอำพรางข้อมูลโดยใช้หลักการจัดการที่รูปแบบ (format based steganography) ดังภาพที่ 2 (Singh et al., 2009 and Aabed, 2007)

ภาพที่ 2 ประเภทของหลักการวิทยาการอำพรางข้อมูลโดยอาศัยตัวอักษร

จากภาพที่ 2 แสดงให้เห็นว่าวิทยาการอำพรางข้อมูลโดยใช้หลักการทางภาษาศาสตร์ แบ่งได้เป็น 2 วิธี คือ วิธีการที่เกี่ยวข้องกับความหมายของคำ (semantic method) และวิธีการที่เกี่ยวข้องกับความสัมพันธ์ระหว่างถ้อยคำในประโยค (syntax method)

วิทยาการอำพรางข้อมูลโดยใช้หลักการจัดการที่รูปแบบ เป็นการกระทำกับรูปแบบทางกายภาพของข้อความที่มองเห็นได้ เช่น ช่องว่าง ระยะบรรทัด สัญลักษณ์ และอักขระพิเศษ เป็นต้น วิธีการนี้แบ่งได้เป็น 4 เทคนิคคือ การขยับตำแหน่งของบรรทัด (line shift encoding) การขยับตำแหน่งของคำ (word shift encoding) การใช้ลักษณะเด่น (feature encoding) และการใช้พื้นที่ว่าง (white space encoding)

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

การขยับตำแหน่งของคำ คล้ายกับวิธีการข้างต้น เพียงแต่เป็นการขยับตำแหน่งของคำในบรรทัดที่มีตัวอักษรอยู่ไปในแนวนอน ดังภาพที่ 3 (Singh et al., 2009)

ภาพที่ 3 การขยับตำแหน่งของคำ

เพื่อฝังข้อมูลลับลงไปโดยอาศัยช่องว่างระหว่างคำที่แตกต่างกัน เมื่อข้อมูลส่งถึงผู้รับ จะทำการถอดรหัสลับที่ถูกซ่อนเอาไว้ โดยอาศัยการเปรียบเทียบกับเอกสารต้นฉบับที่นำมาเป็นสื่อสำหรับซ่อนข้อมูล หรือต้องอาศัยข้อมูลที่มีการระบุเกี่ยวกับช่องว่างระหว่างคำ ซึ่งถือได้ว่าเป็นข้อด้อยของวิธีการนี้ เนื่องจากต้องอาศัยเอกสารต้นฉบับ ดังนั้น หากมีการติดตามเอกสารต้นฉบับจากเจ้าของเอกสาร ทำให้รู้ได้ว่ามีการเปลี่ยนแปลงกับเอกสารดังกล่าว เพราะการขยับตำแหน่งของข้อความสามารถสังเกตเห็นได้ด้วยตาเปล่า

การใช้ลักษณะเด่น เป็นการอาศัยลักษณะเด่นของตัวอักษรเพื่อนำมาใช้ประโยชน์ในการอำพรางข้อมูล ตัวอย่างเช่น การใช้เส้นแนวตั้งของตัวอักษร b, d, h, และ k เป็นต้น ซึ่งอาจกำหนดให้ความยาวของเส้นแนวตั้งของตัวอักษรแตกต่างออกไปได้ วิธีการนี้ถูกใช้ประโยชน์สำหรับการฝังข้อมูลแสดงลิขสิทธ์ได้ นอกจากนี้ยังมีการใช้ลักษณะของตัวอักษรภาษาอาหรับ (Persian/Arabic text) สำหรับซ่อนข้อมูลลับด้วย ซึ่งตัวอักษรดังกล่าวมีลักษณะเด่นคือ มีการใช้จุดจำนวนมาก ภาษาอาราบิกประกอบด้วย 32 ตัวอักษร ซึ่งมี 18 ตัวอักษรที่มีจุดเป็นลักษณะประกอบ ดังนั้น จึงใช้การเลื่อนจุดในตัวอักษรขึ้นลง จุดของตัวอักษรใดไม่ถูกเลื่อนขึ้น ให้แทนการซ่อนรหัสบิตเป็น 0 ทำนองเดียวกันหากจุดของตัวอักษรใดถูกเลื่อนขึ้น ให้แทนการซ่อนรหัสบิตเป็น 1 ดังภาพที่ 4 (Singh et al., 2009)

ภาพที่ 4 การใช้ลักษณะเด่นของตัวอักษรภาษาอาราหรับสำหรับซ่อนข้อมูลลับ

การใช้พื้นที่ว่าง เพื่อการอำพรางข้อมูล เช่น การเว้นช่องว่างระหว่างประโยค การเว้นช่องว่างท้ายบรรทัด และการใส่ช่องว่างระหว่างคำ เป็นต้น เป็นวิธีการที่ให้ผลการอำพรางที่ดี เนื่องจากไม่เปลี่ยนความหมายของข้อความแล้วยังสังเกตเห็นได้ยากด้วย

การเว้นช่องว่างระหว่างประโยค (inter sentence spacing) เป็นวิธีการที่นำมาใช้เพื่อการอำพรางข้อมูลได้ ตัวอย่างเช่น การใส่เว้นวรรค 1 ช่องระหว่างประโยคเพื่อแทนการซ่อนข้อมูลบิต 0 และใส่เว้นวรรค 2 ช่องระหว่างประโยคเพื่อแทนการซ่อนข้อมูลบิต 1 เป็นต้น แต่วิธีการนี้ขึ้นอยู่กับโครงสร้างของตัวอักษร และต้องการตัวอักษรจำนวนมากในการซ่อนข้อมูล แต่ใช้ซ่อนข้อมูลได้จำนวนน้อย

การเพิ่มระยะห่างที่ตำแหน่งสิ้นสุดของบรรทัด (end of line spacing) เช่น กำหนดระยะห่าง 2 ช่องที่ท้ายบรรทัด เพื่อแทนการซ่อนข้อมูล 1 บิต และหากกำหนดระยะห่างเป็น 4 ช่อง เพื่อซ่อนข้อมูล 2 บิต เป็นต้น ดังภาพที่ 5 (Singh et al., 2009)

ภาพที่ 5 การเพิ่มระยะห่างที่ตำแหน่งสิ้นสุดของบรรทัด

ข้อดีของวิธีการนี้คือ ไม่ถูกสังเกตได้จากผู้อ่าน แต่ช่องว่างท้ายบรรทัดเหล่านี้ อาจถูกเปลี่ยนแปลงหรือลบออกไปได้โดยโปรแกรมคอมพิวเตอร์บางตัว เช่น โปรแกรมสำหรับส่งจดหมายอิเล็กทรอนิกส์ เป็นต้น

การใส่ช่องว่างระหว่างคำ (inter word spacing) เป็นการใส่ช่องว่างไว้ด้านขวาของคำ เพื่ออำพรางข้อมูล เช่น การใส่ช่องว่างระหว่างคำ 1 ช่อง เป็นการแทนการเข้ารหัสบิต 0 และ การใส่ช่องว่างระหว่างคำ 2 ช่อง เป็นการแทนการเข้ารหัสบิต 1 เป็นต้น ดังภาพที่ 6 (Singh et al., 2009) วิธีการนี้มีข้อดีประการหนึ่งคือ ในหนึ่งบรรทัดสามารถอำพรางข้อมูลได้หลายบิต อย่างไรก็ตาม ต้องคำนึงถึงเรื่องการสังเกตเห็นระยะระหว่างคำที่ไม่ปรกติ จากผู้อ่านทั่วไปด้วย

ภาพที่ 6 การใส่ช่องว่างระหว่างคำ

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

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

วิทยาการอำพรางข้อมูลโดยใช้หลักการทางภาษาศาสตร์ (Liu Yuling, 2007) เป็นการพิจารณาคุณสมบัติเฉพาะด้านภาษาที่เกี่ยวกับการสร้างและการแก้ไขข้อความ เพื่อนำมาใช้ให้เป็นประโยชน์ต่อการอำพรางข้อมูล โดยแบ่งได้เป็น 2 วิธี คือ วิธีการที่เกี่ยวข้องกับความหมายของคำ (semantic method) และวิธีการที่เกี่ยวข้องกับความสัมพันธ์ระหว่างถ้อยคำในประโยค (syntactic method) วิธีการที่เกี่ยวข้องกับความสัมพันธ์ระหว่างถ้อยคำในประโยค เป็นการใช้ประโยชน์จากเครื่องหมายวรรคตอน คำเชื่อม หรือคำศัพท์ในประโยค ที่มีความสัมพันธ์กันอย่างไม่มีกฎเกณฑ์ตายตัวให้ ตัวอย่างคือ การซ่อนข้อมูลจากการเปลี่ยนแปลงเครื่องหมายวรรคตอน (punctuation) เช่น ข้อความเดิมคือ “bread, butter, and milk” ถูกปรับเปลี่ยนเครื่องหมายจุลภาค กับคำเชื่อม “and” ได้เป็นข้อความใหม่สำหรับการฝังข้อมูลลับคือ “bread, butter and milk” จะเห็นได้ว่าผู้อ่านทั่วไปไม่สามารถรู้ได้ว่ามีการซ่อนข้อมูลลับในข้อความดังกล่าว เพราะความหมายของข้อความไม่เปลี่ยนแปลง แต่สำหรับผู้ถอดข้อมูลลับ จะทราบว่าถ้าเจอเครื่องหมายจุลภาค ปรากฏก่อนคำเชื่อม “and” นั้นแทนข้อมูลลับบิต 1 นอกเหนือจากนั้นแทนด้วยบิต 0 แม้ว่าวิธีดังกล่าวจะมีข้อดี แต่หากเครื่องหมายวรรคตอน หรือคำเชื่อม ไม่มีความสอดคล้องกันก็อาจเป็นที่สังเกตต่อผู้อ่านทั่วไปได้ จึงควรนำวิธีการดังกล่าวไปใช้อย่างระมัดระวัง

นอกเหนือจากที่กล่าวมาแล้ว วิธีการดังกล่าวยังรวมไปถึงการเปลี่ยนถ้อยคำ (diction) และโครงสร้างของข้อความโดยความหมายไม่เปลี่ยนไป ตัวอย่างเช่น ข้อความเดิมคือ “Before the night is over, I will have finished” สามารถเปลี่ยนเป็นข้อความใหม่คือ “I will have finished before the night is over.” ซึ่งยังคงความหมายเดียวกัน

วิธีการที่เกี่ยวข้องกับความหมายของคำ เป็นการนำความหมายของคำมาใช้เพื่อซ่อนข้อมูลลับ หรือการเปลี่ยนตัวสะกดของคำ ตัวอย่างเช่น การใช้คำที่มีความหมายเหมือนกัน (symonyme) (Shirali-Shahreza, 2008) เพื่อแทนการเข้ารหัสลับ โดยกำหนดคำแรกเป็นคำหลัก (primary) และคำที่สองเป็นคำรอง (secondary) เช่น กำหนดให้ “big” เป็นคำหลัก และ “large” เป็นคำรอง หากในข้อความปรากฏคำว่า big ก็ให้แทนข้อความลับด้วยบิต 1 แต่ถ้าต้องการแทนด้วยบิต 0 ให้ใช้คำว่า large ในเอกสารซึ่งเป็นสื่อสำหรับซ่อนข้อมูล นอกจากการใช้คำที่มีความหมายเหมือนกันแล้ว ยังมีการใช้คำสะกดแบบอังกฤษ และแบบอเมริกัน เพื่อซ่อนข้อมูลลับด้วย (Shirali-Shahreza, 2008) โดยหากใช้คำสะกดแบบอังกฤษ ให้หมายถึงการซ่อนบิต 1 แต่ถ้าใช้คำสะกดแบบอเมริกัน ให้หมายถึงการซ่อนบิต 0 เป็นต้น อย่างไรก็ตาม วิธีการดังกล่าวใช้ซ่อนข้อมูลลับได้น้อย แม้จะมีความสัมพันธ์กับขนาดของข้อความก็ตาม

เอกสารและสิ่งอ้างอิง

Aabed, M. A., Awaideh, S. M., Elshafei, A. R. M., Gutub, A. A. 2007. Arabic Text Steganography Using Multiple Diacritics, pp 18–20. IEEE International Conference on Signal Processing and Communications.

Ching-Yun, C., and Clark. S., 2010. Linguistic Steganography Using Automatically Generated Paraphrases, pp. 591–599. The Annual Conference of the North American Chapter of the ACL.

Hassan Shirali-Shahreza, M., and Shirali-Shareza, M., 2006. “A New Approach to Persian/Arabic Text Steganography”, pp. 310–315. Proceedings of the 5th IEEE/ACIS International Conference on computer and Information Science.

Liu Yuling, Sun Xingming, Gan Can, Wang Hong. 2011. An Efficient Linguistic Steganography for Chinese Text”, pp. 2094–2097 . IEEE Internation Conference on Multimedia & Expo.

Samphaiboon, N. and Dailey, M.N. 2008. Steganography in Thai text, pp.133–136 . Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology, ECTI-CON.

Shirali-Shahreza, M. 2008. Text Steganography by Changing Words Spelling, pp. 1912–1913. Advanced Communication Technology, 2008. ICACT 2008. 10th International Conference on.

Singh, H., Kumar, P., and Saroha, K. 2009. A Survey on Text Based Steganography, pp. 245–269. Proceedings of the 3rd National Conference (INDIACom).

Vitaliev, D., 2007. Digital Security and Privacy for Human Rights Defenders, pp. 77–81. The International Foundation for Human Right Defenders.

อัปเดตเมื่อ 9 ม.ค. 2556 23:52 เขียนไว้ที่ https://sites.google.com/site/kcnnote/home/my-research/steganography-and-cryptography

--

--

kcn note

เริ่มต้นเขียนจากการจดบันทึกระหว่างการทำงาน การจดบันทึกย่อระหว่างการศึกษาหรือการเข้าอบรม บทความเหล่านี้อาจจะเป็นประโยชน์กับผู้อ่านบ้าง