אישור תשלום מאובטח (SPC) הוא תקן אינטרנט מוצע שמאפשר ללקוחות לבצע אימות מול מנפיק כרטיס האשראי, הבנק או ספק שירותי תשלום אחר באמצעות כלי לאימות פלטפורמה:
- תכונה לביטול נעילה כולל Touch ID במכשיר macOS
- Windows Hello במכשיר Windows
בעזרת SPC, המוכרים יכולים לאפשר ללקוחות לאמת את הרכישות שלהם במהירות ובקלות, והבנקים המנפיקים את אמצעי התשלום מגינים על הלקוחות שלהם מפני הונאות.
תהליך ה-SPC מורכב משני שלבים: רישום ואימות.
- רישום: המשלם מקשר את המכשיר שלו לצד נסמך (RP). הצד המשתמש יכול להיות מנפיק כרטיסי אשראי, בנק או ספק אחר של שירותי תשלום.
- אימות: המשלם משתמש במכשיר הרשום כדי לאמת את הזהות שלו מול ה-RP ישירות מהפלטפורמה של המוכר, לפני שהוא מאשר את התשלומים.
אימות למניעת הונאות
לאימות יש תפקיד חשוב במניעת הונאות בתשלומים. עם זאת, בדרך כלל תהליך האימות הזה מסתמך על מנגנונים חלשים, כמו שילוב של מספר כרטיס האשראי והשם של בעל הכרטיס, או קוד אימות נוסף שמצוין בגב הכרטיס. קל לפרוץ למנגנונים האלה ולהתחזות אליהם אם פרטי הכרטיס נחשפו כתוצאה מפריצות באבטחת המידע, כמו פריצות לחשבונות או התקפות פישינג.
הוכנסו מנגנונים נוספים למניעת הונאות, כמו 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% ושיעור התשלום בקופה היה מהיר פי 3. אפשר לקרוא על התוצאות שלהם בדוח SPC בקבוצת העבודה של W3C בנושא תשלומים באינטרנט.
איך המשתמשים חווים את SPC?
ממשק הקצה של SPC מורכב משני שלבים: רישום ואימות.
הלקוח צריך קודם לרשום את המכשיר באמצעות מאמת הפלטפורמה לאימות משתמשים (UVPA). אחרי שמירת המכשיר, אפשר להשתמש בו כדי לאמת את המשתמש ולאשר תשלומים בכל פעם שמתבצעת עסקה באתר של מוֹכר.
הרשמה
משתמשים יכולים להירשם ל-SPC בשתי דרכים:
- להירשם ישירות באתר של ה-RP.
- הרשמה עקיפה באתר של מוֹכר.
רישום באתר של RP
באתר של RP, רישום SPC לא שונה מרישום WebAuthn. אנחנו ממליצים ל-RP לבקש מהלקוח לרשום את ה-UVPA שלו כחלק מתהליך הכניסה.
תרחיש טיפוסי עשוי להיראות כך:
- לקוח נכנס לאתר הבנק באמצעות שם משתמש, סיסמה ושלב אימות נוסף (בדרך כלל סיסמה חד-פעמית או OTP).
- אחרי האימות, מציגים בקשה להרשאה שבה הלקוח מתבקש לרשום את המכשיר שלו (UVPA).
- אחרי שמאשרים את ההרשאה, תיבת דו-שיח של רישום WebAuthn מוצגת בדפדפן.
- הלקוח נותן הסכמה לרישום המכשיר באמצעות אימות ביומטרי.
- הלקוח יכול עכשיו להתחבר ולשלם באופן מאובטח באמצעות המכשיר שלו.
באימות מחדש, המשתמש כבר מחובר אבל מתבקש לבצע אימות מחדש כדי לוודא שזהו אותו משתמש. העיצוב הזה נמצא בדרך כלל בפעולה קריטית מבחינת אבטחה, כמו בקשה לשינוי סיסמה או ביצוע תשלום. באמצעות WebAuthn UVPA, האימות מחדש מהיר וחזק הרבה יותר מאשר באמצעות סיסמאות.
במאמר יצירת האפליקציה הראשונה עם WebAuthn מוסבר איך ליצור תהליך הרשמה ואימות של WebAuthn לצורך אימות חוזר.
רישום באתר של מוכר במהלך התשלום
אם הלקוח לא רושם את המכשיר באתר של מנפיק התשלום, הוא יכול לעשות זאת ישירות באתר של המוכר. הממשק נראה זהה, אבל ההרשמה של המשתמש מופעלת על ידי הקוד של ה-RP.
האפשרות הזו מתאימה למקרים שבהם הלקוחות לא מבקרים באתר של RP בתדירות גבוהה, אבל RP עדיין רוצה להציע את אפשרות האימות.
אימות (אישור תשלום)
אימות נדרש כשמשלם מספק פרטי כניסה לתשלום במהלך עסקת תשלום.
- המשלם מספק פרטי כניסה לתשלום (כמו פרטי כרטיס אשראי).
- המוכר בודק אם הדפדפן תומך באימות תשלום מאובטח.
- אם הדפדפן תומך ב-SPC, צריך לבצע קריאה ל-Payment Request API עם SPC כאמצעי תשלום. אחרת, חוזרים לשיטת האימות הקיימת.
- המשלם מאשר את פרטי העסקה ומבצע אימות (למשל, על ידי מגע במכשיר האימות הביומטרי בפלטפורמה).
פלטפורמות נתמכות
כרגע יש תמיכה באימות תשלום מאובטח ב-Google Chrome ב-macOS וב-Windows. החל ממאי 2022, אין תמיכה בפלטפורמות אחרות, כולל Android, iOS ו-ChromeOS.