Mengenal Key Usage dan Extended Key Usage pada EJBCA

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.

Key Usage and Extended Key Usage

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.

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 UsageDeskripsi
Digital Signaturedigunakan 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-Repudiationatau 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 Enciphermentdigunakan 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 Enciphermentdigunakan ketika kunci publik digunakan untuk mengenkripsi data user, selain dari kunci kriptografi.
Key Agreementdigunakan 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 Signingdipakai ketika subjek kunci publik digunakan untuk memverifikasi sebuah tanta tangan pada sertifikat
CRL Signingdigunakakan ketika subjek kunci publik dipakai untuk memverifikasi sebuah tanda tangan pada informasi pencabutan, seperti CRL (Certificate Revocation List).
Encipher Onlydigunakan hanya ketika key agreement juga diaktifkan. Ini memperbolehkan public key digunakan hanya untuk mengenkripsi data ketika menjalankan key agreement
Dechiper Onlydigunakan 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 UsageAktifkan Ekstensi Key Usage ini untuk Menggunakannya
TLS Web Server AuthenticationDigital Signature, Key Encipherment atau Key Agreement
TLS Web Client AuthenticationDigital Signature dan atau Key Agreement
Code SigningDigital Signature
Email ProtectionDigital Signature, Non Repudiation, dan atau Key Encipherment atau Key Agreement
IPSEC End SystemDigital Signature dan atau Key Encipherment atau Key Agreement
IPSEC TunnelDigital Signature dan atau Key Encipherment atau Key Agreement
IPSEC UserDigital Signature dan atau Key Encipherment atau Key Agreement
TimestampingDigital Signature, Non-Repudiation
SSL Client Digital Signature
SSL ServerKey Encipherment
S/MIME SigningDigital Signature
S/MIME EncryptionKey Encipherment
Certificate SigningKey Certificate Sign
Object SigningDigital 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

Facebook Comments Box