אימות צ'יפ NFC בדרכון מול OCR: למה הצ'יפ מנצח

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

מאמרים6 דקות קריאה

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

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

מה OCR באמת בודק

OCR הופך את התמונה של עמוד הפרטים לטקסט: שם, אזרחות, תאריך לידה, מספר מסמך ותוקף. רוב המערכות קוראות גם את האזור הקריא למכונה (MRZ), שתי שורות התווים בתחתית העמוד, ובודקות את ספרות הביקורת שלו.

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

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

איפה אימות שנשען רק על OCR נשבר

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

כל זה לא הופך את ה-OCR לחסר תועלת. זה אומר ש-OCR עונה על השאלה "מה כתוב במסמך?" ולא על השאלה "האם מדינה הנפיקה אותו, בלי שינוי?"

מה הצ'יפ מוכיח

צ'יפ של דרכון ביומטרי מחזיק את פרטי המחזיק, אותם שדות שב-MRZ, ותמונת פנים ברזולוציה גבוהה. הנתונים שמורים בקבוצות נפרדות, וגיבוב של כל קבוצה רשום באובייקט אבטחה שהמדינה המנפיקה חותמת עליו בתעודת Document Signer. התעודה הזו חתומה בעצמה בידי רשות האישורים הלאומית של המדינה (CSCA), שורש האמון של הדרכונים שלה.

אימות השרשרת הזו נקרא אימות פסיבי (passive authentication). כשהוא מצליח, אתם יודעים שלושה דברים:

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

זו ראיה מסוג אחר לגמרי מ-OCR. אין כאן הסתברות ואין סף לכוונן. החתימה תקפה או שהיא לא.

OCR אומר לכם מה כתוב במסמך. הצ'יפ אומר לכם מי כתב את זה.

המגבלות שכדאי להכיר

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

  • נתונים אמיתיים הם לא בהכרח הצ'יפ המקורי. אימות פסיבי מוכיח שהנתונים אמיתיים. כדי להוכיח שהצ'יפ הפיזי אינו העתק צריך מנגנונים נפרדים, Active Authentication או Chip Authentication, שרבים מהדרכונים תומכים בהם אבל לא כולם. השוואת הפנים החתומות בצ'יפ לסלפי חי סוגרת את רוב הפער, כי צ'יפ מועתק עדיין נושא את הפנים של מישהו אחר.
  • האמון תלוי בשורשים. מאמת טוב רק כמו מאגר ה-CSCA שלו. מערכת רצינית דוחה צ'יפ שהמנפיק שלו לא ניתן לאימות, ולא מעבירה אותו עם אזהרה.
  • לא לכל מסמך יש צ'יפ קריא. להרבה תעודות זהות לאומיות אין צ'יפ בכלל, ויש צ'יפים שהממשלה המנפיקה נועלת. תעודת הזהות הישראלית היא דוגמה: אי אפשר לקרוא את הצ'יפ שלה מבחוץ, ולכן אפשר לאמת אותה רק על בסיס התמונה.
  • המשתמש צריך טלפון עם NFC ולהצמיד אליו את הדרכון לכמה שניות. עם הנחיה ברורה, זה שלב קצר.

איפה OCR עדיין במקום

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

OCR נשאר גם המסלול למסמכים בלי צ'יפ. ההבדל הוא בתפקיד. בתהליך שמתחיל בצ'יפ, ה-OCR אוסף את המפתח. הצ'יפ מספק את הראיה.

כלל אצבע לצוותי הונאות וציות

  • אם למסמך יש צ'יפ ולמשתמש יש טלפון עם NFC, אמתו את הצ'יפ. התייחסו ל-OCR בלבד על דרכון עם צ'יפ כרמת ודאות נמוכה יותר.
  • השתמשו ב-OCR ובבדיקות תמונה כשאין צ'יפ, והתאימו את הציפיות לרמת הוודאות הזו.
  • השוו את הסלפי החי לפנים החתומות בצ'יפ, לא לתמונה המודפסת.
  • שאלו ספקים אם אימות הצ'יפ רץ מול מאגר CSCA מלא, מה קורה כשהמנפיק לא מוכר, והאם האימות תלוי בקריאה לרשת בזמן אמת.

איך JERIX ניגשת לזה

JERIX קוראת את צ'יפ ה-NFC בדרכונים ומאמתת את שרשרת החתימות עד שורש ה-CSCA של המדינה המנפיקה, ללא חיבור לרשת: בלי קריאה לשרת, בלי CRL ובלי OCSP. מאגר האמון כולל 588 תעודות מ-112 מדינות, וצ'יפ שהמנפיק שלו לא נמצא בו נדחה.

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

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

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

תראו את זה על דרכון אמיתי.

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

לתיאום הדגמה