ASN.1 CER

Dipublikasikan: 11 Desember 2025

Terakhir diperbarui: 11 Desember 2025

Raymond Kelvin Nando — ASN.1 CER merupakan aturan pengkodean deterministik untuk representasi data ASN.1 menggunakan model TLV (Tag–Length–Value). CER (Canonical Encoding Rules) diciptakan untuk menyediakan encoding yang konsisten dan tidak ambigu, sehingga setiap struktur data ASN.1 hanya memiliki satu bentuk representasi yang valid. CER adalah turunan dari BER, tetapi dengan aturan ketat yang menghilangkan fleksibilitas berlebih agar dapat digunakan dalam sistem yang memerlukan konsistensi penuh.

Pengertian ASN.1 CER

ASN.1 CER adalah aturan encoding yang mendefinisikan cara tunggal dan konsisten untuk mewakili struktur ASN.1 dalam bentuk TLV. CER menghilangkan variasi encoding yang diperbolehkan dalam BER—misalnya representasi panjang dan format konstruktif—dengan tujuan menciptakan standar deterministik. CER terutama digunakan untuk data yang terlalu besar untuk DER, atau untuk struktur yang memerlukan indefinite length encoding yang tetap konsisten.

CER memastikan bahwa:

  • Hanya satu encoding valid untuk data tertentu.
  • Indefinite length diperbolehkan, berbeda dengan DER.
  • Karakter string tertentu selalu di-encode dengan metode spesifik, terutama untuk tipe constructed string.
  • Penggunaan beragam gaya encoding BER dibatasi agar tidak ada interpretasi berbeda.

Sejarah Perkembangan ASN.1 CER

CER dikembangkan oleh komite ITU-T dan ISO sebagai bagian dari keluarga ASN.1 encoding rules pada akhir 1980-an hingga 1990-an. Setelah BER dianggap terlalu fleksibel dan rawan kesalahan parsing, muncul kebutuhan akan metode encoding yang lebih presisi. CER dan DER diciptakan sebagai dua solusi:

  • DER (Distinguished Encoding Rules) untuk data kecil, deterministik, sangat ketat.
  • CER (Canonical Encoding Rules) untuk data besar atau konteks yang membutuhkan indefinite length encoding tetapi tetap deterministik.
Orang lain juga membaca :  Base16

CER lebih jarang digunakan dibanding DER, tetapi tetap dipakai dalam beberapa protokol telekomunikasi, sistem kios pemerintah, metadata besar, serta beberapa format sertifikat atau struktur direktori besar.

Prinsip Dasar dan Metode ASN.1 CER

Prinsip CER mengikuti TLV namun dengan aturan kanonik yang sangat ketat. Beberapa prinsipnya:

  1. Tag (T)
    Tag identik dengan aturan ASN.1 umum: class, type (primitive/constructed), dan number. CER tidak mengubah struktur tag, namun mewajibkan penggunaan representasi berukuran minimum.
  2. Length (L)
    CER membatasi bentuk panjang agar deterministik:
  • Untuk sebagian besar tipe data, CER mengharuskan penggunaan long form atau short form minimal.
  • Untuk tipe constructed, CER mewajibkan indefinite length, bukan definite length.
  1. Value (V)
    Nilai didekodekan berdasarkan struktur ASN.1, namun CER memaksa nilai dipecah menjadi bentuk-bentuk konstruktif tertentu terutama pada string panjang.
  2. Indefinite Length Encoding
    CER mengizinkan indefinite length dan wajib dipakai untuk tipe constructed tertentu seperti:
  • OCTET STRING
  • BIT STRING
  • Setiap string konstruktif (misal UTF8String konstruktif)

Penutup value menggunakan EOC (End-of-Content):
00 00

  1. Canonical Form
    CER melarang variasi encoding, sehingga:
  • Tidak boleh ada padding yang tidak diperlukan.
  • Panjang harus representasi minimum.
  • Semua sub-item disusun dalam urutan tertentu untuk determinisme.
  1. Perbedaan dengan DER
  • DER menggunakan definite length dan melarang indefinite length.
  • CER menggunakan indefinite length untuk constructed types.
  • Keduanya deterministik tapi untuk konteks berbeda.

Contoh Input → Output ASN.1 CER

Contoh 1: INTEGER 5

Karena INTEGER adalah tipe primitif sederhana, bentuk CER sama seperti DER:

Tag: 02
Length: 01
Value: 05

Output:
02 01 05

Contoh 2: Constructed OCTET STRING

OCTET STRING panjang besar harus dipecah dalam blok:

Input: OCTET STRING berisi data panjang 300 byte
CER Output:
Tag: 24 (constructed)
Length: 80 (indefinite)

Orang lain juga membaca :  Baudot

Diikuti beberapa blok OCTET STRING primitif, misalnya masing-masing 100 byte:

24 80
04 64 <100 byte>
04 64 <100 byte>
04 2C <44 byte>
00 00

Contoh 3: SEQUENCE indefinite length

SEQUENCE selalu menggunakan definite length atau indefinite length sesuai aturan CER. Untuk konstruktif besar, CER memilih indefinite:

SEQUENCE:
30 80
02 01 0A
01 01 FF
00 00

Contoh 4: BIT STRING konstruktif

Jika BIT STRING sangat besar, CER memecahnya seperti OCTET STRING konstruktif.

Kelebihan & Kekurangan ASN.1 CER

Kelebihan:

  • Deterministik → hanya satu encoding valid untuk struktur tertentu.
  • Mendukung indefinite length, ideal untuk data besar.
  • Lebih aman dan dapat diprediksi dibanding BER.
  • Cocok untuk aplikasi berkas besar atau stream yang tidak mengetahui total panjang di awal.
  • Menghindari kerumitan multiplicity BER.

Kekurangan:

  • Lebih kompleks daripada DER.
  • Parsing lebih berat karena indefinite length harus memeriksa EOC tag.
  • Tidak sepopuler DER dalam aplikasi keamanan.
  • Struktur terlalu sulit untuk implementasi perangkat kecil.
  • Overhead tambahan karena konstruksi blok.

Referensi

  • ITU-T. (2015). X.690: ASN.1 Encoding Rules.
  • ISO/IEC. (2015). ASN.1 Canonical Encoding Rules.
  • Stallings, W. (2017). Cryptography and Network Security. Pearson.
  • Kaliski, B. (1993). ASN.1: A Gentle Introduction. RSA Laboratories.
  • Nevill, J. (2012). Understanding ASN.1. Computer Security Journal.

Citation

Previous Article

ASN.1 BER

Next Article

ASN.1 DER

Citation copied!