DER İkilisi (.der)
ITU-T StandartAyırt Edici Kodlama Kuralları (DER), ASN.1 veri yapıları için katı ve kanonik bir ikili kodlama standardıdır. Güvenlik sertifikalarını ve kriptografik anahtarları bit düzeyinde, belirsizliğe yer bırakmadan temsil eder.
DER biçimini PEM biçimine dönüştür
Tarayıcında DER biçimini PEM biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.
İncele ve Meta Veriler
İşletim sistemleri ve dosya çözümleyicileri, DER dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:
Bayt düzeyinde başlık imzası (sihirli baytlar)
İşletim sistemleri ve dosya çözümleyicileri, DER dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:
HEX İMZASI (OFSET 0):
Sabit imza yokASCII GÖSTERİMİ: Sabit imza yok
Standartlaştırma: ITU-T Recommendation X.690
Teknik Özellikler
| Kapsayıcı mimarisi | Etiket-Uzunluk-Değer (TLV) üçlüleri kullanan ASN.1 yapılarının katı kanonik ikili kodlaması |
| Sıkıştırma | Sıkıştırılmamış ikili veri |
| Bayt Düzeni (Endianness) | Big-Endian ASN.1 encoding |
| Renk Uzayları | N/A (Cryptographic Binary Stream) |
| Kanallar ve Yapı | Kriptografik anahtarlar, X.509 sertifikaları, CRL’ler ve PKCS yapıları |
| Maksimum Boyutlar | Unbounded ASN.1 length |
| Şeffaflık | İkili ASN.1 veri yapısı |
| Akış ve Aşamalı İşleme | Belirlenimci, tek geçişli kanonik çözme |
Teknik karşılaştırma matrisi: DER ve rakipleri
| Teknik Nitelik | DER (Güncel) | PEM | CRT | P12 |
|---|---|---|---|---|
| Veri Temsili | Katı ikili ASN.1 kodlaması | Base64 kodlamalı ASCII metin | Base64 PEM veya ikili DER | Şifrelenmiş ikili PKCS #12 arşivi |
| Deterministik Özetleme | %100 kanonik bit akışı | Boşluklara/başlıklara bağlıdır | Biçimlendirmeye bağlıdır | Salt/IV ile şifrelenmiştir |
| Dosya Boyutu | En küçük (PEM'den ~%33 daha küçük) | Base64 nedeniyle daha büyük (+%33) | Base64 nedeniyle daha büyük (+%33) | Şifreleme sarmalayıcıları nedeniyle daha büyük |
| Java ve Donanım Desteği | Yerleşik standart | Java'da dönüştürme gerektirir | Java'da dönüştürme gerektirir | Anahtar deposu biçiminde desteklenir |
Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu
OpenSSL hatası: 'asn1 encoding routines:ASN1_get_object:header too long'.
Kök Neden: ASN.1 dizi başlığındaki bozuk Etiket-Uzunluk-Değer (TLV) baytı.
Kurtarma: Geçerli DER kanonik baytlarını yeniden oluşturmak için File2File.app Sertifika Aracı ile dönüştür.
Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri
DER kod çözücüleri uzunluk tanımlayıcılarını ayrıştırır; bunlardaki tamsayı alt/üst taşmaları yerel kriptografi kitaplıklarında arabellek taşmalarını tetikleyebilir.
Bilinen Saldırı Vektörleri
- Derinlemesine iç içe geçmiş ASN.1 belirsiz uzunlukta kod çözme sırasında tamsayı taşması.
- Kötü biçimlendirilmiş bit dizgileri ayrıştırılırken sınır dışı okuma.
- İç içe geçmiş ASN.1 özyineleme bombaları yoluyla hizmet reddi (DoS).
Savunmaya yönelik en iyi uygulamalar: Özyineleme derinliğine üst sınır uygulayan, bellek açısından güvenli ASN.1 ayrıştırıcıları kullan.
Tarihsel kökenler ve önemli dönüm noktaları
Temel Avantajlar ve Artılar
- Kanonik ve deterministiktir: Özdeş veriler her zaman aynı ikili özeti üretir; bu, dijital imzalar için gereklidir.
- PEM'den daha kompakttır: Base64 kodlamasını ve ASCII başlıklarını kullanmadığı için ek yükü yaklaşık %33 azaltır.
- Donanım güvenlik modülleri (HSM), akıllı kartlar ve Java anahtar depoları için yerleşik biçim.
Teknik Kısıtlamalar ve Eksiler
- İkili format, metin düzenleyicilerde görüntülenemez, düzenlenemez veya kopyalanıp yapıştırılamaz.
- Metin tabanlı PEM/CRT dosyalarının büyük ölçüde tercih edildiği web barındırma ortamlarında DER daha az yaygındır.
- Katı kodlama kuralları, herhangi bir küçük dolgu tutarsızlığının ayrıştırmanın reddedilmesine neden olur.
İlginç Teknik Bilgiler
- DER, BER'in (Temel Kodlama Kuralları) katı bir alt kümesidir; BER bir değeri birden fazla geçerli biçimde kodlayabilirken DER tek bir kanonik kodlama biçimine izin verir.
- Bir DER dosyasını Base64 ile kodlayıp '-----BEGIN CERTIFICATE-----' başlığıyla sararsan standart bir PEM dosyası elde edersin.
- Java'nın KeyFactory'si, RSA genel ve özel anahtarlarının ham DER formatında sağlanmasını gerektirir.
Sıkça Sorulan Teknik Sorular
DER ve PEM arasındaki fark nedir?
DER, bir sertifikanın veya anahtarın ham ikili (binary) formatıdır. PEM ise aynı DER dosyasının '-----BEGIN...-----' başlıkları içeren okunabilir Base64 metnine dönüştürülmüş halidir.
DER'i PEM'e nasıl dönüştürebilirim?
Standart bir .pem metin sertifikası oluşturmak için .der dosyanı File2File.app'e yükle; dönüşüm tarayıcında doğrudan bir saniyede tamamlanır.
Java neden DER anahtarları kullanır?
Java Kriptografi Mimarisi (JCA), yerel anahtar belirtimleri için DER kodlu PKCS#8 ve X.509 bayt dizilerini kullanır.