קרברוס (פרוטוקול)
יעדי הפרוטוקול > הגדרות כלליות

תחום (Realm) מייצג את גבולות תחום האימות בו שרת האימות רשאי או יכול לאמת לקוחות, שרתים או מארחים. אין הכוונה שהלקוח והשרת חייבים להיות באותו תחום כדי שיצליחו להתקשר ביניהם, ייתכן מצב שבו שרת מאמת לקוח מתחום אחר אם קיים יחס אימון בין התחומים, אך תמיד לקוח משתף סוד רק עם מנהל התחום בו הוא נמצא. לכל תחום יש שם ובדרך כלל הוא זהה ל-DNS באותיות רישיות.
פרינציפל (Principal) מתייחס לכניסה במסד הנתונים של שרת האימות המכילה את שמו של המשתמש, המארח או השרת המשויך אליה. מבנה השדה הוא:
טיקט (Ticket) היא חבילת נתונים אותה הלקוח מציג בפני שרת היישומים או ספק השירותים על מנת לזהותו לצורך התחברות או מתן שירות. טיקטים מונפקים על ידי שרת האימות והם מוצפנים עם מפתח סודי המשותף לשרת האימות וספק השירות. הלקוח עצמו אינו יכול לראות את תוכן הטיקט, אלא רק להעבירו לשרת המתאים. טיקט מכיל בעיקר את שם מבקש השירות, שם נותן השירות, כתובת IP של מחשב הלקוח (אופציונלי), תאריך הנפקה, תאריך תפוגה ומפתח שיחה. כל טיקט בתוקף לזמן מוגבל (בדרך כלל 10 שעות) בגלל שמרגע שהונפק הטיקט לא ניתן לבטלו. טיקטים בדרך כלל מכילים מידע נוסף בצורת דגלים.
הצפנה. כחלק מתהליכי הפרוטוקול נדרשת מעת לעת הצפנה של מסרים כמו טיקטים אישורים וכדומה. בעיקרו פרוטוקול קרברוס סימטרי במובן שכל שתי נקודות המשתפות מידע סודי ביניהן חובה עליהן לשתף תחילה מפתח סודי זהה. אם כי תהליכים מסוימים של קרברוס בעיקר בשלב האתחול יכולים להשתמש גם בתשתית מפתח ציבורי PKI עם סרטיפיקט X.509. סוגי ההצפנה משתנים בהתאם לגרסאות והם נפרדים מהפרוטוקול. גרסה 4 של קרברוס עשתה שימוש ב-DES אך בשל חולשות הקיימות באלגוריתם ההצפנה וגם כאלו שהתגלו בפרוטוקול עצמו היא הוצאה מכלל שימוש. הגרסה הנוכחית היא קרברוס 5 גרסה 1.3 המאפשרת מגוון רחב של סוגי הצפנות לפי העדפה וכדי למנוע בעיות תפעוליות הנובעות מריבוי גרסאות ישנם אלגוריתמים מנדטוריים שכולם חייבים לספק להם תאימות. קיימת פרצה שנובעת מהעובדה שבגלל ההבדלים הגדולים בין מערכות הפעלה כמו לינוקס וחלונות, האלגוריתמים שקיימת לגביהם תמיכה חוצת מערכות חלשים מדי כמו DES עם מפתח באורך 56 סיביות או אלגוריתם RC4-HMAC.
מפתח הצפנה. המטרה העיקרית של הפרוטוקול היא כאמור להימנע ממצב שסיסמת המשתמש תאוחסן או תשודר באופן גלוי. מהלכי הפרוטוקול אם כן נדרשים להיות מוצפנים באמצעות מפתחות הצפנה שונים ובאורכים שונים בהתאם לצורך. מטעמי ביטחון יש צורך במרבית המקרים להפריד לגמרי בין נתונים מוצפנים כך שכל אחד מהם יוצפן עם מפתח אחר. היות שלא מעשי לכפות על המשתמש לספק סיסמאות חדשות בכל פעולת התחברות, אין אפשרות להשתמש בסיסמה עצמה כמפתח הצפנה תחת זאת, מופעלת פונקציה מתאימה בדרך כלל פונקציית גיבוב קריפטוגרפית כדי להמיר את הסיסמה למפתח הצפנה ראוי. אם פונקציית הגיבוב בטוחה, אז מלבד כוח גס גם אם מפתח ההצפנה נופל לידי האויב או המתחרה הוא לא יצליח לגלות באמצעותו את הסיסמה.
מלח (Salt). היא מחרוזת שם התחום אותה מוסיפים לפונקציה המייצרת מפתח הצפנה מהסיסמה. הרעיון הוא שבנוכחות מחרוזת המלח גם אם למשתמש סיסמה קבועה לתחומים שונים (מה שבדרך כלל קורה) מפתח ההצפנה שייווצר יהיה שונה. משתמשים בדרך כלל מעדיפים לזכור סיסמה אחת ולהשתמש בה בכל מקום שנדרש אימות. משיקולי ביטחון רצוי להימנע ממצב שמפתח ההצפנה המופק עבור משתמש אחד לתחומי רשת שונים, למשל חיבור לשרת קרברוס ו/או חיבור לשרת אחר, יהיה זהה. לצורך תאימות עם גרסאות ישנות אפשר לספק מחרוזת מלח ריקה. יש לציין שמלח רלוונטי רק למשתמשי קצה אנושיים ופחות רלוונטי לשירותים הנגשים לשירותים אחרים כי במקרה זה אין מי שיקליד סיסמה.
מספר מפתח. לצורך מעקב, כאשר משתמש מחליף סיסמה או כאשר מנהל הרשת מעדכן מפתח סודי של שירות או שרת, השינוי מעודכן על ידי קידום מונה. הערך הנוכחי של המונה מייצג את גרסת המפתח המסומן בקיצור KVNO.