Dipublikasikan: 11 Desember 2025
Terakhir diperbarui: 11 Desember 2025
Dipublikasikan: 11 Desember 2025
Terakhir diperbarui: 11 Desember 2025
Raymond Kelvin Nando — ASN.1 DER merupakan salah satu aturan encoding paling ketat dan deterministik dalam keluarga ASN.1 yang dirancang untuk memastikan setiap struktur data hanya memiliki satu representasi biner yang valid. Tidak seperti BER yang fleksibel atau CER yang menggunakan indefinite length, DER mengharuskan struktur yang terdefinisi dengan jelas sehingga sangat ideal untuk tanda tangan digital, sertifikat X.509, serta berbagai protokol keamanan modern. DER menjadi fondasi interoperabilitas karena menghasilkan output yang selalu konsisten di setiap sistem.
Daftar Isi
ASN.1 DER (Distinguished Encoding Rules) adalah aturan encoding berbasis TLV (Tag–Length–Value) yang memastikan representasi data ASN.1 selalu tunggal, deterministik, dan bebas variasi. DER menurunkan aturan dasar BER, tetapi menghilangkan fleksibilitasnya demi menghasilkan konsistensi absolut. Setiap elemen ASN.1 dalam DER wajib mengikuti aturan-aturan ketat:
Dengan sifat deterministik tersebut, DER menjadi standar de facto untuk objek yang akan diverifikasi oleh algoritma kriptografi karena setiap variasi sekecil apa pun dapat menyebabkan tanda tangan menjadi tidak valid.
DER dikembangkan pada akhir 1980-an hingga awal 1990-an oleh ITU-T dan ISO sebagai respons terhadap kelemahan BER yang terlalu longgar. Pada masa awal telekomunikasi digital, BER menjadi standar universal, namun fleksibilitasnya menyebabkan banyak sistem memproduksi output berbeda untuk data sama. Hal ini menjadi masalah besar dalam kriptografi, tanda tangan digital, sertifikat, dan protokol jaringan.
Untuk mengatasi masalah itu, dua turunan kanonik diperkenalkan:
DER segera menjadi inti dari banyak standar keamanan: PKCS#1, PKCS#7, PKCS#12, X.509, TLS, S/MIME, dan berbagai format kunci seperti RSA dan EC Private Key. Hingga kini DER tetap menjadi encoding paling penting dalam seluruh ekosistem kriptografi modern.
ASN.1 DER mengikuti format TLV dengan seperangkat aturan kanonik yang ketat.
Tag berisi informasi class (universal/application/context/private), type (primitive atau constructed), serta tag number. DER mewajibkan representasi minimum tanpa byte tambahan.
Contoh tag universal umum:
Aturan panjang DER:
Contoh:
Panjang 127 → 7F
Panjang 130 → 81 82
Nilai mengikuti spesifikasi tipe ASN.1.
Salah satu aturan paling penting: elemen-elemen SET harus diurutkan berdasarkan hasil encoding DER mereka dalam bentuk leksikografis (byte-by-byte), bukan berdasarkan nama field. Aturan inilah yang sering menyebabkan error parsing pada implementasi yang salah.
Berbeda dari CER dan BER, DER sepenuhnya melarang penggunaan indefinite length. Semua struktur harus mengetahui total panjangnya sebelum encoding.
Setiap variasi encoding yang diperbolehkan BER tetapi tidak ketat harus dibuang. DER hanya menerima satu kemungkinan encoding untuk data tertentu.
Tag: 02
Length: 01
Value: 05
Output:
02 01 05
Bilangan 300 dalam hex → 01 2C
Representasi DER:
02 02 01 2C
Output:
02 02 01 2C
SEQUENCE length: total 3+3 = 6
SEQUENCE tag: 30
Length: 06
INTEGER 5 → 02 01 05
BOOLEAN TRUE → 01 01 FF
Output:
30 06 02 01 05 01 01 FF
OID encoding DER:
06 06 2A 86 48 86 F7 0D
Makna:
1*40 + 2 = 2A
840 → 86 48
113549 → 86 F7 0D
BIT STRING dengan 3 byte data: A1 B2 C3
Jumlah unused bits = 0
03 04 00 A1 B2 C3
Kelebihan:
Kekurangan: