29.4.2015

נספח: קריפטוגרפיה.

שלום חברים.
בפוסט זה אפרסם את הנספח הראשון של הבלוג. הוא מכיל בתמציתיות (מירבית, הרשו לי לומר) מושגים והגדרות שאנשי אבטחת המידע מחוייבים לדעת.
כיוון שהשפה העברית לוקה באופן מסוים בכל הקשור למונחים טכנולוגיים, יש כאלה שיְפָרְשׁוּ מונחים אלה בצורה קצת שונה. בכל אופן, אמליץ להתייחס לכותרת המונח בשפה האנגלית.
תהנו.

נספח א': קריפטוגרפיה

 

אלגוריתם (Algorithm) – סט חוקים מתמטיים ולוגיים המרכיבים את פונקציות ההצפנה.

צופן (Cipher) – בקריפטוגרפיה, שם נרדף לאלגוריתם.

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

מערכת הצפנה ( Cryptosystem ) – יישום קריפטוגרפיה ע"י תוכנה וחומרה. מערכות אלו מכילות את כל הפרוטוקולים, אלגוריתמים, תוכנות ומפתחות הדרושים ליישום קריפטוגרפיה.

ניתוח צפנים ( Cryptoanalysis ) – הפרקטיקה לזיהוי וגילוי "פגמים" במערכות הצפנה.

קריפטולוגיה ( Cryptology ) – תורת ההצפנה המבססת ניתוח צפנים ומערכות הצפנה.

קידוד\הצפנה ( Encipher ) – הפעולה המשנה נתונים לצורה בלתי ניתנת לקריאה.

פיענוח ( Decipher ) – הפעולה המשנה נתונים לצורה הניתנת לקריאה.

מפתח ( Key ) – רצף סיביות (Bits) המנחות את פונקציות ההצפנה באלגוריתם.

אשכולות מפתח ( Key Clustering ) – מצב בו שני מפתחות שונים יוצרים את אותו טקסט מוצפן מאותו טקסט לא מוצפן.

מרחב מפתחות ( Keyspace ) – הטווח של ערכים אפשריים ליצירת ולבניית מפתחות.

טקסט גלוי ( Plaintext ) – נתונים הניתנים לקריאה. לעתים נקרא גם טקסט-נקי Cleartext .

צופן החלפה, שיכול ( Substitution cipher ) – שיטת הצפנה העושה שימוש באלגוריתם המחליף\משנה ערך מסוים בערך אחר.

צופן סיטאלה ( Scytale cipher ) – כלי הצפנה עתיק-יומין העושה שימוש בנייר ומקל. שימש את הצבא היווני.

עיקרון קרקהופס ( Kerckhoff's principle ) – עיקרון המנחה שימוש באלגוריתמים ידועים ובתנאי ש-רק המפתחות יהיו בלתי-ידועים.

פנקס חד-פעמי ( One-time pad ) – שיטת הצפנה שהומצאה ע"י גילברט וורנאם וידועה כ-בלתי ניתנת לפיצוח (רק אם אופן יישומה נעשה בצורה נכונה ומדויקת).

מחולל מספרים ( Number generator ) – אלגוריתם היוצר ערכים (מספרים) אשר משמש פונקציות הצפנה מסוימות וזאת ע"מ ליצור אקראיות.

צופן מפתח-רץ ( Running key cipher ) – צופן החלפה אשר יוצר מעין זרימת ערכי מפתח מקטעי טקסט מוסכמים לצדדים.

צופן סתרים ( Concealment cipher ) – שיטת הצפנה אשר מסתירה הודעה בתוך טקסט גלוי.

סטגנוגרפיה ( Steganography ) – שיטה להסתרת מידע ע"ג מדיה נראית (תמונה, וידאו...).

ניהול זכויות דיגיטליות ( Digital rights management – DRM ) – טכנולוגיית בקרת גישה אשר משמשת להגנה של תכנים בעלי זכות יוצרים.

צופן שחלוף ( Transposition ) – שיטת הצפנה המזיזה (ע"י תמורה) ערכים.

צופן קיסר ( Caesar cipher ) – אלגוריתם החלפה פשוט אשר הומצא ע"י יוליוס קיסר ופועלת ע"י הזזת שלושה תווים אלפא-בתים בעת קידוד ופיענוח.

ניתוח תדירות ( Frequency analysis ) – תהליך ניתוח צפנים המשמשת לזיהוי חולשות במערכות הצפנה ע"י גילוי תבניות בתוך טקסט מוצפן.

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

אלגוריתם סימטרי ( Symmetric algorithm ) – שיטת הצפנה כאשר הן השולח והן המקבל עושים שימוש באותו מפתח לקידוד ולפיענוח.

אלגוריתם אסימטרי ( Asymmetric algorithm ) – שיטת הצפנה העושה שימוש בשני מפתחות – ציבורי ופרטי. לעתים נקרא צופן מפתח ציבורי.

מפתח ציבורי ( Public key ) – ערך או ערכים המשמשים צפני מפתח ציבורי (צופן אסימטרי) הידועים לכל הצדדים.

מפתח פרטי ( Private key ) – ערך או ערכים המשמשים צפני מפתח ציבורי (צופן אסימטרי) הידועים רק למחזיק המפתח.

צופן בלוקים ( Block cipher ) – סוג של אלגוריתם סימטרי המצפין נתחים (בלוקים) של נתונים באותו הזמן.

דיפוזיה, פיזור ( Diffusion ) – תהליכי העתקה המשמשים פונקציות הצפנה ע"מ להגביר אקראיות.

ערבוב ( Confusion )- תהליכי החלפה המשמשים פונקציות הצפנה ע"מ להגביר אקראיות.

אפקט מפולת השלגים ( Avalanche effect ) – סט דרישות לפיתוח אלגוריתמים כך ששינוי קטן בקלט יגרור שינוי דרסטי בפלט. 

צופן זרם ( Stream cipher ) – סוג של אלגוריתם המחולל זרם-מפתחות (ערכים אקראיים) ומבצע פעולת XOR ביניהם ובין טקסט גלוי ובכך יוצרת צפנים.

מחולל זרם מפתחות ( Keystream generator ) – רכיב של אלגוריתם הזרמה אשר יוצר ערכים אקראיים למטרת הצפנה.

וקטור אתחול ( Initialization vectors, IVs) – ערך או ערכים המשמשים אלגוריתמים להגברת האקראיות בפונקציות הצפנה.

הצפנה היברידית ( Hybrid cryptography ) – שילוב של אלגוריתם סימטרי ואלגוריתם אסימטרי, כאשר המפתח הסימטרי משמש להצפנת ההודעה והמפתח האסימטרי משמש להצפנת המפתח הסימטרי.

מפתחות שיחה ( Session keys ) – מפתחות סימטריים בעלי תוחלת חיים קצרה, ובכך מעניקה הגנה טובה יותר מאשר מפתחות סטטיים בעלי תוחלת חיים ארוכה.

מעטפת דיגיטלית ( Digital envelope ) – הודעה אשר מוצפנת ע"י מפתח סימטרי כאשר המפתח הסימטרי מוצפן ע"י מפתח אסימטרי.

תקן הצפנת נתונים ( Data encryption standard, DES ) – צופן בלוקים סימטרי שנבחר ע"י NIST בשנת 1976 כתקן להצפנה. תקן זה עושה שימוש במפתחות בגודל 56 סיביות, בבלוקים בגודל 64 סיביות וב-16 סיבובי חישוב.

לוציפר ( Lucifer ) – הינו האלגוריתם שנבחר ל-DES. במשך הזמן שונה וכיום נקרא "אלגוריתם להצפנת נתונים" – Data Encryption Algorithm, DEA .

אלגוריתם להצפנת נתונים ( Data encryption algorithm, DEA ) – הינו האלגוריתם שנבחר לתקן הצפנת נתונים (DES). פועל ע"י שימוש במפתחות בעלי 56 סיביות, בבלוקים של 64 סיביות וב-16 סיבובי חישוב.

תקן הצפנה מורחב ( Advanced encryption standard, AES ) – תקן אמריקאי להצפנה אשר ייעודו להחליף את התקן להצפנת נתונים (DES). זהו צופן בלוקים סימטרי העושה שימוש בבלוקים של 128 סיביות ובמפתחות בגדלים שונים (128, 192, 256) סיביות.

ריינדל ( Rijndael ) – צופן בלוקים סימטרי אשר נבחר לשימוש בתקן המורחב (AES). עושה שימוש בבלוקים של 128 סיביות ובמפתחות בגדלים שונים (128, 192, 256) סיביות.

תקן הצפנת נתונים משולש ( TripleDES, 3DES) – צופן בלוקים סימטרי מסוג DES אשר מבצע פי 3 פעולות בבלוק נתון.

אלגוריתם בינלאומי להצפנת נתונים ( International data encryption algorithm, IDEA ) – צופן בלוקים סימטרי העושה שימוש במפתחות של 128 סיביות ובבלוקים בגודל 64 סיביות.

Blowfish – צופן בלוקים סימטרי העושה שימוש בבלוקים של 64 סיביות ובמפתחות בעלי גדלים שונים.

RC4  - צופן הזרמה סימטרי שפותח ע"י רון ריבסט (מיוצרי RSA). משמש את פרוטוקול SSL ו-WEP .

RC5  - צופן בלוקים סימטרי העושה שימוש בבלוקים בגדלים שונים (32, 64, 128 סיביות) ובמפתחות בגדלים שונים (0-2040 סיביות).

RC6 – צופן בלוקים סימטרי המבוסס על אלגוריתם RC5. עושה שימוש בבלוקים של 128 סיביות ובמפתחות בגדלים 128, 192, 256 סיביות.

אלגוריתם דיפי-הלמן ( Diffie-Hellman algorithm ) – האלגוריתם האסימטרי הראשון שנוצר. מיועד להחלפת ערכי מפתחות סימטריים. מבוסס על לוגריתמים במרחבים סופיים.

אלגוריתם RSA – נחשב לה-אלגוריתם ההצפנה האסימטרית. משמש חתימות ותעודות דיגיטליות ולהחלפת מפתחות. מבוסס על הקושי במציאת מחלקים ראשוניים של מספרים עצומים.

אלגוריתם אל-גמאל ( El Gamal algorithm ) – אלגוריתם אסימטרי המבוסס על אלגוריתם דיפי-הלמן. משמש להצפנה, חתימות דיגיטליות והחלפת מפתחות.

אלגוריתם עקומים אליפטיים ( Elliptic curve cryptosystem algorithm, ECC algorithm) – אלגוריתם אסימטרי המבוסס ע"י מבנים אלגבריים של עקומים אליפטיים במרחבים סופיים. משמש להצפנה, חתימות דיגיטליות וכן להחלפת מפתחות.

אלגוריתם תרמיל הגב ( Knapsack algorithm ) – אלגוריתם אסימטרי המבוסס על "בעיית תרמיל הגב" הידועה. אלגוריתם זה פוענח ונפרץ ולא נעשה בו יותר שימוש.

גיבוב חד-כיווני ( One-way hash) – תהליך הצפנה הלוקחת כמות שרירותית של נתונים ומייצרת ערך בעל גודל קבוע. משמש בעיקר להבטחת שלמות (Integrity).

קוד אימות מסרים ( Message authentication code, MAC) - פונקציית גיבוב (Hash) העושה שימוש במפתחות. משמשת בעיקר להבטחת שלמות נתונים ואימות השולח.

קוד אימות מסרים מגובב ( Hashed message authentication code, HMAC ) – פונקציית גיבוב העושה שימוש במפתח סימטרי לגיבובו. משמשת בעיקר להבטחת שלמות ואימות השולח.

MAC מבוסס צופן בלוקים ( Cipher block chaining message authentication code, CBC-MAC) – טכניקה ליצירת MAC ע"י שימוש בצופן בלוקים. משמשת בעיקר להבטחת שלמות ואימות השולח.

קוד אימות מסרים מוצפן ( Cipher message authentication code, CMAC ) – מבוסס MAC ומעניק הגנה רחבה יותר מאשר CBC-MAC.

קוד אימות מסרים משולב CBR/CBC ( Counter/CBC MAC ) – מצב צופן בלוקים המשלב מצבי CTR  ו- CBC-MAC. מפתח הצפנה יחיד משמש למטרות אימות והצפנה.

התנגשות ( Collision ) – כאשר שתי הודעות מגובבות ע"י אותו אלגוריתם גיבוב – ומפיקות ערכי תוצאה זהות. 

תקיפה מבוססת פרדוקס יום ההולדת ( Birthday attack ) – סוג של תקיפה קריפטוגרפית המנצלת את הלוגיקה והמתמטיקה מאחורי פרדוקס יום ההולדת ועמה תיאורית ההסתברות להתנגשות.

חתימה דיגיטלית ( Digital signature ) – מבטיחה אימות המקור ושלמות ההודעה בעזרת שימוש באלגוריתמי גיבוב ובאלגוריתמי הצפנה אסימטריים. ההודעה מוצפנת ע"י המפתח הפרטי של השולח.

תקן חתימה דיגיטלית ( Digital signature standard, DSS ) – תקן אמריקאי המציג אילו אלגוריתמים מורשים ליצירת חתימות דיגיטליות בשימוש מדיני-ממשלתי. 

רשויות אישורים ( Certificate Authority, CA ) – חלק מה-PKI. מרכיב אשר יוצר ומתחזק תעודות דיגיטליות במשך מחזור חייהם.

רשויות רישום ( Registration authority, RA ) – חלק מה-PKI. מרכיב אשר מאמת את זהות מבקש התעודה הדיגיטלית.

רשימת ביטול אישורים ( Certificate revocation list, CRL ) – רשימה אשר מתוחזקת ע"י רשות האישורים כחלק מה-PKI, אשר מכילה מידע אודות כל התעודות הדיגיטליות אשר בוטלו.

פרוטוקול סטאטוס מקוון ( Online certificate status protocol, OCSP ) – שיטה לאוטומטיזציה של תחזוקה וניהול תעודות דיגיטליות מבוטלות.

תעודה\אישור דיגיטלי ( Certificate ) –זהות דיגיטלית כחלק מה-PKI. מיוצרת ומתוחזקת ע"י רשות האישורים ומשמשת לאימות (Authentication).

קישור מוצפן ( Link encryption ) – טכנולוגיה אשר מצפינה חבילות (Packets) שלמים (כולל ה-Headers וה-data payload) אשר נשלחים ללא אינטראקציה מצד השולח.

הצפנת קצה לקצה ( End-to-end encryption ) – שיטת הצפנה המשמשת לשליחת הודעות מוצפנות ויחידות  - ולא מצפינה את כל הפאקט.

הרחבת יכולות העברת מידע בדואר האלקטרוני ( Multipurpose internet mail extension, MIME ) – תקן המאפשר תמיכה\יכולת להעברת הודעות בצורה בינארית בהודעות דואר אלקטרוני.

Secure MIME, S/MIME – הרחבת תקן יכולת העברת מידע בדואר האלקטרוני – בצורה מאובטחת. מציגה שימוש בהצפנת מפתח ציבורי לאבטחת נתוני MIME.

Pretty Good Privacy, PGP – מערכת הצפנה שפותחה ע"י פיל צימרמן המשלבת הצפנת מפתח ציבורי למטרות דואר אלקטרוני והצפנת נתונים.

הצפנה קוונטית ( Quantum cryptography ) – שימוש בפונקציות של המכניקה הקוונטית למטרות של החלפת מפתחות.

HTTPS – שילוב של פרוטוקול ה-HTTP עם פרוטוקול SSL/TLS. מאפשר חיבור מאובטח בין צדדים ברשת האינטרנט. משמש בעיקר לעסקאות מקוונות ולגופים אשר מחויבים בהתקשרות מאובטחת.

עסקה אלקטרונית מאובטחת ( Secure electronic transaction, SET ) – "תקן" מסחר אלקטרוני (e-commerce) אשר פותח ע"י חברת Visa ו-MasterCard – ולא התקבל בקהילות הסחר האלקטרוני.

עוגיות ( Cookies ) – קבצי נתונים המשמשים דפדפנים ושרתים לשמירת הגדרות, מצבי נתונים ושיחות (Sessions).

Secure Shell, SSH – פרוטוקול רשת אשר מאפשר חיבור מאובטח למערכות מרוחקות. פותח למטרת החלפת פרוטוקול ה-Telnet שאינו מאובטח.

IPsec – תקן המוגדר כדה-פאקטו לפרוטוקול VPN. הינו סט פרוטוקולים המשמש לתקשורת IP מאובטחת (מוצפנת) וכן לאימות.

Authentication header protocol, AH – פרוטוקול כחלק מתקן ה-IPsec המשמש להבטחת שלמות ואימות.

Encapsulating security protocol, ESP  - פרוטוקול כחלק מתקן ה-IPsec המשמש להצפנה, הבטחת שלמות והבטחת זהות (אימות).

מצב תעבורה ( Transport mode ) – מצב בו מתאפשר לפרוטוקולי ה-IPsec לפעול, ובכך להעניק הגנה לתכולת הנתונים בחבילה (Packet data payload).

Tunnel mode - מצב בו מתאפשר לפרוטוקולי ה-IPsec לפעול, ובכך להעניק הגנה לכל החבילה, כולל ה-Headers וה-data payload.

Internet security associationand key management protocol, ISAKMP – פרוטוקול המשמש ליצירת framework לאימות בין חיבורי IP. בד"כ משמש את ה-IKE להחלפת מפתחות.

התקפה פאסיבית ( Passive attack ) – תקיפה אשר בד"כ מבצעת איסוף וגילוי נתונים ללא אינטראקציה ממשית בפעילויות ההתקשרות. דוגמא טובה הינה "רחרוח", Network sniffing.

התקפה אקטיבית ( Active attack ) – תקיפה אשר מבצעת אינטראקציה בפעולות העיבוד וההתקשרות.

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

Known-plaintext attack – כחלק מניתוח צפנים, בתקיפה זו מניחים כי לתוקף ישנה גישה לכמות מסוימת של טקסט מוצפן יחד עם טקסט מפוענח תואם.

Chosen-ciphertext attack – כחלק מניתוח צפנים, בתקיפה זו התוקף מתמקד בטקסט מסוים ויחיד – ובד"כ מצליח לפענחו ללא מפתח הצפנה ידוע.

ניתוח צפנים דיפרנציאלי ( Differential cryptanalysis ) – שיטה לניתוח צופן ע"י הבחנה בדפוסי השינוי בפלט כפונקציה של הקלט.

ניתוח צפנים לינארי ( Linear cryptanalysis ) – שיטה לניתוח צופן ע"י למידה וקירוב העתקות (לינאריות) סופיות בתהליך ההצפנה.

התקפת ערוץ צדדי ( Side-channel attack ) – תקיפה המשתמשת בנתונים שנאספו כגון זמנים וצריכת חשמל כדי לזהות פונקציות עיבוד ומידע רגיש.

Replay attack   - העברה של מידע תקין לכוונות זדון והונאה – וחוזרת על עצמה פעם אחר פעם ע"מ להשיג\לקבל גישה בלתי-מורשית.

התקפה אלגברית ( Algebraic attack ) – התקפה קריפטוגרפית (או כחלק מניתוח צפנים) אשר מנצלת חולשות פנימיות במבנים אלגבריים של פונקציות מתמטיות.

התקפה אנליטית ( Analytic attack ) – התקפה קריפטוגרפית (או כחלק מניתוח צפנים) אשר מנצלת חולשות במבנה אלגוריתמי.

התקפה סטטיסטית ( Statistical attack ) - התקפה קריפטוגרפית (או כחלק מניתוח צפנים) אשר עושה שימוש בזיהוי וגילוי תבניות בעזרת סטטיסטיקה.

התקפה מבוססת הנדסה חברתית ( Social engineering attack ) – שימוש במניפולציות כלפי אנשים במטרה להשיג מהם מידע מסווג, ללא שימוש בכלים טכניים ובניסיונות פיצוח.

Meet-in-the-Middle attack – להבדיל מ-Man-in-the-Middle attack , זוהי התקפה קריפטוגרפית המנסה לזהות ולגלות בעיות מתמטיות מ-2 קצוות שונים ( 2 different ends ).