אישור תשלום מאובטח (SPC) הוא תקן אינטרנט מוצעת שמאפשר ללקוחות לבצע אימות מול מנפיק כרטיס אשראי, בנק או ספק אחר של שירותי תשלום באמצעות מאמת פלטפורמה:
- ביטול הנעילה באמצעות Touch ID במכשיר macOS
- Windows Hello במכשיר Windows
בעזרת SPC, מוכרים יכולים לאפשר ללקוחות לאמת את הרכישות שלהם במהירות ובקלות, בעוד שבנקים מנפיקים מגינים על הלקוחות שלהם מפני הונאות.

תהליך ה-SPC מורכב משני שלבים: רישום ואימות.
- רישום: המשלם מקשר את המכשיר שלו לצד נסמך (RP). הצד המשתמש יכול להיות מנפיק כרטיס אשראי, בנק או ספק אחר של שירותי תשלום.
- אימות: המשלם משתמש במכשיר המורשם כדי לאמת את הזהות שלו מול ה-RP ישירות מהפלטפורמה של המוכר, לפני שהוא מאשר את התשלומים.
אימות למניעת הונאות
לאימות יש תפקיד חשוב במניעת הונאות בתשלומים. עם זאת, תהליך האימות הזה מבוסס לעיתים קרובות על מנגנונים חלשים, כמו שילוב של מספר כרטיס האשראי ושם הבעלים של הכרטיס, או קוד CVC נוסף שכתוב בגב הכרטיס. קל לפרוץ למנגנונים האלה ולהתחזות אליהם אם פרטי הכרטיס נחשפו כתוצאה מפריצות באבטחת המידע, כמו פריצות לחשבונות או התקפות פישינג.
הוכנסו מנגנונים נוספים למניעת הונאות, כמו EMV® 3-D Secure, שבו יכול להיות שהמשלם יתבקש לבצע אימות מול מנפיק הכרטיס או הבנק. כדי לבצע אימות, המשתמש נכנס באמצעות שם משתמש וסיסמה, או באמצעות סיסמה חד-פעמית (OTP) שנשלחת לטלפון של המשלם באמצעות SMS. המטרה של התהליך הזה היא להגן על הלקוחות מפני הונאות, אבל הוא עלול להוות מכשול לחלק מהלקוחות החוקיים להשלים את התשלום. המטרה של SPC היא לצמצם את החיכוך בתהליך האימות, וכך להפחית את שיעור הנטישה בעגלת הקניות.
בינתיים, יש תקן אימות חדש שפועל במגמת עלייה שנקרא WebAuthn.
מהו WebAuthn?
אימות באינטרנט (WebAuthn בקיצור) הוא תקן אינטרנט שמאפשר לשרתים של צד נסמך (RP) לרשום ולאמת משתמשים בדפדפן באמצעות קריפטוגרפיה של מפתחות ציבוריים, במקום סיסמה.
גורמים מאשרים מסתמכים על מאמתים פיזיים, כמו מפתח אבטחה. גורמים מאשרים מבקשים את מפתח האבטחה כדי ליצור זוג מפתחות פרטי-ציבורי, ולאחר מכן מאחסנים את המפתח הציבורי בשרת (רישום). המפתחות שנוצרים הם ייחודיים למכשיר, וכך הם מונעים מתוקפים להתחזות למשתמש. התקן הזה עמיד בפני פישינג כי זוג המפתחות קשור למקור.
הארגון FIDO Alliance מיישר קו את התנהגות המאמתים. גורמי אימות מסוימים תומכים באימות מקומי של משתמשים באמצעות גורם ביומטרי (כמו טביעת אצבע או זיהוי פנים) או גורם ידע (כמו קוד אימות). רבים מהם משולבים במכשירי מחשוב, כמו מחשבים ניידים או סמארטפונים, שנקראים מאמתי פלטפורמות. WebAuthn נתמך בכל הדפדפנים העיקריים (למחשב ולנייד), ומאמתים זמינים במיליארדים של מכשירים. המשתמשים יכולים להירשם ולבצע אימות באמצעות אימות הזהות שלהם באופן מקומי בפלטפורמה.
ה-SPC מיועד לעבודה עם מאמתי פלטפורמות לאימות משתמשים (UVPA).

איך פועל אישור התשלום המאובטח?
אישור תשלום מאובטח (SPC) מבוסס על WebAuthn ועוצב במיוחד למטרות תשלום. מאחר שפרטי הכניסה ל-WebAuthn רשומים לדומיינים ספציפיים, אי אפשר להשתמש בהם כדי לבצע אימות באתרים לא רשומים שעשויים להתחזות למוכרים. התכונה הזו מאפשרת ל-WebAuthn להגן ביעילות מפני התקפות פישינג.
SPC מוסיף שכבת פרטי תשלום מעל WebAuthn כדי שהנפיק הכרטיס או הבנק יוכלו לספק חוויית תשלום עקבית. אחרי שמשלם רושם אימות אצל הצד הנסמך, אפשר להשתמש בו כדי לבצע אימות באתרים שונים של מוכרים. הצד הנסמך יכול גם להשתמש בפרטי הכניסה לתשלום כפרטי כניסה רגילים של WebAuthn.
חברת Stripe ערכה ניסוי עם SPC בסביבת הייצור שלה, כחלק מגרסת המקור לניסיון של Chrome. בניסוי הזה, שיעור ההמרות של Stripe השתפר ב-8% וקצב התשלום היה מהיר פי שלושה. אפשר לקרוא על התוצאות שלהם בדוח SPC בקבוצת העבודה של W3C בנושא תשלומים באינטרנט.
איך המשתמשים חווים את SPC?
ממשק הקצה של SPC מורכב משני שלבים: רישום ואימות.
הלקוח צריך קודם לרשום את המכשיר באמצעות מאמת הפלטפורמה לאימות משתמשים (UVPA). אחרי שמירת המכשיר, אפשר להשתמש בו כדי לאמת את המשתמש ולאשר תשלומים בכל פעם שמתבצעת עסקה באתר של מוכר.
הרשמה
משתמשים יכולים להירשם ל-SPC בשתי דרכים:
- להירשם ישירות באתר של RP.
- הרשמה עקיפה באתר של מוֹכר.
רישום באתר של RP
באתר של RP, רישום SPC לא שונה מרישום WebAuthn. אנחנו ממליצים ל-RP לבקש מהלקוח לרשום את ה-UVPA שלו כחלק מתהליך הכניסה.
תרחיש טיפוסי עשוי להיראות כך:
- לקוח נכנס לאתר הבנק באמצעות שם משתמש, סיסמה ושלב אימות נוסף (בדרך כלל סיסמה חד-פעמית או OTP).
- אחרי האימות, מציגים בקשה להרשאה שבה הלקוח מתבקש לרשום את המכשיר שלו (UVPA).
- אחרי שמאשרים את ההרשאה, תיבת דו-שיח של רישום WebAuthn מוצגת בדפדפן.
- הלקוח נותן הסכמה לרישום המכשיר באמצעות אימות ביומטרי.
- עכשיו הלקוח יכול להיכנס לחשבון ולשלם באופן מאובטח באמצעות המכשיר שלו.
באימות מחדש, המשתמש כבר מחובר אבל מתבקש לבצע אימות מחדש כדי לוודא שזהו אותו משתמש. העיצוב הזה נמצא בדרך כלל בפעולה קריטית מבחינת אבטחה, כמו בקשה לשינוי סיסמה או ביצוע תשלום. כשמשתמשים ב-UVPA של WebAuthn, האימות מחדש מהיר וחזק הרבה יותר מאשר שימוש בסיסמה.
במאמר יצירת האפליקציה הראשונה עם WebAuthn מוסבר איך יוצרים תהליך הרשמה ואימות של WebAuthn לצורך אימות חוזר.
הרשמה באתר של מוכר במהלך התשלום
אם הלקוח לא רושם את המכשיר באתר של מנפיק התשלום, הוא יכול לעשות זאת ישירות באתר של המוכר. הממשק נראה זהה, אבל הרשמת המשתמש מופעלת על ידי הקוד של ה-RP.
האפשרות הזו מתאימה למקרים שבהם הלקוחות לא מבקרים באתר של RP בתדירות גבוהה, אבל RP עדיין רוצה להציע את אפשרות האימות.
אימות (אישור תשלום)
אימות נדרש כשמשלם מספק פרטי כניסה לתשלום במהלך עסקת תשלום.
- המשלם מספק פרטי כניסה לתשלום (כמו פרטי כרטיס אשראי).
- המוכר בודק אם הדפדפן תומך באימות תשלום מאובטח.
- אם הדפדפן תומך ב-SPC, צריך לבצע קריאה ל-Payment Request API עם SPC כאמצעי תשלום. אחרת, חוזרים לשיטת האימות הקיימת.
- המשלם מאשר את פרטי העסקה ומבצע אימות (למשל, על ידי מגע במכשיר האימות הביומטרי בפלטפורמה).
פלטפורמות נתמכות
כרגע יש תמיכה באימות תשלום מאובטח ב-Google Chrome ב-macOS וב-Windows. החל ממאי 2022, אין תמיכה בפלטפורמות אחרות, כולל Android, iOS ו-ChromeOS.