Friday, 26 May 2017

Teknologi Penyimpanan Password



Cara yang paling naïve dalam menyimpan password adalah dengan menyimpannya secara plaintext di dalam basis data. Ini adalah cara yang buruk. Sebab, apabila basis data berhasil dibobol oleh pihak ketiga, maka akan diketahui pula informasi login milik seluruh pengguna.
Cara kedua adalah dengan enkripsi. Dengan menggunakan enkripsi, password pengguna disimpan dalam karakter-karakter yang tidak beraturan. Namun, masalah yang dimiliki oleh metode ini adalah pihak ketiga dapat mendapatkan password dalam plaintext jika mengetahui kunci untuk mendekripsinya. Selain itu, password yang sama akan memiliki string dengan hasil enkripsi yang sama.
Cara ketiga ialah menggunakan hashing. Algoritma hash yang biasa digunakan adalah MD5, SHA-1, dan SHA-256. Mirip dengan cara kedua, string hasil hash akan disimpan di dalam basis data. Hanya saja cara ini lebih aman, karena hasil hash tidak reversibel. Kelemahan dari hash untuk menyimpan password adalah, password yang sama akan memiliki hasil hash yang sama pula. Selain itu, di internet juga sudah terdapat tabel yang berisi tentang password dan hasil hashnya yang disebut dengan rainbow table. Sehingga, untuk membobol password orang lain, kita hanya perlu mencocokkan hash yang disimpan di basis data dengan yang ada di tabel tersebut dengan melakukan sedikit tambahan komputasi.
Cara keempat ialah menggunakan hash and salting. Salt adalah sebuah string acak yang digunakan untuk memperkuat password. Hash and Salting yang umum digunakan adalah dengan melakukan konkatenasi salt dengan password kemudian mengubahnya dengan fungsi hash. Dengan demikian, password yang sama dapat memiliki hasil hash function yang berbeda.
Dengan semakin berkembangnya kemampuan komputer, kita harus semakin pintar dalam menyimpan password. Karena keamanan data-data pribadi pengguna bergantung bagaimana cara kita menyimpan password. Sebab, kalau tidak, kejadian yang sama dengan Adobe pada Oktober 2013 akan dapat terulang kembali di mana data password pengguna bocor.

Sumber:
https://nakedsecurity.sophos.com/2013/11/20/serious-security-how-to-store-your-users-passwords-safely/
https://en.wikipedia.org/wiki/Rainbow_table