Authentikasi Data Dalam Jaringan
Bagian dari Keamanan data dalam Network
Muhammad Mursodo

Jika enkripsi melindungi terhadap serangan pasif ( eavesdropping ). Maka pendekatan yang berbeda diperlukan terhadap serangan aktif ( falsifikasi data dan transaksi ). Proteksi melawan serangan tipe ini dikenal dengan otentikasi message ( authentikasi pesan, informasi ).

Sebuah pesan, file, dokument atau koleksi data yang lainnya dikatakan otentik jika asli dan berasal dari sumber yang terpercaya, atau resmi. Otentikasi sebuah pesan merupakan suatu prosedur yang mengijinkan partisipan untuk memverifikasi bahwa pesan yang diterima otentik atau asli. Ada dua aspek penting dalam memverifikasi sebuah pesan yaitu :
-	Apakah pesan tersebut belum diubah.
-	Apakah pesan tersebut otentik.
Kita mungkin juga ingin memverifikasi batas waktu dari sebuah pesan ( belum di tunda dan di gunakan ) dan urutan relatif ke pesan yang lain yang mengalir di partisipan.

Authentikasi menggunakan enkripsi konvensional
Adalah mungkin untuk melakukan suatu proses otentikasi yang sederhana dengan menggunakan metode enkripsi konvensional. Jika kita mengasumsikan bahwa pengirim dan penerima saling berbagi kunci, maka hanya pengirim yang asli yang akan dapat dengan sukses mengenkripsi pesan yang diterima dari partisipan yang lain. Lebih jauh lagi jika pesan menyertakan deteksi kesalahan, urutan nomor, penerima dijamin bahwa tidak ada pengubahan dan urutan itu juga betul. Jika pesan menyertakan time stamp, tanda waktu, penerima juga dijamin bahwa pesan tidak ditunda diluar harapan yang normal untuk transmisi network.

Tanda Digital dengan menggunakan kunci publik
Autentikasi menggunakan enkripsi konvensional membatasi dua partisipan saling bertukar pesan dengan pihak ketiga. Namun demikian, ini tidak membatasi dua partisipan untuk saling bertukar pesan. Beberapa bentuk perselisihan antara dua partisipan bisa terjadi.

Sebagai contoh, misal A mengirim pesan ke B menggunakan skema berikut :
Plain teks  Algoritma Enkripsi  Cipher teks  Algoritma Dekrispsi  Plain teks.
   User A	        |				 	          	|		 User B
		        |-------------------Kunci (Key) ----------------|		
Gambar 1.

Maka beberapa masalah ini bisa timbul :
1.	B mungkin memalsu pesan yang berbeda dan mengklaim bahwa pesan itu dari A. B mungkin dengan mudah membuat pesan dan mengenkripsi dengan kunci yang mereka bagi bersama.
2.	A dapat menyangkal telah mengirim pesan. Maka tak ada jalan untuk membuktikan bahwa pesan tersebut asli dan tidak ada jalan untuk membuktikan bahwa A telah mengirim pesan.
Kedua sekenario itu dapat terjadi. Sebagai contoh untuk skenario pertama yang adalah sebuah transfer dana secara elektronik, penerima menaikan jumlah kredit yang didapat dan jumlah mengklaim bahwa itu adalah dana yang diterima. Contoh dari skenario kedua adalah sebuah e-mail yang berisi instruksi bagi broker saham untuk merelease saham tetapi terjadi hal yang buruk. Maka pengirim dapat berpura – pura tidak pernah mengirim pesan.

Dalam situasi seperti ini di mana tidak ada kepercayaan antara para peserta sesuatu lebih dari autentikasi diperlukan. Solusi yang paling menarik untuk menyelesaikan masalah ini adalah dengan menggunakan tanda digital. Tanda digital ini analog dengan tanda tangan. Tanda digital ini harus mempunyai sifat – sifat sebagai berikut :
-	Harus dapat memverifikasi oleh pengirim dan waktu pengiriman.
-	Harus dapat memberikan otentikasi isi pada saat penandaan.
-	Tanda harus diverifikasi oleh pihat ketiga untuk memecahkan penipuan.
Sehingga fungsi dari tanda digital adalah termasuk mengotentikasi pesan. 

Berbagai macam pendekatan telah di usulkan untuk penandaan digital ini, namun pada bagian ini kita akan melihat algoritma enkripsi kunci publik untuk memberikan tanda otentik digital.

Plain teks  Algoritma Enkripsi  Cipher teks  Algoritma Dekrispsi  Plain teks.
   User A	     |			 	          	|		User B
	|---------------> Private key dari A			|	
           | ----------------------------------------------------------------- Public Key A
Gambar 2.a. Tanda digital yang sederhana.

User A	  ----->	x     -------->	x  -------->	x  ------>	x---->	 User B
Message	|		|		|		|	Mesage
Private Key A  	Public Key B 	Private keyB	Public key A
Gambar 2.b Tanda digital yang memberikan kerahasian dan keotentikan.

Dari gambar diatas terlihat berbagai teknik yang mengekploitasi dari keunggulan enkripsi dengan algoritma publik key. Pada gambar 2. a. adalah cara sederhana untuk melakukan otentikasi dari suatu pesan. Gambar selanjutnya menunjukan alternatif lain yang lebih aman dibanding dengan gambar 2.a karena sifat dari public key ini. Pada cara yang kedua ini adalah tidak mungkin untuk mengubah pesan dari user A tanpa mengetahui private key dari user A

Otentifikasi pesan tanpa Enkripsi
Jika pada bagian yang lalu telah di kita bahas otentifikasi pesan dengan menggunakan enkripsi dari pesan tersebut. Pada bagian ini kita akan membahas beberapa pendekatan yang lain. Dalam pendekatan ini sebuah tag atau label dibuat dan ditambahkan pada setiap pesan yang ditransmisikan. Pesan ini sendiri juga tidak di enkripsi dan dapat dibaca pada tujuan yang independen terhadap fungsi otentifikasi tersebut di tujuan.

Karena pendekatan yang diambil pada bagian ini tidak di enkripsi maka kerahasian tidak dijamin. Karena enkripi konvesional akan menyediakan otentifikasi, dan telah digunakan secara luas dengan dengan produk yang tersedia, kenapa tidak menggunakan kedua feature yang menyediakan kerahasian dan otentifikasi. Ada tiga situasi dimana otentifikasi pesan tanpa kerahasiaan lebih disukai :
1.	Ada beberapa macam aplikasi, di mana pesan yang sama di broadcast ke sejumlah tujuan yang sama, sebagai contoh notifikasi bahwa pada jaringan tentang sinyal alarm dari kontrol center. Ini lebih murah dan lebih andal untuk mempunyai satu buah tujuan yang bertanggung jawab untuk memonitor otentikasi. Sehingga pesan tersebut harus di broadcast dalam teks biasa dengan label yang telah diotentifikasi.
2.	Skenario lain yang mungkin dalam pertukaran pesan tanpa enkripsi ini adalah jika salah satu partisipan mempunyai beban aplikasi yang berat sehingga akan menghabiskan banyak waktu untuk mendekripsi pesan yang diterima.
3.	Otentikasi dari program komputer adalah hal yang menarik. Program dapat diekskusi tanpa perlu untuk mendekripsikan terlebih dahulu. Dengan label otentik yang ditambahkan pada program, maka dapat dilakukan pengecekan apakah program ini masih asli atau telah diubah integritasnya.

Kode Otentikasi Pesan
Salah satu otentikasi teknik dengan menggunakan suatu kunci rahasia untuk menghasilkan blok data yang kecil, yang dikenal dengan kode otentikasi pesan, yang diterapkan pada pesan tersebut. Teknik ini mengharuskan partisipan berbagi kunci rahasia. Jika A mempunyai  pesan yang akan dikirim ke B maka akan dengan cara ini akan dihitungkode otentikasi pesan sebagai fungsi dari pesan dan kunci tersebut. MAC ( message authentication code ) = F( Kab ,M). Pesan ditambah dengan kode akan dikirimkan ke penerima yang diinginkan. Penerima juga melakukan perhitungan yang sama pada pesan yang diterima, dengan kunci yang sama dan menghasilkan sebuah kode otentifikasi yang baru. Kode yang diterima dibandingkan dengan kode yang dihitung, seperti terlihat dalam gambar berikut.

P
E
S
A
N

P
E
S
A
N

P
E
S
A
N

MAC

MAC

KEY

MAC

Gambar 1.
Jika kita asumsikan hanya pengirim dan penerima yang berbagi kode maka jika kode yang diterima cocok dapat di jamin :
1.	Penerima dijamin bahwa pesan belum diubah. Jika penyerang mengubah pesan ini tapi tidak mengubah kode maka kode yang yang diterima akan berbeda dengan kode yang dihitung.
2.	Penerima dijamin bahwa pengirim berasal dari sumber yang sah. Karena tidak ada orang lain yang tahu tentang kode yang dibagi. 
3.	Jika pesan menyertakan nomor urutan ( seperti yang digunakan pada X.25, HDLC, TCP dan ISO transpor protocol ) maka penerima dijamin akan menerima urutan yang betul, karena penyerang tidak akan dapat mengubah urutan dari nomor tersebut.

Beberapa algoritma yang biasa digunakan dalam bidang ini, ada sebagian yang telah distandardkan seperti DES. Algoritma DES ini digunakan untuk menghasilkan pesan yang terenkripsi dan jumlah bit terakhir dari cipher teks digunakan sebagai kode untuk otentikasi. Sebuah kode 16 ato 32 bit biasa digunakan. Proses yang digambarkan diatas sebenarnya sama dengan proses enkripsi, dengan satu perbedaan bahwa proses ini tidak perlu reversible. Ini menjadikan proses authentikasi lebih susah untuk dipecahkan dibanding dengan proses enkripsi.