DER İkilisi (.der)

ITU-T Standart

Ayı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:

Dosyaları buraya seç veya bırak

Özel - dosyalar cihazınızdan asla ayrılmaz

veya yapıştır Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcındaki korumalı alanda (sandbox) yerel olarak gerçekleştirildi.

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 yok

ASCII GÖSTERİMİ: Sabit imza yok

Standartlaştırma: ITU-T Recommendation X.690

Teknik Özellikler

Kapsayıcı mimarisiEtiket-Uzunluk-Değer (TLV) üçlüleri kullanan ASN.1 yapılarının katı kanonik ikili kodlaması
SıkıştırmaSı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 BoyutlarUnbounded ASN.1 length
Şeffaflıkİkili ASN.1 veri yapısı
Akış ve Aşamalı İşlemeBelirlenimci, tek geçişli kanonik çözme

Teknik karşılaştırma matrisi: DER ve rakipleri

Teknik NitelikDER (Güncel)PEMCRTP12
Veri TemsiliKatı ikili ASN.1 kodlamasıBase64 kodlamalı ASCII metinBase64 PEM veya ikili DERŞifrelenmiş ikili PKCS #12 arşivi
Deterministik Özetleme%100 kanonik bit akışıBoşluklara/başlıklara bağlıdırBiçimlendirmeye bağlıdırSalt/IV ile şifrelenmiştir
Dosya BoyutuEn 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ğiYerleşik standartJava'da dönüştürme gerektirirJava'da dönüştürme gerektirirAnahtar 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ı

2021ITU-T X.690 revizyonu, modern donanım belirteçlerinde ASN.1 DER spesifikasyonlarını kararlı hale getirir.
1997İkili anahtar kodlaması (X509EncodedKeySpec) için Java Kriptografi Mimarisi (JCA) tarafından benimsenmiştir.
1988Temel Kodlama Kuralları'nın (BER) katı bir alt kümesi olarak CCITT / ITU-T X.690 Tavsiyesi altında standartlaştırılmıştır.

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.