
ความปลอดภัยของกุญแจรถใน iOS
นักพัฒนาสามารถสนับสนุนการเข้าถึงยานพาหนะอย่างปลอดภัยโดยไม่ใช้กุญแจด้วย iPhone ที่รองรับและ Apple Watch ที่จับคู่อยู่ได้
การจับคู่กับเจ้าของ
เจ้าของจะต้องพิสูจน์ว่าเป็นผู้ครอบครองยานพาหนะ (วิธีขึ้นอยู่กับผู้ผลิตรถ โดยมักจะต้องนำกุญแจรีโมทหนึ่งหรือสองดอกมาด้วย) และสามารถเริ่มกระบวนการจับคู่ได้ในแอปของผู้ผลิตรถ โดยใช้อีเมลลิงก์ที่ได้รับจากผู้ผลิตรถหรือจากเมนูของยานพาหนะ ในทุกกรณี เจ้าของจะต้องแสดงรหัสผ่านการจับคู่แบบครั้งเดียวที่เป็นข้อมูลลับกับ iPhone ซึ่งใช้เพื่อสร้างช่องทางการจับคู่ที่ปลอดภัยโดยใช้โปรโตคอล SPAKE2+ ด้วยเส้นโค้ง NIST P-256 เพื่อสร้างช่องทาง Global Platform SCP03 ที่ปลอดภัยในการถ่ายโอนข้อมูลระหว่างอุปกรณ์กับยานพาหนะ เมื่อใช้แอปหรือลิงก์อีเมล รหัสผ่านจะถูกโอนไปยัง iPhone โดยอัตโนมัติ ซึ่งจะต้องป้อนด้วยตัวเองเมื่อเริ่มต้นการจับคู่จากยานพาหนะ
ในกระบวนการจับคู่กับเจ้าของ ยานพาหนะจะส่งคำขอผ่านช่องทาง SCP03 เพื่อสั่งให้ Secure Element ของอุปกรณ์สร้างคู่กุญแจการเข้ารหัสแบบเส้นโค้งรูปไข่ (ECC) จากนั้นข้อมูลจำเพาะของยานพาหนะและกุญแจสาธารณะของยานพาหนะจะผูกกับคู่กุญแจนี้อย่างปลอดภัย กุญแจสาธารณะของอุปกรณ์ (device.PK) จะถูกส่งกลับไปยังยานพาหนะในรูปแบบใบรับรอง X.509 พร้อมกับห่วงโซ่ใบรับรองที่สามารถตรวจสอบยืนยันได้ด้วยกุญแจสาธารณะในใบรับรองรากของผู้ผลิตรถ (root.PK) ซึ่งฝังอยู่ในยานพาหนะตั้งแต่ขั้นตอนการผลิต วิธีนี้ทำให้สามารถตรวจสอบยืนยันและยอมรับกุญแจสาธารณะของอุปกรณ์ในฐานะกุญแจของเจ้าของได้
กุญแจของเจ้าของใน Secure Element ของอุปกรณ์ยังผูกกับ root.PK ของผู้ผลิตรถอย่างปลอดภัยอีกด้วย ซึ่งรถยนต์จะส่งกุญแจนี้ผ่านช่องทาง SCP03 ไปยัง device.PK เพื่อแชร์กุญแจ
ถ้าต้องใช้กุญแจเพื่อจุดประสงค์ด้านการประกันภัย กุญแจแต่ละรายการของเจ้าของต้องลงทะเบียนไว้กับเซิร์ฟเวอร์ของผู้ผลิตรถ อุปกรณ์จะส่งห่วงโซ่ใบรับรอง device.PK ไปยังเซิร์ฟเวอร์การติดตามกุญแจ (KTS) ซึ่งเซิร์ฟเวอร์จะส่งลายเซ็นกลับมาเพื่อยืนยันการลงทะเบียน อุปกรณ์จะให้ลายเซ็นกับยานพาหนะเมื่อกระบวนการจับคู่กับเจ้าของสิ้นสุดลงหรือเมื่อทำธุรกรรมมาตรฐานครั้งถัดไปกับยานพาหนะ (ดูด้านล่าง) และยานพาหนะจะเปิดใช้งานกุญแจของเจ้าของหากลายเซ็น KTS ได้รับการตรวจสอบยืนยันสำเร็จแล้ว กุญแจลายเซ็น KTS เป็นกรรมสิทธิ์ของผู้ผลิตรถ
การแชร์กุญแจ
iPhone ของผู้ส่งสามารถแชร์กุญแจไปยังอุปกรณ์ที่เข้าเกณฑ์ได้โดยส่ง URL คำเชิญให้กับผู้รับผ่านช่องทางการสื่อสารต่างๆ เช่น อีเมล, iMessage, WhatsApp, WeChat หรือ AirDrop URL จะนำทางผู้รับไปยังกล่องเมลที่มีการปกป้องความเป็นส่วนตัวบนเซิร์ฟเวอร์ส่งต่อที่นำมาใช้โดยอิงตามข้อกำหนด IETF กุญแจการเข้ารหัสแบบส่วนตัวจะถูกส่งไปเป็นส่วนใน URL ที่แชร์
ในระหว่างกระบวนการนี้ iPhone ของผู้ส่งจะขอตรวจสอบสิทธิ์ผู้ใช้ (Face ID, Touch ID หรือการป้อนรหัส) รวมถึงเจตนาของผู้ใช้ที่ปลอดภัยที่อธิบายไว้ในการใช้งานสำหรับ Optic ID, Face ID และ Touch ID การอนุญาตของผู้ส่งจะจัดเก็บไว้ชั่วคราวใน Secure Element เพื่อใช้ในภายหลังเมื่ออุปกรณ์ของผู้รับส่งคำขอลงชื่อกลับมา
สำหรับความปลอดภัยที่เพิ่มขึ้น ในการเปิดใช้งานกุญแจที่แชร์ ผู้ส่งอาจกำหนดให้ผู้รับต้องใช้ตัวเลือกการเปิดใช้งานตัวเลือกใดตัวเลือกหนึ่งที่ผู้ผลิตรถของเขารองรับ หรือป้อนรหัสบนอุปกรณ์ของผู้รับ
เมื่อยอมรับคำเชิญ อุปกรณ์ของผู้รับจะดึงข้อมูลการสร้างกุญแจจากกล่องเมลบนเซิร์ฟเวอร์ส่งต่อ แล้วสร้างกุญแจดิจิทัลตามข้อกำหนดกุญแจดิจิทัล CCC ผู้ส่งต้องลงชื่อในกุญแจ โดยเป็นส่วนหนึ่งของกระบวนการสร้างกุญแจ อุปกรณ์ของผู้รับจะส่งห่วงโซ่ใบรับรองการสร้างกุญแจกลับไปยัง iPhone ของผู้ส่งโดยใช้เซิร์ฟเวอร์ส่งต่อ จากนั้น iPhone ของผู้ส่งจะใช้ root.PK ที่ฝังอยู่ใน Secure Element เพื่อตรวจสอบยืนยันว่ากุญแจของผู้รับถูกสร้างโดยใช้ห่วงโซ่ใบรับรองที่คาดไว้ ถ้าสำเร็จ iPhone ของผู้ส่งจะลงชื่อในกุญแจสาธารณะ ECC ของอุปกรณ์ผู้รับและส่งลายเซ็นกลับไปให้ผู้รับโดยใช้เซิร์ฟเวอร์ส่งต่อ ลายเซ็นจะได้รับอนุญาตโดยใช้การอนุญาตของผู้ส่งที่จัดเก็บไว้ก่อนหน้านี้ใน Secure Element
สิทธิ์ของกุญแจและลายเซ็นของผู้ส่งจะถูกส่งให้กับยานพาหนะในขณะที่ใช้กุญแจที่แชร์กับยานพาหนะเป็นครั้งแรก (ให้ดูที่ธุรกรรมมาตรฐาน) สิทธิ์มีรายละเอียดดังต่อไปนี้:
ระดับการเข้าถึง: ตัวอย่างเช่น การปลดล็อคหรือการขับขี่
นโยบายการแชร์ต่อ: ตัวอย่างเช่น ห้ามไม่แชร์ต่อ จำกัดการแชร์ต่อ หรือไม่จำกัดการแชร์ต่อ (ในแง่ของการแชร์ความยาวห่วงโซ่)
ผู้ผลิตรถบางรายกำหนดให้ลงทะเบียนกุญแจที่แชร์แต่ละรายการกับเซิร์ฟเวอร์ของผู้ผลิตรถ ถ้าจำเป็น อุปกรณ์ของผู้รับจะส่งห่วงโซ่ใบรับรอง device.PK ไปยัง KTS ของผู้ผลิตรถ ซึ่งจะส่งลายเซ็นกลับมาเพื่อยืนยันการลงทะเบียน อุปกรณ์ของผู้รับแสดงลายเซ็นนั้นต่อยานพาหนะในการทำธุรกรรมกับยานพาหนะเป็นครั้งแรก (ให้ดูที่ธุรกรรมมาตรฐาน) ยานพาหนะตรวจสอบลายเซ็น และเปิดใช้งานกุญแจที่แชร์หากตรวจสอบยืนยันลายเซ็น KTS สำเร็จ กุญแจลายเซ็นเหล่านี้เป็นกรรมสิทธิ์ของผู้ผลิตรถ
การลบกุญแจ
สามารถลบกุญแจได้ด้วยวิธีต่อไปนี้:
บนอุปกรณ์ผู้ถือกุญแจ
จากอุปกรณ์ของเจ้าของ
จากอุปกรณ์ที่แชร์เมื่อมีการอนุญาตอย่างเหมาะสม
ขณะอยู่ภายในยานพาหนะ
การลบผู้ถือกุญแจ iPhone จะมีผลทันที แม้ว่าผู้ถือกุญแจจะใช้กุญแจอยู่หรืออุปกรณ์ไม่ได้เชื่อมต่ออยู่กับอินเทอร์เน็ตก็ตาม
การลบกุญแจในยานพาหนะสามารถทำได้ตามดุลยพินิจของนโยบายผู้ผลิตรถ:
ตลอดเวลา
เมื่อยานพาหนะออนไลน์อยู่เท่านั้น
เมื่อมีกุญแจรีโมทเท่านั้น (เพื่อไม่ให้หยุดกลางทางโดยไม่มีกุญแจ)
ในแต่ละกรณี การลบบนอุปกรณ์ผู้ถือกุญแจหรือยานพาหนะจะรายงานไปยัง KTS ทางฝั่งผู้ผลิตรถซึ่งลงทะเบียนกุญแจที่ออกให้กับยานพาหนะเพื่อจุดประสงค์ด้านการประกันภัย
เจ้าของและผู้ใช้ที่เข้าเกณฑ์สามารถขอลบได้โดยใช้คำขอยุติระยะไกลที่ลงชื่อด้วยกุญแจส่วนตัวของผู้ขอ (device.SK) โดยเลือกผู้ใช้ในรายการบัญชีผู้ถือกุญแจที่แชร์ที่ด้านหลังของบัตรกุญแจรถในกระเป๋าสตางค์ อันดับแรก คำขอจะถูกส่งไปยังผู้ผลิตรถเพื่อเอากุญแจในยานพาหนะออก ผู้ผลิตรถเป็นผู้ระบุเงื่อนไขในการเอากุญแจออกจากยานพาหนะ (ตามที่แสดงข้างต้น) เฉพาะเมื่อเอากุญแจออกจากยานพาหนะ เซิร์ฟเวอร์ของผู้ผลิตรถจะส่งคำขอยุติระยะไกลที่ลงชื่อไปยังอุปกรณ์ผู้ถือกุญแจ
เมื่อยุติกุญแจในอุปกรณ์แล้ว แอปขนาดเล็กที่จัดการกุญแจรถดิจิทัลจะสร้างการรับรองการยุติที่ลงชื่อแบบเข้ารหัส ซึ่งใช้เป็นหลักฐานการลบโดยผู้ผลิตรถและใช้เพื่อเอากุญแจออกจาก KIS
ความเป็นส่วนตัว
KTS ของผู้ผลิตรถจะไม่จัดเก็บ ID อุปกรณ์, SEID หรือบัญชี Apple โดยจะจัดเก็บเฉพาะข้อมูลจำเพาะที่เปลี่ยนแปลงได้ ตัวอย่างเช่น ข้อมูลจำเพาะ CA ข้อมูลจำเพาะนี้ไม่ผูกกับข้อมูลส่วนตัวใดๆ ในอุปกรณ์หรือโดยเซิร์ฟเวอร์ และจะถูกลบเมื่อผู้ใช้เริ่มลบข้อมูลและการตั้งค่าทั้งหมด
มาตรฐาน CCC ยังกำหนดให้ฝั่งผู้ผลิตรถเก็บข้อมูล KTS เป็นความลับและใช้เฉพาะในกรณีการประกันภัยหรือคำขออื่นๆ ที่เข้าเกณฑ์เท่านั้น
ข้อมูลการลงทะเบียนกุญแจ (ข้อมูลจำเพาะกุญแจ ข้อมูลจำเพาะยานพาหนะ กุญแจสาธารณะของยานพาหนะ ห่วงโซ่ใบรับรองกุญแจสาธารณะของอุปกรณ์ สิทธิ์ของกุญแจ) ที่อุปกรณ์ส่งไปยัง KTS จะถูกเข้ารหัสตามกุญแจสาธารณะการเข้ารหัสความเป็นส่วนตัว KTS เซิร์ฟเวอร์ Apple จะส่งต่อข้อมูลการลงทะเบียนกุญแจจากอุปกรณ์ไปยังเซิร์ฟเวอร์ของผู้ผลิตรถ โดยไม่สามารถถอดรหัสข้อมูลนี้ได้ Apple ไม่ทราบว่าเจ้าของแชร์กุญแจของยานพาหนะกับใคร
อุปกรณ์เสริมอื่นๆ นอกจาก iPhone หรือ Apple Watch ที่ไม่สามารถตรวจสอบสิทธิ์กับอุปกรณ์จะไม่สามารถรับข้อมูลจำเพาะที่เสถียรผ่านธุรกรรมมาตรฐานหรือธุรกรรมที่รวดเร็วทาง NFC หรือบลูทูธได้ ถ้าอุปกรณ์ไม่รู้จักข้อมูลจำเพาะของยานพาหนะ (ตัวอย่างเช่น การพยายามเข้าถึงยานพาหนะที่ดูคล้ายกับยานพาหนะของผู้ถือกุญแจเนื่องจากเข้าใจผิด) แอปเพล็ตใน Secure Element จะใช้กุญแจสำรองที่สร้างค่าแบบสุ่มแทนที่จะใช้กุญแจสำคัญหรือรหัสลับ
การเชื่อมต่อบลูทูธครั้งแรกจะได้รับการปกป้องโดยใช้กุญแจชั่วคราวที่ได้รับเมื่อแชร์กุญแจรถหรือได้รับจากผู้ผลิตรถเพื่อตอบสนองต่อคำขอติดตามกุญแจ