แฮชเข้ารหัสคืออะไร? [คู่มือสำหรับผู้เริ่มต้น]
เผยแพร่แล้ว: 2019-08-07สารบัญ
แฮชเข้ารหัสคืออะไร?
อธิบายแฮชการเข้ารหัส
คุณสมบัติฟังก์ชันแฮชเข้ารหัส
อัลกอริทึมการแฮชทั่วไป
การแฮชใน Cryptocurrencies
ฟังก์ชันแฮชในการจัดเก็บรหัสผ่าน
สรุป
เป็นไปได้ว่าในสมัยที่คุณและเพื่อนๆ ของคุณสร้างรหัสเพื่อส่งข้อความหากันซึ่งไม่มีใครสามารถเข้าใจได้ อย่างน้อยที่สุดคุณก็รู้จักคนแบบนั้น
ผู้ชายบางคนชอบเกมนี้อย่างจริงจังและเปลี่ยนมันให้เป็นอาชีพ
คนอื่นกลายเป็นผู้วิเศษ - ที่เรียกว่านักจิตวิทยา ด้วยความช่วยเหลือของรหัส พวกเขาใช้ "พลังจิต" ในการเดาไพ่ ตัวเลข ฯลฯ
เกมลูกที่เรียบง่ายนั้นกลายเป็นสิ่งที่เรียกว่าการเข้ารหัส การแฮช และฟังก์ชันอื่นๆ ทั้งหมด ซึ่งสร้างโค้ดที่ดูเหมือนอ่านไม่ได้จากอินพุตที่กำหนด
วันนี้เราจะดำดิ่งสู่โลกแห่งการเข้ารหัสเพื่อดูว่า แฮชเข้ารหัส คืออะไร การทำงานภายใน และการใช้งานของมัน
ดังนั้นโดยไม่ต้องกังวลใจต่อไป เรามากระโดดกันเลย
แฮชเข้ารหัสคืออะไร?
ฟังก์ชั่นการเข้ารหัสลับกัญชาเป็นชนิดของฟังก์ชันแฮชที่ใช้เพื่อความปลอดภัย มีคุณสมบัติหลายอย่างที่แยกความแตกต่างจากคุณสมบัติที่ไม่เข้ารหัส มาทำลายมันทีละขั้นตอน
แฮชคืออะไร?
Hashing เป็นวิธีการที่ใช้ในการบีบอัดข้อมูล
ถึงกระนั้น ก็ยังไม่ใช่การบีบอัดทั่วไปที่ทุกคนรู้จัก เช่น ไฟล์ .zip หรือ .rar
Hashing สร้างรหัสสำหรับข้อมูลที่ใช้วิธีกัญชาเป็น รหัสแสดงถึงสตริงของอักขระ ซึ่งทำหน้าที่เป็น "ลายนิ้วมือ" ของไฟล์นั้น
เราทุกคนทราบดีว่าลายนิ้วมือมีขนาดเล็ก แต่มีข้อมูลจำนวนมหาศาล คุณรู้ไหม สิ่งต่างๆ เช่น ชื่อ ใบหน้า ที่อยู่ และข้อมูลละเอียดอ่อนอื่นๆ ของเรา การแฮชนั้นคล้ายคลึงกัน - ใช้ข้อมูล ขนาดตามอำเภอใจ และเปลี่ยนเป็นลำดับอักขระที่ค่อนข้างเล็ก
ไม่ว่าอินพุตจะ มี ขนาดเท่าใด คุณจะได้รับ เอาต์พุตที่มีความยาวคงที่ เสมอ เมื่อทำการแฮช
ตัวอย่างฟังก์ชันแฮช
นี่คือตัวอย่างที่เกิดขึ้น สำหรับการสาธิตนี้ เราจะใช้ Secure Hashing Algorithm 256 บิต หรือที่เรียกว่า SHA-256 เป็นหนึ่งใน อัลกอริธึมการแฮชที่ใช้บ่อย ที่สุด และปรากฏว่า Bitcoin ยังใช้ อยู่
ข้อความ | แฮชของข้อความ |
สวัสดี | 3639EFCD08ABB273B1619E82E78C29A7DF02C1051B1820E99FC395DCAA3326B8 |
ยินดีต้อนรับสู่ TechJury | B7FFC27E0A6F559E1F63A927B6132A42124CC790F9EFD0FCFF4C3B653AA0DF4B |
(เนื้อหาของบทความนี้ทั้งหมด) | 9247D0E6C7A2A45976DCC3D2393A52658B6DDFC846d8AF5743400EA12FB9DE74 |
แม้ว่าข้อความจะมีความยาวต่างกัน แต่ทั้งหมดจะได้รับแฮช 64 อักขระ นอกจากนี้ยังเป็นที่รู้จักกันเป็นค่ากัญชาหรือย่อย
คุณจะได้ผลลัพธ์ที่มีความยาวคงที่เท่ากันหากคุณแฮชหนังสือหรือแม้แต่เนื้อหาของห้องสมุดทั้งหมด คุณยังสามารถทำสิ่งนั้นกับข้อมูลประเภทอื่นๆ ได้เช่นกัน – วิดีโอ รูปภาพ ฯลฯ
มีอะไรที่ดีเกี่ยวกับแฮชคือคุณจะได้รับค่าแฮชที่แตกต่างอย่างสิ้นเชิงแม้ว่าคุณจะทำให้มีขนาดเล็กที่สุดของการเปลี่ยนแปลง เป็นที่รู้จักกันในชื่อเอ ฟเฟกต์หิมะถล่ม
ดังนั้น ถ้าแฟน/แฟนของคุณลบรูปภาพทั้งหมดที่คุณมีเกี่ยวกับแฟนเก่าของคุณ เช่น แฮชของโฟลเดอร์จะเปลี่ยนไป ด้วยวิธีนี้ คุณจะรู้ว่ามีบางอย่างผิดปกติโดยไม่ต้องตรวจสอบแต่ละภาพ
มาดูตัวอย่างเพิ่มเติมว่า ฟังก์ชันแฮช มีประโยชน์อย่างไรในทางปฏิบัติ สำหรับตัวอย่างต่อไป ฉันแฮช “ VPN คืออะไร? ” บทความและดูเหมือนว่านี้:
จากนั้นฉันก็ลบคำออกจากบทความและแฮชอีกครั้ง นี่คือผลลัพธ์:
การกำจัดของคำเดียวสมบูรณ์เปลี่ยนค่าแฮ ซึ่งจะเป็นประโยชน์อย่างยิ่งหากคุณต้องการตรวจสอบว่ามีการเปลี่ยนแปลงใดๆ กับไฟล์หรือไม่
จะยิ่งมีประโยชน์มากขึ้นเมื่อคุณต้องรับมือกับข้อมูลจำนวนมาก ตัวอย่างเช่น บล็อคเชนสกุลเงินดิจิทัลที่จัดเก็บธุรกรรมนับพันรายการต่อวัน
ตอนนี้ มาเจาะลึกกันและดูว่า แฮชการเข้ารหัส หมายถึงอะไร
อธิบายแฮชการเข้ารหัส
เมื่อคุณต้องการความปลอดภัยและความเป็นส่วนตัว แฮชเข้ารหัส จะเข้ามามีบทบาท ข้อเสียของการเข้ารหัสลับ hashing คือมันมักจะช้ากว่าชนิดอื่น ๆ ของแฮช หากคุณต้องการแฮชอย่างรวดเร็วและไม่ต้องการการรักษาความปลอดภัยระดับสูง การแฮชแบบไม่เข้ารหัสจะดีกว่า ตัวอย่างเช่น – หากคุณกำลังสร้างดัชนีของข้อมูลที่ไม่ละเอียดอ่อนบางอย่าง
ความแตกต่างที่สำคัญระหว่างการแฮชแบบไม่ใช้การเข้ารหัสและการเข้ารหัสลับคือการแฮชแบบหลังยากมาก สังเกตว่ามันเป็น ไป ไม่ ได้ อย่างไรก็ตาม การแฮชแบบเข้ารหัส ทำให้การถอดรหัสแฮชแทบเป็นไปไม่ได้
เพื่อให้ฟังก์ชันแฮชเป็นแฮช เข้ารหัส ฟังก์ชัน ดังกล่าวต้องมีคุณสมบัติหลายอย่าง
คุณสมบัติฟังก์ชันแฮชเข้ารหัส
หากคุณต้องการใช้การแฮชเพื่อวัตถุประสงค์ในการเข้ารหัส มีข้อกำหนดหลายประการที่ฟังก์ชันแฮชต้องปฏิบัติตามจึงจะถือว่าปลอดภัย
คุณสมบัติ #1 – ความเร็ว
หากคุณชอบคำแฟนซี – ฟังก์ชันแฮชที่เข้ารหัส ควรมีประสิทธิภาพในการคำนวณ นั่นหมายความว่า ฟังก์ชันการแฮช ควรสามารถสร้างแฮชได้ ภายในเสี้ยววินาที
แหล่งที่มา
คุณสมบัติ #2 – เอฟเฟกต์หิมะถล่ม
ผลหิมะถล่มหมายถึงแม้จะมีการเปลี่ยนแปลงเล็กน้อยในข้อความจะส่งผลให้เกิดการเปลี่ยนแปลงที่สำคัญในมูลค่ากัญชา
ข้อความ | แฮชของข้อความ |
ยินดีต้อนรับสู่ TechJury | B7FFC27E0A6F559E1F63A927B6132A42124CC790F9EFD0FCFF4C3B653AA0DF4B |
ยินดีต้อนรับสู่ Techjury | 66251AE6324F670BF988465E49B9CEAA2F8C4E72E1D61336D3794301116C092B |
การใช้ตัวพิมพ์เล็ก "j" ในข้อความที่สองจะเปลี่ยน รหัสแฮช ทั้งหมด
นี่เป็น ตัวอย่างฟังก์ชันแฮช อย่างง่าย แต่คุณคงเข้าใจแล้ว ใช้งานได้จริงและสามารถแสดงได้อย่างรวดเร็วหากมีการเปลี่ยนแปลงข้อมูล
คุณสมบัติ #3 – ควรกำหนดฟังก์ชันแฮชเข้ารหัสลับ
นั่นหมายความว่า ไม่ว่าคุณจะใช้ ฟังก์ชันแฮช สำหรับ อินพุตเดียวกัน กี่ครั้ง คุณก็จะได้ ผลลัพธ์ที่เหมือนกัน เสมอ สิ่งนี้ชัดเจนเนื่องจากหากคุณได้รับ แฮช แบบสุ่ม สำหรับข้อความเดียวกัน กระบวนการทั้งหมดจะไม่มีความหมาย
คุณสมบัติ #4 – การต้านทานก่อนภาพ (ฟังก์ชันทางเดียว)
ซึ่งหมายความว่าเป็นเรื่องยากมากที่จะรับอินพุตผ่านเอาต์พุต
พูดง่ายๆ ก็คือ คุณ ไม่สามารถย้อนกลับ ฟังก์ชันแฮชเข้ารหัส เพื่อเข้าถึงข้อมูลได้ อย่างไรก็ตาม นี่ไม่ได้หมายความว่าจะไม่สามารถดูข้อความได้
นี่คือข้อตกลง
มีสองวิธีในการค้นหาข้อความที่แฮช
- หากต้องการเปรียบเทียบแฮชกับรายการแฮชที่มีอยู่ เช่น Dehash.me โดยปกติอาชญากรไซเบอร์จะมีฐานข้อมูลข้อความที่แปลแล้ว
- เพื่อดำเนินการโจมตีแบบเดรัจฉาน
ในการถอดรหัสแฮชด้วยกำลังดุร้าย คุณต้องเลือกข้อความ แฮชมัน และเปรียบเทียบกับแฮชที่คุณมี สถานการณ์กรณีที่ดีที่สุด – คุณได้รับตั้งแต่ครั้งแรกที่ลอง ถึงกระนั้นโอกาสที่จะเกิดขึ้นนั้น มี น้อยมาก
สถานการณ์กรณีที่เลวร้ายที่สุด – คุณพบได้จากการลองครั้งสุดท้าย นั่นหมายความว่าคุณต้องแฮชข้อความที่เป็นไปได้ทั้งหมดและเปรียบเทียบกับข้อความที่คุณมี จำนวนที่แตกต่างกันขึ้นอยู่กับขั้นตอนวิธีกัญชา
ตัวอย่างเช่น ลองใช้ SHA-256 ในกรณีนี้ คุณต้องหา 2 256 -1 ค่าแฮชก่อน พูดได้เลยว่าไม่สามารถทำได้ในหลายชั่วอายุคนและปล่อยทิ้งไว้อย่างนั้น
ตอนนี้.
คุณสมบัติต้านทานก่อนอิมเมจของ แฮชเข้ารหัส มีบทบาทสำคัญใน การ อภิปรายการ แฮชกับการเข้ารหัส
ดู - คุณสามารถถอดรหัสข้อความที่เข้ารหัสลับ แต่คุณไม่สามารถทำเช่นเดียวกันสำหรับกัญชาเข้ารหัสลับ
คุณสามารถคิดว่าแฮชเป็นสมูทตี้ได้ คุณไม่สามารถแยกข้อความออกจากแฮชแบบเดียวกับที่คุณไม่สามารถแยกกล้วยและนมออกจากสมูทตี้ได้
ในทางกลับกันการเข้ารหัสเป็นเหมือนความปลอดภัย มันปกป้องของมีค่าของคุณ แต่มี กุญแจ ที่เปิดอยู่เสมอ
คุณสมบัติ #5 – ความต้านทานการชนกัน
นั่นหมายความว่าสองข้อความที่แตกต่างกันจะไม่สามารถที่จะผลิตค่าแฮเดียวกัน จากมุมมองทางคณิตศาสตร์ มันเป็นไปไม่ได้อยู่แล้ว
คุณรู้อยู่แล้วว่า ค่าแฮช มีความยาวคงที่ นั่นหมายความว่ามี ชุดค่าผสมเอาต์พุตที่จำกัด ในทางกลับกัน อินพุตเป็นจำนวน อนันต์ ดังนั้น ตามทฤษฎีแล้ว มีโอกาสที่ข้อความสองข้อความที่ต่างกันสามารถสร้าง แฮช เดียวกัน ได้
อย่างไรก็ตาม ฟังก์ชันแฮชในการเข้ารหัส ทำให้โอกาสของการ ชนกัน ของ แฮชนั้น แทบไม่มีนัยสำคัญ
ดู.
ทั้งหมดของคุณสมบัติเหล่านี้ให้แน่ใจว่าการรักษาความปลอดภัยและการใช้งานของกัญชาเข้ารหัสลับ ถึงเวลาพบกับฟังก์ชันแฮชเข้ารหัสต่างๆ
อัลกอริทึมการแฮชทั่วไป
อัลกอริทึมแฮชมีคลาส (ครอบครัว) ที่แตกต่างกัน ความแตกต่างหลักระหว่างค่าเหล่านี้คือค่าแฮชที่แต่ละรายการสร้างและคุณสมบัติด้านความปลอดภัย
ต่อไปนี้คือรายการที่ใช้บ่อยที่สุด:
อัลกอริธึมการสรุปข้อความ (MD)
MD5 เป็นฟังก์ชันแฮชที่บริษัทหลายแห่งเลือกใช้ แต่ถูกใช้งานไม่ได้ในปี 2547 อัลกอริทึมการแฮชจะถือว่าใช้งานไม่ได้เมื่อมีการชนที่ประสบความสำเร็จหรือการโจมตีก่อนอิมเมจกับมัน ถึงกระนั้น เว็บไซต์จำนวนมากยังคงใช้ฟังก์ชันแฮช MD5 สำหรับการตรวจสอบไฟล์
ตัวอย่างเช่น เมื่อคุณดาวน์โหลดไฟล์ คุณสามารถเปรียบเทียบแฮชกับไฟล์บนไซต์เพื่อให้แน่ใจว่าไม่มีใครเข้าไปยุ่งเกี่ยวกับมัน
MD family ประกอบด้วย MD2, MD3, MD4, MD5 (ทั้งหมดนี้เสีย) และ MD6 (ซึ่งไม่เป็นที่นิยมมากนัก)
นี่คือ ตัวอย่างฟังก์ชันแฮช ของ MD5
ข้อความ | MD5 แฮช |
คณะลูกขุน | FECE553512085FF6B5E213C8EFF9F30D |
MD5 สร้าง ค่าแฮช 128 บิตที่ มีความยาวอักขระ 32 ตัว
เพราะข้อบกพร่องของตน, อัลกอริทึม Message Digest ถือว่าไม่เป็นฟังก์ชันแฮชการเข้ารหัสลับ
อัลกอริทึมการแฮชที่ ปลอดภัย (SHA)
ตระกูลที่ใหญ่ที่สุดของ ฟังก์ชันแฮชเข้ารหัส ประกอบด้วยสี่คลาส:
- SHA-0
- SHA-1
- SHA-2
- SHA-3
SHA-0 มีข้อบกพร่องมากมายและไม่ได้ใช้กันอย่างแพร่หลาย SHA-1 พยายามแก้ไข แต่พังในปี 2548
SHA-2 และคลาสย่อยของมันถูกใช้กันทั่วไปในปัจจุบัน จนกว่า SHA-3 จะพิสูจน์ตัวเองว่าเป็นฟังก์ชันที่ปลอดภัยยิ่งขึ้น
SHA-2 ครอบครัวประกอบด้วยสมาชิกทั้งสี่ - SHA-224, SHA-256, SHA-384 และ SHA-512 ซึ่งแตกต่างกันในจำนวนบิตของค่าแฮชของพวกเขา จนถึงตอนนี้ ยังไม่มีการโจมตีที่ประสบความสำเร็จใน อัลกอริธึม แฮชการเข้ารหัส SHA-2
ต่อไปนี้คือ ตัวอย่างฟังก์ชันแฮช บางส่วน ที่ ใช้คลาส SHA-2
ข้อความ | คณะลูกขุน |
SHA-256 | FF3E4985DAFF59392EAE60DEC66EC823CAF9575B81903729053A999B9B2C708E |
SHA-384 | 77653BC173A561E3378373F64E447FB3AEDC691F387BB599656E6AB63B9C5D34 523C298C59C94802A478F8C3F36E9CDF |
SHA-512 | C975F1074E969FAEA76C15084881F7694DE4D542F9E4DF934AFA52470952A362 25F7ED63D023AB05746DDAFDFED96D57A7AF5344EB91589A09952D102DD3AB04 |
RACE Integrity Primitives Evaluation Message Digest (RIPEMD)
ในขั้นต้น RIPEMD ถูกสร้างขึ้นสำหรับโครงการสหภาพยุโรปที่เรียกว่า RIPE มีห้าฟังก์ชันแฮชในตระกูล RIPEMD
- RIPEMD
- RIPEMD-128
- RIPEMD-160
- RIPEMD-256
- RIPEMD-320
ในปี 2004 มีการปะทะกันในต้นฉบับฟังก์ชันแฮช RIPEMD นั่นเป็นเหตุผลที่ไม่ได้ใช้งานอีกต่อไป ปัจจุบัน RIPEMD-160 เป็นเรื่องธรรมดาที่สุด นี่คือลักษณะ:
ข้อความ | RIPEMD-160 ไดเจสต์ |
คณะลูกขุน | ca25dc64fb00c8becb21eddf50805fbc106eed00 |
วังวน
ชื่อฟังก์ชันแฮชเข้ารหัสลับนี้มีอะไรจะทำอย่างไรกับผู้ผลิตเครื่องใช้ภายในบ้าน กาแลคซีวังวนแรงบันดาลใจชื่อของอัลกอริทึม
สิ่งที่น่าสนใจเกี่ยวกับขั้นตอนวิธี hashing วังวนเป็นที่หนึ่งของผู้สร้างคือวินเซ็นต์ริจเมน, ผู้สร้างร่วมของ AES, Advanced Encryption Standard
Whirlpool เป็น ฟังก์ชันแฮช 512 บิต และไดเจสต์แสดงสตริงที่มีอักขระ 128 ตัว
นี่คือตัวอย่างของฟังก์ชันแฮชเข้ารหัสลับ
ข้อความ | อ่างน้ำวน |
คณะลูกขุน | 2E9A775FA4450549FCB6F6CDC4761865715D46FF8003E93CC614EF7C9E3D42A93 D5A663B4E48674C5155417D686D81ABDBC12FB32A1B650C5E44F24E80156E7D |
นี่คือ อัลกอริธึมการแฮชที่ใช้บ่อย ที่สุด ในปัจจุบัน
เมื่อคุณรู้พื้นฐานของการแฮชแล้ว มาดูการใช้งานจริงกัน
การแฮชใน Cryptocurrencies
เราได้อธิบายไปแล้ว ว่า Bitcoin คืออะไร และ บล็อกเชนทำงานอย่างไร ดังนั้นเราจะดำเนินการแฮชโดยตรง
ฟังก์ชั่นการเข้ารหัสลับกัญชาเป็นสิ่งจำเป็นเพื่อ Cryptocurrencies ตั้งแต่มันรับประกันหนึ่งในคุณสมบัติที่สำคัญที่สุด blockchain ฯ - เปลี่ยนไม่ได้
เนื่องจากบล็อคเชนของสกุลเงินดิจิทัลจัดการกับธุรกรรมจำนวนมาก พวกเขาจึงใช้การแฮช นี่เป็นแนวทางที่ใช้งานได้จริงและปลอดภัยกว่าการเก็บบันทึกทุกรายการของทุกธุรกรรมในบัญชีแยกประเภท
ในกรณีของ Bitcoin ผู้ขุดจะเรียกใช้ชุดฟังก์ชัน SHA-256 เพื่อสร้างแฮชของบล็อก จากนั้นคนหลังจะได้รับการประทับเวลา เมื่อโหนดบรรลุฉันทามติ บล็อกจะถูกเพิ่มในบล็อกเชน บล็อกไม่เพียงแต่มี hash ของตัวเอง แต่ยังมี hash ของ บล็อก ก่อนหน้า ด้วย ดังนั้นจึงเชื่อมโยงทั้งหมดเข้าด้วยกัน
เนื่องจากผลกระทบจากหิมะถล่ม การพยายามแก้ไขบล็อกจึงไม่สามารถทำได้ ในกรณีที่มีคนพยายามเปลี่ยนธุรกรรมในบล็อก พวกเขาต้องแก้ไขทุกรายการติดต่อกันเช่นกัน การดำเนินการดังกล่าวต้องใช้กำลังและเวลาในการคำนวณมากจน แทบจะเป็นไปไม่ได้ เลย
นั่นทำให้การแฮชเป็นคุณสมบัติที่สำคัญในความปลอดภัยของบล็อคเชน
ตอนนี้.
การเข้ารหัสลับที่แตกต่างกันใช้อัลกอริธึมการแฮชที่แตกต่างกันในบล็อกเชน
ตัวอย่างเช่น Bitcoin ใช้ SHA-256 เพื่อพิสูจน์การทำงาน อย่างไรก็ตาม Bitcoin ใช้ อัลกอริธึมการแฮชสองแบบ เพื่อสร้างที่อยู่สาธารณะ (คีย์) – SHA-256 และ RIPEMD-160 สิ่งนี้ทำโดย Satoshi Nakamoto เพื่อให้การป้องกันกุญแจสาธารณะดีขึ้นและเพื่อลดโอกาสของการชน
ในทางกลับกัน Ethereum ใช้ อัลกอริทึมแฮช Keccak-256 ซึ่งเป็นรากฐานของ SHA-3
ตอนที่เขียนยังไม่มีการโจมตีที่ประสบความสำเร็จในอัลกอริธึมเหล่านี้
แม้ว่าคุณจะไม่ได้เข้าสู่ตลาดสกุลเงินดิจิทัล คุณยังคงใช้ฟังก์ชันการแฮชทุกวัน
วิธีที่ว่า?
ฟังก์ชันแฮชในการจัดเก็บรหัสผ่าน
มีสี่วิธีหลัก บริษัท ใช้ในการเก็บรหัสผ่านของเราเป็น - ในข้อความธรรมดาที่มีการเข้ารหัสและมีฟังก์ชั่นแฮช วิธีสุดท้ายคือการรวมกันของเทคนิคเหล่านี้ตั้งแต่สองวิธีขึ้นไป
เรามาดูกันว่ามีความแตกต่างกันอย่างไร
การจัดเก็บรหัสผ่านเป็นข้อความธรรมดา – ไม่ใช่เรื่องใหญ่
การจัดเก็บรหัสผ่านเป็นข้อความธรรมดาก็… อย่างที่คิดนั่นแหละ
แบบนี้:
ชื่อผู้ใช้: John Smith
รหัสผ่าน: johnsmith93
ฐานข้อมูลของบริษัทมีข้อมูลเดียวกัน – ผู้ใช้: John Smith, pass: johnsmith93.
สิ่งนี้ควรหลีกเลี่ยงหากบริษัทให้ความสำคัญกับความเป็นส่วนตัวของลูกค้า (หวังว่าบางคนจาก Facebook จะอ่านข้อความนี้)
ข้อเสียของวิธีนี้ชัดเจน ถ้าอาชญากรไซเบอร์แทรกซึมฐานข้อมูลของบริษัท พวกเขาสามารถเห็นชื่อผู้ใช้และรหัสผ่านทั้งหมด
การจัดเก็บรหัสผ่านโดยใช้การเข้ารหัส
การเข้ารหัสเป็นวิธีที่ดีกว่าในการรักษาความปลอดภัยรหัสผ่าน มันแปลงรหัสผ่านของคุณเป็นลำดับตัวเลขและตัวอักษรที่ไม่สามารถอ่านได้
นี่คือวิธีการทำงาน:
ชื่อผู้ใช้: John Smith
รหัสผ่าน: johnsmith93
เมื่อบริษัทใช้การเข้ารหัสเพื่อปกป้องรหัสผ่านของคุณ รายการฐานข้อมูลจะมีลักษณะดังนี้:
ชื่อผู้ใช้: John Smith
รหัสผ่าน: I8Zdy1QBthsk2ie1HHsl+66bf20fDDcdCtXURqa07iQ=
หากอาชญากรไซเบอร์ได้รับรหัสผ่านนี้ ก็ไม่มีประโยชน์ พวกเขาไม่สามารถใช้รหัสผ่านนี้เพื่อเจาะเข้าสู่บัญชีได้ ถึงกระนั้นก็สามารถถอดรหัสได้ตามทฤษฎี
ในกรณีที่ผู้ประสงค์ร้ายได้รับรหัสผ่านที่เข้ารหัสของคุณ พวกเขาสามารถถอดรหัสได้โดยใช้เครื่องมือต่างๆ ยังคงต้องใช้เวลามากขึ้นและต้องใช้ทักษะด้านคอมพิวเตอร์มากกว่าการได้รับรหัสผ่านแบบข้อความธรรมดา
โชคดีที่มีอัลกอริธึมการเข้ารหัสที่ทรงพลังพอที่จะเป็นวิธีการที่ปลอดภัยในการปกป้องรหัสผ่าน
การจัดเก็บรหัสผ่านผ่าน Hashing Algorithm
แฮช และ การเข้ารหัส มักถูกเข้าใจผิดว่าเป็นสิ่งเดียวกันและใช้แทนกันได้ ทว่ามี ความแตกต่างที่สำคัญ ระหว่างพวกเขา
ฟังก์ชันแฮช เช่น การเข้ารหัส จะแปลงรหัสผ่านของคุณเป็นลำดับตัวเลขและตัวอักษรที่ไม่สามารถอ่านได้ ความแตกต่างที่สำคัญคือมันใช้งานได้ ทางเดียว เท่านั้น คุณไม่สามารถย้อนกลับกระบวนการแฮชได้ต่างจากการถอดรหัสด้วยเหตุนี้ หากอาชญากรไซเบอร์ได้รับแฮชรหัสผ่านของคุณ โดยปกติแล้วพวกเขาจะไม่สามารถทำอะไรกับมันได้
มีฟังก์ชันแฮชมากมาย แต่ลองใช้ SHA-256 เป็นตัวอย่าง
ชื่อผู้ใช้: John Smith
รหัสผ่าน (แฮช): e7c95991f28e529b4d3b37611e5f3b6a6a43600ce148af0c42d3d38c06365af5
ตอนนี้.
แม้ว่าแฮชจะไม่สามารถย้อนกลับเป็นข้อความต้นฉบับได้ แต่ก็มีรายการข้อความและแฮชจำนวนมาก ขออภัย ผู้ประสงค์ร้ายยังสามารถแฮ็ครหัสผ่านของคุณได้หากพวกเขาได้รับค่าแฮช โชคดีที่หากคุณใช้รหัสผ่านที่รัดกุม โอกาสที่จะเกิดขึ้นก็น้อยมาก เราจะใช้ตัวอย่างอื่นในกรณีนี้
ตัวอย่างฟังก์ชันแฮชในการจัดเก็บรหัสผ่าน
สมมติว่ารหัสผ่านของคุณคือ 123456 (อย่าใช้อันนั้นเลย ให้ สร้างรหัสผ่านที่คาดเดายาก แทน)
นี่คือแฮชหากเราใช้ อัลกอริธึมการแฮช SHA-256 :
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
ขออภัย แฮชนี้กำหนดค่าในรายการข้อความที่แฮชแล้ว
ปัญหานั้นยิ่งใหญ่กว่าเพราะหลายคนใช้รหัสผ่านเดียวกัน ดังนั้นหากฐานข้อมูลถูกแฮ็กและอาชญากรไซเบอร์พบแฮชของรหัสผ่าน พวกเขาสามารถใช้มันกับผู้ใช้ทุกคนที่ใช้รหัสผ่านเดียวกันได้ ไม่ต้องพูดถึงว่าหลายคนใช้รหัสผ่านเดียวกันสำหรับบัญชีต่างๆ ซึ่งจะนำพวกเขาออกจากกระทะและเข้าไปในกองไฟ
ถึงกระนั้น คุณสามารถทำหลายสิ่งหลายอย่างเพื่อป้องกันไม่ให้สิ่งนี้เกิดขึ้น
ก่อนอื่น ใช้รหัสผ่านที่รัดกุมและสร้างรหัสผ่านที่แตกต่างกันสำหรับบัญชีต่างๆ
อย่างอื่นที่ทำได้คือเติม " เกลือ " ลงในแฮช กัญชาเค็มเพิ่มมูลค่าเพิ่มให้กับรหัสผ่านของคุณและผลิตกัญชารหัสผ่านที่แตกต่างกันสำหรับแต่ละการป้อนข้อมูล
ตัวอย่างเช่น ผู้ใช้ทุกคนที่ใช้รหัสผ่าน 123456 และ “เกลือ” จะได้รับแฮชที่แตกต่างกัน
แต่ละตัวอย่างคือ แฮชที่ใส่เกลือ ของ 123456
$2y$10$pIxpMnhlQmt1t.EUYK1G/eHkb7Roo/XhPybKyFZSAqk/50BW10a8
$2y$10$sCLqOpeA4R.St/8IaUWF9.m01MM4YbY.qTwbCY3.K5z.cd5lwxL6W
วิธีที่ดีที่สุดที่บริษัทสามารถปกป้องรหัสผ่านของคุณคืออะไร?
เป็นการผสมผสานเทคนิคทั้งหมดที่กล่าวถึงข้างต้น เช่น Dropbox
ที่มา: Dropbox
นั่นคือวิธีที่คุณจัดการกับการแฮชทุกวันโดยที่คุณไม่รู้ตัว
สรุป
สรุป – การแฮชมีประโยชน์มากมาย
คุณสามารถแฮชข้อมูลประเภทใดก็ได้ ไม่ว่าจะเป็นการทำดัชนี หรือเพื่อตรวจสอบการเปลี่ยนแปลง ทำให้การแฮชมีประโยชน์สำหรับสัญญา การดาวน์โหลด การจัดเก็บรหัสผ่าน ฯลฯ
Cryptocurrencies ก็มีวิวัฒนาการเช่นกัน ไม่ใช่แค่ที่เรามีในตอนนี้ แต่ผู้เล่นใหม่กำลังอุ่นเครื่องเพื่อร่วมสนุก แม้แต่ Facebook ก็จะปล่อย Libra ดังนั้นเราจึงต้องใช้ประโยชน์จากการแฮชให้มากขึ้น
บางที Facebook อาจปูทางให้บริษัทใหญ่อื่น ๆ ปล่อย cryptocurrencies ของตัวเอง – และทำไมไม่ใช้กลไกการแฮชแบบใหม่? เวลาเท่านั้นที่จะบอก.
เจอกันคราวหน้า!
คำถามที่พบบ่อย
คุณสามารถนึกถึง ค่าแฮช เป็นลายนิ้วมือของข้อมูลใด ๆ เช่น ไฟล์ โฟลเดอร์ กลุ่มธุรกรรม ฯลฯ เมื่อคุณใช้ ฟังก์ชันแฮช กับข้อมูลใด ๆ ข้อมูลหลังจะได้รับค่าแฮช
ประกอบด้วยสตริงอักขระที่มีความยาวคงที่ดังนี้:
ข้อมูล | ค่าแฮช |
สวัสดี | D44426ACA8AE0A69CDBC4021C64FA5AD68CA32FE |
การเข้ารหัสเป็นวิธีที่ปกป้องข้อมูลโดยใช้รหัส (เช่น การแฮชและการเข้ารหัส)
นักพัฒนาใช้การเข้ารหัสเมื่อใดก็ตามที่มีความจำเป็นในการรักษาความปลอดภัยและความเป็นส่วนตัวที่สูงขึ้น มันแปลงข้อความธรรมดา (หรือข้อมูลอื่น ๆ ) เป็นสตริงอักขระสุ่มที่ไม่สามารถอ่านได้ สิ่งนี้รับประกันความปลอดภัยของข้อมูลจากการสอดรู้สอดเห็น
ฟังก์ชั่นแฮชคือการดำเนินการที่แปลงข้อมูลแบบสุ่มขนาดที่สอดคล้องกันเป็นสตริงความยาวคงที่ของตัวละครที่เรียกว่าเป็นค่าแฮ
มีสองชั้นของฟังก์ชันแฮชเป็น - ไม่ใช่การเข้ารหัสลับและการเข้ารหัสลับฟังก์ชันแฮช หลังใช้ใน cryptocurrencies และการจัดเก็บรหัสผ่านและให้ความปลอดภัยที่ดีขึ้น