0Pricing
Cryptology Academy · บทเรียน

ลายมือชื่อดิจิทัลคืออะไร

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

ลายมือชื่อดิจิทัลคืออะไร เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

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

เหตุใดลายมือชื่อจึงแตกต่างจากการเข้ารหัส

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

คุณสมบัติด้านความปลอดภัยสามประการ

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

การลงนามแล้วเข้ารหัส เทียบกับการเข้ารหัสแล้วลงนาม

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

แฮชแล้วลงนาม

อย่าลงนามข้อความดิบโดยเด็ดขาด เพราะมีขนาดใหญ่เกินไปสำหรับ RSA แต่ให้ทำดังนี้: 1. H = Hash(message) 2. signature = Sign(private_key, H) ค่าแฮชช่วยลดข้อความใด ๆ ให้เป็นข้อมูลนำเข้าขนาดคงที่สำหรับอัลกอริทึมการลงนาม

การตรวจสอบลายมือชื่อ

ผู้ตรวจสอบมี: ข้อความ ลายมือชื่อ และคีย์สาธารณะของผู้ลงนาม 1. H = Hash(message) 2. H' = Verify(public_key, signature) 3. ยอมรับเมื่อ H == H' มิฉะนั้นให้ปฏิเสธ

ตัวอย่างลายมือชื่อ RSA

ลงนาม: sig = hash^d mod n (ยกกำลังด้วยคีย์ส่วนตัว d) ตรวจสอบ: hash = sig^e mod n (ยกกำลังด้วยคีย์สาธารณะ e) เปรียบเทียบแฮชที่กู้คืนได้กับแฮชของข้อความที่คำนวณขึ้น

การเปรียบเทียบลายมือชื่อกับ MAC

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

ภาพรวมของ DSA

DSA (อัลกอริทึมลายมือชื่อดิจิทัล, 1994) ใช้ความยากของปัญหาโลการิทึมไม่ต่อเนื่อง โดยสร้างค่าที่ใช้ครั้งเดียวแบบสุ่ม k สำหรับการลงนามแต่ละครั้ง หากใช้ k ซ้ำหรือคาดเดาได้ คีย์ส่วนตัวจะถูกเปิดเผย

หายนะจากการใช้ค่าที่ใช้ครั้งเดียวซ้ำ (การแฮ็ก PS3)

Sony PlayStation 3 ใช้ค่าคงที่ k=1 ใน ECDSA แฮกเกอร์ดึงคีย์ส่วนตัวสำหรับลงนามออกจากลายมือชื่อสองรายการที่แตกต่างกัน ทำให้สามารถลงนามเฟิร์มแวร์ใด ๆ ก็ได้ และข้ามการรักษาความปลอดภัยทั้งหมด

ลายมือชื่อในใบรับรอง

ใบรับรอง X.509 เป็นเพียงข้อมูลบวกกับลายมือชื่อดิจิทัลที่สร้างด้วยคีย์ส่วนตัวของ CA เมื่อเบราว์เซอร์ตรวจสอบใบรับรอง เบราว์เซอร์จะตรวจสอบลายมือชื่อของ CA โดยใช้คีย์สาธารณะของ CA ในที่เก็บใบรับรองที่เชื่อถือได้

ตรวจสอบความเข้าใจ

คุณสมบัติใดทำให้ผู้ลงนามไม่สามารถปฏิเสธในภายหลังว่าเคยลงนามเอกสาร

สรุป

ลายมือชื่อดิจิทัลทำให้โลกดิจิทัลน่าเชื่อถือ ต่อไปเราจะศึกษาโครงร่างลายมือชื่อ RSA, DSA และ ECDSA อย่างละเอียด

คำถามที่พบบ่อย

บทเรียน “ลายมือชื่อดิจิทัลคืออะไร” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ลายมือชื่อดิจิทัลคืออะไร” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ลายมือชื่อดิจิทัลคืออะไร”

ทำความเข้าใจความแตกต่างระหว่างการพิสูจน์ตัวตนกับการเข้ารหัส รวมถึงวงจรชีวิตของลายมือชื่อ คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ลายมือชื่อดิจิทัลคืออะไร” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ลายมือชื่อดิจิทัลคืออะไร
  2. ลายมือชื่อ RSA: การลงนามและการตรวจสอบ
  3. รูปแบบลายมือชื่อ DSA และ ECDSA
  4. ลายมือชื่อในโลกจริง: การลงนามโค้ดและอีเมล
← กลับไปที่ Cryptology Academy