باینری DER (.der)
ITU-T استانداردقوانین رمزگذاری متمایز (DER) استاندارد رمزگذاری باینری دقیق و متعارف برای ساختارهای داده ASN.1 است که بازنمایی دقیق بیتها و بدون ابهام از گواهیهای امنیتی و کلیدهای رمزنگاری را فراهم میکند.
تبدیل DER به PEM
مبدل رایگان DER به PEM درون مرورگر. فایلها را فورا روی دستگاه خود تبدیل کنید.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای DER را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (Magic Bytes)
سیستمعاملها و تحلیلگرهای فایل، فایلهای DER را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای HEX (آفست 0):
30 82نمایش ASCII: 0\x82
استانداردسازی: ITU-T Recommendation X.690
مشخصات فنی
| معماری کانتینر | Strict canonical binary encoding of ASN.1 structures using Tag-Length-Value (TLV) triples |
| فشردهسازی | Uncompressed binary data |
| ترتیب بایتها (Endianness) | Big-Endian ASN.1 encoding |
| فضاهای رنگی | N/A (Cryptographic Binary Stream) |
| کانالها و ساختار | Cryptographic keys, X.509 certificates, CRLs, and PKCS structures |
| حداکثر ابعاد | Unbounded ASN.1 length |
| شفافیت مشخصات | Binary ASN.1 data structure |
| استریمینگ و پیشرونده | Deterministic single-pass canonical decoding |
ماتریس مقایسه فنی: DER در برابر رقبا
| ویژگی فنی | DER (فعلی) | PEM | CRT | P12 |
|---|---|---|---|---|
| بازنمایی دادهها | رمزگذاری باینری دقیق ASN.1 | متن زرهپوش Base64 ASCII | PEM بیس۶۴ یا DER باینری | آرشیو باینری رمزگذاری شده PKCS #12 |
| هش کردن قطعی | بیتاستریم ۱۰۰٪ متعارف | بسته به فاصلههای خالی/بنرها | بسته به فرمتبندی | رمزگذاری شده با نمک (Salt)/IV |
| اندازه فایل | کوچکترین (حدود ۳۳٪ کوچکتر از PEM) | بزرگتر به دلیل Base64 (۳۳٪+) | بزرگتر به دلیل Base64 (۳۳٪+) | بزرگتر به دلیل بستهبندیهای رمزگذاری |
| پشتیبانی از جاوا و سختافزار | استاندارد بومی | نیاز به تبدیل در جاوا دارد | نیاز به تبدیل در جاوا دارد | به عنوان کئواستور پشتیبانی میشود |
حالتهای رایج خرابی و راهنمای بازیابی هگز
خطای OpenSSL: 'asn1 encoding routines:ASN1_get_object:header too long'.
علت ریشهای: بایت Tag-Length-Value (TLV) خراب شده در هدر دنباله ASN.1.
بازیابی: با استفاده از ابزار گواهی File2File برای بازسازی بایتهای متعارف معتبر DER، ترانسکد کنید.
تحلیل امنیتی و بردارهای حمله تجزیهکننده (Parser)
رمزگشاهای DER توصیفگرهای طول را تجزیه میکنند که در آن سرریز/کمریزی عدد صحیح میتواند باعث سرریز بافر در کتابخانههای رمزنگاری بومی شود.
بردارهای حمله شناختهشده
- سرریز عدد صحیح در طول رمزگشایی طول نامشخص ASN.1 با تو در تویی عمیق.
- خواندن خارج از محدوده هنگام تجزیه رشتههای بیتی بدشکل.
- حمله محرومیت از سرویس (DoS) از طریق بمبهای بازگشتی تو در توی ASN.1.
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- تعریفی و قطعی: تضمین میکند که دادههای یکسان همیشه دقیقاً همان هش باینری را تولید میکنند که برای امشاهای دیجیتال ضروری است.
- فشردهتر از PEM: با حذف رمزگذاری Base64 و بنرهای ASCII، حدود ۳۳٪ در سربار صرفهجویی میکند.
- فرمت بومی برای ماژولهای امنیت سختافزاری (HSM)، کارتهای هوشمند و کئواستورهای جاوا.
محدودیتها و معایب فنی
- فرمت باینری را نمیتوان در ویرایشگرهای متنی مشاهده، ویرایش یا کپی-پست کرد.
- در محیطهای میزبانی وب کمتر رایج است، زیرا آنها به شدت فایلهای PEM/CRT مبتنی بر متن را ترجیح میدهند.
- قوانین رمزگذاری دقیق به این معنی است که هرگونه مغایرت جزئی در پدینگ باعث رد شدن تجزیه (parsing) میشود.
نکات فنی جالب
- DER یک زیرمجموعه دقیق از BER (قوانین رمزگذاری پایه) است؛ در حالی که BER چندین روش معتبر برای رمزگذاری یک مقدار را مجاز میداند، DER دقیقاً یک روش متعارف را مجاز میداند.
- اگر یک فایل DER را Base64-encode کنید و آن را در '-----BEGIN CERTIFICATE-----' قرار دهید، یک فایل استاندارد PEM دریافت میکنید.
- KeyFactory جاوا مستلزم آن است که کلیدهای عمومی و خصوصی RSA در فرمت خام DER ارائه شوند.
سوالات فنی متداول
تفاوت بین DER و PEM چیست؟
DER فرمت باینری خام یک گواهی یا کلید است. PEM به سادگی همان فایل DER است که با بنرهای '-----BEGIN...-----' به متن خوانای Base64 تبدیل شده است.
چگونه میتوانم DER را به PEM تبدیل کنم؟
فایل .der خود را در File2File.app آپلود کنید تا مستقیماً در مرورگر خود آن را در یک ثانیه به یک گواهی متنی استاندارد .pem تبدیل کنید.
چرا جاوا از کلیدهای DER استفاده میکند؟
معماری رمزنگاری جاوا (JCA) برای مشخصات کلید بومی خود از آرایههای بایت PKCS#8 و X.509 با کدگذاری DER استفاده میکند.