Saat hendak membuat sebuah Certificate Profile di EJBCA, kalian akan dihadapkan pada sebuah bagian bernama X.509v3 extensions (usages). Bagian tersebut memiliki 3 sub bagian, dimana 2 sub diantaranya adalah Key Usage dan Extended Key Usage.
Apa sih Key Usage & Extended Key Usage itu dan kenapa bagian itu perlu dibahas? Sepengetahuan saya, buat kalian yang berkecimpung di dunia CA (Certification Authority), Key Usage ini berfungsi untuk menentukan kegunaan atau tujuan dari key yang terkandung dalam sebuah sertifikat yang akan diterbitkan. Kalian bisa menentukan seberapa banyak atau seberapa sedikit fungsi yang boleh dilakukan oleh key ini.

Sebagai contoh, misalkan kalian ingin mempunyai sebuah kunci yang hanya berfungsi untuk menandatangani atau memverifikasi sebuah tanda tangan, maka kalian harus mengaktifkan ekstensi digital signature dan atau non-repudiation juga. Jika kalian ingin sebuah kunci hanya bisa untuk key management, maka kalian harus mengaktifkan ekstensi key encipherment.
Itu tadi fungsi dan sedikit contoh dari Key Usage. Lalu bagaimana dengan Extended Key Usage? Apa itu dan fungsinya untuk apa? Extended Key Usage merupakan perluasan dari key usage, dimana kehadirannya adalah untuk menyempurnakan key usage.
Extended Key Usage ini bisa bersifat critical atau non-critical. Jika extensi yang berada pada Extended Key Usage kalian tetapkan sebagai critical, sertifikat wajib digunakan hanya untuk tujuan tersebut. Jika sertifikat itu digunakan untuk tujuan lain, maka hal tersebut akan melanggar kebijakan CA (CA Policy).
Jika extensinya non-critical, hal tersebut mengindikasikan tujuan dari key tersebut, tapi tidak menyiratkan bahwa CA membatasi penggunaan key itu hanya untuk tujuan tersebut. Meskipun demikian, aplikasi yang menggunakan sertifikatnya mungkin membutuhkan tujuan tertentu sehingga sertifikat dapat diterima.
Jika sebuah sertifikat itu critical, baik pada Key Usage dan juga Extended Key Usage, kedua field tersebut haruslah diproses secara mandiri, dan sertifikat digunakan hanya untuk tujuan yang konsisten dari 2 fields itu saja. Jika tidak ada tujuan yang konsisten untuk kedua fields tersebut, sertifikat tidak boleh digunakan untuk tujuan apapun.
- Baca Juga: Cara Mengelola CA pada EJBCA
Untuk memudahkan kalian memahami tentang ekstensi apa saja yang ada pada key usage & extended key usage, serta kegunaan pada masing-masing ekstensi, berikut ini adalah tabel yang bisa saya tampilkan:
Key Usage
| Ekstensi Key Usage | Deskripsi |
|---|---|
| Digital Signature | digunakan ketika public key dipakai pada mekanisme tanda tangan elektronik untuk mendukung keamanan layanan selain dari non-repudiation, certificate signing, atau CRL Sigining. Sebuah tanda tangan elektronik sering digunakan untuk mengautentikasi entitas dan juga keaslian datanya. |
| Non-Repudiation | atau lebih dikenal dengan istilah nirsangkal, digunakan ketika public key dipakai untuk menyediakan layanan non-repudiation. Non-repudiation ini mencegah si pemilik key menyangkal atas apa yang sudah dia lakukan dengan sertifikat elektroniknya, seperti contohya penandatanganan |
| Key Encipherment | digunakan ketika sebuah sertifikat dipakai dengan sebuah protokol yang mengenkripsi keys. Sebagai sebuah contoh adalah S/MIME, dimana kunci simetris dienkripsi oleh kunci publik dari sebuah sertifikat. Protokok SSL juga melakukan key encipherment |
| Data Encipherment | digunakan ketika kunci publik digunakan untuk mengenkripsi data user, selain dari kunci kriptografi. |
| Key Agreement | digunakan ketika pengirim dan penerima kunci publik perlu memperoleh key tanpa menggunakan enkripsi. Key ini selanjutnya dapat digunakan untuk mengenkripsi pesan antara pengirim dan penerima. Key Agreement biasanya digunakan dengan sandi Diffie-Helman |
| Key Certificate Signing | dipakai ketika subjek kunci publik digunakan untuk memverifikasi sebuah tanta tangan pada sertifikat |
| CRL Signing | digunakakan ketika subjek kunci publik dipakai untuk memverifikasi sebuah tanda tangan pada informasi pencabutan, seperti CRL (Certificate Revocation List). |
| Encipher Only | digunakan hanya ketika key agreement juga diaktifkan. Ini memperbolehkan public key digunakan hanya untuk mengenkripsi data ketika menjalankan key agreement |
| Dechiper Only | digunakan hanya ketika key agreement juga diaktifkan. Ini memperbolehkan public key digunakan hanya untuk mendekripsi data ketika menjalankan key agreement |
Extended Key Usage
| Ekstensi Extended Key Usage | Aktifkan Ekstensi Key Usage ini untuk Menggunakannya |
|---|---|
| TLS Web Server Authentication | Digital Signature, Key Encipherment atau Key Agreement |
| TLS Web Client Authentication | Digital Signature dan atau Key Agreement |
| Code Signing | Digital Signature |
| Email Protection | Digital Signature, Non Repudiation, dan atau Key Encipherment atau Key Agreement |
| IPSEC End System | Digital Signature dan atau Key Encipherment atau Key Agreement |
| IPSEC Tunnel | Digital Signature dan atau Key Encipherment atau Key Agreement |
| IPSEC User | Digital Signature dan atau Key Encipherment atau Key Agreement |
| Timestamping | Digital Signature, Non-Repudiation |
| SSL Client | Digital Signature |
| SSL Server | Key Encipherment |
| S/MIME Signing | Digital Signature |
| S/MIME Encryption | Key Encipherment |
| Certificate Signing | Key Certificate Sign |
| Object Signing | Digital Signature |
*****
Itu tadi sedikit sharing mengenai Key Usage dan Extended Key Usage. Semoga bisa membantu kalian ya.
Sebagai penutup, saya punya sebuah pertanyaan. Kalau kalian lihat gambar yang saya unggah di atas, kira-kira untuk apa sertifikat yang saya terbitkan nantinya?
sumber: INI
