Momen ini pass banget yahh untuk bahas salt karna berita hari ini emang lagi rame Tokopedia kena hek.. yapp database tokopedia udah dijual ke publik.. total 91jt data user,, dengan 15jt data sebagai trialnya.. well pihak tokopedia khususnya VP sudah menjamin perihal keamanan password karena mereka mengaku sudah menggunakan salt.. excuse me pak boss?? walau begitu didalamnya masih ada data pribadi user lohh.. wkwkwk oke aku gak bahas itu yahh,, yang menarik disini adalah tentang salt.. apa sih salt??
Salt merupakan sebuah string yang dibangun secara acak untuk ditambahkan ke data sebelum proses hashing maupun enkripsi
kalau tanpa salt, hash masih bisa di crack lohh.. salah satu teknik cracking adalah rainbow table wkwkw… dengan salt,, simplenya sih dikasih bumbu lagi ya guyss.. jadi akan sulit bagi heker bisa crack hash nya,, karna harus tahu salt nya dulu.. caranya heker harus bisa bongkar code nya atau bisa juga dengan decompile..
ada pelajaran yg bisa diambil ya guyss. kalo kamu punya website yang konek dengan database, gunakanlah hash(include salt) pada password semua user, dijamin aman passwordnya.. oke no bacot lagi,,
Latihan salt
buka terminal root dan generate password dengan saltnya..
sudo su
apt install mkpasswd
mkpasswd kresec:: -s garam
akan berbeda yahh jika tanpa salt.. coba aja ilangin -s garam nya.. kalau pada php code nya seperti ini..
<?php echo crypt("kresec::", "garam"); ?>
pada code tersebut menggunakan salt dengan string garam. kamu bisa ganti dengan yang lebih sulit/acak. lebih lengkap disini.
<?php
if (CRYPT_SHA512 == 1) {
echo 'SHA-256:' . crypt('kresec::', '$5$rounds=5000$takselamanyasaltitugaram$') . "\n";
}
?>
Latihan Hash
generate hash
md5sum<<<kresec::
sha1sum<<<kresec::
sha256sum<<<kresec::
atau
echo kresec:: | md5sum
echo kresec:: | sha1sum
echo kresec:: | sha256sum
Latihan Encrypt
generate rsa key dengan openssl..
openssl genrsa -out key.txt 2048
cek key nya dulu dan lakukan encrypt menggunakan key yg udah di generate tadi,, dan akan muncul file baru lagi..
nano key.txt
echo "kresec::" | openssl rsautl -inkey key.txt -encrypt > kresec.txt
decrypt kembali..
openssl rsautl -inkey key.txt -decrypt < kresec.txt
encrypt menggunakan rsa key + AES key.
generate rsa + 128 bit AES chiper
openssl genrsa -aes128 -out key.txt
proses encrypt..
echo "kresec::" | openssl rsautl -inkey key.txt -encrypt > kresec.txt
proses decrypt..
openssl rsautl -inkey key.txt -decrypt < kresec.txt
High secure menggunakan salt dan base64..
buat file yang ingin di encrypt..
echo kresec:: > file.txt
encrypt file menggunaka AES 256 bit + random salt..
openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -salt -a -in file.txt -out password.txt
cek file nya .. dan decrypt kembali ..
nano password.txt
openssl enc -aes-256-cbc -d -md sha512 -pbkdf2 -iter 100000 -salt -in password.txt -out hasilpassword.txt
oke cukup sekian byee…