פרוטוקול קריפטוגרפי

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

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

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

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


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

פרוטוקול אבטחת שכבת התעבורה (Transfer Layer Security) מיישם פרוטוקולים ופרימיטיבים קריפטוגרפיים שונים לאבטחת קישוריות הרשת (HTTP). שכבה זו כוללת מנגנון אימות המבוסס על מערכת X.509 וכן פרוטוקול הכנת והעברת מפתחות הצפנה כמו פרוטוקול דיפי-הלמן, צופן סימטרי כמו AES להצפנת נתונים ומערכת מפתח ציבורי לצורך חתימה דיגיטלית כמו DSA.

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

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

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

קטגוריה:קריפטוגרפיה