บทช่วยสอนการเข้ารหัส

บทช่วยสอนการเข้ารหัสและความปลอดภัยเครือข่าย

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

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

Cryptography คืออะไร?

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

เรามาอธิบายสิ่งนี้ด้วยความช่วยเหลือของตัวอย่าง สมมติว่าคุณต้องการส่งข้อความ “ฉันรักแอปเปิ้ล”คุณสามารถแทนที่ตัวอักษรทุกตัวในวลีด้วยตัวอักษรตัวที่สามต่อเนื่องกันในตัวอักษรได้ ข้อความที่เข้ารหัสจะเป็น “K NQXG CRRNGU”- เพื่อถอดรหัสข้อความของเรา เราจะต้องย้อนกลับไปสามตัวอักษรในตัวอักษรโดยใช้ตัวอักษรที่เราต้องการถอดรหัส ภาพด้านล่างแสดงวิธีการแปลงเสร็จสิ้น

การเข้ารหัสและถอดรหัสรหัส
การเข้ารหัสและถอดรหัสรหัส

กระบวนการแปลงข้อมูลให้อยู่ในรูปแบบที่ไม่สามารถอ่านได้โดยมนุษย์เรียกว่าการเข้ารหัส

กระบวนการย้อนกลับการเข้ารหัสเรียกว่า ถอดรหัส.

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

ข้อมูลที่เข้ารหัสเรียกว่าก ตัวเลข- ต่อไปในบทช่วยสอนการเข้ารหัสนี้ เราจะเรียนรู้ว่าการเข้ารหัสคืออะไร

คุณสมบัติของการเข้ารหัส

รายการคุณสมบัติของการเข้ารหัสมีดังต่อไปนี้:

  • ขั้นตอนวิธี
  • ความลับ
  • Integrity
  • การปรับตัวและเข้าถึงได้
  • การทำงานร่วมกัน
  • การยืนยันตัวตน
  • scalability
  • การจัดการคีย์

การประยุกต์ใช้การเข้ารหัส

การใช้งานการเข้ารหัสมีดังนี้:

  • การเข้ารหัส SSL/TLS
  • การจัดเก็บรหัสผ่าน
  • ธนาคารออนไลน์ที่ปลอดภัย
  • Crypto- สกุลเงิน
  • อีเมลที่เข้ารหัส
  • Digiลายเซ็นต์
  • การสื่อสารที่ปลอดภัย
  • อีคอมเมิร์ซและธุรกรรมออนไลน์

การเข้ารหัสคืออะไร?

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

ความสำเร็จของการโจมตีด้วยการเข้ารหัสนั้นขึ้นอยู่กับ

  • ระยะเวลาที่มีอยู่
  • มีกำลังคอมพิวเตอร์
  • ความจุที่มีอยู่

ต่อไปนี้คือรายการการโจมตี Cryptonalysis ที่ใช้กันทั่วไป

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

วิทยาการเข้ารหัสลับคืออะไร?

วิทยาการเข้ารหัสลับผสมผสานเทคนิคการเข้ารหัสและการวิเคราะห์การเข้ารหัสเข้าด้วยกัน

การเข้ารหัสลับ Algorithms

MD5– นี่คือตัวย่อสำหรับ Message-Digest 5 ใช้เพื่อสร้างค่าแฮช 128 บิต ตามทฤษฎีแล้ว แฮชไม่สามารถกลับเป็นข้อความธรรมดาต้นฉบับได้ MD5 ใช้เพื่อเข้ารหัสรหัสผ่านรวมถึงตรวจสอบความสมบูรณ์ของข้อมูล MD5 ไม่ทนทานต่อการชน การต้านทานการชนกันคือความยากในการค้นหาค่าสองค่าที่สร้างค่าแฮชเดียวกัน

  • SHA– นี่คือคำย่อของ Secure Hash Algorithm อัลกอริทึม SHA ใช้เพื่อสร้างการแสดงข้อความแบบย่อ (message digest) อัลกอริทึมนี้มีหลายเวอร์ชัน เช่น
  • SHA-0: สร้างค่าแฮช 120 บิต มันถูกถอนออกจากการใช้งานเนื่องจากมีข้อบกพร่องที่สำคัญและแทนที่ด้วย SHA-1
  • SHA-1: สร้างค่าแฮช 160 บิต มันคล้ายกับ MD5 เวอร์ชันก่อนหน้า มีจุดอ่อนในการเข้ารหัสและไม่แนะนำให้ใช้ตั้งแต่ปี 2010
  • SHA-2: มีฟังก์ชันแฮชสองฟังก์ชันคือ SHA-256 และ SHA-512 SHA-256 ใช้คำแบบ 32 บิต ในขณะที่ SHA-512 ใช้คำแบบ 64 บิต
  • SHA-3: อัลกอริธึมนี้มีชื่ออย่างเป็นทางการว่า Keccak
  • RC4– อัลกอริธึม Brute Force RC4 ใช้เพื่อสร้างรหัสสตรีม ส่วนใหญ่จะใช้ในโปรโตคอลเช่น Secure Socket Layer (SSL) เพื่อเข้ารหัสการสื่อสารทางอินเทอร์เน็ตและ ความเป็นส่วนตัวเทียบเท่าสาย (WEP) เพื่อรักษาความปลอดภัยเครือข่ายไร้สาย
  • ปักเป้า– อัลกอริธึมนี้ใช้เพื่อสร้างรหัสที่ถูกบล็อกแบบสมมาตรและสามารถใช้เข้ารหัสรหัสผ่านและข้อมูลอื่นๆ ได้

ในซีรีส์บทช่วยสอนเกี่ยวกับการเข้ารหัส เราจะเรียนรู้วิธีถอดรหัส RC4 และสร้างรหัสโดยใช้ CrypTool

กิจกรรมการแฮ็ก: วิธีสร้าง Cipher โดยใช้ CrypTool

ในบทช่วยสอน Cryptool ที่ใช้งานได้จริงนี้ เราจะสร้างการเข้ารหัสอย่างง่ายโดยใช้เครื่องมือ RC4 bruteforce จากนั้นเราจะพยายามถอดรหัสโดยใช้การโจมตีแบบเดรัจฉาน สำหรับแบบฝึกหัดนี้ ให้เราถือว่าเรารู้ การเข้ารหัสลับ รหัสลับคือ 24 บิต เราจะใช้ข้อมูลนี้เพื่อทำลายรหัส

การสร้างรหัสสตรีม RC4

ขั้นตอนที่ 1) ดาวน์โหลดและติดตั้ง CryptTool

เราจะใช้ CrypTool 1 เป็นเครื่องมือในการเข้ารหัสของเรา CrypTool 1 เป็นเครื่องมือการศึกษาแบบโอเพ่นซอร์สสำหรับการศึกษาเชิงตรรกะของการเข้ารหัสลับ คุณสามารถดาวน์โหลดได้จาก https://www.cryptool.org/en/ct1/

ขั้นตอนที่ 2) เปิด CryptTool และแทนที่ข้อความ

เราจะเข้ารหัสวลีต่อไปนี้

อย่าดูถูกความมุ่งมั่นของเด็กที่มีเวลามากและขาดแคลนเงิน

เราจะใช้ 00 00 00 เป็นคีย์เข้ารหัส

  • เปิด CrypTool 1

การสร้างรหัสสตรีม RC4

  • แทนที่ข้อความด้วยอย่าประมาทความมุ่งมั่นของเด็กที่รวยเวลาและขาดแคลนเงิน

การสร้างรหัสสตรีม RC4

ขั้นตอนที่ 3) เข้ารหัสข้อความ

  • คลิกที่เมนูเข้ารหัส/ถอดรหัส

การสร้างรหัสสตรีม RC4

  • ชี้ไปที่สมมาตร (สมัยใหม่) จากนั้นเลือก RC4 ตามที่แสดงด้านบน
  • จะปรากฏหน้าต่างต่อไปนี้

การสร้างรหัสสตรีม RC4

ขั้นตอนที่ 4) เลือกคีย์เข้ารหัส

  • เลือก 24 บิตเป็นคีย์เข้ารหัส
  • ตั้งค่าเป็น 00 00 00
  • คลิกที่ปุ่มเข้ารหัส
  • คุณจะได้รับรหัสสตรีมต่อไปนี้

การสร้างรหัสสตรีม RC4

โจมตี Stream Cipher

ขั้นตอนที่ 5) เริ่มการวิเคราะห์

  • คลิกที่เมนูการวิเคราะห์

โจมตี Stream Cipher

  • ชี้ไปที่ Symmetric Encryption (สมัยใหม่) จากนั้นเลือก RC4 ตามที่แสดงด้านบน
  • คุณจะได้รับหน้าต่างต่อไปนี้

โจมตี Stream Cipher

  • โปรดจำไว้ว่าสมมติฐานที่ทำไว้คือรหัสลับคือ 24 บิต ดังนั้นตรวจสอบให้แน่ใจว่าคุณเลือก 24 บิตเป็นความยาวของคีย์
  • คลิกปุ่ม Start คุณจะเห็นหน้าต่างต่อไปนี้

โจมตี Stream Cipher

  • หมายเหตุ: เวลาที่ใช้ในการโจมตี Brute-Force Analysis ขึ้นอยู่กับความสามารถในการประมวลผลของเครื่องที่ใช้งานและความยาวของคีย์ ยิ่งความยาวของคีย์ยาวเท่าไร การโจมตีก็จะยิ่งนานขึ้นเท่านั้น

ขั้นตอนที่ 6) วิเคราะห์ผลลัพธ์

  • เมื่อการวิเคราะห์เสร็จสมบูรณ์คุณจะได้รับผลลัพธ์ต่อไปนี้

โจมตี Stream Cipher

  • หมายเหตุ: ค่าเอนโทรปีที่ต่ำกว่าหมายความว่าน่าจะเป็นผลลัพธ์ที่ถูกต้องที่สุด เป็นไปได้ว่าค่าเอนโทรปีที่สูงกว่าค่าต่ำสุดที่พบอาจเป็นผลลัพธ์ที่ถูกต้อง
  • เลือกบรรทัดที่เหมาะสมที่สุด จากนั้นคลิกปุ่มยอมรับการเลือกเมื่อเสร็จแล้ว

สรุป

  • การเข้ารหัสเป็นศาสตร์แห่งการเข้ารหัสและถอดรหัสข้อความ
  • รหัสคือข้อความที่ถูกแปลงเป็นรูปแบบที่ไม่สามารถอ่านได้โดยมนุษย์
  • การถอดรหัสคือการกลับรหัสไปเป็นข้อความต้นฉบับ
  • การเข้ารหัสลับเป็นศิลปะของการถอดรหัสการเข้ารหัสโดยไม่ต้องมีความรู้เกี่ยวกับกุญแจที่ใช้ในการเข้ารหัส
  • วิทยาการเข้ารหัสลับผสมผสานเทคนิคของทั้งการเข้ารหัสและนักวิเคราะห์การเข้ารหัส
  • อัลกอริทึมออนไลน์ RC4 bruteforce ใช้เพื่อสร้างรหัสสตรีม ส่วนใหญ่จะใช้ในโปรโตคอล เช่น Secure Socket Layer (SSL) เพื่อเข้ารหัสการสื่อสารทางอินเทอร์เน็ต และ Wired Equivalent Privacy (WEP) เพื่อรักษาความปลอดภัยเครือข่ายไร้สาย