קריפטוגרפיה

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

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

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

השם "קריפטוגרפיה" מקורו במילה היוונית "קריפטו" (κρυπτός) שמשמעותה נסתר או אמנות ההסתרה, ו"גרפיה" (γράφω) שמשמעותה רישום. בתרגום חופשי נעשה שימוש בשם באופן חליפי למונח קריפטולוגיה שפירושו תורת ההסתרה (Crypto-logia, κρυπτός-λογία), אם כי משמעותו רחבה יותר מתחום ההצפנה בלבד.

מונחים כלליים[עריכת קוד מקור | עריכה]

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

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

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

קריפטוגרפיה מודרנית מטפלת בשלושה נושאים עיקריים:

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

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

רקע היסטורי[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – הצפנה קלאסית

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

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

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

הצפנה סימטרית[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – צופן סימטרי

הצפנה סימטרית היא הוותיקה ביותר ושורשיה החלו עם ההצפנה הקלאסית לפני מאות שנים. בהצפנה סימטרית נעשה שימוש במפתח יחיד להצפנה ולפענוח. על מנת שניתן יהיה להעביר מידע סודי בין הצדדים המתקשרים, שני הצדדים נדרשים להחזיק באותו מפתח הצפנה. יתרונותיה של ההצפנה הסימטרית הם ביעילותה (בשנת 2001 התבסס תקן ההצפנה המתקדם המגדיר מפתח הצפנה באורך של 128 סיביות כבטוח לשימוש). וכן בכוח המחשוב הנמוך הדרוש ליישומה לעומת הצפנה אסימטרית. דוגמה לאלגוריתם כזה הוא אלגוריתם DES, שהיה לאלגוריתם הסימטרי הראשון שהופץ בקנה מידה גדול ואף הפך לתקן הצפנה רשמי. DES שימש בעיקר בתחום הבנקאות והוא עדיין בשימוש מוגבל בגרסה המשולשת. אף על פי שכיום לא נחשב לאלגוריתם בטוח, חשיבותו ההיסטורית נותרה בעינה מאחר שהטכניקות שיושמו בו נלמדות כיום באקדמיה ומשמשות השראה ובסיס למרבית האלגוריתמים הסימטריים המודרניים. DES הוחלף ב-AES שהפך ב-2001 לתקן ההצפנה הרשמי של ארצות הברית. אלגוריתמים סימטריים נוספים הם 3DES, IDEA, FEAL, SAFER, RC5, RC4, Blowfish, וסרפנט.

להצפנה סימטרית מספר חסרונות:

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

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

סודיות מושלמת[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – סודיות מושלמת

בשנת 1949 הראה קלוד שאנון, בשיטות השאולות מתורת האינפורמציה, שיטת הצפנה (סימטרית) "מושלמת" המכונה פנקס חד-פעמי (One time pad). שיטה זו המבוססת על צופן ורנם, בה מצפינים מחרוזת מסר על ידי חיבור XOR של סיביות המסר בזו אחר זו, עם מפתח שנבחר באופן אקראי. אם המפתח אקראי "אמיתי" וחד-פעמי ובאורך המסר המיועד להצפנה, הצופן יהיה בעל סודיות מושלמת (Perfect Secrecy) והוא בטוח ללא סייג. אין שום דרך לשחזרו ללא המפתח (אפילו במקרה שמנחשים מפתח, אין דרך לדעת האם הוא המפתח הנכון). פנקס חד-פעמי מחייב שימוש יחיד במפתח. המפתח חייב להיות ממקור אקראי אמיתי (בניגוד למספרים פסבדו אקראיים המיוצרים על ידי מחשב).

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

הצפנה א-סימטרית[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – מפתח ציבורי
מערכת טיפוסית של הצפנת מפתח ציבורי

רעיון ההצפנה האסימטרית עלה לראשונה ב-1976 במאמרם המפורסם‏[1] של ויטפילד דיפי ומרטין הלמן הנחשבים להוגי השיטה וממציאיה. בהצפנה זו, בניגוד להצפנה סימטרית, נעשה שימוש בשני מפתחות, האחד נקרא מפתח פומבי איתו מצפינים את המסר. מכאן שמה של השיטה – Public Key Cryptography. המפתח הפומבי אינו נשמר בסוד אלא גלוי ונגיש לכל. לא ניתן לשחזר את המסר המוצפן באמצעות שימוש במפתח זה. המפתח השני נקרא מפתח פרטי שעליו להישמר בסוד בידי המקבל ורק באמצעותו ניתן לפענח את המסר המוצפן.

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

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

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

קריפטאנליזה מודרנית[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – קריפטואנליזה

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

בעבר נטו מפתחי אלגוריתמים קריפטוגרפיים לשמור בסוד את פרטי האלגוריתם. אולם כיום מקובל לאמץ את עקרון קרקהופס הקובע ששמירת אלגוריתם הצפנה בסוד אינה מהווה חלופה לבטיחותו. באנלוגיה למנעול צירופים, הסתמכות אך ורק על מנגנון נעילה סודי, אינה חכמה כיוון שאם נחשף המנגנון המנעול כולו הופך לחסר תועלת. מאידך אם התגלה צירוף סודי, יש צורך רק להחליף צירוף על מנת להבטיח סודיות, אין צורך בקניית מנעול חדש. גם בעת המודרנית הוכרזו מספר אלגוריתמי הצפנה כסודיים. בשנת 1993 פרסמה ממשלת ארצות הברית תקן הצפנה בשבב Clipper שהשתמש במספר אלגוריתמים סודיים, ביניהם צופן סימטרי בשם Skipjack. השבב בין היתר נועד לאפשר לרשויות גישה לתוכן המוצפן באמצעות דלת אחורית - מפתח נוסף אותו קיבלו בעת ייצור השבב‏[2]. השימוש בדלת אחורית וסודיות האלגוריתמים גרמו להסתייגות רבה בציבור והפרויקט לא התקבל, במיוחד לאחר שפורסמו אלטרנטיבות טובות יותר כמו PGP. בסופו של דבר נחשפו פרטי אלגוריתם סקיפג'ק לידיעת הציבור‏[3]. צופן זרם RC4 היה סוד מסחרי כשהומצא ב-1987 על ידי רונלד ריבסט במעבדות RSA. אולם בדרך כלשהי הצליח מישהו להנדס לאחור את האלגוריתם ופרטיו דלפו באופן אנונימי לרשת האינטרנט והפכו במהרה לנחלת הכלל.

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


אורך מומלץ למפתחות אלגוריתמים אסימטריים[עריכת קוד מקור | עריכה]

עד שנת 2003 בערך, מקובל היה להשתמש במודולוס בגודל 1024 סיביות. מעבדות RSA פרסמו ב-2003 הצהרה לפיה מפתח אסימטרי בגודל 1024 סיביות מספק רמת הגנה מקבילה למפתח סימטרי בגודל 80 סיביות. 2048 סיביות מקבילות לאלגוריתם סימטרי עם מפתח 112 סיביות ו-3072 מקביל ל-128. המלצה שלהם להשתמש במפתח 2048 סיביות לשימוש רגיל ו-3072 סיביות לשימוש מיוחד במקרים קיצוניים, זאת עד לשנת 2030. ארגון התקינה האמריקאי נוקט בגישה מחמירה יותר, לפי תקן NIST SP 800-57 נכון ליולי 2012 מפתח אסימטרי בגודל 3072 סיביות מקביל למפתח סימטרי בגודל 128 סיביות (מהסוג הנפוץ כיום באלגוריתם AES) ואילו לרמת בטיחות גבוהה, מפתח בגודל 15,360 סיביות יתאים ברמתו למפתח סימטרי בגודל 256 סיביות.

הדברים אמורים לגבי כל סוגי ההצפנה האסימטרית כולל חתימה דיגיטלית כגון DSA המבוססת על בעיית הלוגריתם הדיסקרטי, זאת בשל ההערכה כי בעיית לוגריתם דיסקרטי דומה בקושייה לבעיית פירוק לגורמים. יוצא מן הכלל הוא מערכת ההצפנה בעקום אליפטי (ECC). תקן FIPS PUB 186-4 שנכלל ב-Suite B של NSA, ממליץ על מפתח בגודל 256-384 סיביות שמקביל ברמתו למפתח סימטרי 128 סיביות, להצפנת מסמכים עבור הממשל האמריקאי ברמה של SECRET. לרמה של TOP SECRET ממליץ על 512 סיביות ומעלה. באופן כללי ההנחיה של NIST היא שמפתח ECC יהיה בערך כפול בגודלו ממפתח סימטרי. הערכה זו מניחה כי לא ידועה פריצת דרך משמעותית לפתרון הבעיה המתמטית עליה מבוססת ECC זאת כיוון שהאלגוריתמים הידועים אינם ישימים במערכת כזו.

פרימיטיבים קריפטוגרפיים[עריכת קוד מקור | עריכה]

פרימיטיב קריפטוגרפי הוא הגדרה לאלגוריתם קריפטוגרפי שייעודו ספציפי למטרה או יעד מוגדר. אלגוריתם AES הוא פרימיטיב קריפטוגרפי שתפקידו להצפין מידע בשיטה סימטרית. פרימיטיבים אחרים הם RSA, פונקציית גיבוב SHA-1 וכן DSA. מהות הרעיון הוא שבהקמת מערכת אבטחת מידע שלמה, אין די באלגוריתם אחד דהיינו בפרימיטיב קריפטוגרפי אחד, אלא משלבים מספר אלגוריתמים שלכל אחד מהם תפקיד אחר. יחדיו הם משלימים זה את זה למערכת שלמה. על כן נודעת חשיבות רבה לבדיקת המאפיינים והיחסים שבין הפרימיטיבים השונים, על מנת לוודא כי השילוב ביניהם בטוח ואינו מכיל פרצות. לעתים אי-הבנה באשר למהות פרימיטיב מסוים והניסיון לשלבו במערכת או להשתמש בו באופן שלא יועד לו, עשוי לפגוע בבטיחות המערכת כולה. לדוגמה פונקציית גיבוב טובה ליצירת ערכים ייחודיים, אולם אינה טובה כשלעצמה לצורך הצפנה. יתרונה הברור בא לידי ביטוי במערכת הצפנה דוגמת PGP בה יש צורך בערך חד-כיווני של המידע המשמש תווית לצורך החתימה על המסר באמצעות חתימה דיגיטלית.

פרוטוקולים ומנגנונים קריפטוגרפיים[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – פרוטוקול קריפטוגרפי

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

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

קריפטוגרפיה ותורת הקוונטים[עריכת קוד מקור | עריכה]

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

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

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

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

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

הצפנה קוונטית[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערכים מורחבים – הצפנה קוונטית, החלפת מפתחות קוונטית

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

חוקיות וזכויות שימוש[עריכת קוד מקור | עריכה]

מטבע הדברים, סגולותיה של הקריפטוגרפיה, ככלי לשמירה על פרטיות, מנוצלות לרעה על ידי גורמים זדוניים כמו ארגוני פשע, טרור וריגול. מאז ומתמיד ממשלות וגורמי ביטחון במדינות שונות גילו עניין רב בהתפתחויות בתחום זה. בכל מדינה כמעט קיים גוף האחראי על השימוש בהצפנה, מחקר ופיתוח וכן ניטור וניתוח של חומרים מוצפנים שקיים חשש שהם מסכנים את ביטחונה הלאומי. גם ארגוני זכויות אדם ברחבי העולם מגלים עניין בתחום זה בשל תרומתו לשמירת הפרטיות. בשל כך היו בעבר בארצות הברית מספר אירועים שערורייתיים, הקשורים בנושאים חוקתיים בתחום זה. ישנן מדינות (בהן ישראל) שבהן עד היום קיימות מגבלות חוקיות לעיסוק בקריפטוגרפיה ובכל מה שקשור אליה. בישראל קיים החל מ-1974 "צו צופן" ([2], תוקן ב-1998) המחייב כל גורם המעוניין לעסוק בהצפנה בקבלת רישיון עיסוק בהצפנה ממנכ"ל משרד הביטחון (בעבר מקצין קשר ראשי בצה"ל). במדינות אחרות (כמו ארצות הברית), העיסוק בקריפטוגרפיה לא מוגבל מקומית אך קיימות מגבלות ייצוא של חומרים קריפטוגרפיים מחוץ לתחומי המדינה. למעשה בארצות הברית קריפטוגרפיה סווגה כסוג של "תחמושת" בדומה לטנק או טיל בליסטי, ובעבר אף נאסר שימוש בהצפנה חזקה בארצות הברית, כאשר הפיקוח על ההצפנה היה באחריות הסוכנות לביטחון לאומי (NSA) של ארצות הברית. NSA הוא הארגון הממשלתי הגדול והמצויד ביותר בעולם שעוסק בקריפטוגרפיה ומעסיק עשרות אלפי עובדים. מטרתו העיקרית ניטור, פענוח וחשיפת תשדורות או מידע דיגיטלי אחר ברחבי העולם, שלהם זיקה לביטחונה הלאומי של ארצות הברית. מדינות אחרות (בעיקר מדינות ארופיות) נוקטות בגישה יותר ליברלית בכל הקשור להצפנה.

על אלגוריתמים קריפטוגרפיים אפשר להגן (במדינות מסוימות, כגון ארצות הברית) בפטנטים. על המימוש שלהם אפשר להגן בזכויות יוצרים (אולם אם המפרט מפורסם, כל אחד יכול לממש אותם מחדש). אפשר לנסות גם לשמור אותם כסוד מסחרי. בארצות הברית, בקנדה ובמדינות רבות אחרות רשומים מאות פטנטים על סוגים שונים של אלגוריתמים קריפטוגרפיים. לדוגמה אלגוריתם RSA נרשם כפטנט שתוקפו פג בשנת 2000. בשל המגבלה שנוצרה מהפטנט נאלצה ממשלת ארצות הברית ליצור תקן חתימה אלקטרונית חלופי בשם DSA שלא מוגן בפטנטים‏[4]. אי הבהירות סביב הפטנטים שעל ההצפנה בעקומים אליפטיים (ר' בהמשך) היא אחת הסיבות לחוסר הפופולריות שלהם[דרוש מקור].

בארצות הברית (וגם בישראל) רשומים מספר פטנטים על אלגוריתמים שונים להצפנה. החברה האמריקאית RSA מחזיקה כיום במספר פטנטים הקשורים לאלגוריתמי הצפנה שונים‏[5]. אף ששם החברה הוא "RSA", הפטנטים שבבעלותה כיום אינם בהכרח קשורים לאלגוריתם המקורי. החברה הקנדית Certicom מחזיקה בכמאה ועשרים פטנטים בהיבטים שונים של ECC (הצפנת עקום אליפטי) בארצות הברית ובקנדה בלבד.

החל מאמצע שנות ה-90 של המאה העשרים היו כמה תחרויות של ממשלות לבחירת פרימיטיבים קריפטוגרפיים חדשים: תחרות AES של מכון התקנים האמריקאי‏[6], ‏NESSIE של האיחוד האירופי‏[7],‏ CRYPTEC ביפן‏[8]. בכל המקרים הללו אחד מהתנאים היה שהזוכים ישיקו את התוכנה ללא מגבלות שימוש כלשהן.

אזכורים בספרות[עריכת קוד מקור | עריכה]

כתב החידה מתוך ספרו של ז'ול ורן "מסע אל בטן האדמה"

ראו גם[עריכת קוד מקור | עריכה]

לקריאה נוספת[עריכת קוד מקור | עריכה]

  • A. S. Tanenbaum, Computer Networks, 4th ed. (Prentice Hall, 2003).

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ Whitfield Diffie and Martin Hellman, "New Directions in Cryptography", IEEE Transactions on Information Theory, vol. IT-22, Nov. 1976, pp: 644–654. ‎
  2. ^ ריכוז מסמכים על שבב הקליפר מתוך אתר EPIC - מרכז מידע על פרטיות אלקטרונית
  3. ^ על פרסום סקיפג'ק - מתוך הבלוג של ברוס שנייר
  4. ^ ליתר דיוק: תקן DSA מוגן בפטנט, אולם השימוש בפטנט הותר ללא שום מגבלות. ר' הערך לפרטים נוספים
  5. ^ למשל, עבור אלגוריתמי ההצפנה RC6 וRC6‏, [1]‏.
  6. ^ דף הבית של תחרות AES
  7. ^ דף הבית של תחרות NESSIE. התחרות כונתה גם Crypto NESSIE. אולי במטרה ליצור בלבול עם קריפטוזואולוגיה
  8. ^ דף הבית של תחרות CRYPTEC
  9. ^ ‏אברהם טוביאס, על כתב סתרים צופן וחידות בספרותנו העתיקה


ערך מומלץ
Article MediumPurple.svg