SIM

Subscriber Identity Module (או בקיצור: SIM, בתרגום: מודול זיהוי המנוי) הוא מעגל מודפס על כרטיס פלסטיק קטן. התקן זה נועד לייצר זיהוי חד ערכי בינו ובין הרשת הסלולרית. ברשת טלפון קווי, הזיהוי נעשה לפי הקו הפיזי בו מתבצעת השיחה. כלומר המספר ממנו מתבצע החיוג (ועל שמו מתבצע החיוב של השיחה) מזוהה מתוך נתוני הקו הפיזי ממנו נוצרה השיחה. ברשת הסלולרית הזיהוי נעשה בהתאם ל-SIM שנמצא בתוך המכשיר ממנו מבוצע החיוג. את כרטיס ה-SIM ניתן להעביר ממכשיר למכשיר ולהישאר מזוהה כאותו משתמש ברשת. כרטיסי ה-SIM הראשונים יוצרו ב-1991. במהלך השנים נוצרו שימושים נוספים ליכולות הזיכרון, העיבוד וההצפנה שקיימים ב-SIM. כרטיס ה-SIM מחובר לטרמינל (הטרמינל הוא בדרך כלל מכשיר טלפון סלולרי) בעזרת החיבורים המתוארים בהמשך. הטרמינל מספק את האנרגיה והמידע הדרושים להפעלת ה-SIM. כרטיס ה-SIM מכיל: CPU - סוג המערכת ויכולתה תלוי ביצרן ה-SIM מערכת הפעלה - יש שתי אפשרויות עקרוניות: מערכת Java סטנדרטית או מערכת ייחודית של יצרן ה-SIM. בכל מקרה כרטיס ה-SIM צריך לענות ולהגיב לפקודות ובקשות של הטרמינל בהתאם לתקינה (3gpp) אזור זיכרון - מרחב הזיכרון בנוי בצורה דומה לתיקיות קבצים בדיסק של מחשב. מתחת לתיקיית הבסיס (ROOT) ישנה תיקייה בשם EFMF1 המכילה את אותם נתוני בסיס שהכרטיס חייב להכיל בשביל לאפשר פעולה ברשת סלולרית. בנוסף, אפשר להוסיף תיקיות שמחזיקות לדוגמה את מספרי הטלפון לחיוג מהיר, הודעות ה-SMS שהתקבלו ונשלחו ועוד. כרטיסי SIM הם סוג של כרטיס חכם. המפרטים הטכניים של כרטיסי ה-SIM מנוהלים במספר גופי תקינה כמו 3GPP ו-ETSI. כרטיס SIM בדרך כלל מגיע בגודל סטנדרטי של כרטיס אשראי (לפי תקן של ISO/IEC 7816-1,2). בהתאם לתקן ישנם 4 גדלים של כרטיסי SIM (כל כרטיסי ה-SIM, להוציא "נאנו" שקצת דק יותר, הם בעובי של כרטיס אשראי בהתאם לתקן שלמעלה): כרטיס בגודל מלא (בדרך כלל אינו בשימוש ID-1 UICC) – (בגודל של כרטיסי אשראי),85.6 מ"מ × 53.98 מ"מ × 0.76 מ"מ כרטיס בגודל "מיני" (Plug-In UICC) נמצא בשימוש במכשירים יותר ישנים – בגודל של 25 מ"מ × 15 מ"מ × 0.76 מ"מ כרטיס בגודל "מיקרו" (Mini UICC) נמצא בשימוש במכשירים חדשים יותר – בגודל של 12 מ"מ × 15 מ"מ × 0.76 מ"מ כרטיס בגודל "נאנו" נמצא בשימוש ברוב המכשירים החדשים – בגודל של 12.3 מ"מ × 8.8 מ"מ × 0.67 מ"מ על מנת לאפשר תאימות בין הגדלים, הכרטיסים מיוצרים בגודל המלא, עם חריצים בתוך הפלסטיק - כך שניתן להוציא את הכרטיס הקטן יותר (מיני או מיקרו) מתוך הכרטיס הגדול. לכל סוגי הגדלים של כרטיסי ה-SIM יש 8 מגעים חשמליים מסודרים בשתי שורות של 4 מגעים כל אחת. מגעים אלו נראים בצבע מוזהב והקווים שמפרידים ביניהם מגיעים בכמה סוגי גאומטריות, תלוי ביצרן. מגעים אלו ממוספרים כ-C1 עד C8. C1 הוא חיבור המתח החיובי Vcc C2 הוא חיבור הוראת אתחול Reset C3 הוא חיבור לאות שעון Clk (בקצב 1–5 מה"צ) C4 אינו בשימוש במערכות סטנדרטיות C5 הוא חיבור לאדמה Gnd C6 הוא חיבור למתח צריבת הזיכרון חיבור זה אינו בשימוש היום ובזמן הפעלה הוא צריך להיות מנותק או מחובר ל-Vcc C7 הוא חיבור כניסה ויציאה של המידע I/O C8 אינו בשימוש במערכות סטנדרטיות יש שלוש קטגוריות של מתח הפעלה (Vcc) ל-SIM: Class A – מתח של 5 וולט Class B – מתח של 3 וולט Class C – מתח של 1.8 וולט בכל הקטגוריות 1 לוגי יחשב למתח שמעל ל-70% ממתח ה-Vcc. בכל הקטגוריות 0 לוגי יחשב למתח שמתחת ל-10% ממתח ה-Vcc. לדוגמה, ב-Class A מתח של 3.5 וולט ומעלה ייחשב כ-1 לוגי, ומתח של 0.5 וולט ומטה ייחשב כ-0 לוגי. כדי להקשות על ניסיונות לזייף כרטיסי SIM "ולגנוב שיחות" (התחזות ללקוח אחר ושימוש בקו הטלפון על חשבונו) הוגדרה טכנולוגיה של ה-SIM בצורה פתוחה סדורה ותקנית. טכנולוגיה זו פותרת את הבעיה בעזרת מערכות הצפנה תקניות ומספר מפתחות הצפנה שנמצאים ב-SIM. בין אלה נמצא גם את מפתח IMSI המשמש לזיהוי המנוי בטלפון סלולרי או במחשב בעל יכולת חיבור למערכת טלפוניה. ה-SIM מיוצר עבור מפעיל הרשת עם שני מפתחות חשובים: מפתח IMSI שהוא מפתח גלוי חד ערכי (אין שני SIM בעולם עם אותו IMSI) מפתח Ki מפתח אקראי סודי ערך מורחב – IMSI זהו מספר סידורי חד ערכי שמנוהל בהתאם לתקן. לפעמים, המספר מוגן על ידי PIN, שנסגר בין הטרמינל ל-SIM. אבל בעיקרון זהו מפתח גלוי. מספר IMEI משמש ברשת GSM לזיהוי התקנים חוקיים, ויכול לשמש לחסימת טלפון שנגנב מגישה לרשת. לדוגמה, אם מכשיר טלפון נגנב, הבעלים של המכשיר יכול להתקשר לספקית הרשת שלו ולבקש מהם לחסום את המכשיר באמצעות מספר ה-IMEI שלו. החסימה הופכת את המכשיר לחסר תועלת ברשת הזו וברשתות אחרות. מספר ה-IMEI משמש לזיהוי המכשיר בלבד ואין לו קשר למנוי או לבעלים של המכשיר. בשונה מזאת, המנוי מזוהה על ידי מספר IMSI, שמאוחסן בכרטיס ה-SIM שיכול לעבור לכל מכשיר. כלומר, לכל מנוי בספקית הרשת יש מספר IMSI משלו, בדומה לכך שלכל מכשיר יש את מספר IMEI משלו. עם זאת, תכונות רשת ואבטחה רבות מפעילות את המכשיר הנוכחי בשימוש על ידי מנוי. זהו מספר אקראי בגודל 128 סיביות. זהו מפתח סודי שמועבר לתוך כרטיס ה-SIM תוך כדי תהליך היצור. (בעיקרון אין דרך להוציא את המפתח אך לאחרונה ניתן לבצע זאת דרך פרצות אבטחה שהתגלו במערכת) הטלפון מבקש מה-SIM את מספר ה-IMSI ומעביר את המספר לרשת בצורה לא מוצפנת. לפי ה-IMSI, הרשת מזהה את המפעיל שסיפק את ה-SIM (החברה שמספקת את השרות הסלולרי ללקוח, במקרה של Roam או של מפעיל סלולרי וירטואלי אינה בהכרח מפעילת הרשת) ומעבירה את ה IMSI למרכז הזיהוי של המפעיל שסיפק את ה-SIM. מרכז הזיהוי מבצע 3 פעולות: מוציא מבסיס נתונים מאובטח את מפתח ה-Ki התואם למפתח ה-IMSI שהועבר אליו. מייצר מספר אקראי שנקרא RAND ומועבר ל-SIM דרך הטלפון. מפעיל אלגוריתם הצפנה שנקרא A3 על ה-RAND עם ה-Ki ביחד. ה-A3 מיצר מספר שנקרא SRES ומרכז הבקרה שומר מספר זה להמשך תהליך האימות. ה-SIM שקיבל את ה-RAND מהרשת מעביר אותו יחד עם מפתח ה-Ki הסודי שנמצא אצלו לאלגוריתם A3 שמופעל על ידי ה-CPU הפנימי ב-SIM. גם ב-SIM מתקבל SRES. ה-SRES מועבר מה-SIM לרשת דרך הטלפון. למרכז האימות ברשת יש עכשיו שני מספרי SRES. אחד הוא חישב בעצמו ואחד הועבר לו מכרטיס ה-SIM. אם הם זהים אז ה-SIM אומת ונמצא תקין. בתהליך זהה לתהליך אימות ה-SIM שתואר למעלה, מעבירים את אותם מפתחות (RAND ו-Ki) לאלגוריתם אחר, שנקרא A8. אלגוריתם זה מוציא מספר אחר שנקרא Kc. מפתח Kc הוא מפתח שבעזרתו מצפינים את השיחה עצמה על ידי אלגוריתם הצפנה שנקרא A5 גם הרשת וגם הטלפון מצפינים ומפענחים את הדיבור ביניהם באלגוריתם A5 עם מפתח Kc. מאחר שמרכז ההצפנה מעביר את מפתח Kc לרשת, הרשת יכולה לפענח ולהצפין את השיחה. השיחה שמועברת בגלי רדיו, שניתנים לקליטה על ידי כולם. אבל רק הרשת והמכשיר עם ה-SIM הנכון יכולים להבין את השיחה. כרטיס חיוג כרטיס חכם סמארטפון מדיה וקבצים בנושא SIM בוויקישיתוף כרטיסי סים מסוג "נאנו" הופיעו לראשונה בספטמבר 2012 עם השקת אייפון 5 ובשימוש נרחב יותר באפריל 2015 עם השקת סמסונג גלקסי 6