แฮชเข้ารหัสคืออะไร? [คู่มือสำหรับผู้เริ่มต้น]

เผยแพร่แล้ว: 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 – การต้านทานก่อนภาพ (ฟังก์ชันทางเดียว)

    ซึ่งหมายความว่าเป็นเรื่องยากมากที่จะรับอินพุตผ่านเอาต์พุต

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

    นี่คือข้อตกลง

    มีสองวิธีในการค้นหาข้อความที่แฮช

    1. หากต้องการเปรียบเทียบแฮชกับรายการแฮชที่มีอยู่ เช่น Dehash.me โดยปกติอาชญากรไซเบอร์จะมีฐานข้อมูลข้อความที่แปลแล้ว
    2. เพื่อดำเนินการโจมตีแบบเดรัจฉาน

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

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

    ตัวอย่างเช่น ลองใช้ 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 และการจัดเก็บรหัสผ่านและให้ความปลอดภัยที่ดีขึ้น