กระบวนการรับรองความถูกต้องของ MIFARE เกี่ยวข้องกับการตรวจสอบความถูกต้องของบัตรและตรวจสอบให้แน่ใจว่าผู้ถือบัตรมีสิทธิ์ในการเข้าถึงข้อมูลหรือทรัพยากรที่จัดเก็บไว้ในบัตร ต่อไปนี้เป็นขั้นตอนพื้นฐานของกระบวนการรับรองความถูกต้องสำหรับการ์ด MIFARE Classic และ MIFARE DESFire:
กระบวนการรับรองความถูกต้องแบบคลาสสิกของ MIFARE:
- เครื่องอ่านบัตรส่งคำขอไปยังบัตร MIFARE Classic เพื่อเริ่มการสื่อสาร
- การ์ดจะตอบสนองด้วย 4-byte serial number (UID) ที่ไม่ซ้ำกัน
- ผู้อ่านส่งคำท้าไปที่การ์ดซึ่งเป็นหมายเลขสุ่มที่จะใช้ในการตรวจสอบการ์ด
- การ์ดใช้รหัสลับที่จัดเก็บไว้ในการ์ดเพื่อเข้ารหัสความท้าทายและส่งผลลัพธ์ที่เข้ารหัสกลับไปยังผู้อ่าน
- เครื่องอ่านใช้รหัสลับเดียวกันเพื่อถอดรหัสการตอบสนองและเปรียบเทียบกับผลลัพธ์ที่คาดหวัง หากทั้งสองตรงกัน การ์ดจะได้รับการรับรองความถูกต้องและสามารถดำเนินการตามที่ต้องการได้ (เช่น การควบคุมการเข้าถึงหรือการถ่ายโอนข้อมูล)

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