מכשירים מאושרים הם מכשירים שעברו את תהליך האישור של Connectivity Standards Alliance (Alliance) Matter.
במהלך תהליך ההפעלה, מכשיר מאושר צריך לאמת את עצמו. במילים אחרות, צריך להוכיח שהוא מה שהוא טוען שהוא, ושמדובר במוצר מקורי. לכן, לכל מכשירי Matter יש פרטי כניסה שכוללים את זוג המפתחות לאימות ואת שרשרת האישורים המשויכת. אישור האימות של המכשיר (DAC) הוא חלק מהשרשרת הזו. לאחר שהמכשיר שעבר את תהליך ההזמנה יציג את ה-DAC למפקח שלו, המפקח יאשר את הפרטים הבאים:
- הוא נוצר על ידי יצרן מאושר.
- זהו מכשיר מקורי.
- הוא עבר Matter בדיקות תאימות.
במהלך שלב הפיתוח, היצרן יכול לבדוק את המכשירים שלו בלי תהליך האימות המלא. צריך להודיע לבודקים באופן מפורש שהמכשיר נמצא בבדיקה, ושעדיין לא אושר והושק. אחרי שהיצרן נכנס לשלב הייצור, סביבת ה-provisioner צריכה לאכוף את כל הדרישות של האימות.
האימות מתבצע באמצעות תשתית מפתחות ציבוריים (PKI) שמשתמשת ברשות אישורים ברמה הבסיסית ובאישורים ביניים, באופן דומה לאישורי אימות השרת הנפוצים שמשמשים ל-SSL/TLS. התהליך הזה נקרא שרשרת האישורים לאימות המכשיר.
PKI לאימות מכשירים
DAC הוא אישור X.509 v3. הגרסה הראשונה של X.509 פורסמה בשנת 1988 על ידי ITU-T. אישור X.509 v3 עם אישור של תשתית מפתחות ציבוריים ורשימת אישורים שבוטלו (CRL) ש-Matter משתמש בהם מפורט ב-RFC5280. הוא מכיל:
- מפתח ציבורי
- המנפיק
- נושא
- המספר הסידורי של האישור
- תוקף, שבו התפוגה יכולה להיות לא מוגדרת
- חתימה
מזהה הספק ומזהה המוצר הם מאפיינים של MatterDACName
בנושא DAC.
DAC הוא ייחודי לכל מכשיר ומשויך לזוג המפתחות הייחודי לאימות במוצר. הוא מונפק על ידי רשות אישורים שמשויכת ליצרן המכשיר.
החתימה של DAC מאומתת מול אישור הביניים לאימות המוצר (PAI), שגם הוא מונפק על ידי PAA. עם זאת, הספק יכול ליצור PAI אחד לכל מוצר (PID ספציפי), קבוצת מוצרים או לכל המוצרים שלו.
בשורש של שרשרת האמון, המפתח הציבורי של רשות האישורים (CA) של Product Attestation Authority (PAA) מאמת חתימות מ-PAI. חשוב לזכור שמאגר האמון Matter הוא מאוחד, וקבוצת האישורים של PAA שאושרו על ידי המפקחים נשמרת במסד נתונים מרכזי מהימן (Distributed Compliance Ledger). כדי להוסיף PAA לקבוצה המהימנה, צריך לעמוד בדרישות של מדיניות האישורים שמנוהלת על ידי Alliance.
האישור PAI הוא גם אישור X.509 v3 שכולל:
- מפתח ציבורי
- המנפיק
- נושא
- המספר הסידורי של האישור
- תוקף, שבו התפוגה יכולה להיות לא מוגדרת
- חתימה
מזהה הספק ומזהה המוצר (אופציונלי) הם מאפיינים של MatterDACName
בנושא של ה-DAC.
לבסוף, PAA הוא אישור הבסיס בשרשרת והוא בחתימה עצמית. היא כוללת:
- חתימה
- מפתח ציבורי
- המנפיק
- נושא
- המספר הסידורי של האישור
- תוקף
מסמכים והודעות נוספים של אימות
תהליך האימות כולל כמה מסמכים והודעות. הפריטים הבאים הם סקירה כללית קצרה של הפונקציה וההרכב שלהם. התמונה הבאה עוזרת להבין את ההיררכיה שלהם.
מסמך | תיאור |
---|---|
הצהרת אישור (CD) | ה-CD מאפשר למכשיר Matter להוכיח את התאימות שלו לפרוטוקול Matter.
בסיום תהליכי האישור של Matter, ה-Alliance יוצר דיסק CD לסוג המכשיר כדי שהספק יוכל לכלול אותו בקושחת. בין היתר, תקליטור ה-CD כולל את המידע הבא:
|
מידע על הקושחה (אופציונלי) | פרטי הקושחה מכילים את מספר הגרסה של התקליטור ו-digest אחד או יותר של רכיבים בקושחה, כמו מערכת ההפעלה, מערכת הקבצים ותוכנת האתחול. הסיכומים יכולים להיות גיבוב של רכיבי התוכנה או גיבוב של המניפסטים החתומים של רכיבי התוכנה. הספק יכול גם לכלול ב'פרטי הקושחה' רק את 'הגיבוב של הגיבובים' של הרכיבים שלו, במקום מערך של גיבובים נפרדים. 'פרטי הקושחה' הם רכיב אופציונלי בתהליך האימות, והם רלוונטיים כשלספק יש סביבת אתחול מאובטחת שמטפלת בזוג המפתחות לאימות. |
פרטי האימות | הודעה שנשלחת מהנציגה לנציב. פרטי האימות משלבים בין קבוצת נתונים מסוג TLV שמכילה את רכיבי האימות לבין חתימת אימות. |
רכיבי אימות (attestation) | זהו TLV שמכיל:
|
אתגר אימות (attestation) | אתגר מחוץ לפס (out-of-band) שמתקבל במהלך יצירת הסשן של Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE), ומשמש לאבטחת התהליך ולמניעת חתימות שהופעלו מחדש. מגיע מסשן CASE, מסשן PASE או מסשן CASE שהמשיכו אותו. |
TBS לאימות (לחתימה) | הודעה שמכילה את רכיבי האימות (attestation) ואתגר האימות (attestation challenge). |
חתימה לאימות (attestation) | חתימה על ה-TBS של האימות, שנחתמה באמצעות המפתח הפרטי של אימות המכשיר. |
תהליך האימות (Attestation)
הנציב אחראי לאמת את הנציג. הוא מבצע את השלבים הבאים:
- המפקח יוצר אסימון אימות חד-פעמי (nonce) אקראי באורך 32 בייטים. בז'רגון הקריפטוגרפי, nonce (מספר לשימוש חד-פעמי) הוא מספר אקראי שנוצר בתהליך הקריפטוגרפי ומשמש לשימוש חד-פעמי.
- המפקח שולח את המזהה החד-פעמי ל-DUT ומבקש את פרטי האימות.
- ה-DUT יוצר את פרטי האימות וחותם עליהם באמצעות המפתח הפרטי של האימות.
- הנציב משחזר את אישור ה-DAC ואת אישור ה-PAI מהמכשיר, ומחפש את אישור ה-PAA מאחסון האמון Matter.
- המפקח מאמת את פרטי האימות. אלה התנאים לאימות:
- צריך לאמת את שרשרת האישורים של DAC, כולל בדיקות ביטול של PAI ו-PAA.
- ה-VID ב-DAC תואם ל-VID ב-PAI.
- חתימה האימות תקינה.
- המזהה החד-פעמי (nonce) באלמנטים של אימות המכשיר תואם למזהה החד-פעמי שסופק על ידי המפקח.
- החתימה על הצהרת האישור תקפה באמצעות אחד ממפתחות החתימה המוכרים של Alliance.
- פרטי הקושחה (אם הם קיימים ונתמכים על ידי המפקח) תואמים לרשומה בספר החשבונות המבוזר של תאימות.
- אימותים נוספים של VID/PID מתבצעים גם בין אשכול המידע הבסיסי של המכשיר, הצהרת האישור לבין ה-DAC.