Sabtu, 03 November 2012

0 Even Distribution

Dalam tulisan ini saya akan membahas tentang random number, dan bagaimana attack terhadap random number generator bisa sangat berbahaya. Selama ini kita sering mendengar tentang random number tapi banyak yang belum paham betapa pentingnya random number dalam keamanan informasi dan apa bahaya yang terjadi bila random number yang dipilih tidak cukup random?
Randomness
Apakah yang dimaksud dengan random/acak ? Bagaimana kita mendefinisikan sesuatu bisa disebut acak atau bukan ?
Sebenarnya sulit menentukan apakah sesuatu itu benar-benar random atau bukan. Tapi secara umum kita menyebut sesuatu itu random bila kita tidak melihat adanya pola atau keteraturan atau urutan (absence of pattern, absence of order), walaupun absence of order juga tidak menjamin benar-benar random.
Suatu deretan angka tidak bisa dibilang random bila deretan angka itu digenerate oleh suatu prosedur/algoritma tertentu yang deterministik, artinya setiap kali prosedur tersebut dijalankan lagi, deretan angka yang keluar akan selalu sama dengan yang sebelumnya.
Beberapa properti yang bisa dipakai untuk menilai randomness adalah:
  1. Even distribution
  2. Unpredictability
  3. Uniqueness
Even Distribution
Even distribution maksudnya adalah semua hasil yang mungkin mempunyai peluang yang sama. Sebagai contoh kalau kita melempar dadu, setiap sisi mempunyai peluang yang sama, tidak boleh berat ke salah satu sisi saja. Dalam waktu yang cukup lama, data yang digenerate secara random seharusnya akan mengcover hampir semua data set secara merata (tidak berkelompok di salah satu bagian saja).
Kalau himpunan semua nilai yang mungkin digambarkan sebagai pixel dalam monitor anda, number generator yang baik akan secara merata mengisi semua pixel yang ada, tidak berkelompok di satu area tertentu.
Tiga gambar di bawah ini memperlihatkan distribusi random number yang merata, mulai dari masih sedikit sampai makin banyak.
Semakin banyak bilangan yang digenerate, akan semakin merata bilangan itu menutupi area-area yang kosong.
Perbedaan antara password yang dibuat oleh manusia dan random password generator terlihat dari distribusi penggunaan karakternya. Password yang dibuat manusia distribusinya tidak merata karena sangat dipengaruhi oleh bahasa yang dipakai. Bahasa manusia jelas tidak random, sehingga password yang diturunkan dari bahasa tersebut juga tidak mungkin random. Bila dalam bahasa inggris,  huruf yang paling sering dipakai adalah ‘e’, maka frekuensi huruf e akan terlihat menonjol dibanding huruf lainnya.
Berbeda dengan password yang digenerate oleh password generator, dari 26 huruf yang ada, semua huruf punya peluang yang sama sehingga distribusinya merata. Tidak ada satu huruf yang lebih sering dipakai dibandingkan huruf yang lain.
Perbedaan ini menunjukkan bahwa password yang dipilih manusia sangat jauh dari random. Hal ini terlihat dari grafik distribusi karakter password yang dibuat oleh manusia. Terlihat ada karakter-karakter yang terlihat menonjol karena sering dipakai, ada juga karakter-karakter yang jarang atau tidak pernah dipakai dalam password.
Password yang digenerate oleh password generator memiliki distribusi karakter yang merata. Grafik di bawah jelas menunjukkan bahwa semua karakter mempunyai peluang yang sama, tidak ada karakter yang sangat sering, lebih sering, jarang dipakai atau tidak pernah dipakai.

0 komentar:

Posting Komentar