Berbagi pengalaman: Petualangan untuk mengamankan email menggunakan S/MIME dan OpenPGP di Desktop dan Android

Halo komodos, mau sedikit berbagi pengalaman lewat tulisan ini. Supaya enak dicari tapi juga enak buat diskusi, ane tulis ini dari Pleroma dan mention instance Lemmy

Mungkin singkat cerita untuk latar belakang dulu. Apa itu S/MIME dan OpenPGP? Kenapa perlu mengamankan email?

S/MIME dan OpenPGP adalah salah dua dari opsi atau fitur untuk melakukan “tanda tangan” dan enkripsi data email. Apakah ada opsi selain dua ini? Mungkin ada, tetapi yang paling populer dan diadopsi secara luas oleh email client adalah kedua opsi ini.

Tanda tangan yang dimaksud bertujuan untuk memastikan bahwa email yang diterima itu sesuai dengan email yang dikirim. Sedangkan enkripsi ini bertujuan supaya yang bisa melihat atau membaca konten dari email tersebut hanya penerima email yang memang ditujukan saja.

Kenapa perlu mengamankan email? Sebagaimana penjelasan kegunaan dari S/MIME dan OpenPGP, supaya kita bisa memastikan bahwa email yang dikirimkan hanya bisa diakses oleh penerima.

Apa kelemahan dari penggunaan S/MIME dan OpenPGP ini? Kita dapat memberikan tanda tangan ke seluruh email yang hendak kita kirim. Namun untuk mengenkripsi email, kedua alamat email (pengirim dan penerima) harus memiliki S/MIME atau OpenPGP key yang sudah terdaftar. Baik terdaftar di suatu CA atau semacam public agent, maupun memiliki salinan public key dari alamat email lain.

Ribet? sangat ribet.
Lalu bagaimana alternatifnya?

Gunakan email provider yang memang sedari awal sudah memiliki fitur ini. Contohnya:

  1. Tuta (Tutanota)
  2. Proton Mail
  3. Skiff
    dan lain sebagainya

Bisa jadi email provider menggunakan salah satu dari S/MIME dan OpenPGP. Dan bisa jadi juga mereka menggunakan layanan kriptografi yang lain.

Lalu bagaimana jika ingin mencoba untuk pasang S/MIME dan OpenPGP sendiri?

Untuk S/MIME, kita perlu mendaftarkan diri di CA. Untuk saat ini, CA yang secara gratis menyediakan layanan untuk membuat sertifikat S/MIME hanya ada 1, yakni Actalis.

Actalis https://shop.actalis.com/store/it-en/certificati-s-mime

Ikuti langkah-langkah yang diperintahkan, kemudian nanti simpan data-data yang diberikan seperti password dan juga file sertifikat.

Untuk OpenPGP, kita tidak perlu mendaftarkan diri melalui layanan seperti S/MIME. Kita dapat membuat public-private key sendiri, ataupun menggunakan beberapa layanan yang memang diperuntukkan untuk membuat public-private key. Namun kelemahan dari menggunakan layanan lain untuk membuat public-private key adalah, memungkinkan pemilik layanan memiliki salinan dari private key kita. Jadi sebaiknya generate public-private key ini pada aplikasi yang sebisa mungkin tidak terhubung ke server manapun, dan memang offline hanya ada di device kita saja.

Jika kamu menggunakan MacOS, mungkin kamu bisa mencoba metode yang tertera di artikel ini https://proprivacy.com/email/guides/pgp-mac.

Oke, langkah berikutnya, bagaimana cara kita menggunakan S/MIME ataupun OpenPGP pada email kita?

Kita harus cari email client yang memang mendukung S/MIME ataupun OpenPGP. Akan lebih baik jika email client itu bisa digunakan untuk kedua metode ini. Ada beberapa client yang bisa dicoba, seperti Thunderbird pada desktop dan K-9 Mail pada android.

Nah sekarang mari kita coba bahas satu-per-satu mengenai kelebihan dan kelemahan dari masing-masing mail client yang ane coba.

Desktop

  1. Thunderbird, entah kenapa agak sulit untuk ekspor private key yang di-generate di Thunderbird. Namun thunderbird cukup oke karena kita dapat menggunakan S/MIME maupun OpenPGP. Minusnya, jika kita memiliki 1 email address yang memiliki beberapa alias (email forwarding diarahkan ke 1 email address ini), kemudian kita ingin bisa mengirim email sebagai alamat lain dari email ini, kita tidak dapat memasang PGP untuk semua email address tersebut di Thunderbird. Alternatif yang bisa dilakukan adalah dengan menambahkan beberapa email address pada Thunderbird, dan mematikan sync untuk incoming mails, dan hanya menggunakannya untuk outgoing mails untuk setup dengan PGP.

Android

  1. K-9 Mail, hanya OpenPGP saja. K-9 Mail memerlukan aplikasi lain, OpenKeychain, untuk mengelola PGP keys. Versi terbaru dari K-9 Mail memerlukan kita untuk menulis pesan dan melakukan enkripsi secara terpisah di dalam OpenKeychain terlebih dahulu, baru kemudian mengirim hasil enkripsi melalui K-9 Mail. Tersedia di F-Droid.
  2. FairEmail, bisa OpenPGP dan S/MIME, namun S/MIME berbayar. Bisa import key langsung di dalam FairEmail. UI nya cukup ramai. Tersedia di F-Droid.
  3. FlowCrypt, bukan hanya aplikasi android, tetapi ekstensi di browser juga untuk enkripsi email. Bisa untuk OpenPGP. Pengelolaan PGP keys dilakukan di dalam aplikasi langsung. Tersedia di Google Playstore
  4. Monocles Mail, fork dari K-9 Mail.
  5. R2Mail2, bisa OpenPGP. Pengelolaan PGP keys dilakukan di dalam aplikasi langsung. Bisa digunakan untuk melakukan enkripsi dan dekripsi seperti OpenKeychain.

Kesimpulan buat ane pribadi

Ane bakal stick ke Thunderbird dan K-9 Mail dengan segala keterbatasannya. Bagi ane, UI/UX dan performa itu sama-sama penting. Susah kalau mengutamakan performa aja, tapi UI/UX nya susah untuk dipelajari. Kelemahan dari kombinasi yang ane pake, mungkin ane ga bisa baca S/MIME dari HP, ataupun lebih ribet untuk nulis email dengan enkripsi dari HP. Tapi ekspetasi ane, lebih sering menulis email melalui desktop.

Dan untuk Thunderbird sendiri seperti yang ane bilang sebelumnya. Masih bisa diakalin dengan berbagai cara untuk keterbatasan 1 email address hanya bisa 1 private PGP key.

Semoga bermanfaat, komodos!

Referensi:
- Daftar email client yang dapat menggunakan OpenPGP https://www.openpgp.org/software/
- Cara mengenkripsi pesan melalui OpenKeychain https://www.makeuseof.com/tag/encrypted-email-android-openkeychain/
- Cara setup PGP di K-9 Mail (deprecated) https://docs.k9mail.app/en/6.400/security/pgp/
- Daftar S/MIME gratis Actalis https://shop.actalis.com/store/it-en/certificati-s-mime
- Alternatif cara membuat GPG key dari MacOS https://proprivacy.com/email/guides/pgp-mac

@indonesia