CAPTCHA

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

מקור השם

את השם CAPTCHA טבעו לראשונה לואי פון אהן, מנואל בלום, ניקולאס ג' הופר מאוניברסיטת קרנגי מלון וג'ון לנגפורד מIBM. השם הוא ראשי התיבות של "Completely Automated Public Turing test to tell Computers and Humans Apart", ובעברית: "מבחן טיורינג ציבורי אוטומטי לחלוטין להבחנה בין מחשבים ובני אדם". אוניברסיטת קרנגי מלון ניסתה לרשום את השם כסימן רשום אך ויתרה על הרעיון.
האקדמיה ללשון העברית קבעה את המונח אימות אנוש לקפצ'ה.

היסטוריה

שתי קבוצות טענו שהן הראשונות לפתח מנגנון CAPTCHA : קבוצה אחת מחברת AltaVista שכללה את אנדרי ברודר ועמיתים על מנת למנוע מבוטים להוסיף כתובות URL למנוע החיפוש. כדי ליצור תמונות עמידות לסריקת OCR (זיהוי תווים אופטי) הצוות חקר מצבים שסריקתם הניבה תוצאות גרועות. קבוצה שנייה כללה את לואי פון אהן ומנואל בלום אשר הרחיבו את הרעיון לכל תוכנה היכולה להבדיל בין אדם למחשב. פון אהן ובלום הראו גם מספר דוגמאות למנגנוני CAPTCHA, כולל המנגנון המסחרי הראשון שאומץ על ידי Yahoo!.
אולם המחלוקת הוסרה דווקא על ידי קבוצה שלישית שכללה את גילי רענן וערן רשף, אשר עבדו במסגרת חברת סנקטום על פיתוח קיר אש ליישומי אינטרנט, אשר הגישה בקשה לפטנט בשנת 1997שכותרתה הייתה: "מערכת להפרדה בין אדם למכונה" והתבססה על שימוש ביכולות חישה אנושיות היעילות בהרבה משל מחשב.

יישומים

היישום הנפוץ ביותר של CAPTCHA הוא בטפסים אלקטרוניים באתרי אינטרנט, שם מתבקש המשתמש לזהות טקסט מעוות ולהקליד אותו בתיבה לפני שליחת הטופס, וזאת על מנת למנוע התקפות DoS או מילוי טפסים ממוכן. מערכות המעוניינות למנוע שימוש על ידי מכונה (הצבעה, דירוג וכו') משתמשות ב־CAPTCHA כדי לוודא שהמשתמשים בהן הם בני אדם.
שימוש מקורי ב-CAPTCHA נעשה בפרויקט reCAPTCHA: מערכת reCAPTCHA מציגה לגולש CAPTCHA הכוללת מילים שלא זוהו על ידי תוכנות לזיהוי תווים אופטי, ובכך מסייעת בהמרת טקסטים מודפסים לפורמט דיגיטלי.

יישום לקוי

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

שימוש בבני אדם על מנת לפתור את ה־CAPTCHA

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

שימוש ב-CAPTCHA לתועלת

כאשר הערכות השימוש ב-CAPTCHA עומדות על 200 מיליון ביום, לפי חישוב של 10 שניות לכל אחד, מתבזבזות 500,000 שעות כל יום שיכולות להיות מנוצלות לתועלת.
עובדה זו גרמה ] ללואי פון אהן לחשוב על האפשרות להשתמש בכל ההקלדות האלה להעביר ארכיונים שלמים, שלא ניתן לפענח את המילים לטקסט על ידי סריקה, בעזרת שימוש במיקור המונים זה לטקסט דיגיטלי, ופיתח את reCAPTCHA. לדוגמה עיתון The Times, אשר מפורסם משנת 1851 משתמש בשירות זה של החברה של לואי פון אהן כדי להעביר את כל ארכיון העיתונים שלה לטקסט.
אפשר לראות זאת בכך שה-CAPTCHA דורשת להקליד שתי מילים כאשר אחת המילים היא מילה סרוקה ולא ידועה למערכת והמילה השנייה משמשת בתור מבחן טיורינג הפוך כדי לוודא שהמקליד הוא אדם ולא מחשב.
המילה השנייה נבדקת האם היא דומה לתוצאה של מספר מנגנוני OCR, ואם כן ניתן לעבור את המבחן. לאחר מכן המילה נשמרת במאגר ונבדקת מול התשובות של משתמשים שונים ואם כולם ענו בצורה זהה, אפשר להניח שזאת ההקלדה הנכונה ולהכניס למאגר, וכך להמיר טקסטים מודפסים שלמים לטקסטים דיגיטליים.