SSH1 לעומת SSH2
SSH (Secure Shell) הוא פרוטוקול המשמש כדי לאפשר אבטחה לתקשורת נתונים דרך הרשתות. SSH נמצא על ידי Tatu Ylonen (SSH Communications Security Corporation) בשנת 1995. פרוטוקול זה מספק תשתית לאבטחת העברת נתונים, ביצוע פקודות מרחוק ושירותי רשת המאפשרים אבטחה בין שני מחשבים ברשת. התקשורת מנוהלת על פי ארכיטקטורת לקוח – שרת (SSH Client ושרת SSH). פרוטוקול SSH פותח עם שתי גרסאות בשם SSH1 ו-SSH2.
SSH1 (Secure Shell גרסה 1)
פרוטוקול SSH גרסה 1 נמצאה בשנת 1995 והוא מורכב משלושה פרוטוקולים עיקריים, הנקראים SSH-TRANS, SSH-USERAUTH ו-SSH-CONNECT.
SSH-TRANS: זהו פרוטוקול שכבת התעבורה (TCP/IP) שבעצם מספק אימות שרת, סודיות ושלמות.
SSH-USERAUTH: זהו הפרוטוקול המשמש לאימות משתמשים במפעל התקשורת. פרוטוקול זה מאמת לקוח SSH בשרת SSH. פרוטוקול זה עובר גם על שכבת התחבורה.
SSH-CONNECT: זהו פרוטוקול החיבור שמרבב נתונים מוצפנים לכמה זרמים לוגיים. פרוטוקול זה פועל על גבי פרוטוקול SSH-USERAUTH.
כדי להפעיל את החיבור המאובטח, הלקוח שולח את פרטי האימות שלו לשרת SSH עם הצפנה של 128 סיביות. לכל מארח שרת יש מפתח מארח, שמטרתו לאמת את התקשורת הנכונה של שרת הלקוח. כמו כן, צריך להיות לו מפתח ציבורי של שרת ה-SSH הרלוונטי. כל קטע נתונים מועבר מוצפן באמצעות אלגוריתמי הצפנה (DES, 3DES, IDEA, Blowfish).
מלבד כניסה מרחוק ניתן להשתמש ב-SSH ל-Tunnling, קישוריות X11, SFTP (פרוטוקול העברת קבצים SSH), SCP (עותק מאובטח), וגם להעברת יציאות TCP.יציאת TCP 22 נמצאת בשימוש בפרוטוקול SSH כברירת מחדל. דחיסת נתונים נתמכת גם על ידי SSH. תכונה זו שימושית כאשר מקשר שרת-לקוח עם רוחב פס נמוך וניתן להשתמש בו כדי לשפר את התפוקה של החיבור.
בגרסת SSH 1.5, מפתחים זיהו פגיעות מסוימת. בגרסה זו, הכנסת נתונים לא מורשית לאמצע זרם הנתונים המוצפן הייתה אפשרית, מה שעלול לגרום לסיכון גבוה לאבטחת הנתונים. כמו כן, פגיעות של שרת אימות זדוני לא מורשה להעברת אימות לשרת אחר זוהתה בשנת 2001.
SSH2 (Secure Shell גרסה 2)
SSH2 הוצג בשנת 2006 עם שיפורים משמעותיים רבים ביחס ל-SSH1. למרות שזהו שיפור של SSH1, SSH2 אינו תואם ל-SSH1. SSH2 נכתב מחדש עם הוספת מנגנוני הגנה נוספים כדי למנוע פגיעויות.
SSH2 משתמש בסט שונה של אלגוריתמים משופרים וחזקים יותר להצפנה ואימות כגון DSA (Digital Signature Algorithm). SSH2 אינה עוד תוכנה חופשית כמו SSH1; המפתח של SSH2 הגביל את השימוש החופשי ב-SSH2. שלא כמו SSH1, תוכנית SFTP (העברת קבצים מאובטחת) מובנית בחבילת SSH2 והיא משתמשת באותם פרוטוקולי הצפנה המשמשים את SSH2, כדי להצפין זרמי נתונים.
מה ההבדל בין SSH1 ל-SSH2?
להרבה מערכות הפעלה מבוססות UNIX יש יכולת SSH מובנית וקונסולות רבות עם יכולת SSH פותחו גם עבור מערכות Windows (TeraTerm, Putty, OpenSSH, WinSCP וכו').
• כאמור לעיל SSH2 היא גרסה משופרת של SSH1.
• ל-SSH1 יש כמה בעיות מתועדות ידועות שמתוקנות ומקודדות מחדש ב-SSH2.
• בדרך כלל הגרסה העדכנית ביותר של אפליקציות כלשהן תומכת בגרסאות הישנות שלה, אבל SSH2 אינו תואם לחלוטין ל-SSH1 וגם ל-SSH2 נדרש רישוי.