Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ข้อกำหนดของ Message Authentication Codes (MAC) ในความปลอดภัยข้อมูล

Message Authentication Code (MAC) คืออะไร?

MAC ย่อมาจาก Message Authentication Code เป็นรหัสความปลอดภัยหรือแท็กที่เพิ่มเข้าไปในข้อความที่ส่งจากผู้ส่งไปยังผู้รับ เพื่อยืนยันความถูกต้องและความสมบูรณ์ของข้อความ (ไม่มีการแก้ไขข้อความระหว่างทาง)

MAC คล้ายกับ Message Digest (MD) แต่ต้องใช้กระบวนการเข้ารหัสแบบ Symmetric Key (คีย์เดียวกันระหว่างผู้ส่งและผู้รับ) เรียกอีกอย่างว่า Keyed Hash Function หรือ Cryptographic Checksum

การทำงานของ MAC

อัลกอริทึม MAC สร้างรหัสจากข้อความที่ต้องการตรวจสอบและ Secret Key ที่รู้จักเฉพาะผู้ส่งและผู้รับ โดยผู้รับสามารถตรวจสอบความสมบูรณ์และความถูกต้องของข้อความได้ว่ามาจากผู้ส่งที่แท้จริงหรือไม่ MAC ไม่รองรับ Non-Repudiation (ไม่สามารถปฏิเสธการส่งได้)

อัลกอริทึมหลัก 3 ตัว

  1. Key Generation Algorithm: เลือกคีย์แบบสุ่ม
  2. Signing Algorithm: สร้าง Tag จากคีย์และข้อความ
  3. Verifying Algorithm: ตรวจสอบความถูกต้องของข้อความจากคีย์และ Tag จะคืนค่า "Accepted" หากตรงกัน มิฉะนั้น "Rejected"

ข้อกำหนดของ MAC

  • ใช้ในการโอนเงินดิจิทัล (EFTs) เพื่อความสมบูรณ์ของข้อมูล ยืนยันว่าข้อความมาจากผู้ส่งที่ระบุและไม่ถูกแก้ไขระหว่างทาง
  • ผู้ตรวจสอบที่มีคีย์สามารถตรวจจับการเปลี่ยนแปลงของข้อความได้
  • จำเป็นสำหรับการเข้าถึงบัญชีการเงิน: ธนาคาร บริษัทหลักทรัพย์ องค์กรไว้ทรัพย์ และบริษัทประกันภัยที่ให้บริการออนไลน์ ใช้ MAC เป็นส่วนสำคัญของ Financial Cryptography
  • ความปลอดภัยทางคณิตศาสตร์: หากโจมตีสังเกตเห็น M และ C(K, M) ควรคำนวณหา M' ที่ทำให้ C(K, M') = C(K, M) ไม่ได้ในทางปฏิบัติ
  • การกระจายตัวแบบสม่ำเสมอ (Uniform Distribution): สำหรับข้อความสุ่ม M และ M' ความน่าจะเป็นที่ C(K, M) = C(K, M') คือ 2-n โดย n คือจำนวนบิตของ MAC
  • ความทนทานต่อการแปลงรูปแบบ: หาก M' = f(M) เช่นพลิกบิตบางบิต ความน่าจะเป็นที่ MAC ตรงกันก็คือ 2-n