อาจารย์อภิพงศ์ ปิงยศ apipong.ping@gmail.com บทที่ 4 : Cryptography & Steganography Part3 สธ412 ความมั่นคงของระบบสารสนเทศ อาจารย์อภิพงศ์ ปิงยศ apipong.ping@gmail.com
Cryptography & Steganography Hash Functions เปรียบเทียบระหว่างเทคนิคการเข้ารหัสแบบ ต่างๆ Steganography
Hash Functions เป็นอัลกอริทึมการเข้ารหัสข้อมูลโดยไม่ใช้คีย์ ค่าแฮชที่คำนวณได้จากเพลนเท็กซ์มีความยาว คงที่ ซึ่งไม่สามารถคำนวณหาเนื้อหาและความ ยาวของข้อความเดิมได้ ใช้ตรวจสอบดูว่าไฟล์นั้นมีการเปลี่ยนแปลง หรือไม่ นิยมใช้ในระบบปฏิบัติการเพื่อเข้ารหัส Password ในการล็อกอินเข้าระบบ สามารถรักษาความคงสภาพ (Integrity) ของ ข้อมูลได้เป็นอย่างดี
ตัวอย่างแฮชฟังก์ชัน
Hash Functions : มาตรฐานแฮชฟังก์ชัน แฮชฟังก์ชันที่นิยมใช้มีดังนี้ Message Digest (MD) * Secure Hash Algorithm (SHA) RIPEMD HAVAL Whirlpool
Hash Functions : Message Digest (MD) Message Digest เป็นฟังก์ชันที่สร้างค่าแฮช ที่มีความยาวคงที่ (ปกติ 128 bit) จาก ข้อความที่มีความยาวเท่าไรก็ได้ MD2 : ออกแบบสำหรับระบบที่มี หน่วยความจำน้อย เช่น สมาร์ทการ์ด MD4 : คล้ายกับ MD2 แต่ถูกออกแบบ เพื่อให้ทำงานได้เร็วยิ่งขึ้น MD5 : พัฒนาหลังจากที่ค้นพบว่า MD4 นั้น มีจุดอ่อนและถูกถอดรหัสได้ง่าย มีการใช้งาน อย่างแพร่หลาย แม้ว่าจะถูกค้นพบจุดอ่อน โดยนักเข้ารหัสชาวเยอรมัน Hans Dobbertin ในปี 1996 ก็ตาม
MD5 Example
Hash Functions : Secure Hash Algorithm (SHA) มีอยู่หลายเวอร์ชัน โดยใช้ค่าแฮชที่มีความ ยาวแตกต่างกัน เช่น *SHA-1, SHA-1 plus, *SHA-256, SHA-384 และ SHA-512 สร้างแฮชที่มีมีความยาว 160, 256, 384 และ 512 ตามลำดับ ยิ่งความยาวของข้อความที่ถูกแฮชมากขึ้น ยิ่งทำให้ถูกแครกได้ยากขึ้น
ที่มา : http://www. javamex ที่มา : http://www.javamex.com/tutorials/cryptography/hash_functions_algorithms.shtml
Hash Functions : RIPEMD เป็นชุด Message Digest ที่พัฒนามาจาก โครงการ RIPE RIPEMD-160 ถูกออกแบบโดย Hans Dobbertin, Antoon Bosselaers และ Bart Preneel ถูกปรับปรุงให้มีประสิทธิภาพมากขึ้น เพื่อ ทดแทนแฮชฟังก์ชันขนาด 128 บิต เวอร์ชันอื่นๆ เช่น RIPEMD-128, RIPEMD-256 และ RIPEMD-320
Hash Functions : HAVAL มาจาก HAsh of VAriable Length เป็นแฮชอัลกอริทึมที่มีระดับความปลอดภัย หลายระดับ สามารถสร้างแฮชที่มีความยาว 128, 160, 192, 224 และ 256 บิตได้
Hash Functions : Whirlpool เป็นแฮชฟังก์ชันที่ค่อนข้างใหม่ คำนวณค่าแฮชจากข้อความที่มีความยาวน้อย กว่า 2,256 บิต และสร้างค่าแฮชที่มีค่า 512 บิต วิธีนี้จะแตกต่างจาก MD5 และ SHA-1 มาก เพื่อป้องกันการโจมตีจุดอ่อนของแฮช ฟังก์ชันดังกล่าว
สรุปเทคนิคการเข้ารหัสแบบต่างๆ คำถาม รูปแบบการเข้ารหัสแบบไหนจึงจะดี ที่สุด? คำตอบ การเข้ารหัสแต่ละรูปแบบนั้นออกมาเพื่อ จุดประสงค์การใช้งานที่แตกต่างกัน ดังนั้นจึง ต้องมีการใช้งานร่วมกันจึงจะได้ผลลัพธ์ที่ดีที่สุด แฮชฟังก์ชันเหมาะสำหรับการรักษาความคง สภาพของข้อมูล และการหลีกเลี่ยงการเก็บ ข้อมูลที่เป็น Plaintext การเข้ารหัสแบบซีเคร็ทคีย์เหมาะสำหรับการ เข้ารหัสข้อมูล โดยอาจสร้างเซสชั่นคีย์ด้วยพับ ลิกคีย์อีกชั้นในการส่งข้อมูลแต่ละครั้ง เพื่อการ แลกเปลี่ยนคีย์ที่ปลอดภัยยิ่งขึ้น
สรุปเทคนิคการเข้ารหัสแบบต่างๆ [2] การแลกเปลี่ยนซีเคร็ทคีย์จะต้องใช้พับลิก คีย์มาช่วย ตามทฤษฎีแล้วการเข้ารหัสแบบพับลิกคีย์ สามารถใช้เข้ารหัสข้อมูลได้ แต่ไม่เป็นที่นิยม เพราะการเข้ารหัสและถอดรหัสแบบพับลิกคีย์ นั้นจะช้ากว่าการเข้ารหัสแบบซีเคร็ทคีย์ ประมาณ 1,000 เท่า
Steganography ประวัติศาสตร์มีการบันทึกเอาไว้ว่ามีการอำ พรางข้อมูลในอดีตกาลมานานแล้ว โดยครั้งแรกเกิดขึ้นตั้งแต่สมัยกรีกโบราณ อำพรางข้อมูลโดยแกะสลักข้อความลงบนแผ่น ไม้แล้วใช้ขี้ผึ้งเททับก่อนที่จะส่งข้อความนี้ไป หรือการสักข้อความลงบนหนังศีรษะ แล้วรอ ให้ผมขึ้นเต็มหัวก่อนค่อยออกเดินทาง
Steganography [2] เป็นศาสตร์และศิลป์ในการอำพรางข้อมูลโดย การฝังข้อความไปกับสิ่งอื่น ซึ่งดูเผินๆเหมือน ไม่มีอะไร จุดประสงค์เพื่อไม่ให้ผู้ที่ไม่มีส่วนเกี่ยวข้องรู้ว่า มีข้อมูลนั้นอยู่ ต่างจากการเข้ารหัสข้อมูล ทั่วไปที่ความมีอยู่ของข้อมูลจะไม่ถูกซ่อน อาจใช้ร่วมกับการเข้ารหัสด้วย เพราะข้อมูล ที่อำพรางอาจถูกจับได้ แต่ก็ยังไม่สามารถ ถอดรหัสได้ถ้าไม่มีคีย์
Steganography [3] การตรวจจับนั้นจำเป็นต้องรู้อัลกอริทึมที่ใช้ใน การอำพรางข้อมูล ยากต่อการตรวจจับและถอดรหัสได้ เพราะเป็น การวิเคราะห์ในระดับบิต เป็นวิธีที่ใช้สำหรับส่งข้อความที่ต้องการปกปิด ไปยังผู้รับผ่านช่องทางที่ไม่มีความปลอดภัยเลย
Steganography example ภาพที่มีข้อมูลอำพรางข้างใน ภาพที่ถอดได้จากการซ่อน
Steganography : โปรแกรมสำหรับการอำพราง มีเครื่องมือสำหรับอำพรางข้อมูลมากมายบน อินเทอร์เน็ต นักศึกษาสามารถค้นหาได้โดย ใช้คีย์เวิร์ด “Steganography Tools” ตัวอย่างเดโมวีดีโอการอำพรางข้อมูล https://www.youtube.com/watch?v=mxD GKolrv_0