הצהרה

מכשירים מאושרים הם מכשירים שעברו את תהליך האישור של Connectivity Standards Alliance (Alliance) Matter.

במהלך תהליך ההפעלה, מכשיר מאושר צריך לאמת את עצמו. במילים אחרות, צריך להוכיח שהמוצר הוא מה שהוא מתיימר להיות ושהוא מוצר מקורי. לכן, לכל מכשירי Matter יש פרטי כניסה שכוללים את זוג מפתחות האימות ושרשרת אישורים משויכת. אישור אימות המכשיר (DAC) הוא חלק מהשרשרת הזו. אחרי שהמכשיר שמוגדר מציג את ה-DAC למגדיר, המגדיר מאשר ש:

  • הוא יוצר על ידי יצרן מוסמך.
  • המכשיר מקורי.
  • הוא עבר Matter בדיקות תאימות.

בשלב הפיתוח, היצרן יכול לבדוק את המכשירים שלו בלי תהליך האימות המלא. צריך להודיע לבודקים באופן מפורש שהמכשיר נמצא בבדיקה, ושהוא עדיין לא אושר והושק. כשהיצרן נכנס לשלב הייצור, הסביבה העסקית של ספק ההקצאה צריכה לאכוף את כל הדרישות לאימות.

האימות משתמש בתשתית של מפתח ציבורי (PKI) שממנפת רשויות אישורי בסיס ואישורי ביניים, בדומה לאישורי אימות השרת הנפוצים שמשמשים ל-SSL או ל-TLS. התהליך הזה נקרא "שרשרת אישורי האימות של המכשיר".

אימות מכשיר באמצעות PKI

ה-DAC הוא אישור X.509 v3. הגרסה הראשונה של X.509 פורסמה בשנת 1988 על ידי ITU-T. ‫RFC5280 מציין את X.509 בגרסה v3 עם אישור תשתית של מפתח ציבורי ורשימת אישורים שבוטלו (CRL) שמשמשים את Matter. הוא מכיל:

  • מפתח ציבורי
  • המוסד המנפיק
  • נושא
  • המספר הסידורי של האישור
  • תוקף, כשתאריך התפוגה יכול להיות לא מוגדר
  • חתימה

מזהה הספק ומזהה המוצר הם מאפיינים של MatterDACName בנושא DAC.

ה-DAC הוא ייחודי לכל מכשיר ומשויך לזוג מפתחות האימות הייחודי בתוך המוצר. הוא מונפק על ידי רשות אישורים (CA) שמשויכת ליצרן המכשיר.

החתימה של ה-DAC מאומתת מול Product Attestation Intermediate Certificate‏ (PAI), שגם הוא מונפק על ידי PAA. עם זאת, ספק יכול לבחור ליצור מזהה PAI אחד לכל מוצר (ספציפי ל-PID), לקבוצת מוצרים או לכל המוצרים שלו.

בבסיס של שרשרת האמון, המפתח הציבורי של רשות האישורים (CA) של רשות אימות המוצרים (PAA) מאמת את החתימות של ה-PAI. שימו לב שמאגר האישורים של Matter מאוחד, וקבוצת אישורי ה-PAA שמהימנים על ידי המזמינים מנוהלת במסד נתונים מרכזי מהימן (Distributed Compliance Ledger). כדי להזין PAA בקבוצה המהימנה, צריך לעמוד בדרישות של מדיניות האישורים שמנוהלת על ידי Alliance.

תשתית של מפתח ציבורי לאימות Matter
איור 1: תשתית של מפתח ציבורי לאימות Matter

ה-PAI הוא גם אישור X.509 v3 שכולל:

  • מפתח ציבורי
  • המוסד המנפיק
  • נושא
  • המספר הסידורי של האישור
  • תוקף, כשתאריך התפוגה יכול להיות לא מוגדר
  • חתימה

מזהה הספק ומזהה המוצר (אופציונלי) הם מאפיינים של MatterDACName בנושא ה-DAC.

לבסוף, ה-PAA הוא אישור הבסיס בשרשרת והוא חתום באופן עצמי. היא כוללת:

  • חתימה
  • מפתח ציבורי
  • המוסד המנפיק
  • נושא
  • המספר הסידורי של האישור
  • תוקף

מסמכים והודעות נוספים בנושא הצהרות

תהליך האימות כולל כמה מסמכים והודעות. הפריטים הבאים הם סקירה כללית קצרה של הפונקציה וההרכב שלהם. התמונה הבאה עוזרת להבין את ההיררכיה שלהם.

היררכיית מסמכי ההצהרה
איור 2: היררכיית מסמכי האישור
מסמך תיאור
הצהרת אישור (CD) ה-CD מאפשר למכשיר Matter להוכיח שהוא תואם לפרוטוקול Matter. בכל פעם שתהליכי האישור של Matter מסתיימים, Alliance יוצרת CD לסוג המכשיר, כדי שהספק יוכל לכלול אותו בקושחה. התקליטור כולל, בין היתר, את המידע הבא:
  • VID
  • PID (אחד או יותר)
  • מזהה קטגוריית השרת
  • מזהה קטגוריית הלקוח
  • רמת אבטחה
  • מידע על אבטחה
  • סוג האישור (פיתוח, זמני או רשמי)
  • חתימה
מידע על הקושחה (אופציונלי) פרטי הקושחה מכילים את מספר הגרסה של ה-CD ותקציר אחד או יותר של רכיבים בקושחה, כמו מערכת ההפעלה, מערכת הקבצים ומנהל האתחול. התקצירים יכולים להיות גיבוב (hash) של רכיבי התוכנה או גיבוב של המניפסטים החתומים של רכיבי התוכנה.

הספק יכול גם לבחור לכלול במידע על הקושחה רק את "הגיבוב של הגיבובים" של הרכיבים שלו, במקום מערך של גיבובים נפרדים.

מידע על הקושחה הוא רכיב אופציונלי בתהליך האימות, והוא רלוונטי כשלספק יש סביבת אתחול מאובטחת שמטפלת בזוג המפתחות לאימות.
פרטי האימות (attestation) הודעה שנשלחת מהממונה אל הממנה. פרטי האימות משלבים TLV שמכיל את רכיבי האימות וחתימת אימות.
רכיבי האימות (attestation) זהו TLV שמכיל:

  • אישור הצהרה
  • חותמת זמן
  • אימות מספר חד-פעמי (nonce)
  • מידע על הקושחה (אופציונלי)
  • מידע ספציפי לספק (אופציונלי)
אתגר האימות (attestation) אתגר מחוץ לפס שנוצר במהלך יצירת סשן Passcode Authenticated Session Establishment (PASE)/ Certificate Authenticated Session Establishment (CASE) ומשמש לאבטחה נוספת של התהליך ולמניעת חתימות חוזרות. מגיע מסשן CASE, מסשן PASE או מסשן CASE שהופעל מחדש.
אימות TBS (לחתימה) הודעה שמכילה את רכיבי האימות ואת אתגר האימות.
חתימה על ההצהרה חתימה של ה-TBS לאימות, שנחתמה באמצעות המפתח הפרטי לאימות המכשיר.

תהליך האימות (Attestation)

הגורם הממנה אחראי לאישור הגורם הממונה. הוא מבצע את השלבים הבאים:

  1. ה-Commissioner יוצר מספר חד-פעמי (nonce) אקראי של 32 בייטים לאימות. בז'רגון הקריפטוגרפי, nonce (מספר שמשתמשים בו פעם אחת) הוא מספר אקראי שנוצר בהליך הקריפטוגרפי ומיועד לשימוש חד-פעמי.
  2. ה-Commissioner שולח את ה-nonce ל-DUT ומבקש את פרטי האימות.
  3. ה-DUT יוצר את פרטי האימות וחותם עליהם באמצעות המפתח הפרטי לאימות.
  4. ה-Commissioner מאחזר את אישורי ה-DAC וה-PAI מהמכשיר, ומחפש את אישור ה-PAA בMatterמאגר האישורים שלו.
  5. הנציב מאמת את פרטי ההצהרה. אלה התנאים לאימות:
    • צריך לאמת את שרשרת האישורים של ה-DAC, כולל בדיקות ביטול ב-PAI וב-PAA.
    • ה-VID ב-DAC תואם ל-VID ב-PAI.
    • חתימת האימות תקינה.
    • ה-nonce ברכיבי אימות המכשיר תואם ל-nonce שסופק על ידי Commissioner.
    • חתימת הצהרת האישור תקפה באמצעות אחד ממפתחות החתימה המוכרים של הצהרת האישור של Alliance.
    • פרטי הקושחה (אם קיימים ונתמכים על ידי המכשיר המגדיר) תואמים לרשומה ב-Distributed Compliance Ledger (ספר חשבונות מבוזר לתאימות).
    • בנוסף, מתבצעים אימותים נוספים של VID/PID בין אשכול המידע הבסיסי של המכשיר, הצהרת האישור וה-DAC.