การเข้ารหัสลายเซ็นดิจิทัล

ลายเซ็นดิจิทัลเป็นพื้นฐานของคีย์สาธารณะของการพิสูจน์ตัวตนข้อความ ในโลกทางกายภาพเป็นเรื่องปกติที่จะใช้ลายเซ็นที่เขียนด้วยลายมือในข้อความที่เขียนด้วยลายมือหรือพิมพ์ ใช้เพื่อผูกผู้ลงนามในข้อความ

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

ลายเซ็นดิจิทัลคือค่าการเข้ารหัสที่คำนวณจากข้อมูลและคีย์ลับที่ผู้ลงนามรู้จักเท่านั้น

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

รูปแบบของลายเซ็นดิจิทัล

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

ประเด็นต่อไปนี้อธิบายกระบวนการทั้งหมดโดยละเอียด -

  • แต่ละคนที่ใช้โครงการนี้จะมีคู่คีย์สาธารณะและคีย์ส่วนตัว

  • โดยทั่วไปคู่คีย์ที่ใช้ในการเข้ารหัส / ถอดรหัสและการลงนาม / ยืนยันจะแตกต่างกัน คีย์ส่วนตัวที่ใช้ในการเซ็นชื่อเรียกว่าคีย์ลายเซ็นและคีย์สาธารณะเป็นคีย์ยืนยัน

  • Signer ป้อนข้อมูลไปยังฟังก์ชันแฮชและสร้างแฮชของข้อมูล

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

  • ผู้ตรวจสอบจะป้อนลายเซ็นดิจิทัลและคีย์การยืนยันลงในอัลกอริทึมการตรวจสอบ อัลกอริทึมการตรวจสอบจะให้ค่าบางอย่างเป็นผลลัพธ์

  • Verifier ยังเรียกใช้ฟังก์ชันแฮชเดียวกันกับข้อมูลที่ได้รับเพื่อสร้างค่าแฮช

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

  • เนื่องจากลายเซ็นดิจิทัลถูกสร้างขึ้นโดยคีย์ "ส่วนตัว" ของผู้ลงนามและไม่มีใครสามารถมีคีย์นี้ได้ ผู้ลงนามไม่สามารถปฏิเสธการลงนามในข้อมูลได้ในอนาคต

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

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

การลงนามข้อมูลขนาดใหญ่ผ่านการยกกำลังแบบแยกส่วนมีค่าใช้จ่ายในการคำนวณและใช้เวลานาน แฮชของข้อมูลเป็นส่วนย่อยของข้อมูลที่ค่อนข้างเล็กดังนั้นsigning a hash is more efficient than signing the entire data.

ความสำคัญของลายเซ็นดิจิทัล

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

นอกเหนือจากความสามารถในการไม่ปฏิเสธข้อความแล้วลายเซ็นดิจิทัลยังให้การรับรองความถูกต้องของข้อความและความสมบูรณ์ของข้อมูล ให้เราดูสั้น ๆ ว่าสิ่งนี้ทำได้อย่างไรโดยลายเซ็นดิจิทัล -

  • Message authentication - เมื่อผู้ยืนยันตรวจสอบลายเซ็นดิจิทัลโดยใช้คีย์สาธารณะของผู้ส่งเขาจะมั่นใจได้ว่าลายเซ็นถูกสร้างขึ้นโดยผู้ส่งที่มีคีย์ส่วนตัวลับที่เกี่ยวข้องเท่านั้นและไม่มีใครอื่น

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

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

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

การเข้ารหัสด้วยลายเซ็นดิจิทัล

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

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

สิ่งนี้สามารถเก็บถาวรโดยการรวมลายเซ็นดิจิทัลเข้ากับรูปแบบการเข้ารหัส ให้เราพูดคุยสั้น ๆ ว่าจะบรรลุข้อกำหนดนี้ได้อย่างไร มีtwo possibilities, sign-then-encrypt และ encrypt-then-sign.

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

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