Knotthailand Forum

อัพเดทจากทั่วโลก / GSM UPDATE => EMMC UFS Knowledge => หัวข้อที่ตั้งโดย: Admin เมื่อ ก.ค 17, 2024, 03:06 ก่อนเที่ยง

ชื่อ: RPMB มันคืออะไร ทำงานแบบไหนกันนะ?
โดย: Admin เมื่อ ก.ค 17, 2024, 03:06 ก่อนเที่ยง
(https://img2.pic.in.th/pic/image59e25352ed216576.png)

RPMB (Replay Protected Memory Block) เป็นฟีเจอร์ของมาตรฐาน eMMC ที่ออกแบบมาเพื่อให้การเขียนข้อมูลที่ปลอดภัยและป้องกันการโจมตีแบบ replay attacks ได้อย่างมีประสิทธิภาพ ฟีเจอร์นี้ใช้งานในพื้นที่พิเศษของ eMMC เพื่อเก็บข้อมูลที่มีความสำคัญเช่น การนับจำนวนการเขียน (write counters), ค่ารหัสผ่าน, และข้อมูลการตรวจสอบความถูกต้อง (authentication keys)

การทำงานของ RPMB
การป้องกันการโจมตีแบบ Replay:

RPMB ป้องกันการโจมตีแบบ replay attack โดยใช้การนับจำนวนการเขียน (write counter) ที่ไม่สามารถย้อนกลับได้ เมื่อมีการเขียนข้อมูลลงใน RPMB, write counter จะเพิ่มขึ้นเสมอ


การเขียนและการอ่านข้อมูล:

การเขียนและการอ่านข้อมูลใน RPMB จะต้องผ่านกระบวนการการตรวจสอบความถูกต้องด้วยคีย์ (authentication key) ซึ่งจะถูกตั้งค่าไว้ในขั้นตอนการติดตั้ง (provisioning)


การตรวจสอบความถูกต้อง (Authentication):

ใช้ HMAC (Hash-based Message Authentication Code) เพื่อสร้างลายเซ็นต์ดิจิทัลของข้อมูลที่ต้องการเขียนหรือตรวจสอบ
ข้อกำหนดในการใช้งาน RPMB Key Provisioning: ต้องทำการตั้งค่าคีย์การตรวจสอบความถูกต้อง (authentication key) ลงใน RPMB ก่อนการใช้งาน Write Counter: มีการใช้งาน write counter ที่ไม่สามารถย้อนกลับได้ เพื่อป้องกันการโจมตีแบบ replay attack Secure Protocol: การสื่อสารกับ RPMB จะต้องเป็นไปตามโปรโตคอลที่กำหนดเพื่อความปลอดภัย


ขั้นตอนการเขียนข้อมูลไปยัง RPMB

การสร้าง HMAC:
สร้าง HMAC ของข้อมูลที่ต้องการเขียนโดยใช้คีย์การตรวจสอบความถูกต้อง

การรวมข้อมูล:
รวมข้อมูล HMAC, write counter, และข้อมูลที่ต้องการเขียนเป็นแพ็คเกจเดียวกัน

การเขียนข้อมูล:
ส่งแพ็คเกจข้อมูลไปยัง eMMC เพื่อทำการเขียนลงใน RPMB

การตรวจสอบความถูกต้อง:
eMMC ทำการตรวจสอบ HMAC และ write counter ถ้าข้อมูลถูกต้อง eMMC จะทำการเขียนข้อมูลลงใน RPMB และเพิ่ม write counter


ขั้นตอนการอ่านข้อมูลจาก RPMB

การร้องขอข้อมูล:
ส่งคำร้องขอข้อมูลไปยัง eMMC โดยระบุข้อมูลที่ต้องการอ่าน

การตรวจสอบ HMAC:
eMMC จะส่งข้อมูลที่ร้องขอกลับมาพร้อมกับ HMAC

การตรวจสอบ HMAC:
ทำการตรวจสอบ HMAC ของข้อมูลที่ได้รับ ถ้าข้อมูลถูกต้องแสดงว่าการอ่านข้อมูลสำเร็จ