Skip to main content

ฟังก์ชัน Hash Cryptographic คืออะไร?

Anonim

ฟังก์ชันแฮชรหัสลับคืออัลกอริทึมที่สามารถเรียกใช้ข้อมูลเช่นไฟล์แต่ละไฟล์หรือรหัสผ่านเพื่อสร้างค่าที่เรียกว่า checksum

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

ฟังก์ชันแฮชการเข้ารหัสลับที่ใช้บ่อยๆ ได้แก่ MD5 และ SHA-1 แม้ว่าจะมีหลาย ๆ คนอยู่ก็ตาม

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

ฟังก์ชันแฮ็กที่เข้ารหัสลับ: กรณีการใช้งาน

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

ใช้เครื่องคิดเลข checksum calculum คุณจะคำนวณ checksum โดยใช้ฟังก์ชันแฮชบาเคชั่นที่เฉพาะเจาะจงเช่น SHA-2 แล้วเปรียบเทียบกับหนึ่งที่เผยแพร่บนไซต์ของ Mozilla หากพวกเขาเท่าเทียมกันคุณสามารถพอสมควรว่าการดาวน์โหลดที่คุณมีเป็นหนึ่ง Mozilla ที่คุณต้องการ

สามารถแฮ็คลับการเข้ารหัสลับได้หรือไม่?

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

แฮกเกอร์อาจใช้ตารางสายรุ้งเพื่อหาข้อความธรรมดาของการตรวจสอบ

ตารางสายรุ้งคือพจนานุกรมที่มีรายการนับพันล้านหรือแม้แต่พันล้าน checksums เทียบกับค่าข้อความธรรมดาที่เหมือนกัน

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

ต่อไปนี้เป็นตารางแบบสายรุ้งที่เรียบง่ายเพื่อแสดงว่าจะใช้งานได้อย่างไรเมื่อใช้ฟังก์ชันแฮชบาเน็ตแบบ SHA-1:

ข้อความธรรมดาSHA-1 Checksum
123458cb2237d0679ca88db6464eac60da96345513964
password1e38ad214943daad1d64c102faec29de4afe9da3d
ฉันรักหมาของฉันa25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny4007d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

แฮ็กเกอร์ต้องทราบว่ามีการใช้อัลกอริทึมแฮ็กชันการเข้ารหัสลับใดเพื่อสร้าง checksums เพื่อหาค่า

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

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

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

รหัสผ่านและฟังก์ชันแฮ็กที่เข้ารหัสลับ

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

ระบุว่าฟังก์ชันแฮชที่เข้ารหัสลับสร้างการตรวจสอบที่ไม่สามารถแก้ไขได้ทำให้คุณสามารถกำหนดรหัสผ่านของคุณได้อย่างง่ายๆ 12345, แทน 12@34$5เพียงเพราะ checksums ตัวเองไม่สามารถเข้าใจ? ไม่และนี่คือเหตุผล

ทั้งสองรหัสผ่านทั้งสองเป็นไปไม่ได้ที่จะถอดรหัสโดยการมองเพียงที่ checksums:

MD5 สำหรับ 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 12 @ 34 $ 5: a4d3cc004f487b18b2ccd4853053818b

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

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

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

ข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันแฮ็กที่เข้ารหัสลับ

ดูเหมือนว่าฟังก์ชันแฮชที่เข้ารหัสลับเกี่ยวข้องกับการเข้ารหัส แต่ทั้งสองทำงานในรูปแบบต่างๆ

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

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

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

การชนอาจเกิดขึ้นได้เนื่องจากฟังก์ชันแฮชที่เข้ารหัสลับแต่ละตัวจะสร้างค่าความยาวคงที่โดยไม่คำนึงถึงข้อมูลอินพุท ตัวอย่างเช่น MD5 cryptographic hash function จะสร้าง 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 และ e10adc3949ba59abbe56e057f20f883e สำหรับบล็อกข้อมูลที่ต่างกันทั้งหมดสามชุด

การตรวจสอบครั้งแรกมาจาก 12345. ตัวที่สองถูกสร้างขึ้นจากตัวอักษรและตัวเลขมากกว่า 700 ตัวอักษรและเลขที่สาม 123456.

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

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

นี่คือเหตุผลที่มีการสร้างฟังก์ชันแฮชบาฟกอื่น ๆ ในขณะที่ MD5 สร้างมูลค่า 32 ตัว SHA-1 สร้างอักขระได้ 40 ตัวและ SHA-2 (512) สร้าง 128 จำนวนอักขระที่มีการตรวจสอบมีจำนวนเท่าใดโอกาสที่เกิดการปะทะกันจะน้อยลง