การแชร์ชื่อและรูปภาพสำหรับ iMessage ที่ปลอดภัย
การแชร์ชื่อและรูปภาพสำหรับ iMessage ช่วยให้ผู้ใช้สามารถแชร์ชื่อและรูปภาพโดยใช้ iMessage ได้ ผู้ใช้สามารถเลือกข้อมูลบัตรของฉันหรือปรับแต่งชื่อและใส่ภาพที่ผู้ใช้เลือกได้ การแชร์ชื่อและรูปภาพของ iMessage จะใช้ระบบสองขั้นตอนในการเผยแพร่ชื่อและรูปภาพ
ข้อมูลจะถูกแบ่งแยกย่อยเป็นช่อง แต่ละช่องจะถูกเข้ารหัสและตรวจสอบสิทธิ์แยกจากกัน และด้วยกัน โดยใช้กระบวนการด้านล่าง ข้อมูลจะมีสามช่อง:
ชื่อ
รูปภาพ
ชื่อไฟล์รูปภาพ
ขั้นตอนแรกในการสร้างคือการสุ่มสร้างกุญแจบันทึก 128 บิตบนอุปกรณ์ จากนั้นกุญแจบันทึกนี้จะถูกรับมาพร้อมกับ HKDF-HMAC-SHA256 เพื่อสร้างกุญแจย่อยสามรายการ: กุญแจ 1:กุญแจ 2:กุญแจ 3 = HKDF(กุญแจบันทึก, “ชื่อเล่น”) ในแต่ละช่อง เวกเตอร์การเริ่มต้นทำงาน (IV) 96 บิตจะถูกสร้างขึ้นแบบสุ่มและข้อมูลจะถูกเข้ารหัสโดยใช้ AES-CTR และกุญแจ 1 จากนั้นจะมีการคำนวณรหัสการตรวจสอบสิทธิ์ข้อความ (MAC) ด้วย HMAC-SHA256 โดยใช้กุญแจ 2 และจะครอบคลุมชื่อของช่อง, IV ของช่อง และข้อความที่เข้ารหัสของช่อง ขั้นสุดท้าย ชุดค่า MAC ของช่องแต่ละช่องจะถูกนำมาต่อกันและ MAC ของค่าเหล่านั้นจะถูกคำนวณด้วย HMAC-SHA256 โดยใช้กุญแจ 3 MAC 256 บิตจะถูกจัดเก็บไว้กับข้อมูลที่เข้ารหัส 128 บิตแรกของ MAC นี้จะถูกใช้เป็น RecordID
จากนั้นข้อมูลบันทึกที่เข้ารหัสนี้จะถูกจัดเก็บไว้ในฐานข้อมูลสาธารณะ CloudKit ภายใต้ RecordID ข้อมูลบันทึกนี้จะไม่เปลี่ยนแปลงและเมื่อผู้ใช้เลือกที่จะเปลี่ยนชื่อและรูปภาพของตน ข้อมูลบันทึกที่เข้ารหัสรายการใหม่จะถูกสร้างขึ้นทุกครั้ง เมื่อผู้ใช้ 1 เลือกที่จะแชร์ชื่อและรูปภาพของตัวเองกับผู้ใช้ 2 พวกเขาจะส่งกุญแจบันทึกไปพร้อมกับ recordID ภายในเพย์โหลด iMessage ของพวกเขา ซึ่งจะถูกเข้ารหัส
เมื่ออุปกรณ์ของผู้ใช้ 2 ได้รับเพย์โหลด iMessage นี้ อุปกรณ์จะสังเกตเห็นว่าเพย์โหลดประกอบด้วย recordID และกุญแจของชื่อเล่นและรูปภาพ จากนั้นอุปกรณ์ของผู้ใช้ 2 จะออกไปที่ฐานข้อมูล CloudKit สาธารณะเพื่อดึงข้อมูลชื่อและรูปภาพที่เข้ารหัสที่ ID ของข้อมูลบันทึกแล้วส่งข้อมูลนั้นไปให้อีกฝ่ายโดยใช้ iMessage
หลังจากที่ดึงข้อความมาแล้ว อุปกรณ์ของผู้ใช้ 2 จะถอดรหัสเพย์โหลดและตรวจสอบยืนยันลายเซ็นโดยใช้ตัว recordID เอง ถ้าผ่าน ผู้ใช้ 2 จะได้รับชื่อและรูปภาพ และพวกเขาสามารถเลือกเพิ่มข้อมูลนี้ไปยังรายชื่อของตน หรือใช้ข้อมูลนี้กับแอปข้อความได้