Kerberos dalam Pengamanan Informasi

Abstraksi

Penggunaan berbagai macam aplikasi internet ataupun transaksi elektronik saat ini sudah menjadi bagian dari masyarakat. Namun, dalam penggunaannya selalu dihadapkan dengan berbagai masalah keamanan, salah satunya adalah masih banyaknya protokol di internet yang belum menjamin autentikasi. Salah satu gambaran dari rawannya autentikasi yaitu banyak tools yang bisa digunakan hacker untuk mencuri password dari client atau server, sehingga hacker tersebut bisa menyamar seolah-olah dialah pemilik password tersebut (seperti halnya man in the middle attack). Dengan demikian password bisa disalahgunakan dengan mengatasnamakan pemilik password. Oleh karena itu, penting adanya jaminan autentikasi karena autentikasi merupakan suatu cara untuk mengetahui keaslian dari informasi, juga mengenai keaslian sumbernya.

Kerberos merupakan salah satu protokol dalam sistem jaringan komunikasi yang menjamin autentikasi. Pada paper ini penulis akan menjelaskan mengenai protokol Kerberos disertai dengan kelebihan dan kekurangannya supaya para pengguna aplikasi internet dan jaringan komunikasi sehingga dapat mempertimbangkan protokol Kerberos sebagai salah satu alternative dalam menjamin autentikasi data. Kerberos ini dirancang untuk memberikan autentikasi yang kuat untuk aplikasi client atau server dengan menggunakan secret key cryptography.

Metode yang kami gunakan untuk menulis paper ini adalah metode kepustakaan, juga berdasarkan diskusi dan kajian khusus. Selanjutnya, kami berharap hasil dari kajian kami dapat digunakan untuk pengembangan protokol Kerberos sehingga kekurangan-kekurangan dari protokol Kerberos dapat dianalisis dan diminimalisir.

Kata Kunci : Autentikasi, Kerberos, ticket, protokol.

1. Pendahuluan

Pada zaman era computer ini, kebutuhan akan sharing information secara cepat sangatlah dibutuhkan. Sekarang ini, sudah banyak komputer yang terhubung dengan jaringan dan mengikuti jalannya mobilisasi informasi. Namun, tidak selamanya kenyamanan dalam pertukaran informasi selalu terpenuhi. Biasanya yang terjadi adalah tingkat kenyamanan berbanding terbalik dengan tingkat keamanan.

Protokol komunikasi yang sudah ada, yaitu protokol autentikasi konvensional dianggap sudah tidak relevan lagi karena tingkat kenyamanan dan keamanannya sudah tidak memenuhi kebutuhan user saat ini. Semakin banyak user yang terhubung ke dalam jaringan, maka semakin banyak pula kemungkinan serangan keamanan yang muncul. Pada sistem jaringan terbuka, biasanya serangan lebih mudah terjadi. Serangan bisa berupa tampering, eavesdropping dan bahkan impersonation yang mampu mengancam berbagai aspek keamanan. Di samping hal itu juga, sistem komputer modern menyediakan layanan untuk multiple user dan membutuhkan kemampuan untuk mengidentifikasi permintaan user. Oleh karena itu, sudah seharusnya kita memikirkan solusi terbaik untuk menangani masalah kerahasiaan, otoritas dan integritas data, serta suatu sistem autentikasi yang aman, efisien dan efektif untuk menciptakan kenyamanan dalam share information.

Sebenarnya, studi penelitian tentang protokol telah dilakukan sebelumnya yaitu oleh MIT dalam proyek Athena dan menghasilkan suatu penyelesaian awal yaitu sebuah protokol Kerberos. Protokol ini dirancang guna mempermudah distribusi kunci sekaligus membatasi hubungan komunikasi antara user dengan server.

Protokol Kerberos terdiri dari beberapa versi yaitu versi 1,2,3 (yang digunakan untuk kalangan MIT sendiri), versi 4 (yang digunakan secara umum) dan kini telah dikembangkan kerberos versi 5. Namun dalam paper ini hanya akan dibahas kerberos secara umum. Protokol Kerberos ini merupakan protokol yang melibatkan pihak ketiga terpercaya (Trusted third party), yang nantinya akan memberikan autentikasi dua arah, baik terhadap client maupun servernya. Ketika pemakai login, Kerberos mengautentikasi pemakai tersebut (menggunakan password), dan memberikan pemakai suatu cara untuk membuktikan identitasnya ke server dan host lain yang tersebar di jaringan. Autentikasi ini kemudian digunakan oleh program seperti rlogin untuk membolehkan pemakai login ke host lain tanpa password.

Penulisan ini bertujuan untuk menawarkan solusi keamanan jaringan, dimana protokol Kerberos ini dapat dijadikan sebagai salah satu alternatif.

2. Model, Analisa, Desain dan Implementasi

I. Enkripsi

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. Istilah dan komponen dalam Kerberos

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 berkali-kali 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.

III. Trusted Third Party

Untuk meminta suatu layanan kepada beberapa server, kita harus melog-in username dan password sebanyak layanan yang kita minta dan tentunya di setiap layanan kita harus memasukkan username dan password yang berbeda-beda, tentu hal ini kurang efisien. Namun apabila memasukkan username dan pasword yang sama dalam setiap log-in ke dalam suatu layanan, hal ini juga menyebabkan sistem menjadi tidak aman. Jika suatu saat password mampu diketahui oleh pihak yang tidak berhak, maka semua account yang dimiliki oleh user akan bocor. Seorang attacker yang telah berhasil mendapatkan password dari user akan dapat masuk ke dalam account user (dalam istilahnya yaitu man in the middle attack), hal ini dikarenakan tak ada jaminan autentikasi. Berbeda dengan jika kita menggunakan protokol kerberos, kita hanya cukup sekali memasukkan password. Dan untuk masuk ke dalam suatu layanan, maka kita cukup meminta ticket kepada pihak ketiga terpercaya (Trusted Third Party).

Dalam hal ini, Kerberos menggunakan KDC sebagai pihak ketiga terpercaya. KDC ini didalamnya terdapat Authentication Server dan Ticket Granting Service. KDC ini bertugas mengatur pendistribusian session key kepada user/client dan server sekaligus untuk mengautentikasi server dan client tersebut.

IV. Software Kerberos

Biasanya software yang digunakan autentikasi Kerberos adalah AFS, Apache 1 (dengan mod_auth_kerb module), Apache 2 (menggunakan libapache-mod-auth-kerb), Cisco routers dan switches running IOS, Code File System, Eudora, Mac OS X, Microsoft Windows (2000 dan seterusnya) protocol autentikasi asli dari Mulberry, sebuah client e-mail yang dikembangkan oleh Cyrusoft., NFS (sejak NFSv3), OpenSSH (with Kerberos v5 or higher), PAM (dengan pam_krb5 module), Samba v3.x, SOCKS (since SOCKS5), Netatalk, GSS, API, The X Window System implementations dan beberapa software yang mengijinkan penggunanaan SASL untuk autentikasi, seperti Dovecot IMAP4 dan server POP3, Postfix mail server. The Kerberos software juga cocok dengan kerberos-enabled clients and servers pada rsh, FTP, dan Telnet. Beberapa software berbasis Java yang menggunakan JAAS/JGSS dapat memakai Kerberos untuk keamanan.

V. Hardware Kerberos

Kerberos memerlukan sedikit alokasi memori pada aplikasi hardware. Berdasarkan penelitian sebelumnya, Versi 5 saja dapat diimplementasikan pada mikroprosesor intel Pentium dan 2 hardware RAID 1 drive. Mesin tersebut dapat mengakomodir seratus ribu autentikasi per hari namun perlu menghindari penggunaan Kerberos yang bergabung-gabung. Perlu dicatat bahwa aplikasi Kerberos ini harus diaplikasikan ke mesin yang telah dikhususkan penggunaannya artinya bahwa mesin tersebut hanya bisa di log in atau dijalankan oleh admin Kerberos dan juga tidak ada aplikasi lain yang dijalankan di mesin tersebut. Password dari user juga terdapat di mesin tersebut sehingga akses ke mesin tersebut sebisa mungkin harus dibatasi . Secara teknis hal itu dapat dilakukan dengan mengadakan pengamanan fisik yang sudah kita ketahui misalnya menyimpan server dalam suatu cabinet kemudian mengkuncinya ataupun penerapan system kripto misalnya double enkripsi dalam membuka cabinet tersebut Pada penerapan hardware terdapat 2 mesin yaitu Master dan Slave KDC yang akan dijelaskan aplikasinya saja pada jaringan.

VI. Operasi Kerberos secara umum.

Secara detailnya maka protokol Kerberos ini secara umum dapat dijelaskan sebagai berikut :

User memasukkan username dan password client. Client membangkitkankan fungsi one-way hash dalam setiap enter password, menjadi secret key client. Client mengirim plain message kepada AS untuk meminta pelayanan. Contoh Message: “User AAA akan meminta request services”. Secret key dan password dikirim ke AS.

AS_request= ( Principalclient, Principalservice, IP_list, Lifetime )

AS memeriksa apakah nama client berada pada database. Jika ada maka AS mengirim balasan ke klien tersebut..Balasan tersebut berupa;

Message A: session key client/TGS yang dienkripsi dengan secret key user.

Message B: Ticket-Granting Ticket (termasuk client ID, client network address, ticket validity period, dan session key client/TGS) yang dienkripsi menggunakan secret key TGS.

TGT = ( Principalclient , krbtgt/REALM@REALM , IP_list , Timestamp , Lifetime , SKTGS )

AS_reply={PrincipalService,Timestamp, Lifetime, SKTGS} K User{TGT}KTGS

Client menerima messages A dan B, dan mendecrypt message A untuk mendapatkan session key client/TGS. Session key digunakan untuk berkomunikasi dengan TGS. (Client tidak dapat mendecrypt Message B yang diencrypt menggunakan secret key. TGS). Client mempunyai cukup informasi untuk mengautentikasi dirinya sendiri ke TGS. Kmeudian user mengirim dua message ke TGS;

Message C: terdiri dari Ticket-Granting Ticket dari message B dan ID pada saat requesting service.

Message D: Authenticator (terdiri dari client ID dan timestamp), diencrypt menggunakan session key client/TGS.

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.

VI. Aplikasi

Aplikasi kerberos :

· Salah satu metode pengamanan TCP/IP. Kerberos ini merupakan metode pengamanan TCP/IP berbasis server-based password authentication. Pada sistem kerberos server, service yang disediakan oleh server dibatasi oleh suatu daftar host serta daftar user yang boleh dan tidah boleh menggunakan layanan .

· Kerberos ini dapat diaplikasikan pada autentikasi Apache web server.

· Sebagai protokol otentikasi jaringan. Kerberos sering digunakan untuk mengautentikasi beberapa layanan jaringan. Berikut ini merupakan beberapa contoh implementasi service jaringan yang umumnya memerlukan autentikasi, antara lain penggunaan printer pada sebuah jaringan yang hanya diperbolehkan bagi anggota kelompok saja, remote file access, remote login (rlogin), window system, mail dimana pemilik e-mail address saja yang dapat mengambil e-mail di POP3, dan service management.

3. HASIL

Maka setelah kita mengerti bagaimana pengoperasian pada kerberos, kitapun dapat mengetahui kelebihan maupun kekurangan protokol Kerberos.

v Kelebihan Kerberos :

Salah satu ketidaknyamanan yang dialami oleh user adalah password yang harus kita masukkan setiap kita mengakses layanan. Hal tersebut tersebut lumayan menyulitkan karena jika kita mempunyai banyak akun, maka kita harus memasukkan password satu per satu untuk setiap akun yang berbeda. 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 masing–masing 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 tinggal login ke jaringan melalui program inisialisasi kinit, memasukkan username 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.

v 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 suatu authenticator 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 rlogin bahwa 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 kelebihan-kelebihan 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.

Daftar Pustaka

[1]. Schneier, Bruce, Aplied Cryptography 2nd, John Willey & Sons, 1996.

[2]. Menezes, Alfred J, Handbook of Applied Cryptography, CRC Press, 1996.

[3]. Stalling, William, Internet and Network Security,1996

[4]. Munir, Rinaldi,, Kriptografi, Informatika, 2006.

[5]. B.C Neuman, T.Ts’o. Kerberos: An Authentication Service for Computer Networks. IEEE Communications, 1994.

2 Komentar

  1. sangat membantu tuk referensi tugas kuliah.
    mksh ya mbak!


Comments RSS TrackBack Identifier URI

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

  • [ It’s Me, AENI ]

    Meski hanya sebuah blog yang sederhana, namun dengan niat berbagi dan bertukar informasi tentang dunia Islam, Travelling dan Kriptografi, semoga bisa bermanfaat....

  • Blog Stats

    • 144,162 hits