Arief Karfianto
Pernahkah anda memikirkan bagaimana sebuah password disimpan di dalam komputer ? Atau bagaimana menjamin keaslian isi suatu file ? Sebelum menjawab pertanyaan tersebut, terlebih dahulu kita akan berkenalan dengan kriptografi. Kriptografi adalah seni menyembunyikan pesan terang (plaintext) menjadi pesan yang acak (ciphertext). Kriptografi merupakan bagian dari kriptologi. Selain kriptografi, kriptanalisis juga merupakan bagian dari kriptologi. Kriptanalisis merupakan usaha untuk mendapatkan plaintext dari suatu ciphertext tanpa mengetahui kuncinya.
Kriptanalisis juga mengandung usaha untuk menemukan kelemahan dari suatu sistem kriptografi. Jadi perkembangan kriptanalisis juga semakin mendorong perkembangan kriptografi, dan sebaliknya. Cakupan bahasan kriptografi sangat luas sehingga tidak akan kami paparkan dalam tulisan ini. Semoga bisa kami bahas pada kesempatan lain.
Salah satu yang dipelajari dalam kriptografi adalah fungsi hash satu-arah (one-way hash function) – selanjutnya disebut fungsi hash. Fungsi hash merupakan suatu fungsi h yang memetakan input x dengan panjang berapapun pada output h(x) dengan panjang tetap, sifat ini disebut fungsi kompresi. Properti lainnya adalah mudah untuk menghitung nilai h(x) namun sangat sulit untuk mendapatkan input x dengan diketahui nilai h(x), sifat ini disebut property preimage. Fungsi hash inilah yang akan memainkan peranan yang penting dalam penyimpanan password dan integritas data pada suatu sistem operasi, khususnya GNU/Linux.
Password pengguna (users) pada GNU/Linux disimpan dalam file /etc/passwd. Berikut contoh sebagian isi file /etc/passwd pada komputer saya :
[root@localhost ~]# cat /etc/passwd
root:$1$KzJGhs53$UMoqTDH2nmgArMxn60Uc0.:0:0:root:/root:/bin/bash
.
.
intruder:$1$gXo/vhCc$vbOLBQm/OXdbzC0.ztipp1:500:500:intruder:/home/intruder:/bin/bash
Pada contoh diatas terlihat bahwa terdapat user bernama root dan intruder. Password root disimpan dalam file tersebut dalam bentuk $1$KzJGhs53$UMoqTDH2nmgArMxn60Uc0. Bentuk tersebut merupakan keluaran dari fungsi hash yang diterapkan pada password. Hal ini bertujuan untuk menghindari diketahuinya password tersebut oleh orang lain sehingga dapat login sebagai user tertentu.
Proses yang dilakukan saat proses login adalah komputer menerima masukan username dan password dari pengguna. Misalnya username : ‘root’ , password : ‘pass’. Kemudian password tersebut menjadi masukan pada fungsi hash sehingga menjadi bentuk yang acak, misalnya $1$KzJGhs53$UMoqTDH2nmgArMxn60Uc0. Setelah itu, string tersebut dicocokkan dengan string yang ada pada file /etc/passwd untuk username : root. Apabila sama, maka password yang dimasukkan benar untuk username root.
Lalu, bagaimana untuk menjamin keaslian isi suatu file ? Tunggu artikel selanjutnya.
-k4rf1-
PROUDLY PRESENTS FOR
_________ __________________________
___ ____/_____________ _____ __ ____/__ ___/__ ____/
__ /_ __ ___/_ _ \_ _ \_ / _____ \ _ / __
_ __/ _ / / __// __// /___ ____/ / / /_/ /
/_/ /_/ \___/ \___/ \____/ /____/ \____/
F R E E C O M P U T E R S T U D Y G R O U P
Read More......