Tokenisasi dan enkripsi sering kali disebutkan bersama-sama sebagai cara untuk mengamankan informasi ketika sedang ditransmisikan di Internet atau disimpan. Selain membantu memenuhi kebijakan keamanan data organisasi Anda sendiri, keduanya dapat membantu memenuhi persyaratan peraturan seperti yang ada di bawah PCI DSS, HIPAA-HITECH, GLBA, ITAR, dan EU GDPR. Meskipun tokenisasi dan enkripsi merupakan teknologi pengaburan data yang efektif, namun keduanya bukanlah hal yang sama, dan tidak dapat dipertukarkan. Setiap teknologi memiliki kekuatan dan kelemahannya sendiri, dan berdasarkan hal ini, salah satunya harus menjadi metode yang lebih disukai untuk mengamankan data dalam situasi yang berbeda. Dalam beberapa kasus, seperti pada data pembayaran elektronik, enkripsi dan tokenisasi digunakan untuk mengamankan proses end-to-end.
Enkripsi |
Tokenisasi |
- Secara matematis mengubah teks biasa menjadi teks sandi menggunakan algoritma enkripsi dan kunci
|
- Menghasilkan nilai token secara acak untuk teks biasa dan menyimpan pemetaan dalam database
|
- Skala untuk volume data yang besar hanya dengan menggunakan kunci enkripsi kecil untuk mendekripsi data
|
- Sulit untuk menskalakan dengan aman dan mempertahankan performa seiring dengan bertambahnya ukuran basis data
|
- Digunakan untuk bidang terstruktur, serta data tidak terstruktur seperti seluruh file
|
- Digunakan untuk bidang data terstruktur seperti kartu pembayaran atau nomor Jaminan Sosial
|
- Ideal untuk bertukar data sensitif dengan pihak ketiga yang memiliki kunci enkripsi
|
- Sulit untuk bertukar data karena membutuhkan akses langsung ke brankas token yang memetakan nilai token
|
- Skema enkripsi yang mempertahankan format datang dengan pengorbanan kekuatan yang lebih rendah
|
- Format dapat dipertahankan tanpa mengurangi kekuatan keamanan
|
- Data asli meninggalkan organisasi, tetapi dalam bentuk terenkripsi
|
- Data asli tidak pernah meninggalkan organisasi, memenuhi persyaratan kepatuhan tertentu
|
Definisi Enkripsi
Enkripsi adalah proses menggunakan algoritma untuk mengubah informasi teks biasa menjadi bentuk yang tidak dapat dibaca yang disebut ciphertext. Sebuah algoritme dan kunci enkripsi diperlukan untuk mendekripsi informasi dan mengembalikannya ke format teks biasa. Saat ini, enkripsi SSL umumnya digunakan untuk melindungi informasi saat dikirimkan di Internet. Dengan menggunakan kemampuan enkripsi bawaan dari sistem operasi atau alat enkripsi pihak ketiga, jutaan orang mengenkripsi data di komputer mereka untuk melindungi dari kehilangan data sensitif yang tidak disengaja jika komputer mereka dicuri. Dan enkripsi dapat digunakan untuk menggagalkan pengawasan pemerintah dan pencurian data perusahaan yang sensitif.
"Enkripsi berfungsi. Sistem kripto yang kuat dan diimplementasikan dengan benar adalah salah satu dari sedikit hal yang dapat Anda andalkan." - Edward Snowden
Pada enkripsi kunci asimetris (juga disebut enkripsi kunci publik), dua kunci yang berbeda digunakan untuk proses enkripsi dan dekripsi. Kunci publik dapat didistribusikan secara bebas karena hanya digunakan untuk mengunci data dan tidak pernah membuka kunci. Sebagai contoh, seorang pedagang dapat menggunakan kunci publik untuk mengenkripsi data pembayaran sebelum mengirimkan transaksi untuk diotorisasi oleh perusahaan pemrosesan pembayaran. Perusahaan yang terakhir harus memiliki kunci privat untuk mendekripsi data kartu untuk memproses pembayaran. Enkripsi kunci asimetris juga digunakan untuk memvalidasi identitas di Internet dengan menggunakan sertifikat SSL.
Terlepas dari jenis kunci apa yang digunakan, pengguna enkripsi biasanya mempraktikkan rotasi kunci secara teratur untuk mengurangi kemungkinan kunci yang disusupi digunakan untuk mendekripsi semua data sensitif. Rotasi kunci membatasi jumlah data yang dienkripsi menggunakan satu kunci. Jika sebuah kunci enkripsi disusupi, hanya data yang dienkripsi dengan kunci tersebut yang akan menjadi rentan.
Hingga saat ini, salah satu kelemahan enkripsi data dalam aplikasi adalah enkripsi merusak fungsionalitas aplikasi seperti penyortiran dan pencarian. Karena teks sandi dalam format yang berbeda dari data asli, enkripsi juga dapat merusak validasi bidang jika aplikasi memerlukan format tertentu dalam bidang seperti nomor kartu pembayaran atau alamat email. Skema enkripsi baru yang menjaga urutan, menjaga format, dan dapat dicari membuat organisasi lebih mudah melindungi informasi mereka tanpa mengorbankan fungsionalitas pengguna akhir dalam aplikasi yang sangat penting bagi bisnis. Namun, biasanya ada pertukaran antara fungsionalitas aplikasi dan kekuatan enkripsi.
Definisi Tokenisasi
Tokenisasi adalah proses mengubah bagian data yang berarti, seperti nomor rekening, menjadi serangkaian karakter acak yang disebut token yang tidak memiliki nilai yang berarti jika dilanggar. Token berfungsi sebagai referensi ke data asli, tetapi tidak dapat digunakan untuk menebak nilai tersebut. Hal ini dikarenakan, tidak seperti enkripsi, tokenisasi tidak menggunakan proses matematis untuk mengubah informasi sensitif ke dalam token. Tidak ada kunci, atau algoritma, yang dapat digunakan untuk mendapatkan data asli untuk sebuah token. Sebagai gantinya, tokenisasi menggunakan sebuah basis data, yang disebut brankas token, yang menyimpan hubungan antara nilai sensitif dan token. Data asli dalam brankas kemudian diamankan, sering kali melalui enkripsi.
Nilai token dapat digunakan dalam berbagai aplikasi sebagai pengganti data nyata. Jika data asli perlu diambil - misalnya, dalam kasus pemrosesan pembayaran kartu kredit berulang - token dikirimkan ke brankas dan indeks digunakan untuk mengambil nilai sebenarnya untuk digunakan dalam proses otorisasi. Untuk pengguna akhir, operasi ini dilakukan dengan mulus oleh browser atau aplikasi hampir secara instan. Mereka bahkan mungkin tidak menyadari bahwa data disimpan di cloud dalam format yang berbeda.
Keuntungan dari token adalah bahwa tidak ada hubungan matematis dengan data nyata yang mereka wakili. Jika dilanggar, mereka tidak memiliki arti. Tidak ada kunci yang dapat membalikkan mereka kembali ke nilai data yang sebenarnya. Pertimbangan juga dapat diberikan pada desain token untuk membuatnya lebih berguna. Sebagai contoh, empat digit terakhir dari nomor kartu pembayaran dapat disimpan di dalam token sehingga nomor yang ditokenisasi (atau sebagian) dapat dicetak pada struk pembayaran sehingga pelanggan dapat melihat referensi ke nomor kartu kreditnya yang sebenarnya. Karakter yang tercetak mungkin berupa tanda bintang ditambah empat digit terakhir. Dalam hal ini, merchant hanya memiliki token, bukan nomor kartu yang sebenarnya, untuk tujuan keamanan.
Kasus Penggunaan untuk Enkripsi dan Tokenisasi
Kasus penggunaan yang paling umum untuk tokenisasi adalah melindungi data kartu pembayaran sehingga pedagang dapat mengurangi kewajiban mereka di bawah PCI DSS. Enkripsi juga dapat digunakan untuk mengamankan data akun, tetapi karena data tersebut masih ada, meskipun dalam format ciphertext, organisasi harus memastikan seluruh infrastruktur teknologi yang digunakan untuk menyimpan dan mengirimkan data ini sepenuhnya sesuai dengan persyaratan PCI DSS.
Semakin banyak token yang digunakan untuk mengamankan jenis informasi sensitif atau informasi yang dapat diidentifikasi secara pribadi, termasuk nomor jaminan sosial, nomor telepon, alamat email, nomor rekening, dan sebagainya. Sistem backend dari banyak organisasi bergantung pada nomor Jaminan Sosial, nomor paspor, dan nomor SIM sebagai pengenal unik. Karena pengidentifikasi unik ini terjalin ke dalam sistem ini, sangat sulit untuk menghapusnya. Dan pengidentifikasi ini juga digunakan untuk mengakses informasi untuk penagihan, status pesanan, dan layanan pelanggan. Tokenisasi sekarang digunakan untuk melindungi data ini untuk mempertahankan fungsionalitas sistem backend tanpa mengekspos PII kepada penyerang.
Meskipun enkripsi dapat digunakan untuk mengamankan bidang terstruktur seperti yang berisi data kartu pembayaran dan PII, enkripsi juga dapat digunakan untuk mengamankan data yang tidak terstruktur dalam bentuk teks yang panjang, seperti paragraf atau bahkan seluruh dokumen. Enkripsi juga merupakan cara yang ideal untuk mengamankan data yang dipertukarkan dengan pihak ketiga dan melindungi data serta memvalidasi identitas secara online, karena pihak lain hanya membutuhkan kunci enkripsi yang kecil. SSL atau Secure Sockets Layer, fondasi berbagi data dengan aman di Internet saat ini, bergantung pada enkripsi untuk membuat terowongan yang aman antara pengguna akhir dan situs web. Enkripsi kunci asimetris juga merupakan komponen penting dari sertifikat SSL yang digunakan untuk memvalidasi identitas.
Enkripsi dan tokenisasi keduanya secara teratur digunakan saat ini untuk melindungi data yang disimpan dalam layanan atau aplikasi cloud. Tergantung pada kasus penggunaannya, sebuah organisasi dapat menggunakan enkripsi, tokenisasi, atau kombinasi keduanya untuk mengamankan berbagai jenis data dan memenuhi persyaratan peraturan yang berbeda. Skyhigh Cloud Access Security Broker (CASB), misalnya, memanfaatkan proses satu arah yang tidak dapat dipulihkan untuk menokenisasi informasi identifikasi pengguna di tempat dan mengaburkan identitas perusahaan.
Seiring dengan semakin banyaknya data yang berpindah ke cloud, enkripsi dan tokenisasi digunakan untuk mengamankan data yang tersimpan dalam layanan cloud. Terutama, jika sebuah lembaga pemerintah meminta data yang disimpan di cloud, penyedia layanan hanya dapat menyerahkan informasi yang dienkripsi atau tokenisasi tanpa ada cara untuk membuka data asli. Hal yang sama juga berlaku jika penjahat siber mendapatkan akses ke data yang disimpan dalam layanan cloud.