CashfulnessCashfulness
Bergabung dengan beta
Privasi

Enkripsi ujung-ke-ujung dijelaskan untuk orang non-teknis

17 Juli 20269 mnt

Ada satu kalimat yang sering kami ulang saat berbicara tentang Cashfulness.

“Kami tidak bisa melihat dokumen Anda.”

Kalimat ini mudah diucapkan. Banyak aplikasi mengucapkannya.

Yang penting adalah apa yang ada di balik kalimat itu. Karena “kami tidak melihatnya” dan “kami tidak bisa melihatnya” adalah dua janji yang sangat berbeda.

Yang pertama adalah janji itikad baik: kami percaya Anda tidak akan melakukannya.

Yang kedua adalah janji ketidakmungkinan: sekalipun Anda mau, Anda tidak bisa.

Di Cashfulness, untuk dokumen yang Anda unggah, yang berlaku adalah yang kedua. Dan istilah teknis yang membuat ini benar-benar terjadi disebut enkripsi ujung-ke-ujung.

Dalam bahasa Inggris disingkat E2EE (enkripsi ujung-ke-ujung, end-to-end encryption): enkripsi “dari satu ujung ke ujung lainnya”.

Saya tahu ini terdengar seperti bahasa orang IT. Saya janji: di akhir artikel ini Anda akan memahaminya, meski Anda belum pernah menulis satu baris kode pun seumur hidup. Dan Anda akan memahami mengapa, untuk aplikasi tempat Anda menyimpan angka-angka rumah tangga, ini adalah pilihan yang mengubah segalanya.

Pertama, istilah yang tepat

Mari mulai dari kata kerjanya. Mengenkripsi sebuah berkas berarti mengubahnya menjadi rangkaian yang tidak terbaca.

Bukan menyembunyikannya di balik kata sandi yang meminta “izinkan saya masuk”. Melainkan benar-benar mengubahnya: mengambil teks, angka, gambar, lalu mereduksinya menjadi sekumpulan karakter yang tidak berarti apa-apa bagi siapa pun yang tidak memiliki kunci yang tepat.

Sesuatu yang mengembalikan kumpulan karakter itu ke bentuk yang bisa dibaca disebut kunci. Ia adalah sekeping informasi — bayangkan sebagai kata sandi yang sangat, sangat panjang dan dibuat oleh komputer — yang tanpanya berkas tetap berupa derau.

Anda mengenkripsi dengan kunci. Anda mendekripsi dengan kunci. Tanpa kunci, itu adalah tembok.

Ingat dua kata ini — mengenkripsi dan kunci — karena semua hal lain berputar di sekitar di mana kunci itu berada.

Loker penyimpanan di bank

Saya akan pakai contoh yang menurut saya bisa menjelaskan semuanya.

Anda tahu loker penyimpanan di bank? Tempat orang menyimpan dokumen penting, sedikit perhiasan, barang-barang yang tidak ingin mereka simpan di rumah.

Cara kerjanya begini.

Bank memberi Anda ruang penyimpanan lapis baja, dijaga, dan tahan pencuri. Di dalamnya ada loker Anda.

Tapi kunci loker Anda ada di tangan Anda. Hanya Anda.

Bank menjaga ruang penyimpanan itu. Bank tidak bisa membuka loker Anda. Bank tidak punya kuncinya. Jika besok ada pegawai tidak jujur yang ingin mengintip, ia tidak bisa: kuncinya tidak akan terbuka tanpa kunci Anda. Jika perampok masuk dan membawa seluruh ruang penyimpanan itu, yang mereka dapatkan hanyalah kotak logam terkunci yang tidak bisa mereka buka.

Bank menawarkan sebuah layanan — keamanan ruang penyimpanan — tanpa menuntut akses ke apa yang Anda simpan di dalamnya.

Enkripsi ujung-ke-ujung persis seperti ini, diterapkan pada berkas digital.

Cashfulness adalah banknya: kami menawarkan ruang penyimpanan, yaitu server kami tempat dokumen Anda disimpan.

Anda satu-satunya yang memegang kunci loker itu.

Dan kami, seperti bank, menjaga tanpa bisa membuka.

Apa yang sebenarnya terjadi saat Anda mengunggah dokumen

Misalkan Anda ingin menyimpan di Cashfulness rekening koran bank, tagihan listrik, kontrak sewa, atau polis asuransi.

Itulah dokumen-dokumen yang bisa Anda unggah ke Cashfulness: rekening koran, tagihan, kontrak, polis. Penuh dengan data Anda — nama lengkap, alamat, nomor rekening, jumlah uang, pihak lain yang terlibat.

Begini urutannya.

Anda memilih berkas dari ponsel atau komputer.

Sebelum berkas itu dikirim, saat masih berada di perangkat Anda, dokumen tersebut dienkripsi. Ia berubah menjadi kumpulan derau yang saya sebutkan tadi.

Baru setelah itu, dalam keadaan sudah terenkripsi, ia bergerak menuju server kami.

Yang sampai di server adalah derau. Yang tersimpan di server tetap derau.

Ketika Anda ingin membacanya kembali, dokumen itu kembali ke perangkat Anda dalam keadaan masih terenkripsi, dan di sana — hanya di sana, dengan kunci Anda — ia kembali bisa dibaca.

Momen enkripsi adalah bagian yang penting: itu terjadi di sisi Anda, sebelum berkas dikirim. Bukan “setelah sampai di server, kami yang menguncinya untuk Anda”. Itu sama saja dengan bank yang menyimpan salinan kunci Anda di laci direktur.

Tidak. Kunci itu tidak pernah kami miliki. Ia lahir dari Anda dan tetap berada pada Anda.

Di mana kunci Anda berada

Pertanyaan yang tepat pada titik ini: bagaimana jika saya kehilangan kunci berharga ini? Di mana saya menyimpannya?

Kunci dokumen Anda lahir dari dua hal milik Anda.

Yang pertama adalah kata sandi Anda, yang Anda pakai untuk masuk ke Cashfulness.

Yang kedua adalah rangkaian 24 kata yang Anda terima saat mengaktifkan perlindungan ini. Ini adalah sistem yang juga dipakai di tempat lain untuk menyimpan kunci-kunci paling sensitif — dua puluh empat kata umum, dalam urutan tertentu, yang bersama-sama berfungsi sebagai kunci pemulihan utama.

Dari dua hal ini, di perangkat Anda, dibuatlah kunci yang mengenkripsi dan mendekripsi dokumen Anda.

Dan di sinilah inti dari seluruh artikel ini: kunci itu tidak pernah meninggalkan perangkat Anda.

Ia tidak melewati server kami. Kami tidak menyimpannya di mana pun. Kami bahkan tidak melihatnya lewat.

Seolah-olah kunci loker itu ditempa di dalam rumah Anda, oleh Anda sendiri, dan tidak pernah keluar dari sana. Bank tidak pernah melihatnya, bahkan sekejap pun.

Bagi server kami, saya ulangi, setiap dokumen Anda selalu dan tetap berupa kumpulan derau digital.

Siapa yang tidak bisa membaca dokumen Anda (yaitu: semua orang selain Anda)

Saya akan berusaha jelas, karena biasanya di sinilah sebuah janji privasi teruji atau justru runtuh.

Dokumen yang Anda unggah tidak bisa dibaca oleh kami yang membangun Cashfulness. Tidak ada panel di mana pun yang memungkinkan teknisi kami membuka polis Anda. Secara teknis itu tidak ada, karena kami tidak memiliki kuncinya.

Dokumen itu tidak bisa dibaca oleh pihak yang mengelola server tempat data berjalan.

Dokumen itu juga tidak bisa dibaca oleh penyerang yang suatu hari membobol sistem kami dan mengambil semuanya: yang akan mereka dapatkan hanyalah derau, berkas yang tidak bisa digunakan.

Dan kami tidak bisa menyerahkannya dalam bentuk terbaca bahkan jika suatu otoritas memintanya secara resmi, karena kami tidak memilikinya dalam bentuk terang. Yang bisa kami serahkan hanyalah derau yang kami simpan.

Kalimat “kami tidak bisa melihat dokumen Anda”, pada titik ini, berhenti menjadi sekadar jaminan yang sopan.

Ia menjadi deskripsi teknis dari sebuah fakta.

Kami tidak melihatnya bukan karena kami tidak mau. Tapi karena kami tidak bisa. Itu berbeda.

Sisi lain dari mata uang ini (dan saya ingin memberitahunya lebih dulu)

Perlindungan yang seketat ini punya harganya, dan tidak jujur jika kami menyembunyikannya.

Jika Anda kehilangan kata sandi dan juga kehilangan 24 kata pemulihan Anda, dokumen Anda menjadi tidak terbaca. Selamanya. Bahkan bagi kami.

Tidak ada tombol “saya lupa semuanya, kirimkan kembali berkas saya”. Tidak ada teknisi kami yang bisa masuk lewat jendela belakang dan mengambilkannya untuk Anda.

Kembali ke loker bank: jika Anda kehilangan kunci Anda dan tidak ada orang lain yang punya salinannya, isi loker itu tetap ada di sana, tapi tidak ada lagi yang bisa membukanya.

Saya paham penjelasan ini bisa membuat sedikit cemas. Tapi lihatlah dari sisi lain, yang justru menjadi alasan kami memilihnya.

Jika di suatu tempat — di server kami, di laci direktur — ada “salinan cadangan” dari kunci Anda, salinan itu akan menjadi titik lemah seluruh sistem. Itulah yang pertama kali dicari penyerang. Itulah pintu yang bisa diminta dibuka oleh suatu otoritas. Itulah berkas yang bisa disalin oleh pegawai yang tidak jujur.

Kunci yang hanya ada di perangkat Anda, pintu itu, sederhananya, tidak akan pernah terbuka.

Kami memilih memberikan kendali penuh kepada Anda — dengan segala bebannya — daripada menyimpan jalan pintas yang, cepat atau lambat, akan menjadi lubang di bendungan.

Tindakan praktis yang kami minta sebagai gantinya hanya satu: jagalah 24 kata Anda seperti Anda menjaga sertifikat kepemilikan rumah. Tuliskan, simpan di tempat yang aman, jauh dari pandangan orang lain. Jangan di dalam surel kepada diri sendiri, jangan di catatan ponsel. 24 kata itu adalah salinan cadangan kunci Anda. Jagalah seperti Anda menjaga hal-hal yang benar-benar penting.

Penjelasan jujur: E2EE di sini mencakup dokumen

Saya tidak ingin menjual lebih dari apa yang ada, karena itu akan bertentangan dengan seluruh isi artikel ini.

Enkripsi ujung-ke-ujung yang saya jelaskan melindungi dokumen yang Anda unggah: rekening koran, tagihan, kontrak, polis. Itu lapisan paling sensitif, dan di sanalah kami memasang kunci paling ketat.

Sementara data akuntansi Anda yang sesungguhnya — akun, saldo, transaksi yang membentuk posisi Anda, yaitu kekayaan bersih Anda — mengikuti logika yang berbeda.

Data itu berada di basis data kami, di server Eropa, dan berbentuk teks biasa di sisi server. Ini adalah pilihan teknis yang diperlukan: data itu dibutuhkan untuk menjaga pembukuan Anda tetap selaras antara ponsel dan komputer, serta untuk menghitung secara real-time metrik yang kami tampilkan kepada Anda. Mengenkripsinya dengan cara yang persis sama seperti dokumen akan membuat aplikasi menjadi sangat lambat dan, pada praktiknya, tidak bisa digunakan.

Tapi — dan inilah bagian yang tidak diduga banyak orang — angka-angka itu berpindah tanpa membawa riwayat pribadi Anda.

Saat Anda mendaftar, kami hanya meminta nama panggilan (apa pun yang Anda mau, bahkan nama rekaan), sebuah alamat surel, dan kata sandi. Kami tidak meminta nama lengkap, nomor identitas, tanggal lahir, alamat, atau nomor telepon.

Jadi, bahkan seseorang yang punya akses ke basis data pun hanya akan melihat sebuah nama panggilan tertentu dengan sejumlah akun, saldo, transaksi — tetapi tanpa cara untuk mengaitkan angka-angka itu dengan Anda sebagai orang sungguhan.

Tentang bagaimana lapisan kedua ini bekerja, dan mengapa kami membangunnya dalam dua lapis, bukan satu, ada artikel khusus untuk itu: Privasi radikal: dua lapis, satu janji. Saya berhenti di sini, karena topik hari ini adalah kunci loker.

Hal yang ingin saya tegaskan adalah ini: ketika kami mengatakan bahwa enkripsi ujung-ke-ujung membuat dokumen Anda tidak terbaca, yang kami bicarakan adalah dokumen. Untuk sisanya, berlaku perlindungan yang berbeda, sama seriusnya. Dan saya lebih memilih memberitahu Anda dengan tepat, daripada membiarkan Anda percaya pada enkripsi ajaib yang mencakup segalanya.

Mengapa ini penting bagi kami, sampai sejauh ini

Saya bisa saja mengakhiri artikel ini dengan sisi teknisnya. Tapi teknis saja bukanlah alasannya.

Alasannya adalah, keuangan pribadi adalah tempat Anda menyimpan hal-hal yang bahkan tidak Anda ceritakan dengan mudah kepada teman-teman. Berapa sebenarnya penghasilan Anda. Berapa banyak yang telah Anda tabung, atau betapa sedikitnya. Sebuah utang yang membebani.

Jika begitu Anda membuka aplikasi seperti ini, di dasar hati Anda masih ada keraguan bahwa seseorang, di suatu tempat, bisa mengintip, aplikasi itu tidak akan pernah memberi Anda alasan mengapa ia ada.

Kami menyebut hal itu ketenangan. The calm side of money, sisi tenang dari uang. Dan ketenangan itu, jika angka-angka Anda tidak benar-benar aman, hanya akan menjadi sebuah kata di situs web.

Enkripsi ujung-ke-ujung pada dokumen bukanlah trofi teknis untuk dipamerkan. Ia adalah lantai tempat semua yang lain bertumpu: tanpanya, metrik dan posisi Anda hanyalah perabot yang diletakkan di atas kekosongan.

Karena itulah kami menuliskannya di fondasi, bukan menambahkannya kemudian seperti sakelar tambahan.

Dalam satu kalimat

Saya tinggalkan ini kepada Anda dalam bentuk paling singkat yang saya miliki.

Anda mengunci dokumen Anda dalam sebuah loker. Kunci loker itu hanya Anda yang punya, dan ia tidak pernah keluar dari perangkat Anda. Kami menjaga loker yang terkunci itu, dan kami tidak bisa membukanya.

Bukan karena kami berjanji akan menjadi baik.

Melainkan karena kami sengaja menghilangkan kemungkinan untuk tidak menjadi baik.

— Vittorio