דלג לתוכן

יוצר מפתחות API אקראיים - מפתחות 32 תווים בטוחים בחינם

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

יוצר מפתח API

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

תיעוד

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

מהו מפתח API?

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

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

כיצד המחולל פועל

הכלי בונה כל מפתח מתוך קבוצה קבועה של 62 תווים: 26 האותיות הגדולות A–Z, 26 האותיות הקטנות a–z ו־10 הספרות 0–9. עבור מפתח באורך n, הוא בוחר n תווים מהקבוצה, אחד בכל פעם.

כל תו מגיע מ־Web Crypto API של הדפדפן, ובפרט מ־crypto.getRandomValues(). זהו מחולל מספרים אקראיים מאובטח מבחינה קריפטוגרפית (CSPRNG), בניגוד ל־Math.random() של JavaScript, שהוא צפוי ואינו מתאים לערכים הרגישים לאבטחה.

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

כיצד ליצור מפתח API

  1. הזינו אורך מפתח בין 8 ל־128 תווים, או השאירו את ברירת המחדל 32. מספר מחוץ לטווח מסומן, ובמקומו נעשה שימוש באורך המותר הקרוב ביותר.
  2. לחצו על "Generate". המפתח מופיע בתיבת טקסט שנבנית כולה בדפדפן. לחיצה על התיבה מסמנת את המפתח כולו.
  3. לחצו על "Copy" כדי להעתיק את המפתח ללוח. בדפדפנים מסוימים נדרשת הרשאה בפעם הראשונה.
  4. לחצו על "Regenerate" כדי ליצור מפתח חדש באותו אורך, או על "Reset" כדי למחוק את המפתח ולחזור לאורך ברירת המחדל 32.

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

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

כיצד לחשב את מספר המפתחות האפשריים

מספר המפתחות השונים שניתן ליצור באורך נתון מציית לנוסחה פשוטה:

N=cnN = c^{n}

כאשר N הוא מספר המפתחות האפשריים, c הוא גודל קבוצת התווים ו־n הוא אורך המפתח.

גודל קבוצת התווים הוא תמיד 62 בכלי זה. עבור אורך ברירת המחדל 32:

N = 62³² ≈ 2.27 × 10⁵⁷

מספר זה מבוטא גם כאנטרופיה, הנמדדת בביטים, באמצעות הנוסחה:

H=n×log⁡2cH = n \times \log_{2} c

כאשר H היא האנטרופיה בביטים.

עבור מפתח באורך 32 תווים: 32 × log₂(62) ≈ 32 × 5.95 ≈ 190.5 ביטים.

דוגמה מחושבת: הזמן הנדרש לנסות כל מפתח

נניח שתוקף יכול לבדוק מיליארד (10⁹) מפתחות בכל שנייה — קצב מהיר באופן לא מציאותי לכל מערכת אמיתית. ניסיון של כל מפתח אפשרי באורך 32 תווים יימשך:

2.27 × 10⁵⁷ ÷ 10⁹ = 2.27 × 10⁴⁸ שניות ≈ 7.2 × 10⁴⁰ שנים

לשם השוואה, גיל היקום הוא כ־1.4 × 10¹⁰ שנים. חיפוש בכוח גס של כל מפתח אפשרי אינו מהווה איום מעשי באורך כזה. מפתחות קצרים יותר מצמצמים את המספר במהירות: למפתח באורך 8 תווים יש רק 62⁸ ≈ 2.18 × 10¹⁴ ערכים אפשריים, שמחשב מהיר יכול לחפש בתוך ימים ספורים.

מדוע יישומים משתמשים במפתחות API

מפתחות API מספקים לשירות דרך פשוטה לזהות איזה יישום שולח בקשה. לכך יש כמה סיבות.

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

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

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

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

נוהלי אבטחה למפתחות API

כמה נהלים מפחיתים את הסיכון לדליפת מפתח:

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

מגבלות

כלי זה אינו שומר תיעוד של המפתחות שיצר, ולכן אינו יכול להבטיח שמפתח מסוים לא נוצר בעבר. הסיכוי ששני מפתחות אקראיים באורך 32 תווים יהיו זהים הוא בערך 1 מתוך (2.5 cm) 2.27 × 10⁵⁷, כלומר קרוב מספיק לאפס לשימוש רגיל; אך מערכות הזקוקות להבטחה מוחלטת של ייחודיות, כגון מפתחות ראשיים במסדי נתונים, צריכות לבדוק ערכים חדשים מול ערכים קיימים בשרת.

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

שאלות נפוצות

מהו מחולל מפתחות API?

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

האם מפתח מהכלי הזה מאובטח מספיק לשימוש בסביבת ייצור?

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

באיזה אורך כדאי לבחור?

ברירת המחדל של 32 תווים מספקת כ־2.27 × 10⁵⁷ צירופים אפשריים, הרבה מעבר למה שניסיון כוח גס מציאותי יכול לחפש. מפתחות קצרים יותר, כגון מפתחות באורך 16 תווים, עשויים להתאים לכלים פנימיים בעלי סיכון נמוך. מפתחות ארוכים מאוד מוסיפים מעט הגנה, אך קשים יותר לאחסון ולהדבקה.

האם ניתן להגדיר אורך מותאם אישית?

כן. שדה האורך מקבל כל מספר שלם מ־8 עד 128. קבוצת התווים עצמה (A–Z, a–z, 0–9) נשארת קבועה.

האם הכלי שומר או מעביר את המפתחות שהוא יוצר?

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

מה ההבדל בין מפתח API לאסימון OAuth?

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

באילו דפדפנים הכלי תומך?

בכל דפדפן שמספק את Web Crypto API, כלומר בכל הגרסאות של Chrome, Firefox, Safari, Edge ו־Opera שפורסמו בעשור האחרון. אם ממשק API זה חסר, הכלי מציג הודעת שגיאה. הוא לעולם אינו חוזר להשתמש ב־Math.random(), שאינו מאובטח.