מדריך קלאודפלייר בעברית

תיעוד 10

אישור קריפטוגרפי של אנושיות

Cloudflare פיתחה חלופה לאימות באמצעות CAPTCHA, בשם אישור קריפטוגרפי של אנושיות (CAP).

CAP מאפשר להוכיח שמדובר במבקר לגיטימי באתר על ידי נגיעה במפתח חומרה, במקום לפתור חידת CAPTCHA.

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

אפשר גם לבדוק את CAP באתר ההדגמה.

#שאלות על פרטיות

התשובה לרוב חששות הפרטיות מסוכמת בטבלה הזו:

מאפייןCloudflare יכולהCloudflare עושה
לאסוף ביומטריה (טביעות אצבע או תמונות פנים)לאלא רלוונטי
לאסוף מידע על מאמת החומרה שלךכן, מוגבל למספר המפתחות באצווה שלךכן, כשזה זמין

לא, Cloudflare לא יכולה לאסוף ביומטריה. תהליך ה-CAP שלנו משתמש ב-WebAuthn API, שמונע את איסוף הביומטריה כברירת מחדל. כשהמכשיר שלך מבקש אימות ביומטרי, למשל דרך חיישן טביעת אצבע, הכול קורה באופן מקומי.

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

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

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


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


#אילו מכשירים מותרים ואילו לא?

#מכשירים מותרים

CAP תומך במגוון רחב של מאמתי חומרה:

  • מאמתים ניידים (חוצי פלטפורמות):
    • נתמך: כל מפתחות האבטחה שנמצאים ב-FIDO Metadata Service 3.0, אלא אם בוטלו מסיבות אבטחה.
    • דוגמאות: YubiKeys, מפתחות HyperFIDO, מפתחות Thetis FIDO U2F
  • מאמתי פלטפורמה:
    • דוגמאות: Apple Touch ID ו-Face ID במכשירי iOS ניידים ובמחשבים ניידים עם macOS, מכשירי Android עם קוראי טביעות אצבע, Windows Hello

#מגבלות ידועות

רוב השילובים של דפדפני אינטרנט ומאמתים שתומכים ב-WebAuthn יעבדו, אבל יש כמה בעיות תאימות ידועות עם אישור WebAuthn שעלולות למנוע מ-CAP לעבוד בהצלחה:

  • CAP בסיסי:
    • macOS לשולחן עבודה: עבור TouchID, הדפדפן חייב להיות Safari
    • Android: הדפדפן חייב להיות Chrome
  • CAP עם הוכחה באפס ידע:
    • מאמתי הפלטפורמה של Apple (למשל iPhone עם Touch ID/Face ID) אינם תואמים למערכת ההוכחה באפס ידע. אם זה נכשל, תועבר מיד למסלול CAP הבסיסי בלי צורך בפעולה נוספת. מכיוון ש-Apple משתמשת ב-Apple Anonymous Attestation ששומרת על פרטיות כדי להראות שהמאמת תקף ובמקביל לחסום מעקב, השיטה הזו שומרת על רמת פרטיות גבוהה.

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

#האם האקרים יכולים לעקוף את האישור הקריפטוגרפי של אנושיות?

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

זה לא אומר ש-CAP שבור, אלא מראה שהוא מעלה את עלות ההתקפה ביחס למודל CAPTCHA הנוכחי.

#מה קורה אם המפתח שלי אבד?

אם אין לך את החומרה הנדרשת (למשל Yubikey), עדיין אפשר לפתור אתגר CAPTCHA רגיל (למשל בחירת תמונות).

#מהם קודי השגיאה הנפוצים ומה משמעותם?

  • Unsupported_att_fmt:
    • סיבה: המאמת שלך משתמש בפורמט אישור שאינו נתמך (שילוב של דפדפן ומפתח). זה קורה גם כשמשתמשים ב-Firefox ובוחרים באפשרות "anonymise your key".
    • פתרון: אם השגיאה מתרחשת במהלך גרסת האפס ידע של CAP, תועבר אוטומטית לזרימת CAP הבסיסית. אם CAP הבסיסי נכשל, נסה שילוב אחר של מכשיר חומרה נתמך ודפדפן, או בחר ב-CAPTCHA.
  • Unsupported_issuer:
    • סיבה: המפתח שלך אינו נתמך כרגע.
    • פתרון: השתמש במפתח נתמך.

#משאבים קשורים