Pengertian Karberos
Kerberos merupakan protokol autentikasi yang menggunakan sistem kriptografi simetrik. Biasanya menggunakan DES ataupun triple DES dan bahkan telah dirancang menggunakan AES. Namun dalam perkembangannya telah menggunakan sistem public key. Kunci simetri mengizinkan autentikasi secara real time karena karakteristiknya yang cepat. Algoritma kriptografi kunci simetrik menggunakan kunci yang sama untuk melakukan enkripsi maupun dekripsi.
II.
Berikut ini kami perkenalkan terlebih dahulu tentang istilah-istilah di dalam Kerberos : Protokol : serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang untuk menyelesaikan suatu tugas, memiliki urutan dari awal hingga akhir, harus dilaksanakan secara bergiliran, protokol harus mencapai suatu hasil. Realm : sebutan untuk jaringan yang menggunakan Kerberos. Kerberos Server : merupakan server khusus bereupa KDC yang di dalamnya terdapat Kerberos Authentication Server (AS) dan Ticket Granting Server (TGS). Ticket : merupakan sarana autentikasi antara user dengan server sekaligus penunjuk identitas sementara yang dapat digunakan berkalikali sampai expired time, dienkripsi dengan server key. Principal : anggota yang identitasnya telah diverifikasi. Verifier : anggota jaringan Kerberos yang meminta jaminan identitas dari principal . Credential : kumpulan dari ticket dan authenticator yang dimiliki oleh user. Komponen-komponen dalam Kerberos : Aplication library. Library yang menjadi penghubung antara client dengan server. Encryption library. Libarary untuk melakukan fungsi crypto. Database library. Library yang mengatur database untuk Kerberos Database administration program. Program yang mengatur operasi database Kerberos. Administration server. Melayani perubahan database Kerberos.
Authentication server. Melakukan autentikasi dan membuat session key. Database propagation software. Program untuk mengatur replikasi dari database, seperti mengatur peng-update-an database. User program. Program di tempat user yang mengatur login dan pemasukan password. Juga berfungsi untuk pengaturan ticket.
TGS_request=(Principalservice, Lifetime, Authenticator) {TGT}KTGS Setelah menerima messages C and D, TGS mendecrypt message D (Authenticator) menggunakan session key client/TGS dan mengirim dua message kepada client: Message E: Client-to-server ticket (termasuk client ID, client network address, validity period dan session key client/server) yang diencrypt menggunakan secret key server. TService= ( PrincipalClient, Principalservice,IP_list ,Timestamp , Lifetime , SK )Service Message E: session key client/server yang dienkripsi menggunakan session key TGS. TGS_reply={PrincipalService,Timestamp,Lifetime,SKService}SKTGS{TService }KService Setelah menerima messages E dan F dari TGS, client menghubungi service server dan mengirim dua messages: Message F dari step sebelumnya (ticket client ke server, yang dienkripsi menggunakan secret key layanan). Message G: Authenticator, termasuk client ID, timestamp dan yang dienkripsi menggunakan session key client/server. Authenticator = { PrincipalClient , Timestamp }SKServic Service server mendecrypt ticket menggunakan secret key layanan dan mengirim pesan ke client untuk mengkonfirmasikan kebenaran identitas client: Message H: timestamp menemukan Authenticator client yang sebelumya telah didapat plus 1, dienkripsi menggunakan session key client/server. AP_REQ = Authenticator { TService }KService Client mendecrypt konfirmasi tersebut menggunakan session key client/server dan mengecek apakah timestamp masih update.Jika benar maka client dapat memulai menggunakan layanan yang diinginkan ke server. Akhirnya server menyediakan layanan yang diminta oleh client.
Namun seringkali karena malas untuk menghafal password atau takut lupa, maka satu-satunya jalan pintas adalah membuat password yang sama untuk semua akun. Tentu saja hal itu semakin membuat akun kita semakin rawan, jika password kita telah diketahui pihak yang tak berhak maka terbongkarlah semua akun yang kita miliki. Untuk itu Kerberos menawarkan satu kenyamanan pada user, hanya dengan memasukkan password sekali dan meminta ticket (TGT) pada TGS, maka kita bisa meminta layanan pada banyak akun yang kita inginkan. Selain itu, ticket tersebut berlaku dalam periode waktu yang pendek sampai masa expirednya. - Untuk masingmasing aplikasi yang membutuhkan pelayanan Kerberos maka Kerberos sangat reliable, simple dan mudah digunakan. - Tingkat keamanannya tinggi. Password tidak dikirimkan melintasi jaringan. - Kerberos bersifat transparent. User tidak perlu mengetahui tahap-tahap otentikasi yang dilakukan di dalam jaringan. User hanya tinggallogin ke jaringan melalui program inisialisasi kinit, memasukkanusername dan password, lalu user memperoleh otentikasi ke server yang dituju. Penggunaan sesssion key yang dapat meningkatkan keamanan komunikasi. - Implementasi di software maupun hardwarenya sederhana, artinya untuk aplikasi Kerberos kita tidak perlu mesin/komputer/microprocessor yang spesifikasinya tinggi dan biayanya mahal. Telah diuji coba sebelumnya menggunakan uniprocessor intel Pentium3 dengan dua buah raid dan satu drive. - Cukup mudah dalam proses penginstalasian, artinya tidak perlu memiliki kemampuan programming untuk menginstal karena sudah ada softwarenya. - Kerberos menyediakan layanan SSH yang dapat mengelola server jarak jauh. Kelemahan Kerberos Berikut ini adalah beberapa kekurangan Kerberos yaitu : - Pada protokol kerberos ini belum ditemukan adanya key management yang baik sedangkan pada protokol ini menggunakan banyak sekali kunci yang hirarkinya serta perlakuannya harus dibedakan. Padahal letak keamanan suatu algoritma ataupun protokol terletak pada management kuncinya. - Walaupun mekanisme enkripsinya tergolong kuat, namun masih terdapat kemungkinan terjadi serangan berupa password guessing. - Kerberos bukanlah model pengamanan yang sempurna sehingga perlu diintegrasikan dengan model pengamanan lain yang dapat mengatasi
beberapa kelemahan yang terutama disebabkan karena kelalaian user.Hal ini juga dikarenakan authorisasi bukanlah spesifikasi dari Kerberos. - Untuk menjamin bahwa sistem Kerberos aman, maka penggunaan password untuk Kerberos tidak digunakan pada sistem yang lain. Kerberos menggunakan time-stamp untuk pengecekan bahwa suatuauthenticator yang dikirimkan masih baru sehingga memerlukan sinkronisasi waktu seluruh jaringan. - Program sinkronisasi waktu yang digunakan (ntpd) yang memerlukan otentikasi untuk menghindari terjadinya lubang keamanan yang biasanya berbentuk replay attack. - Aplikasi yang menggunakan Kerberos harus menambahkan suatu modul atau plugin agar dapat menggunakan Kerberos. - Apabila seorang attacker mencuri seluruh tiket yang disimpan dalam credential, maka ia dapat menyalahgunakan tiket tersebut hingga batas kadaluarsanya. - Password yang jatuh ke pihak yang tidak berwenang dapat disalahgunakan dan berbahaya jika penyusup dapat meyakinkan rloginbahwa dia adalah pemakai yang berhak. - Pengaturan password yang terlalu rumit karena mengharuskan untuk selalu memasukan password pada saat ingin memperoleh layanan baru. - Setiap principal dalam jumlah yang besar harus melakukan autentikasi langsung ke KDC, sehingga menyebabkan efek bottleneck. Oleh karena itu dilakukan pengaturan flag supaya autentikasi tertentu dapat dilakukan hanya sampai realm tanpa harus ke KDC. 4. Kesimpulan Kebutuhan akan sharing informasi saat ini sangatlah penting, hanya saja banyak hal yang masih harus kita perhatikan mengenai aspek-aspek kriptografinya, diantaranya yaitu autentikasi. Autentikasi merupakan suatu hal yang sangat penting dalam pengamanan sistem informasi untuk mengetahui identitas user yang menginginkan layanan. Padahal autentikasi konvensional sudah tidak relevan lagi karena jaringan selalu diawasi oleh pihak penyadap password. Kita memerlukan protokol yang mampu memberikan solusi terhadap masalah ini. Dalam hal ini, sistem autentikasi Kerberos mampu mengatasi serangan-serangan keamanan jaringan. Protokol ini telah mampu memenuhi aspek-aspek keamanan serta implementasi di hardware dan softwarenya mudah. Kerberos melakukan autentikasi dengan melakukan share kunci privat antara client / server, dimana privat key dibuat oleh TTP. Dengan demikian, para pengguna aplikasi internet dan jaringan komunikasi bisa mempertimbangkan protokol Kerberos sebagai salah satu
alternative untuk menjamin autentikasi data berdasarkan kelebihankelebihan yang telah ada ataupun bahkan mampu memperbaiki segala kekurangan-kekurangannya. Diantaranya solusi yang harus dicapai yaitu perlunya kajian ulang tentang sistem kripto yang digunakan pada kerberos. Kajian ulang tersebut adalah tentang performancenya serta efisiensi hardware, dalam hal ini jumlah server yang kita butuhkan karena hal tersebut erat kaitanya dengan pengamanan fisiknya.