דלג לתוכן

אבטחה, פרטיות ושלמות נתונים

מדעי המחשב A-Level · נושא 6

שיעור וידאו לנושא זה פתח את עמוד הוידאו
16:28

אבטחה, פרטיות ושלמות

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

קריאת קול באנגלית · תרגום אנגלי + סינית שרוף בתוך הסרטון

6.1

אבטחה, פרטיות ושלמות — שלושה מושגים שונים

סיילבוס
המועמדים צריכים להיות מסוגלים: הערות והנחיות
הסבר ההבדל בין המושגים אבטחה, פרטיות ושלמות של מידע
הדגשת החשיבות של האבטחה גם של מידע וגם של מערכת המחשב
תיאור אמצעי אבטחה המיועדים להגן על מערכות מחשב, החל ממחשב אישי עצמאי ועד רשת מחשבים כולל חسابי משתמש, סיסמאות, טכניקות זיהוי כגון חתימות דיגיטליות וביומטריה, חומת מגן, תוכנת אנטי-וירוס, אנטי-ספייוויר, הצפנה
הצגת הבנה של האיומים לאבטחת המחשב ולמידע שנובעים מרשתות ואינטרנט כולל תוכנות זדוניות (וירוסים, ספייוויר), מתפרצים, דייג, פורמינג
תיאור שיטות שעשויות לשמש לצמצום הסיכונים שנובעים מאיומים
תיאור שיטות אבטחה המיועדות להגן על אבטחת המידע כולל הצפנה, זכויות גישה

מקור: הסיילבוס הבינלאומי של קמבריד'ג'

אלה נשמעים דומה אך פועלים בצורה שונה:

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

קובץ יכול להיות בטוח (רק אנשים מורשים יכולים לפתוח אותו) אך להفتק שלמות (טעות הקלדה העכתרה אותו); או מדויק אך לא פרטי (כל אחד יכול לקרוא אותו). כל שלושה נדרשים.

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

חקור

מעבדת סיכון ואחריות

סדר את הדוגמאות לפי הכלל, הסיכון או ההגנה הרלוונטיים.

6.1

מדוע אבטחה חשובה

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

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

6.1

איומים מרשתות ואינטרנט

האיומים מחולקים לשלוש קבוצות.

מתקף במרכז (man-in-the-middle) יושב בין אליס לבוב, קורא או משנה הודעות
מתקף במרכז יושב בין שני הצדדים
  1. תוכנות זדוניות (malware) — תוכניות מזיקות:
  • וירוס — קוד המכפיל את עצמו ומתחבר לתוכניות אחרות ונפוץ כשהן מופעלות.
  • זחל — קוד המכפיל את עצמו ונפוץ ברשתות ללא פעולת משתמש.
  • סוס טרויה — נראה שימושי אך מחביא קוד זדוני.
  • תוכנת ריגול (spyware) — אוסעת סתרים מידע (הקשות מקלדת, סיסמאות).
  • תוכנת פדיעה (ransomware) — מצפרת את הקבצים שלך ותורשת תשלום.
  • תוכנת פרסום (adware) — מציגה פרסומים בלתי רצויים.

2. הונאת אנשים (התקפות חברתיות):

  • פישינג (phishing) — דוא"ל/אתרים מזויפים שמטרידים משתמשים למסירת נתוני הזדהות.
  • פרמינג (pharming) — מפנה משתמש לאתר מזויף גם כאשר הוא מכניס את הכתובת הנכונה.
  • הנדסה חברתית (social engineering) — הונאת אנשים למסירת מידע.

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

3. התקבות על הרשת:

  • התקנות (hacking) על ידי מתקינים (hackers) — גישה בלתי מורשית, לעיתים קרובות דרך סיסמאות חלשות או פגמים בתוכנה.
  • פגיעה בשירות (DoS/DDoS) — ממלא שרת כך שמשתמשים אמיתיים לא יכולים לגשת אליו.
  • הקשבה (eavesdropping) — לכידת מידע בזמן העברה (סיכון ברשת Wi-Fi פתוחה).
  • מרכז (man-in-the-middle) — מתקף שמעביר או משנה סתרים הודעות בין שני צדדים.

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

איום 1, תוכנות רעות: וירוס שמעתיק למחשב מארשי email או הורדה מריב את עצמו וגורם נזק לקובצים או מחק אותם; מניעה: תוכנת אנטי-וירוס הסורקת קובצים ומתעדכנת באופן שגרתי. איום 2, פריצות: אדם בלתי מורשה מקבל גישה לרשת, לדוגמה על ידי ניחוש סיסמת מעבר חלשה, וקורא או משנה נתונים; מניעה: חומת מגן החוסמת חיבורים בלתי מורשים, או סיסמאות חזקות עם אימות דו-שלבי. זוג שלישי הוא פישिंग: email המוביל משתמש לאתר מזויף שאוסף נתוני התחברות שלו; מניעה: הכשרת משתמשים לבדוק את שולח המסר ואת כתובת האתר (URL), סינון email. הצורך להתאים את ההגנה לאיום: הצפנה לא עוצרת וירוס, ותוכנת אנטי-וירוס לא עוצרת פישिंग.

תוכנות רעות מסודרות לפי התנהגות: סוגים המפיצים את עצמם הם וירוס (מתחבר לתוכניות) ווורם (מתפשט ברשתות); סוגים נסתרים או מתעלפים הם טרויאן (נראה ככלי שימושי), spyware, ransomware ואדוואר
תוכנות רעות לפי התנהגות: הפצה עצמית (וירוס, וורם) לעומת נסתר/מתעלף (טרויאן, spyware, ransomware, adware)
מילון מונחים אימון
English עברית
malware/ˈmælweə/ תוכנה רעה
ransomware/ˈrænsəmweə/ תוכנת שחיתות
networks/ˈnetwɜːks/ רשתות
man-in-the-middle/mæn ɪnðə ˈmɪdl/ ג'יין-בין-ה-מאנצ'סטר
virus/ˈvaɪrəs/ וירוס
worm/wɜːm/ תולעת
Trojan horse/ˈtrəʊdʒn hɔːs/ סוס טרויאני
spyware/ˈspaɪweə/ תוכנת ריגול
adware/ˈædweə/ תוכנת פרסום
phishing/ˈfɪʃɪŋ/ דייפישינג
pharming/ˈfɑːmɪŋ/ פורמינג
social engineering/ˈsəʊʃl ˌendʒɪˈnɪərɪŋ/ הנדסה חברתית
hacking/ˈhækɪŋ/ התקפות אלקטרוניות
hackers/ˈhækəz/ מחבלים
denial of service/dɪˈnaɪəl ɒv ˈsɜːvɪs/ מניעת שירות
eavesdropping/ˈiːvzdrɒpɪŋ/ הקשבה
6.1

צעדי ביטחון

צעדים אלו מגנים גם על ביטחון הנתונים (נגד אובדן, גניבה או השחתה) וגם על ביטחון מערכת המחשב (החומרה, התוכנה והרשת שלה).

מחשב אישי עצמאי

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

מחשב אישי מחובר לרשת

כל מה שקודם, בנוסף לחומת מגן, הרשאות לפי משתמש (זכויות מנהל רק למנהלים), ניהול מרכזי של חسابי משתמשים, ויומי ביקורת (מי התחבר, מה ערך).

כיצד הצעדים פועלים, במילים שהמבחן מעניק עליהן:

  • חומת מגן: בודקת כל שידור נכנס ויוצא ומשווה אותו לקריטריונים固定的ים (רשימת לבן או שחורה של כתובות, יציאות ופרוטוקולים); חוסמת כל אחד שלא עומד בקריטריונים; יכולה למנוע גישה לאתרים מסוימים ולהזהיר על ניסיונות גישה בלתי מורשים.
  • הצפנה: הנתונים מעורבלים (מוצפנים) באמצעות מפתח לצורות טקסט מצופה, כך שהעתק שנחשף לא ניתן להבין ללא המפתח; המקבל משתמש במפתח לפתוח את ההצפנה. היא מגנה על נתונים במהלך העברה ובאחסון, אך היא אינה עוצרת את חשיפת הנתונים או מחיקתם.
  • סיסמאות וחשבונות משתמשים: רק משתמש היודע את הסיסמה יכול להתחבר; סיסמה חזקה (ארוכה, עם תווים מעורבים, משתנה באופן שגרתי) לא ניתן לנחש; חשבונות נעולים לאחר כשלים חוזרים; לחשבון יש זכויות גישה משלו.
  • תוכנת אנטי-וירוס ואנטי-spyware: סורקת קובצים ותוכניות נגד בסיס נתונים של חתימות תוכנות רעות ידועות, בודק התנהגות, מבודד או מחק מה שמצאו, ועליה להתעדכן כדי שזיהוי תוכנות רעות חדשות יהיה אפשרי.
  • זכויות גישה: לכל משתמש (או קבוצה) מוענקות הרשאות עבור כל קובץ או טבלה, כגון לקריאה בלבד או לקריאה וכתיבה, כך שמשתמש לא יכול לראות או לשנות נתונים שאינם שלו; מסד נתונים יכול גם להציג למשתמש כל view המכיל רק את השדות שהוא זקוק להם.
  • ביומטריה: המכשיר תופס תמונה של הפנים, טביעת אצבע או איris, ממיר אותה לנתונים דיגיטליים, משווה אותה לנתונים האחסונים עבור משתמש זה ומאפשר גישה רק במקרה של התאמה; היא לא ניתן לשכוח, להעביר או לנחש כמו סיסמה.
  • גיבויים: העתק של הנתונים על מדיה נפרדת, מאוחז מחוץ למקום, כך שנתונים אבודים או פגומים ניתנים לשחזור.

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

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

ברחבי האינטרנט

  • VPN — מכווץ תנועה בין המשתמש לבין השער החברתי.
  • HTTPS / TLS — מכווץ תנועת רשת.
  • חתימות דיגיטליות — מעידות על זהות שולח ההודעה ועל כך שלא שינתה במהלך העברה.
  • זיהוי התקפות — צופה בתנועה מחפשים דפוסי התקפה ידועים.

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

שני מסלולים: השולח מבצע גזירה על ההודעה לתמצית ומכווץ אותה באמצעות מפתח פרטי ליצירת החתימה, ושולח את ההודעה והחתימה; המקבל פותח את החתימה באמצעות מפתח ציבורי של השולח לקבלת תמצית A, מבצע גזירה על ההודעה שהתקבלה לקבלת תמצית B, ומשווה ביניהן
חתימה דיגיטלית: גזירה של ההודעה, מכווצת עם מפתח פרטי של השולח, הנבדקת על ידי המקבל מול גזירה חדשה
מילון מונחים אימון
English עברית
firewall/ˈfaɪəwɔːl/ חומת אש
two-factor authentication/tuː ˈfæktə ɔːˌθentɪˈkeɪʃn/ אימות דו-שלבי
authentication/ɔːˌθentɪˈkeɪʃn/ אימות
VPN/ˌviː piː ˈen/ VPN
digital signatures/ˈdɪdʒɪtl ˈsɪɡnɪtʃəz/ חתימות דיגיטליות
private key/ˈpraɪvət kiː/ מפתח פרטי
public key/ˈpʌblɪk kiː/ מפתח ציבורי
authorisation/ˌɔːθəraɪˈzeɪʃn/ רשאות גישה
least-privilege/liːst ˈprɪvɪlɪdʒ/ עקרון הרשאות מינימליות
plaintext/ˈpleɪntekst/ טקסט פשוט
Symmetric encryption/sɪˈmetrɪk enˈkrɪpʃn/ הצפנה סימטרית
asymmetric encryption/ˌeɪsɪˈmetrɪk enˈkrɪpʃn/ הצפנה א-סימטרית
access control/ˈækses kənˈtrəʊl/ בקרת גישה
check digit/tʃek ˈdɪdʒɪt/ ספרת ביקורת
6.1

התאמת אמצעי הגנה לאיומים

  • התקלקלות בהעברה → מכווץ את הנתונים (HTTPS, VPN). טקסט מכווץ שנשלב ללא המפתח הוא חסר ערך.
  • גישה בלתי מורשת → אישור זהות חזק (סיסמאות ארוכות; אישור זהות דו-שלבתי עם קוד טלפוני או מפתח); הרשאת משתמש; נעילה לאחר כישלונות כניסה.
  • תוכנות רע → תוכנת אנטי-וירוס ואנטי-ספייware עם סריקה בזמן אמת; התקנת תיקונים; הימנעות מהורדות ממקורות לא אמינים.
  • פישינג → הכשרת משתמשים; סינון דוא"ל; בדיקת כתובת URL לפני הקלטת נתוני הזדהות.
  • איומים פנימיים → עקרון הרשאות מינימליות (לתת למשתמש רק מה שהוא צריך); ביקורת.
  • DDoS → הגבלת קצב וסינון תנועה.

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

6.1

הגנה על הנתונים עצמם

  • מכוון — הפכת טקסט גלוי לטקסט מכווץ באמצעות מפתח. מכוון סימטרי (AES) משתמש במפתח משותף אחד; מכוון א-סימטרי (RSA) משתמש במפתח ציבורי ובמפתח פרטי. מגן על נתונים בשקט ובמהלך העברה.
  • בקרת גישה — הרשאות קובץ (קריאה/כתיבה/ביצוע) וזכויות גישה, המופעלות על ידי מערכת ההפעלה.
  • אישור זהות — טכניקות אישור זהות מאמתות את המשתמש: משהו שהוא יודע (סיסמה), משהו שהוא מחזיק (טוקן, טלפון), או משהו שהוא (ביומטריה — טביעת אצבע, פנים, איש); החזק ביותר בשילוב.
  • גיבויים — שמור עותקים (חלקם מרחוק) כדי שניתן יהיה לשקם במקרה של אובדן או פגיעה בנתונים.
  • אבטחה פיזית — חדרים עם שרתים נעולים, מנעולי כבלים.

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

הצפנה סימטרית משתמשת במפתח משותף אחד גם להצפנה וגם לפיענוח; הצפנה א-סימטרית מצפנת באמצעות המפתח הציבורי של המקבל ומפענחת באמצעות המפתח הפרטי שלו
הצפנה סימטרית משתמשת במפתח משותף אחד; הצפנה א-סימטרית משתמשת במפתח ציבורי להצפנה ובמפתח פרטי לפיענוח
טוקן אבטחה אפור של RSA SecurID עם מסך LCD המציג קוד בן שישה ספרות
טוקן אבטחה מציג קוד משתנה לאישור זהות דו-שלבי ("דבר שיש לך")
קורא טביעות אצבע USB קטן עם משטח חיישן אופטי
קורא טביעות אצבע בודק "דבר שאתה" — תכונה אישית, ולא סיסמה
חקור

הצפנה באמצעות צפרור קיסר

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

מילון מונחים אימון
English עברית
security/sɪˈkjʊərɪti/ אבטחה
privacy/ˈprɪvəsi/ פרטיות
encryption/enˈkrɪpʃn/ הצפנה
backup/ˈbækʌp/ גיבוי
user accounts/ˈjuːzə əˈkaʊnts/ חسابי משתמש
audit logs/ˈɔːdɪt lɒɡz/ יומי בדיקה
ciphertext/ˈsaɪfətekst/ טקסט מוצפן
access rights/ˈækses raɪts/ זכויות גישה
anti-spyware/ˈænti ˈspaɪweə/ אנטי-ספייware
biometrics/ˌbaɪəʊˈmetrɪks/ ביומטריה
6.2

שלמות נתונים

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

מקור: הסיילבוס הבינלאומי של קמבריד'ג'

לנתונים יש שלמות כאשר הם מדויקים ומלאים. שתי טכניקות: אימות נתונים (לכידת נתונים לקויים לפני השמירה) ו-בדיקת נתונים (לאמת שהנתונים הוזנו או הועברו נכון).

אימות — האם הנתונים הגיוניים?

אימות בודק נתונים מול כללים הגיוניים, אוטומטית:

  • בדיקת טווח — בתוך הגבולות (חודש הוא 1–12).
  • בדיקת גבול — בצד הנכון של גבול יחיד (למשל גיל ≥ 18).
  • בדיקת קיום — הפריט המצוטט קיים (למשל, קוד מוצר נמצא בטבלה).
  • בדיקת אורך — מספר התווים המתאים.
  • בדיקת סוג / תווים — סוג הנתונים הנכון (שדה טלפון מאפשר רק ספרות).
  • בדיקת פורמט — תואם דפוס (כתובת דוא"ל חייבת להכיל @).
  • בדיקת נוכחות — שדות חובה אינם ריקים.
  • ספרת בדיקה — ספרה נוספת המוחשבת מתוך שאר הספרות (מספרי ISBN, מספרי כרטיסים) שמזהה טעויות העתקה.

דוגמה מפורטת. במנגנון פשוט לספרת בדיקה, ספרת הבדיקה היא השארית מהחלוקה של סכום הספרות ב$10$, והיא מצורפת למספר. למספר $4162$ סכום הספרות הוא $13$, ולכן הוא מאוחסן כ$41623$. משתמש מקליד $14623$: שתי הספרות הראשונות הופקו, אך הסכום עדיין נותר $13$, ולכן ספרת הבדיקה עדיין תואמת והטעות אינה נתפסת. משתמש המקליד $41523$ נתפס, כי $4 + 1 + 5 + 2 = 12$ מניב ספרת בדיקה $2$. מנגנון התופס ספרות מופקות משקל כל מיקום אחרת, כמו בבדיקת ISBN-13 (משקלים $1, 3, 1, 3, \ldots$, ולאחר מכן הספרה שהופכת את הסך למכפלת $10$). ספרת בדיקה היא אימות: היא בודקת את המספר מול חוק ברגע הכניסה.

  • בדיקת רשימה ובדיקת עקביות (למשל: תאריך משלוח ≥ תאריך הזמנה).

אימות תופס נתונים שפורמטם שגוי, אך לא נתונים שפורמטם נכון אך הם שגויים עובדתית ("בוב" במקום "ביב").

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

Pseudocode Bדיקה
IF x < 0 OR x > 10 THEN OUTPUT "Invalid" בדיקת טווח: הערך חייב להיות בין שני גבולות
IF x = "" THEN OUTPUT "Invalid" בדיקת נוכחות: השדה לא יכול להיות ריק
IF NOT(x = "Red" OR x = "Yellow" OR x = "Blue") THEN OUTPUT "Invalid" בדיקת רשימה (קיום): הערך חייב להיות אחד מרשימה
IF LENGTH(x) <> 6 THEN OUTPUT "Invalid" בדיקת אורך: מספר האותיות הנכון
IF MID(x, 1, 1) < "A" OR MID(x, 1, 1) > "Z" THEN OUTPUT "Invalid" בדיקת פורמט: אות מסוים חייב להיות אות

לאמת מספר רישום רכב שחייב להכיל אות אחת, שלוש ספרות ושתי אותיות: בדיקת פורמט בודקת כל מיקום מול הדגם שלו, ובדיקת אורך מאשרת שישנן שש אותיות. לאמת תאריך לידה: בדיקת פורמט (DD/MM/YYYY), בדיקת טווח (החודש הוא בין $1$ ל$12$, השנה אינה בעתיד) ובדיקת נוכחות (הוא אינו נותר ריק). ציון בין $0$ לבין המקסימום לבחינה דורש בדיקת סוג (שלם) ובדיקת טווח, כאשר הגבול העליון נקרא מהרשומה של הבחינה עצמה: כך האימות מגן על שלמות הנתונים, על ידי סירוב לקבלת נתונים שלא יכלו להיות נכונים.

בדיקת נכונות — האם הנתונים הוזנו או הועברו נכון?

בדיקת נכונות בודקת שהנתונים לא שונו במהלך מעבר ממקום למקום.

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

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

במהלך ההעברה (ייתכן שביטים מתהפכים):

  • בדיקת זוגיות — ביט נוסף הופך את מספר ה-1s לזוגי (זוגיות זוגית) או אי-זוגי. המקבל סופר מחדש. תופס טעויות בביט בודד.
  • סכום בדיקה — השולחן שולח ערך סיכום של הנתונים; המקבל מחשב מחדש ומשווה.
  • בדיקת עודף מחזורי (CRC) — סכום בדיקה חזק יותר המשמש בחלוקה פולינומית, תופס הרבה יותר סוגי טעויות.

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

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

רשת של ארבעה בייטים שהתקבלו ובייט זוגיות תחת זוגיות זוגית, כאשר ביט הזוגיות נמצא בעמודה הראשונה; בשורה של הבייט השלישי יש חמישה 1s ובעמודה הרביעית יש שלושה 1s, שניהם אי-זוגיים, והביט בצומת שלהם מסומן כזה ששונה
בדיקת זוגיות: השורה שכושלת ועמודה שכושלת נפגשות בביט שנשנה

ספור את 1 בכל שורה ובכל עמודה. כל שורה ועמודה צריכות להיות בעלות מספר זוגי; byte 3 ישנם חמישה ועמודה 4 ישנם שלושה. הביט שבו השורה והעמודה החוצות נפגשות הוא זה שעבר שינוי, ולכן הוא מושב מ-1 ל-0. בדיקת פריות לבדה בודדת שגיאה בביט אך אינה יכולה לומר איזה ביט; שתי שגיאות באותו ביט מבטלות זו את זו ועוברות בלתי מורגשות. צ'קסום, המוסבר לשלוש נקודות: השולח מעביר את בלוק הנתונים דרך אלגוריתם המפיק ערך צ'קסום; הנתונים והצ'קסום נשלחים יחד; המקבל מריץ את אותה אלגוריתם על הנתונים שקיבל; אם שני הצ'קסומים תואמים, הנתונים מתקבלים, ואם לא, הם נדחים ונשלחים שוב.

אותם שבעה ביטים נתונים פעמיים: ביט זוגיות 0 נותן ארבעה 1s לזוגיות זוגית, ביט זוגיות 1 נותן חמישה 1s לזוגיות אי-זוגית
ביט הזוגיות מוגדר כדי שהמספר של 1s יהיה זוגי או אי-זוגי
השולח מחשב צ'קסום ושולח אותו עם בלוק הנתונים; המקלקל מחדש את הצ'קסום ומשווה, בנוסף לדוגמה פתורה לחישוב סכום בייטים מודולו-256
חישוב צ'קסום עבור בלוק נתונים

אישור (Verification) מוכיח רק מה שהגיע תואם מה שנשלח — ולא שהנתונים נכונים, ולא בפני התערבות מזדירה. אימות שואל "האם זה הגיוני?"; אישור שואל "האם זה הועתק נכון?" — השתמשו בשניהם.

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

צד לצד: אימות שואל "האם נתונים אלו הגיוניים?" ובודק כללים כמו טווח, סוג ופורמט לפני האחסון (תופס נתונים שגויים); אישור שואל "האם הוא הועתק נכון?" ומשתמש בהכנסה כפולה, זוגיות וצ'קסומים (תופס שגיאות העתקה)
אימות בודק שהנתונים עשויים הגיון; אישור בודק שהועתק ללא שינוי

דוגמה מוצעת. משתמש מקליד את תאריך הלידה שלו כ31/02/2009, ומקליד את כתובת הדוא"ל שלו פעמיים. איזה בדיקה תופסת איזה שגיאה, מה ההבדל? התקפה (Validation) שואלת "האם נתונים אלו סבירים?" - המחשב בודק אותם מול כלל, ובדיקת פורמט או טווח דוחה 31/02/2009 כי פברואר לעולם אינו מכיל 31 ימים. אישור (Verification) שואל "האם נתונים אלו הוקלטו נכון?" - הקלדת הדוא"ל פעמיים היא הקלדה כפולה, והשוואת שתי העותקות תופסת טעות הקלדה. הגבול הוא מה שהופך את זה לשאלה מועדפת: התקפה לעולם לא תוכל לספר לך שהנתונים נכונים, רק שהם אפשריים - 01/02/2009 עובר את כל כללי ההתקפה גם אם המשתמש נולד למעשה ביום אחר. אמור מה כל בדיקה יכולה ואינה יכולה לתפוס.

חקור

מעבדת מושגי מחשוב

סווג דוגמאות מلموسة לפי הרעיון המחשובי שהן מדגימות.

מילון מונחים אימון
English עברית
validation/ˌvælɪˈdeɪʃn/ אימות
verification/ˌverɪfɪˈkeɪʃn/ בדיקת נכונות
parity check/ˈpærɪti tʃek/ בדיקת זוגיות
checksum/ˈtʃeksəm/ סך ביקורת
cyclic redundancy check/ˈsaɪklɪk rɪˈdʌndənsi tʃek/ בדיקת עודפות מעגלית (CRC)
parity block check/ˈpærɪti blɒk tʃek/ בדיקת בלוק זוגיות
צפה בשיעור
6.2

הגדרות מקובלות בקורס

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

מונח הגדרה
אבטחת נתונים שמירת נתונים בטוחים מפני אובדן וגישה, שינוי או מחיקה בלתי מורשת
פרטיות נתונים שמירת נתונים בסודיות, כך שראו אותם רק מי שיש לו זכות לראות אותם
integrity נתונים הדיוק, העקביות וההשלמה של הנתונים
תוכנת זדון תוכנה מזדה שמוקמת ללא ידיעת המשתמש כדי לפגוע במערכת או לגנוב נתונים
וירוס תוכנת זדון שמכפלת את עצמה, נדבקת לקבצים אחרים ומשחיתה או מוחקת נתונים
תוכנת ריגול תוכנת זדון שמקליטה לחיצות מקשים או פעולות של המשתמש ושולחת אותן לצד שלישי
פישينג מייל המתיימר להיות מארגון חוקי המוביל את המשתמש לאתר זיוף לאיסוף נתונים אישיים
פארמינג קוד מזיין המנתב את המשתמש לאתר זויף גם כאשר הוכנס הכתובת הנכונה
חומת מגן חומרה או תוכנה הבוחנים כל התנועה נכנסת או יוצאת ממערכת לפי קריטריונים מוגדרים וחוסמים מה שאינו עומד בהם
הצפנה ערבול נתונים באמצעות מפתח לקידוד, כך שלא ניתן להבין אותם ללא המפתח לפיענוח
חתימה דיגיטלית גישור של הודעה המוצפנת במפתח הפרטי של השולח, המשמשת להוכחת זהות השולח ולמניעת שינוי
תקפות נתונים בדיקה אוטומטית שהנתונים המוזנים סבירים ועוקבים אחרי הכללים המוגדרים
אימות נתונים בדיקה שהנתונים הוזנו או הועברו נכון, על ידי השוואה למקור או לערך שנחשב מחדש
ספרת ביקורת ספרה נוספת שנוספה מתוך חישוב ספרות אחרות במספר, כדי לאפשר זיהוי שגיאה במספר
בדיקת זוגיות ביט נוסף שמיוסף לבאייט כך שמספר ה-1s יהיה זוגי (או אי-זוגי), שהמקבל יחשב מחדש
סך ביקורת ערך שנוצר מאוסף נתונים על ידי אלגוריתם ונשלח איתם, מחושב מחדש על ידי המקבל ומשווה
מילון מונחים אימון
English עברית
integrity/ɪnˈteɡrɪti/ אינטגריות
unauthorised/ʌnˈɔːθəraɪzd/ לא מורשה
6.2

טיפים לבחינות

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

טעויות נפוצות

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

שיעורים אינטראקטיביים בנושא זה

לעבור על הדברים צעד אחר צעד, עם תרגילים לבדיקה מיידית.

מבחני עבר

נושאים נוספים במדעי המחשב A-Level

היכנס או צור חשבון

IGCSE, A-Level & AP