Otentifikasi dan Keamanan Untuk Jaringan

Riwut Libinuko
S2 Teknik Elektro ITB

I.	Pendahuluan

Jika kita sering bekerja dengan jaringan, maka tidaklah mengherankan bagi kita mengapa kita perlu memikirkan otentifikasi untuk mengendalikan keamanan jaringan. Jaringan komputer atau yang dikenal dengan internet merupakan sistem terbuka (open system) dimana semua orang dapat masuk ke komputer milik orang lain yang terhubung di dalam internet. Sistem terbuka juga mensyaratkan bahwa tidak ada ‘batasan’ bagi orang lain untuk masuk ke dalam jaringan kita, misalnya dengan menggunakan web browsing, akses ftp  dan lain sebagainya. 
Akan tetapi permasalahan akan timbul jika orang yang masuk ke dalam jaringan kita mempunyai maksud yang kurang baik. Seorang kompetitor misalnya, dapat saja masuk ke dalam jaringan komputer saingannya dengan tujuan mengubah sistem yang dimiliki saiangannya agar tidak dapat berfungsi dengan baik, mencuri data-data pelanggan saingan, mencuri data statistik dan lain sebagainya. Oleh karena itu dibutuhkan otentifikasi dan pengendalian akses ke dalam sistem. Secara sederhana sebuah prosedur otentifikasi adalah prosedur pengenalan jati diri seorang pemakai kepada sistem dan pemberian kartu hak akses tertentu dari sistem kepada pemakai yang bersangkutan. Seorang pemakai yang telah melewati proses otentifikasi tertentu akan memiliki hak akses tertentu dan tentu saja selalu dapat diawasi dan dikendalikan oleh sistem. Tulisan berikut ini akan memberikan dasar-dasar mengenai otentifikasi dan definisi-definisi yang berkaitan dengan keamanan jaringan.

II.	ACL, NTLM dan Definisi-definisi Lainnya

Sebelum kita membahas lebih jauh, akan dikemukakan istilah-istilah yang sering digunakan untuk pengendalian hak akses terhadap sistem.

•	Access Control Lists (ACLs)
Setiap ACL merupakan daftar dari kendali akses yang menunjukkan hak akses dan informasi untuk audit yang digunakan oleh sistem, misalnya oleh Windows NT atau oleh proxy server. Didalam Windows NT, ACLs ini akan digunakan bersama-sama dengan sistem akses file sytem NTFS (New Technology File System). Windows NT menggunakan daftar ini untuk melihat siapa saja yang telah diberikan hak untuk mengakses sumber daya tertentu (file atau folder) dan hak apa yang telah diberikan kepadanya, seperti membaca, menulis dan mengeksekusi. Didalam sistem file UNIX, hak akses ini dapat dilihat dari bit-bit kode akses yang meliputi akses untuk user, akses untuk group user serta akses untuk global user. Akses untuk user berlaku untuk user yang besangkutan, akses untuk group user berlaku untuk user-user lain yang masih berada dalam satu group dengan user yang bersangkutan sedangan akses global user berlaku untuk user yang tidak berada dalam satu group dengan user yang bersangkutan. Setiap file dalam file sistem UNIX memiliki bit-bit pengendali tersebut.

•	Challenge/Response
Proses otentifikasi melibatkan prosedur challenge/response yang terjadi pada saat dimulainya sebuah otentifikasi. Ketika seorang pemakai ingin meminta hak akses kepada sistem maka sistem akan mengirimkan challenge kepada pemakai kemudian pemakai mengirimkan kode yang sesuai. Sistem akan membandingkan kode yang dikirimkan oleh pemakai dengan kode yang ada didalam database. Jika ada kecocokan maka sistem akan memberikan hak akses sesuai dengan hak yang dimiliki oleh pengguna yang bersangkutan. Contohnya, pada saat seorang administrator Web ingin mengakses IIS (Internet Information Service) di Windows NT maka proses challenge/response terjadi agar sistem dapat memberikan hak akses yang sesuai. Contoh lain dalam sistem UNIX yang menggunakan one-time password, seorang pemakai yang ingin melakukan koneksi terminal (telnet) ke dalam sistem harus memasukkan password sebelum sistem memberikan hak akses terhadap terminal. Proses challenge/response yang terjadi disini yaitu pemakai menghubungi server melalui port telnet (21), kemudian server membentuk hash serta challenge key. Pemakai kemudian membalas challenge key tersebut dengan one-time-password yang sesuai. Selanjutnya response/jawaban dari pemakai akan dibandingkan dengan database yang ada didalam sistem, sebelum diputuskan untuk memberikan akses atau tidak.

•	NTLM
NTLM adalah teknik otentifikasi Challenge/Response yang digunakan oleh Window NT. NTLM singkatan dari Windows NT LAN Manager, sebab teknik ini dikembangkan pertama kali dan digunakan oleh Microsoft LAN Manager

•	One-Time-Password
One-Time-Password adalah teknik otentifikasi Challenge/Response yang sering digunakan oleh UNIX system. Dengan teknik ini sebuah password hanya dapat digunakan satu kali dimana response yang sesuai akan diminta oleh sistem, berdasarkan challenge key yang diberikan pada saat proses otentifikasi.

•	SAM
SAM atau kepanjangan dari Security Account Manager adalah database yang berisi data pemakai dan group. SAM tidak menyimpan password dalam bentuk ASCII tetapi dalam bentuk hash. SAM digunakan oleh Windows NT dan terletak di HKEY_LOCAL_MACHINE\SAM dan HKEY_LOCAL_MACHINE\Security\SAM

III.	Hash dalam keamanan jaringan

Dalam sebuah sistem terbuka, dimana komunikasi berlangsung melewati beberapa, ratusan bahkan ribuan komputer lainnya yang terhubung dalam jaringan maka pengiriman data dari satu tempat ke tempat lainnya akan sangat rawan terhadap penyadapan. Bagaimana jika hal ini terjadi sesaat sebelum proses otentifikasi berlangsung. Seorang ‘sniffer’ (penyadap data yang dikirimkan melalui internet) dapat mengendus password dan nama pemakai yang dikirimkan melalui jaringan. Untuk mengatasi hal ini maka dibuatlah algoritma hash, dimana password akan tersimpan dalam bentuk lain setelah diproses melalui algoritma hash tersebut. Algoritma standar hash yang sering digunakan adalah MD4 yang akan menghasilkan 16 byte (128 bit) hash, atau dengan kata lain, berapapun panjang bit yang dimasukkan dalam algoritma ini, maka panjang bit keluaran hasil hash adalah 16 byte (128 bit). Secara teoritis sangatlah tidak mungkin untuk menggabungkan hash dan algoritma yang dipakai serta kemudian melakukan proses revers secara matematis untuk memperoleh password yang bersesuaian. Atau dengan kata lain, proses hash hanya berlangsung satu arah dan bukan proses yang dapat dibalik. 

IV.	Enkripsi dalam keamanan jaringan

Selain beberapa definisi serta teknik yang disebutkan diatas, salah satu teknik yang sangat penting adalah enkripsi. Coba bayangkan pada saat kita melakukan koneksi terminal (telnet , port 21) pada jaringan kita dari Jakarta ke Surabaya melalui Internet yang notabene melalui ratusan bahkan ribuan router. Dalam spesifikasinya, komunikasi terminal tersebut mentransmisikan data-data dalam bentuk text ASCII. Jika kemudian ada seorang sniffer yang mengendus data-data yang ditransmisikan antara komputer server dengan terminal kita maka data-data tersebut akan dengan mudah terbaca. Jika kemudian kita membaca email yang ada dalam server kita, maka sniffer tadi juga dapat ikut membaca email yang kita baca.
Untuk mengatasi hal tersebut diatas maka diciptakan sistem enkripsi dimana data-data yang dikirimkan sudah dalam bentuk terenkripsi. Untuk melakukan enkripsi dibutuhkan kunci pembuka yang harus diketahui oleh server dan pengguna. Akan tetapi jika seorang sniffer dapat mengendus kunci pembuka tersebut, maka dia juga dapat membuka data-data komunikasi antara pemakai dan server. Oleh karena itu diciptakan teknik enkripsi dengan kunci publik dari RSA, dimana kunci publik dapat disebarluaskan secara bebas, sementara kunci privat disimpan secara rahasia. Seorang pemakai yang ingin melakukan koneksi kemudian memberikan kunci publiknya kepada server serta mengambil kunci publik server. Pengguna yang bersangkutan kemudian melakukan enkripsi dengan kunci privat miliknya serta kunci publik milik server kemudian mengirimkan data tersebut kepada server. Server kemudian melakukan de enkripsi dengan menggunakan kunci privat miliknya serta kunci publik milik pengguna yang bersangkutan. Dengan demikian meskipun data dapat diendus oleh sniffer, namun data tersebut tidak dapat diintepretasikan dengan baik dan benar.

V.	Kesimpulan

Sistem terbuka membutuhkan teknik pengamanan yang lebih baik, dimana tidak ada batasan bagi setiap orang untuk mengakses sistem tetapi memberikan batasan kepada orang untuk dapat mengintepretasikan data yang ada. Sistem terbuka ini mendorong munculnya teknik-teknik enkripsi, hashing dan teknik pengamanan jaringan lainnya.