נתוני DER בינאריים (.der)
ITU-T תקןכללי הקידוד המובחנים (DER - Distinguished Encoding Rules) הם תקן הקידוד הבינארי הקפדני והקאנוני עבור מבני נתונים מסוג ASN.1, המספק ייצוג מדויק וחד-משמעי ברמת הסיביות של אישורי אבטחה ומפתחות קריפטוגרפיים.
המר DER ל-PEM
ממיר חינמי מ-DER ל-PEM פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי DER על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי DER על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
אין חתימה אוניברסלית (קידוד ASN.1 DER)ייצוג ASCII: אין חתימה קבועה
תקינה: ITU-T Recommendation X.690
מפרט טכני
| מבנה המכולה | קידוד בינארי קנוני וקפדני של מבני ASN.1 באמצעות שלשות Tag-Length-Value (TLV) |
| דחיסה | נתונים בינאריים לא דחוסים |
| סדר בתים (Endianness) | קידוד ASN.1 בסדר Big-Endian |
| מרחבי צבע | לא רלוונטי (זרם בינארי קריפטוגרפי) |
| ערוצים ומבנה | מפתחות קריפטוגרפיים, תעודות X.509, רשימות ביטול תעודות (CRL) ומבני PKCS |
| ממדים מרביים | אורך ASN.1 ללא מגבלה קבועה |
| שקיפות | מבנה נתונים בינארי של ASN.1 |
| הזרמה ופרוגרסיביות | פענוח קנוני ודטרמיניסטי במעבר יחיד |
מטריצת השוואה טכנית: DER מול מתחרים
| תכונה טכנית | DER (נוכחי) | PEM | CRT | P12 |
|---|---|---|---|---|
| ייצוג נתונים | קידוד ASN.1 בינארי קפדני | טקסט ממוגן Base64 ASCII | Base64 PEM או DER בינארי | ארכיון PKCS #12 בינארי מוצפן |
| גיבוב דטרמיניסטי (Hashing) | זרם סיביות קאנוני ב-100% | תלוי ברווחים לבנים/כותרות | תלוי בעיצוב | מוצפן עם מלח (salt)/וקטור אתחול (IV) |
| גודל קובץ | הקטן ביותר (כ-33% קטן יותר מ-PEM) | גדול יותר עקב Base64 (+33%) | גדול יותר עקב Base64 (+33%) | גדול יותר עקב מעטפות הצפנה |
| תמיכה בג'אווה וחומרה | תקן מולד (Native) | דורש המרה בג'אווה | דורש המרה בג'אווה | נתמך כמחסן מפתחות |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
שגיאת OpenSSL: 'asn1 encoding routines:ASN1_get_object:header too long'.
גורם שורש: תג (Tag-Length-Value - TLV) מושחת בכותרת רצף ה-ASN.1.
שחזור: בצע המרה מחדש באמצעות כלי האישורים של File2File.app כדי לשחזר בתים קאנוניים חוקיים של DER.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
מפענחי DER מנתחים תיאורי אורך שבהם גלישת חסר או גלישת יתר של מספרים שלמים עלולה להפעיל גלישות חוצץ בספריות קריפטוגרפיה מקוריות.
ווקטורי תקיפה ידועים
- גלישת מספר שלם (Integer overflow) במהלך פענוח אורך בלתי מוגדר של ASN.1 מקונן עמוקות.
- קריאה מחוץ לגבולות (Out-of-bounds read) בעת ניתוח מחרוזות סיביות פגומות.
- מניעת שירות (DoS) באמצעות פצצות רקורסיה מקוננות של ASN.1.
שיטות מומלצות להגנה: השתמש במנתחי ASN.1 בטוחים לזיכרון עם אכיפת מגבלות עומק רקורסיה מרביות.
היסטוריה ואבני דרך
יתרונות מרכזיים
- קאנוני ודטרמיניסטי: מבטיח שנתונים זהים תמיד יפיקו בדיוק את אותו ה-hash הבינארי, דבר חיוני לחתימות דיגיטליות.
- קומפקטי יותר מ-PEM: חוסך כ-33% מנפח הנתונים על ידי השמטת קידוד Base64 וכותרות טקסטואליות.
- פורמט מקורי עבור מודולי אבטחת חומרה (HSM), כרטיסים חכמים ומחסני מפתחות של ג'אווה (Keystores).
מגבלות טכניות וחסרונות
- פורמט בינארי שלא ניתן לצפות בו, לערוך אותו או להעתיק-להדביק אותו בעורכי טקסט.
- פחות נפוץ בסביבות אחסון אתרים, המעדיפות באופן גורף קבצי PEM/CRT מבוססי טקסט.
- כללי קידוד קפדניים פירושם שכל סטיית ריפוד קטנה גורמת לדחיית הניתוח (parsing).
עובדות טכניות מעניינות
- DER הוא תת-קבוצה קפדנית של BER (כללי קידוד בסיסיים); בעוד ש-BER מאפשר מספר דרכים חוקיות לקודד ערך, DER מתיר דרך קאנונית אחת ויחידה.
- אם תקודד קובץ DER ב-Base64 ותעטוף אותו ב-'-----BEGIN CERTIFICATE-----', תקבל קובץ PEM סטנדרטי.
- אובייקט ה-KeyFactory של ג'אווה דורש שמפתחות ציבוריים ופרטיים מסוג RSA יסופקו בפורמט DER גולמי.
שאלות טכניות נפוצות
מה ההבדל בין DER ל-PEM?
DER הוא הפורמט הבינארי הגולמי של אישור או מפתח. PEM הוא פשוט אותו קובץ DER שהומר לטקסט Base64 קריא עם כותרות '-----BEGIN...-----'.
איך אני יכול להמיר DER ל-PEM?
העלה את קובץ ה-.der שלך ל-File2File.app כדי להמיר אותו לאישור טקסט תקני מסוג .pem בשנייה אחת ישירות בדפדפן שלך.
למה Java משתמשת במפתחות DER?
ארכיטקטורת ההצפנה של Java (JCA) משתמשת במערכי בתים מסוג PKCS#8 ו-X.509 המקודדים ב-DER עבור מפרטי המפתחות המקוריים שלה.