מבוא להטמעה של מפתחות גישה בצד השרת

סקירה כללית

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

כדי ליצור מפתחות גישה ולאמת אותם, צריך להשתמש ב-WebAuthn API לאינטרנט, או ב-Credential Manager API לאפליקציות ל-Android. ממשקי ה-API האלה מטפלים בתקשורת בין הלקוח לבין ספק מפתחות הגישה.

ממשקי ה-API האלה נקראים על ידי לקוח כמו דף אינטרנט או אפליקציה ל-Android, אבל צריך להטמיע את שאר הפונקציונליות בשרת כדי להשלים את התרחישים לדוגמה לאימות.

הטמעה של מפתח גישה כוללת שתי פונקציות:

  1. רישום מפתח גישה. כדי לאפשר למשתמשים ליצור מפתח גישה, משתמשים ב-WebAuthn API או ב-Credential Manager API. שומרים בשרת את המפתח הציבורי המשויך.
  2. אימות באמצעות מפתח גישה אפשר לקבל אימות אימות מהשרת ולהשתמש ב-WebAuthn API או ב-Credential Manager API כדי לאפשר למשתמשים לחתום על האתגר הזה באמצעות מפתח הגישה. מאמתים את החתימה בשרת. אם החתימה חוקית, מאמתים את המשתמש.

ספריות בצד השרת

אומנם אפשר להטמיע פונקציונליות של מפתחות גישה בצד השרת מאפס, אבל מומלץ להשתמש בספרייה במקום זאת.

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

למה כדאי להשתמש בספרייה?

לשימוש בספרייה בצד השרת של FIDO יש מספר יתרונות:

  • זמן וחוויית המפתח. מפרט WebAuthn הוא מורכב. ספריות בצד השרת של FIDO יכולות לספק ממשקי API פשוטים להטמעה של מפתחות גישה, וכך לחסוך זמן ומשאבי פיתוח.
  • ניהול שוטף. מפרט WebAuthn עדיין עשוי להשתנות. שימוש בגרסה האחרונה של ספרייה המתוחזקת באופן פעיל עוזר לשמור על יישום עדכני.
  • אבטחה ותאימות. אתם רוצים שההטמעה של מפתח הגישה תתאים למפרט של WebAuthn ולדרישות האבטחה שלו. ספריות בצד השרת של FIDO יכולות לעזור בשמירה על האבטחה והתאימות של ההטמעה למפרט. בהתאם למוצר ולענף שלכם, ייתכן שההטמעה שלכם תהיה כפופה גם לתקנות שמחייבות אתכם להשתמש בתקני אבטחה ספציפיים לצורך אימות.

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

ספריות

הבא