Assalamualaikum
Hai sobat blog kali ini saya akan membahas mengenai password, alur algoritma password dan apa kegunaannya jika di terapkan pada aplikasi cek kekuatan password. Nah, mari lihat penjelasan mengenai password
(1) Apakah itu Password???
Password adalah kode rahasia, kata sandi yang merupakan kunci untuk bisa mengakses atau membuka suatu sistem yang dikunci. Password juga bisa disebut dengan kunci. Password merupakan rahasia, jika ada orang lain yang mengetahui password tersebut, bisa jadi orang yang tidak berhak tersebut akan menghapus atau mencuri berkas-berkas yang ada. Jadi sebaiknya dalam selang waktu tertentu password sebaiknya diganti dan agar kerahasiaannya terjamin, sebaiknya hal-hal berikut ini tidak digunakan :
- Nama atau nama panggilan
- nama orang tua, pacar, saudara atau orang dekat
- sesuatu yang mudah ditebak, seperti nama kota, jenis musik yang disukai oleh orang yang mempunyai password tersebut
Password yang baik adalah password yang susah ditebak oleh orang lain dan mudah diingat oleh Anda dan hal-hal yang disarankan:
- Menggunakan kombinasi huruf besar dan huruf kecil
- Mengandung angka dan karakter tanda baca (seperti ?,! dll)
- Panjangnya minimal 6 karakter lebih panjang lebih baik
- Dan mudah untuk diketik
(2) Perkembangan Password
Perkembangan otentikasi password ini dapat dilihat dengan contoh-contoh dari kelemahan, sistem yang mudah dibahayakan, yang kebanyakan masih digunakan sampai saat ini. Dibawah ini akan diperlihatkan beberapa kategori utama dari sistem otentikasi password, bersamaan dengan beberapa contoh implementasi yang mengilustrasikan kekurangan masingmasing:
1. Otentikasi Lemah (Weak Authentication)
Secara umum, sistem dengan otentikasi yang lemah dicirikan dengan protokol yang memiliki kebocoran password langsung diatas jaringan atau membocorkan informasi yang cukup untuk diketahui ‘penyerang’ sehingga password dapat dianalisis dan ditebak.
• Cleartext Passwords
Metode otentikasi yang paling tidak aman adalah menyimpan password pada database di suatu tempat di server. Selama otentikasi, user mengirim password langsung ke server dan server akan membandingkan dengan password yang ada di server. Masalah keamanan disini sangat jelas terlihat.
• Hashed Passwords
Password pengguna dapat dijalankan melalui suatu fungsi one-way hash, dimana dapat mengubahnya ke dalam urutan byte secara acak. Sebagai fungsi ini akan lebih susah dikembalikkan: lebih mudah mengubah password menjadi hash daripada hash menjadi password. Otentikasi terdiri dari menjalankan fungsi hash ketika password diketik dan membandingkannya dengan password yang telah disimpan. Sistem seperti ini masih digunakan sampai sekarang pada sistem utama UNIX.
• Challange-Response
Untuk menghindari kemunculan password secara langsung pada jaringan yang tidak terpercaya, dibuatlah sistem challangeresponse. Server akan mengirim beberapa challange, yang mencirikan beberapa string pendek secara acak. Sayangnya, sistem challange-response sudah tidak mampu lagi mengimbangi aplikasi jaringan modern.
2. Otentikasi Kuat (Strong Authentication)
Walaupun enkripsi yang baik sudah ada sejak beberapa dekade yang lalu, pengembangan dari otentikasi protokol langsung yang kuat baru dimulai tahun 1990 dengan publikasi dari “EKE family of algorithms”.
• EKE
Merupakan keluarga protokol yang terdiri dari simetrik dan publickey cryptosystems untuk melakukan otentikasi password. Untuk pertama kalinya, protokol dapat menghindari dictionary attacks dan memung-kinkan pemberitahuan secara rahasia tanpa melibatkan pihak ketiga atau key-management.
• DH-EKE, SPEKE
EKE yang paling terkenal dan aman, sama dengan protokol pengganti kunci Diffie-Hellman. Sebagai contoh: DH-EKE, adalah EKE yang di-implementasikan menggunakan Diffie-Hellman. Perbedaan yang paling signifikan yaitu pada pertukaran pesan pada DH yang sekarang dienkripsi dengan shared password. Demikian juga dengan SPEKE, yang juga berbasis Diffie-Hellman. Tetapi password sekarang digunakan untuk mempengaruhi pemilihan dari parameter generator di dalam fungsi session-key generation.
• A-EKE
Merupakan modifikasi dari EKE, biasa disebut Augmented-EKE; di-mana server dapat menyimpan beberapa yang tidak plaintextequivalent ke password pengguna. Protokol ini adalah satu-satunya protokol yang sampai saat ini tahan terhadap dictionary attacks dan tidak mempunyai database password yang plaintext-equivalent. Sayangnya, A-EKE mengorbankan kerahasiaan dalam usahanya untuk menghindari plaintext-equivalence.
3. Gangguan Otentikasi (Inconvenient Authentication)
Ketidakhadiran otentikasi yang kuat, teknologi otentikasi password yang mudah, membuat para pendesain sistem tahun 1980an mencoba teknik lain untuk menjamin keamanan password. Kebanyakan dari sistem yang ada, tidak sepenuhnya password-based dan sering membutuhkan sesuatu yang lebih pada bagian pengguna, administrator, atau keduanya untuk meng-operasikan secara halus. Ada tiga metode yang dapat dilakukan, yaitu one-time passwords, Kerberos, dan SSH.
Perkembangan otentikasi password ini dapat dilihat dengan contoh-contoh dari kelemahan, sistem yang mudah dibahayakan, yang kebanyakan masih digunakan sampai saat ini. Dibawah ini akan diperlihatkan beberapa kategori utama dari sistem otentikasi password, bersamaan dengan beberapa contoh implementasi yang mengilustrasikan kekurangan masingmasing:
1. Otentikasi Lemah (Weak Authentication)
Secara umum, sistem dengan otentikasi yang lemah dicirikan dengan protokol yang memiliki kebocoran password langsung diatas jaringan atau membocorkan informasi yang cukup untuk diketahui ‘penyerang’ sehingga password dapat dianalisis dan ditebak.
• Cleartext Passwords
Metode otentikasi yang paling tidak aman adalah menyimpan password pada database di suatu tempat di server. Selama otentikasi, user mengirim password langsung ke server dan server akan membandingkan dengan password yang ada di server. Masalah keamanan disini sangat jelas terlihat.
• Hashed Passwords
Password pengguna dapat dijalankan melalui suatu fungsi one-way hash, dimana dapat mengubahnya ke dalam urutan byte secara acak. Sebagai fungsi ini akan lebih susah dikembalikkan: lebih mudah mengubah password menjadi hash daripada hash menjadi password. Otentikasi terdiri dari menjalankan fungsi hash ketika password diketik dan membandingkannya dengan password yang telah disimpan. Sistem seperti ini masih digunakan sampai sekarang pada sistem utama UNIX.
• Challange-Response
Untuk menghindari kemunculan password secara langsung pada jaringan yang tidak terpercaya, dibuatlah sistem challangeresponse. Server akan mengirim beberapa challange, yang mencirikan beberapa string pendek secara acak. Sayangnya, sistem challange-response sudah tidak mampu lagi mengimbangi aplikasi jaringan modern.
2. Otentikasi Kuat (Strong Authentication)
Walaupun enkripsi yang baik sudah ada sejak beberapa dekade yang lalu, pengembangan dari otentikasi protokol langsung yang kuat baru dimulai tahun 1990 dengan publikasi dari “EKE family of algorithms”.
• EKE
Merupakan keluarga protokol yang terdiri dari simetrik dan publickey cryptosystems untuk melakukan otentikasi password. Untuk pertama kalinya, protokol dapat menghindari dictionary attacks dan memung-kinkan pemberitahuan secara rahasia tanpa melibatkan pihak ketiga atau key-management.
• DH-EKE, SPEKE
EKE yang paling terkenal dan aman, sama dengan protokol pengganti kunci Diffie-Hellman. Sebagai contoh: DH-EKE, adalah EKE yang di-implementasikan menggunakan Diffie-Hellman. Perbedaan yang paling signifikan yaitu pada pertukaran pesan pada DH yang sekarang dienkripsi dengan shared password. Demikian juga dengan SPEKE, yang juga berbasis Diffie-Hellman. Tetapi password sekarang digunakan untuk mempengaruhi pemilihan dari parameter generator di dalam fungsi session-key generation.
• A-EKE
Merupakan modifikasi dari EKE, biasa disebut Augmented-EKE; di-mana server dapat menyimpan beberapa yang tidak plaintextequivalent ke password pengguna. Protokol ini adalah satu-satunya protokol yang sampai saat ini tahan terhadap dictionary attacks dan tidak mempunyai database password yang plaintext-equivalent. Sayangnya, A-EKE mengorbankan kerahasiaan dalam usahanya untuk menghindari plaintext-equivalence.
3. Gangguan Otentikasi (Inconvenient Authentication)
Ketidakhadiran otentikasi yang kuat, teknologi otentikasi password yang mudah, membuat para pendesain sistem tahun 1980an mencoba teknik lain untuk menjamin keamanan password. Kebanyakan dari sistem yang ada, tidak sepenuhnya password-based dan sering membutuhkan sesuatu yang lebih pada bagian pengguna, administrator, atau keduanya untuk meng-operasikan secara halus. Ada tiga metode yang dapat dilakukan, yaitu one-time passwords, Kerberos, dan SSH.
(3)Proteksi Password
Upaya untuk mengamankan proteksi password tersebut antara lain:
a) Salting
String password yang diberikan pemakai ditambah suatu string pendek sehingga mencapai panjang password tertentu.
b) One-time Passwords
Password yang dimiliki oleh pemakai diganti secara teratur, dimana seorang pemakai memiliki daftar password sendiri sehingga untuk login ia selalu menggunakan password berikutnya. Dengan cara ini pemakai akan menjadi lebih direpotkan karena harus menjaga daftar password tersebut tidak sampai tercuri atau hilang.
c) Satu pertanyaan dan jawaban yang panjang
Yang mengharuskan pemakai memberikan satu pertanyaan yang panjang beserta jawabannya, yang mana pertanyaan dan jawabannya dapat dipilih oleh pemakai, yang mudah untuk diingat sehingga ia tidak perlu menuliskannya pada kertas.
d) Tanggapan-tanggapan
Pemakai diberikan kebebasan untuk menggunakan satu atau beberapa algoritma sekaligus.
Upaya untuk mengamankan proteksi password tersebut antara lain:
a) Salting
String password yang diberikan pemakai ditambah suatu string pendek sehingga mencapai panjang password tertentu.
b) One-time Passwords
Password yang dimiliki oleh pemakai diganti secara teratur, dimana seorang pemakai memiliki daftar password sendiri sehingga untuk login ia selalu menggunakan password berikutnya. Dengan cara ini pemakai akan menjadi lebih direpotkan karena harus menjaga daftar password tersebut tidak sampai tercuri atau hilang.
c) Satu pertanyaan dan jawaban yang panjang
Yang mengharuskan pemakai memberikan satu pertanyaan yang panjang beserta jawabannya, yang mana pertanyaan dan jawabannya dapat dipilih oleh pemakai, yang mudah untuk diingat sehingga ia tidak perlu menuliskannya pada kertas.
d) Tanggapan-tanggapan
Pemakai diberikan kebebasan untuk menggunakan satu atau beberapa algoritma sekaligus.
(4)Password Policy / Kebijakan Pengamanan
Kebijakan pengamanan atau yang biasa dikenal dengan password policy adalah sekelompok peraturan yang dibuat untuk meningkatkan keamanan informasi dengan mendorong pengguna untuk memakai password yang kuat dan menggunakannya dengan tepat. Kebijakan pengamanan sering menjadi bagian dari regulasi resmi suatu organisasi. Kebijakan pengamanan dapat dilaporkan atau ditugaskan dengan melakukan berbagai jenis pengujian ke dalam operating system. Kebijaksanaan pengamanan biasanya sederhana dan umum digunakan, dimana setiap pengguna dalam sistem dapat mengerti dan mengikutinya. Isinya berupa tingkatan keamanan yang dapat melindungi data-data penting yang disimpan oleh setiap user. Beberapa hal yang dipertimbangkan dalam kebijaksanaan pengamanan adalah siapa sajakah yang memiliki akses ke sistem, siapa sajakah yang diizinkan untuk menginstall program ke dalam sistem, siapa memiliki data apa, perbaikan terhadap kerusakan yang mungkin terjadi, dan penggunaan yang wajar dari sistem.
(5) FlowChart Algoritma Cek Kekuatan Password
(6) Membuat Aplikasi Cek Kuatan Password
1. Pertama, kita membuat form untuk memasukkan password, dan konfirmasi password dengan
nama inputpass.html menggunakan notepad++
2. Setelah itu, kita membuat file untuk pengecekan, yaitu cekpass.php
3. Apabila Anda menjalankan program tersebut, maka akan muncul tampilan seperti di bawah ini :
Apabila Anda memasukkan password dengan kombinasi huruf, atau angka, dan simbol, maka akan diberi keterangan “Kuat”, yang berarti password yang Anda masukkan kuat, sehingga aman dari segi keamanan.
Setelah Anda memasukkan password, maka Anda akan diminta untuk memasukkan konfirmasi password. Apabila Anda memasukkan konfirmasi password, dan konfirmasi yang Anda masukkan sama dengan password yang Anda masukkan sebelumnya, maka akan ditampilkan tulisan Cocok, seperti di bawah ini :
aplikasi cek kekuatan ini menggunakan pemrograman PHP dan AJAX, apabila teman-teman mempunyai alternatif menggunakan pemrograman yang lain bisa di coba dan melihat hasilnya. Demikian mengenai cek kekuatan password.
Referensi :
http://ilmushoru.wordpress.com/2012/07/16/definisi-password-password-yang-baik/
http://admin-ict.blogspot.com/2009/06/pengertian-password-dan-perkembangannya.html
http://erick1719.wordpress.com/2010/01/29/cek-kekuatan-dan-validasi-password-dengan-php-dan-ajax/