Sertifikat DAT adalah spesifikasi untuk mengontrol hak penerbitan DAT (Data Authentication Token) serta mengelola informasi algoritma tanda tangan dan enkripsi token beserta informasi kunci (Key)-nya.
Setiap sertifikat memiliki ID unik (CID), dan mengelola siklus hidup token secara aman dengan memaksakan periode penerbitan DAT yang diizinkan serta masa berlaku default (TTL) token yang dibuat.
CID : Hex (uint64)
CID pada DAT untuk menentukan sertifikat mana yang digunakan saat validasi.Waktu Mulai Penerbitan DAT : uint64 (Unix Time)
Durasi Penerbitan DAT : uint64 (Seconds)
Waktu Mulai Penerbitan DAT, DAT baru tidak dapat lagi diterbitkan menggunakan sertifikat ini.DAT TTL (Waktu Berlaku) : uint64 (Seconds)
expire ditetapkan sebagai waktu penerbitan (waktu saat ini) ditambah dat-ttl.Algoritma Tanda Tangan : String / Enum
signature pada DAT.Algoritma Enkripsi : String / Enum
secure pada DAT.Kunci Tanda Tangan : Base64Url (Binary)
Kunci Enkripsi : Base64Url (Binary)
secure.Daftar algoritma tanda tangan untuk mencegah pemalsuan atau modifikasi DAT.
Mendukung metode kunci simetris dan kunci asimetris.
ECDSA-P256
ECDSA-P384
ECDSA-P521
HMAC-SHA256-MFS
HMAC-SHA384-MFS
HMAC-SHA512-MFS
MFS (Maximum Fixed Secret): Metode yang menggunakan kunci rahasia berukuran tetap dengan jumlah bit yang sama dengan ukuran keluaran (Output) algoritma hash.
Daftar algoritma enkripsi terautentikasi (Authenticated Encryption) untuk melindungi data rahasia (bidang secure) di dalam DAT.
Hasil enkripsi memiliki bentuk gabungan IV dan data terenkripsi untuk mencegah dekripsi dan serangan penggunaan ulang.
IV-AES128-GCM
IV-AES256-GCM
Internalisasi IV (Initialization Vector): Untuk mencegah serangan penggunaan ulang (Replay Attack), NONCE (IV) unik berukuran 96-bit yang dibuat setiap kali enkripsi dilakukan digabungkan sebagai prefiks (Prefix) di depan data hasil enkripsi dan disertakan dalam biner. Saat mendekripsi, 96-bit pertama dipisahkan sebagai IV untuk kemudian dilakukan proses dekripsi.