Media CDN משתמש בזוגות של מפתחות קריפטוגרפיים כשחותם על בקשות. Media CDN משתמש בקבוצת מפתחות כדי לאחסן צמדי מפתחות שמשמשים באופן פעיל לחתימה על בקשות. אפשר להשתמש בעד שלושה מפתחות ציבוריים ושלושה מפתחות משותפים לאימות, כלומר עד שישה מפתחות לכל קבוצת מפתחות.
אפשר גם להסיר מקשים שלא נמצאים בשימוש מסט מקשים. הוספה והסרה של מפתח נקראות בדרך כלל החלפת סודות. החלפת סודות מאפשרת לכם:
- כדי להוסיף סודות חדשים לערכת מפתחות בצורה בטוחה, מוסיפים אותם לערכת המפתחות.
- יצירת טוקנים עם הסוד המתאים.
מסירים סודות ישנים אחרי שתוקף הטוקן הכי ישן פג.
לדוגמה, נניח שהגדרתם שאסימונים לטווח קצר יפוגו אחרי שעה אחת. לאחר מכן, מסירים את הסוד הכי ישן שמשמש לאסימונים לטווח קצר אחרי שבקשות חדשות משרתות משתמשים למשך שעה אחת או יותר.
לפני שמסירים סוד שלא נמצא בשימוש, צריך לוודא שהוא לא מוזכר או מאוחזר כדי לחתום על בקשות משתמשים בשרת האפליקציות. הסרה מוקדמת של סוד ממערך מפתחות מונעת מ-Media CDN לאמת בקשות שמשויכות לסוד הזה. המשתמשים שהושפעו מקבלים תשובה מ-HTTP 403
Forbidden.
כדי לשפר את הביצועים, האמינות והעלות של גישה בו-זמנית ל-Secret Manager, הסודות של מפתח האימות המשותף נשמרים במטמון למשך שעה אחת לכל היותר. יכול להיות ששמירת סודות במטמון תאפשר גישה לטוקנים עד שעה אחרי שסוד נמחק מ-Secret Manager.
מומלץ לבצע רוטציה של מפתחות באופן קבוע.
מגבלות ידועות
Media CDN דוחה בקשות שנחתמו באמצעות חתימות סימטריות שמשמשות את Cloud CDN עם תגובה HTTP 403.
בשלב הזה, Media CDN תומך במפתחות סימטריים עם בקשות בפורמט של טוקן ובמפתחות שמופנים על ידי Media CDN.
מפתחות אסימטריים צריכים להיווצר כזוגות Ed25519, עם מפתח פרטי באורך 512 ביט (64 בייט) ומפתח ציבורי באורך 256 ביט (32 בייט). ספריית Tink תומכת ביצירת מפתחות, בחתימה ובאימות של חתימות Ed25519 באמצעות C++, Go, Java ו-Objective-C.
למפתחות אסימטריים צריכים להיות המאפיינים הבאים:
הקידוד צריך להיות לפי base64, באורך של 44 בייט (עם ריפוד) או 43 בייט (ללא ריפוד). מותר להשתמש בקידוד base64 עם ריפוד וגם בלי ריפוד.
המפתח הציבורי חייב להיות מקודד בפורמט base64 בטוח לכתובות URL. המפתח הפרטי יכול להיות בקידוד base64 סטנדרטי.
יש מפתח פרטי תואם.