Mengatasi kebocoran data dengan layanan enkripsi dan dekripsi online
Data bocor dan data bobol adalah fenomena yang kita saksikan beberapa tahun terakhir, ratusan data sensitif seperti NIK, nama lengkap, tanggal lahir, alamat email, alamat rumah tersebar berasal dari forum hacker. Apa yang menyebabkan data tersebut bocor ? apakah dibobol oleh hacker? lemahnya keamanan server ? password admin yang gampang ditebak ?, hole pada OS system, hole pada webserver ?. Apapun penyebabnya, masih sulit dijelaskan. Bagaimana cara mengurangi resiko kebocoran data ?.
Bila anda penyedia jasa, apakah anda menyimpan data pengguna/pelanggan anda berupa plain text atau sudah dalam keadaan terenkripsi? mana lebih baik dari 2 gambar dibawah ini ?
Dari 2 kemungkinan diatas, ternyata masih banyak penyedia layanan yang tidak menyimpan data informasi dalam keadaan terenkripsi. Masih banyak pengembang aplikasi / penyedia jasa layanan online yang tidak sempat memikirkan keamanan data dengan menyediakan data yang sudah dalam keadaan terenkripsi. Kemungkinan karena terbatasnya waktu dan sumber daya manusia dalam melakukan proteksi data.
Apakah anda sebagai penyedia jasa sudah menerapkan enkripsi data ?, Kemungkinan besar sudah, tapi ada beberapa layanan ternyata tidak menyediakan penyimpan data yang aman, data yang disimpan masih berupa plain text yang mudah dibaca. Penyedia jasa yang melakukan enkripsi menerapkan satu password kunci (encryption key) pada satu table database, sehingga pihak yang berhasil membobol dapat membongkar (decryption) dengan usaha menebak password key.
Saya memiliki suatu ide untuk membuat layanan encryption decryption on demand. Aplikasi ini berupa Saas yang bisa ditempatkan on-premise atau di cloud milik suatu penyedia jasa. Diagram gambarnya seperti ini. Saas Layanan ini akan memfasilitasi backend aplikasi dan database anda melakukan Enkripsi dan Dekripsi dengan mudah dan cepat. Anda tidak perlu membuat logic Enkripsi dan Dekripsi lagi pada apps anda, cukup dengan melakukan prosuder call pada API ini untuk encrypt dan decrypt. Database anda akan berubah terencrypt dengan cepat. Programmer dan developer anda tidak perlu mengetahui password apa yang akan digunakan.
Layanan on Demand ini dapat langsung diinstall pada jaringan network cloud ataupun onpremise anda. Demo cara penggunaan diperlihatkan pada video dibawah ini.
Software as a services ini dapat digunakan untuk banyak aplikasi, terintegrasi dengan backend server anda, Tidak perlu repot lagi membuat logika enkripsi dan dekripsi untuk applikasi website, aplikasi mobile android, aplikasi mobile iphone anda. cukup gunakan API nya, data anda akan dienkrip dan dekrip seketika. Berikut contoh API untuk melakukan encrypt
Setor data informasi anda ke layanan Saas ini, jumlah data yang disetor bebas, boleh 2, 200, 2000 ataupun ribuan data. Response dari server akan seperti ini. Akan langsung melakukan enkripsi sesuai yang anda minta
Bila kita perhatikan , ada `id_1
`, id_2
`, ini menandakan kata kunci password yang digunakan untuk melaukan enkripsi data yang anda minta. Nantinya ketika anda menampilkan data, maka data `id_1
`, id_2
` akan diposting ke layanan saas ini (encryption decryption on demand services) agar layanan dapat mengembalikan informasi data yang sudah didecrypt.
Gambar diatas menunjukkan , bagaimana metode untuk melakukan decryption.
Gambar diatas menunjukkan bahwa data anda kini dapat terbaca oleh manusia. Layanan Decryption berhasil membantu aplikasi anda menyuguhkan informasi yang dapat terbaca oleh manusia. Walaupun data pada database anda berupa encryption, data tersebut masih bisa dicari/search ataupun disortir dengan mudah. Sama persis ketika anda menyimpan data dalam keadaan plain.
Salah satu fitur yang akan memperkuat data anda adalah, layanan ini menerapkan perbedaan password key encryption pada satu row database, sehingga bila anda memiliki ratusan ribu data, untuk membongkar semua itu memerlukan password key yang berbeda-beda, dan untuk membongkarnya, pihak hacker perlu mendapatkan data password key anda yang anda letakkan di tempat berbeda. Jaga baik baik layanan saas ini dari kemungkinan serangan hacker.
Updated : Berhubung ada saran , untuk melakukan HE (homomorphic encryption), perlu dijelaskan, bahwa layanan Saas ini adalah akan menjadi milik anda, bukan pihak ketiga. Homomorphic encryption diperlukan pada kasus dimana data yang diserahkan ke pihak ketiga harus diproteksi dahulu, karena pemilik data pastinya tidak ingin menyerahkan data plain / telanjang ke pihak penyedia enkripsi. Katakanlah saya punya kalimat saya minum bir.
Saya ingin melakukan enkripsi kata ini, tapi saya tidak ingin pihak lain tahu kalimat ini , maka dengan homomorphic encryption saya bisa menyerahkan data berbeda , anggap saja (sebagai contoh) kalimat tersebut adalah s89cmfo20AKpqmm1Dl.
dan bila dua kata tersebut diencrypt maka akan menghasilkan result yang sama, andaikta mfkkKKXXXAAAAAA
. Jadi apabila hasil encryp tersebut didecrypt maka saya akan mendapatkan hasil saya minum bir.
Daripada saya menyerahkan kata saya minum bir.
saya memberikan data s89cmfo20AKpqmm1Dl
ke pihak ketiga penyedia jasa encrypt, toh nanti hasil encrypt dan decryptnya akan sama.
Berhubung pada kasus ini, pihak penyedia jasa encrypt dan decrypt adalah anda sendiri, dan pihak pemilik backend aplikasi adalah anda juga, maka HE (homomorphic encryption) belum perlu diimplementasikan, walaupun hal ini sebenarnya akan sangat baik.
https://github.com/kukuhtw/encryption_on_demand
dan
https://github.com/kukuhtw/encryption_on_demand_client
Apakah anda tertarik untuk melakukan antisipasi kejadian data breach / data leak dengan menerapkan enkripsi data penting untuk user/pelanggan/pengguna jasa anda
kirim email ke kukuhtw@gmail.com atau whatsapp ke nomor https://wa.me/628129893706