Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

MD5 ในความปลอดภัยของข้อมูลคืออะไร?


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

อัลกอริธึมย่อยข้อความ MD5 เป็นเวอร์ชันที่ 5 ของอัลกอริธึม Message-Digest ที่คิดค้นโดย Ron Rivest เพื่อสร้างไดเจสต์ข้อความ 128 บิต MD5 นั้นค่อนข้างเร็วกว่า Message Digest รุ่นอื่น ๆ ซึ่งสร้างข้อความธรรมดาของบล็อก 512 บิต ซึ่งแบ่งออกเป็น 16 บล็อกมากกว่า แต่ละ 32 บิต และสร้างข้อความย่อย 128 บิต ซึ่งเป็นชุดของสี่บล็อก แต่ละ 32 บิต

MD5 สร้างการสรุปข้อความผ่านห้าขั้นตอน เช่น การเติม การต่อท้ายความยาว การแบ่งอินพุตออกเป็นบล็อก 512 บิต บูตตัวแปรการโยงบล็อกกระบวนการและ 4 รอบ และใช้ค่าคงที่หลายตัวในการวนซ้ำแต่ละครั้ง

ด้วยการพัฒนาอัลกอริธึมแฮชหลายแบบ ผู้เชี่ยวชาญได้ตั้งข้อสังเกตว่าวิศวกรได้ค้นพบ MD5 ว่ามีจุดอ่อนที่ร้ายแรงในแง่ของการไม่ "ทนต่อการชนกัน"

การชนกันจะปรากฏขึ้นเมื่อพบว่าค่าแฮชสองค่าเหมือนหรือเหมือนกัน มันสามารถทำงานได้อย่างถูกต้อง ค่าแฮชแต่ละรายการต้องมีความเฉพาะเจาะจง เนื่องจากจำเป็นต้องมีฟังก์ชันนี้สำหรับโปรโตคอลการตรวจสอบสิทธิ์ที่มีชื่อเสียง เช่น Secure SocketsLayer (SSL) MD5 จึงได้รับการคืนค่าด้วยอัลกอริทึมแฮชประเภทต่างๆ

วิศวกรความปลอดภัยและอื่น ๆ มีชื่อเสียงด้วยรายการอัลกอริธึมแฮชจำนวนมากที่มีคุณสมบัติหลายอย่าง MD5 และอัลกอริธึมแฮชประเภทอื่นๆ ถูกกำหนดให้เป็นฟังก์ชัน "messagedigest"

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

MD5 ยังใช้เป็นเช็คซัมสำหรับเอกสารอีกด้วย ในยุคอินเทอร์เน็ต มีความไม่ปลอดภัยหลายอย่างในเว็บไซต์ที่สามารถทำให้แฮกเกอร์เปลี่ยนลิงก์ดาวน์โหลดและหลอกลวงให้ผู้ใช้ดาวน์โหลดไฟล์ที่ถูกดัดแปลงได้

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

โดยทั่วไป MD5 จะใช้ในการตรวจสอบไฟล์ ง่ายกว่ามากที่จะใช้ MD5 hashto เพื่อทดสอบสำเนาของไฟล์กับต้นฉบับ แทนที่จะตรวจสอบทีละน้อยเพื่อดูว่าทั้งสองสำเนาตรงกันหรือไม่

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