Mengamankan identitas di digital

On the Internet, nobody knows you're a dog™

Mengamankan identitas di digital

Mumpung hari libur, mari kita tinggalkan sejenak aktivitas per-koding-an sebentar. Motivasi gue dalam menulis topik ini setelah bersih-bersih harddisk gue dan menemukan berkas yang ter-enkripsi menggunakan GPG gue—yang yaa meskipun berkas tersebut hanyalah arsip dari sosial media gue yang gue beri nama $(echo -n "socmed.tar.gz" | md5).gpg.

Sebelumnya, bagi yang kurang familiar dengan konsep "identitas digital", bisa baca tulisannya Theo yang berjudul Identitas Daring yang penjelasannya lumayan mudah dimengerti oleh awam sekalipun.

Oke, setiap orang memiliki identitas. Kamu tinggal di negara Indonesia, hal yang resmi menjadi identitas kamu adalah Akta Kelahiran & Kartu Tanda Penduduk. Akta kelahiran menjelaskan bahwa kelahiran kamu di negara ini valid, dan KTP menjelaskan bahwa status kamu sebagai warga negara ini valid.

2 hal diatas adalah sebagai bukti bahwa saya—Fariz—misalnya adalah "manusia nyata" yang pernah lahir ke dunia ini di negara Indonesia, dan resmi menjadi warga negara ini.

Jadi, kalau ada yang bertanya "Siapa Fariz? Apakah dia nyata atau AI?" tinggal gue kasih data akta kelahiran & KTP gue (kalau memang perlu banget, tapi ngapain???) dan kalau masih gak percaya juga, ya kebangetan sih.

Begitu ya perkenalan singkat tentang dunia per-identitas-an. Sekarang, kita masuk ke topik inti.

Warga internet platform

Platform seakan-akan menjadi sebuah "negara" yang pastinya memiliki kebijakan & wewenangnya masing-masing, dan bahkan tidak sedikit yang setuju dengan ini. Lihat saja pengguna platform sosmed seperti Facebook/Instagram/Twitter yang dengan sadar bahwa mereka menyebut diri mereka "warga Facebook/Twitter".

Tapi kita sedang tidak berbicara tentang sistem pemerintahan, oke? Jadi, ya, mungkin itu bahasan nanti tentang perbacotan gue seputar kebijakan & wewenang.

Gue memiliki akun twitter dengan username @faultable. Percaya?

Bagaimana lo bisa percaya kalau gue (Fariz) adalah benar-benar pemilik akun twitter dengan username faultable?

Jawaban sederhananya, gampang. Tinggal cantumin aja alamat email gue di bio twitter gue, selesai! Pertanyaan lainnya, bagaimana kita bisa tau kalau alamat email tersebut adalah benar-benar milik gue? Itu akan kita jawab nanti!

Maksudnya, setiap orang bisa menjadi siapa saja di internet. Bahkan di internet orang-orang gak tau kalau lo adalah anjing.

Jika lo orang yang 'terpcaya', lo akan mendapatkan 'hak istimewa' untuk meyakinkan bahwa lo adalah benar-benar lo. Misal, di twitter. Kalau lo pengen ngeyakinkan publik bahwa lo adalah Si X dengan username @x, si 'pemerintah' tinggal cantumin badge centang yang mengindikasikan bahwa si @x adalah si X.

Tapi emangnya lo siapa bisa dapet centang biru tersebut?

Oke dapet poinnya sedikit ya? Sekarang kita lanjut ke pembahasan pencurian identitas.

Pencurian Identitas

Dalam dunia hacking, salah satu "subjek" di CEH adalah Social Engineering, yang mana berdampingan dengan Identity Theft. Yang singkatnya, kita bisa melakukan Soceng (dan sebaliknya) untuk mencapai sesuatu.

Salah satu temen gue pernah kena kasus penipuan. Ada seseorang yang menelepon dia dan mengaku sebagai "om" nya. Agar temen gue ini yakin kalau itu om nya, si penipu ini meyakinkan temen gue dengan menyebut nama bokap temen gue, kapan terakhir ketemu, dan juga langsung manggil nama temen gue.

Apa yang dia inginkan? Transfer duit, klasik. Sayangnya, waktu itu (sekitar 2017) hal beginian masih tabu, dan temen gue masih kuliah di Jogja (bukan di Bandung) plus dalam keadaan baru bangun tidur.

Kombinasi yang mantap.

Jadi, dengan dalih buat "nebus motor" kalau gak salah, dia minjem duit ke temen gue ini yang pastinya tidak akan pernah dikembalikan karena yang meminjam bukanlah om nya beneran.

Itu salah satu gambaran kasus identity theft dengan soceng, yang mana dia (sudah) mencuri identitas si om nya temen gue ini dan menyalah-gunakannya. Soceng pun bisa dilakukan untuk melakukan identity theft jika memang si target ini (yang ingin dicuri) lumayan tertutup sehingga menyerang target lain yang berkaitan dengan dia (keluarga, teman, dll).

Apakah kasus diatas hanyalah dongeng belaka? Tidak, man. Temen gue (yang murni kasusnya kayak gini, bukan dihipnotis/dibuat mabok/skimming) ada 2, dan temen deket gue semua. Bahkan yang satu dia kena lebih dari 1x dan untungnya tidak jatuh ke lubang yang sama.

Orang tua gue juga hampir mau kena (karena mentang-mentang gue tinggal diluar kota) pake acara gue sakit segala dan butuh duit buat berobat. Tapi gue pernah "mengedukasi" sedikit tentang ini, dan untungnya orang tua (mamah) gue langsung konfirmasi ke gue yang tentu saja langsung gue tegaskan kalau itu bohong.

Identitas gue dicuri, tapi hanya sekedar nama & tempat gue tinggal sekarang, beruntungnya. Bisa kacau kalau sampe hp gue dicuri juga, pasti orang tua gue langsung percaya sebelum gue sempat ngasih tau mereka tentang pencurian itu.

Pencurian identitas di digital (1)

Ada punya teman yang pernah carding? Atau kamu sendiri pernah melakukannya?

Para carder ini rata-rata cuma just for fun, ngambil data CC, beli sesuatu dari modal data tersebut yang mana 2012-2015 masih relevan, gak tau kalau sekarang. Biasanya, digunakan untuk traveling: Terbang & sewa hotel. Tentu saja bukan atas nama mereka dan bukan menggunakan cc mereka.

Carding dulu masih populer, mungkin belum ada (atau belum ketat?) seputar kebijakan PCI (Payment Card Industry Data Security Standard) kala itu. Jika menemukan data cc, lebih asik dipakai sendiri daripada dijual ke market.

...Yang tentu saja dipakai dulu sebagian baru dijual (seringnya dibagikan) untuk menghilangkan jejak hahaha.

Kembali ke topik, sebagai contoh, kartu kredit (ataupun debit) sangat dekat dengan identitas kita. Ada nama kita tertera disitu, terlebih ada harta karun langsung yang ingin diburu disitu.

Ini salah satu dampak dari pencurian identitas, pencurian informasi. Tapi, kesalahannya tidak 100% di kita, melainkan di si "platform" yang menyimpan data tersebut. Bayangkan kalau mereka tidak menyimpan data tersebut, yaa identitasmu (di level bank) setidaknya sedikit lebih aman.

Pencurian identitas di digital (2)

Sekarang, kita ke yang lebih berbahaya dari uang: Karakter. Atau lebih spesifiknya adalah pembunuhan karakter, perusakan reputasi, kasus yang sudah tidak tabu lagi.

Misal kamu dikenal oleh orang sebagai pribadi yang jujur, adil, dan tidak berpihak. Bagaimana bila karakter "asli" mu tersebut dibunuh dan menjadi pribadi yang "pembohong, rakus, dan berpihak" oleh orang lain yang tidak bertanggung jawab?

Bagi yang menggunakan identitas aslinya di platform yang bukan dimiliki oleh mereka sendiri (seperti kebanyakan), kita hanya bisa bergantung ke si pemilik platform & juga ke usaha kita (seperti menampilkan alamat email kita misalnya di bio kita).

Apakah cukup? Tentu tidak.

Sebagaimana yang dibahas di tulisan Theo seputar 3 faktor di sistem otentikasi: Apa yang diketahui (knowledge factor), yang dimiliki (ownership factor) dan yang unik di diri kita (Inherence factor).

Itu adalah untuk meyakinkan sistem, bagaimana untuk meyakinkan orang lain? Jika mengambil dari contoh twitter, misal, bagaimana orang lain tau kalau tweet "send nudes" benar-benar dibuat oleh si Fariz?

  1. Faktor knowledge: Username si fariz adalah faultable
  2. Faktor ownership: Tweet from Twitter for Android
  3. Faktor inherence: ???

Bisa saja yang tweet tersebut misal cewek gue dari hp android nya dia. Tapi tweet tersebut bisa disangkal, alias, masih belum 100% kalau tweet tersebut adalah benar-benar dari gue, si faultable di twitter.

Dan yang mana, kurangnya faktor "inherence" yang tentu saja tidak akan bisa dilakukan di twitter. Lalu, apakah faktor inhernce yang ada di dunia digital tersebut?

Perangkat, sebuah 'penampung' dari arwah

Dalam dunia nyata, arwah mu berada di tubuh. Si tubuh itulah sebagai 'penampung' arwahmu agar kamu bisa hidup & bergerak di dunia ini. Tubuh memiliki struktur yang unik, misal sidik jari yang memiliki entropi yang sangat besar.

Misal, bayangkan, dari 1 milyar penduduk dunia, yang memiliki sidik jari yang persis dengan gue itu hanya 2. Atau bahkan tidak ada. Entropi sangat penting dalam membuat "keunikan". Jika (misalnya) seseorang mengetahui "faktor" dari membuat sidik jari, itu akan menjadi bahaya yang besar dalam sejarah manusia.

Terlalu dongeng? Emang lo kira KMSpico bisa generate serial number yang random dan "valid" buat windows 10 pakai cara apa?

Dan apa dampaknya? Silahkan tanya orang windows dan diri lo sendiri yang masih crack.

Kembali lagi, faktor inherence ini yang paling "final" menurut gue (atau menurut kita semua?) dalam merepresentasikan eksistensi kita di dunia, khususnya di dunia digital.

Dan (untuk saat ini?) faktor inherence tersebut adalah perangkat. No, bukan berbicara tentang Authenticator, tapi perangkat secara keseluruhan.

Sebelumnya gue pernah bahas sedikit di blog evilfactorylabs tentang Identitas di Digital yang salah satunya adalah membuat "fingerprint" berdasarkan sedikit kriteria perangkat (user agent, h/w device, resolusi, fitur, dsb).

Tapi karena menggunakan metode "mengira-ngira", fingerprint tersebut pasti tidak akan unik. Ada ribuan orang disana yang menggunakan juga Firefox versi X, Macbook Air, dsb yang mana adalah yang gue gunakan juga.

Ada 1 fingerprint yang lumayan "dapat diandalkan", unik, namun sayangnya tidak semua orang (yang menggunakan perangkat) peduli: PGP.

PGP atau Pretty Good Privacy singkatnya adalah sebuah program yang menggunakan kriptografi & otentikasi untuk komunikasi data. PGP biasa digunakan untuk melakukan enkripsi, dekripsi, dan "signing" yang akan kita bahas nanti.

Setiap mesin alias perangkat (dan identitas) akan menghasilkan Public Key yang berbeda. Anggap Public key seperti KTP yang mana memiliki NIK yang berbeda-beda.

Ini salah satu contoh public key gue untuk farizrizaldy [at] icloud [titik] com yang mana menjadi "primary email" publik gue di internet:

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBF2fjkIBCADHjgJfGjpUgUl+32c6rFrQxFzkSaeOb7E3wLb9LtQMd4NZc3z4
zaToC16NWMgPMVwRi4dGDhy7+b4BnKg82s8l0kQ9xoy3f8JtKod7Arz9Neat3mYl
djfml5a4l+tylrfhWwqgE3cmUMJ9JGIqe8i36Jgwb8lmRQMDNz9onoEg+1BJ8kB3
WSXsQgkJI2VNi1ucGwqISlYmN/jAMKkVNW2cQd4U/KtpC6942mJ/vii6Fiocy9sr
/y5B04ZsfeOLtXu9fr+9YkyaNKzCll2RMdUCN2ricdK0JeoxGBIEpzULEZ92ZZSV
agxbiWxXMF8p5ENam7FrZ68egGzsIBEyy8JpABEBAAG0J0Zhcml6IFJpemFsZHkg
PGZhcml6cml6YWxkeUBpY2xvdWQuY29tPokBVAQTAQgAPhYhBEbVIPigT/nt3Ayo
2ykuj4eUGUqoBQJdn45CAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA
AAoJECkuj4eUGUqoJq4H/2vT5FIm+eA5t3TQQNxcrUrdhELS+Gi8bVIJgJElghgz
BaeDAal+u8G7ZOZvPiW38Ol11/V3IUra3LibmjnbNXPo4Fwo0VFfTc2NoIQNkEeA
sOtkT4Mx913DYCmW5a3nasKz3lfAjnCukf4DCSvqV1XHrd08UQxzdhCei6oeBoJq
npHMIsNBl9gUpax48/zG7/jCXD6vPRGGg1Oy3XCm6d1+w8fJ1HdjBInrEBFmHoAn
HHLypfKVWmz5InO2Td3E2BA0fGVMyex4Dn7cIFixsSNsKBcNxVU0e3HIhFDIP2BZ
XnDSlv5dbK7G7fFpbvYcGyhF7yeNSQjPjZniR2w7EVa5AQ0EXZ+OQgEIAK6qmtwn
v2Vldrklod7er7peDi+JE+8uBTEUmx01rXj4NVvO01gbdub6kJyx10Bor5o0jCdK
Ykbe7AenjFFLcww5Q8+dEJXFI02jKCaH0eNYng5XLRM8YS4ju0AGCWHaP0YthhEz
mQI694EDd9S59novmIQHVaWmflQp7n0KGaW+ybVz0C1Yli9QlMQ8wtxlh8wmYKs8
+RZAoaA9wkoBmu3seFWNwtmw1TWz+g+3XMN+EIVc3zMhXnvOTBFFjsntWSBxWPRw
C5uM0o7+QavqgancxmGpE1Q2hIDUneWx4DnexhI8oYpKa1ILF0X0+badAzHiw0N0
LqcH/1qLyuk9hm8AEQEAAYkBPAQYAQgAJhYhBEbVIPigT/nt3Ayo2ykuj4eUGUqo
BQJdn45CAhsMBQkDwmcAAAoJECkuj4eUGUqoP1sIAJKkCM3ZZ3gKPxI+sJf6c5lq
KuqLj/NXb/blQrMgqJmJY4VEh3z04hKL4v0SyP1bJaREahLO5IozUdXcklZW3S+q
1rY3cd7nmuwsz5QLVU7CXFTmYr6z/kJcGIg2mtJvSXUM5U/qY6So5kXCXHiPugzC
7B5nrMJM1oGVHDtN7A1Q1ryaiO+/ugzXGaVIM/UCz2MK85iXg80D77c/OFpdWui9
xSiB2iY0BCOL9Ol8Vl7IfzELcByXaUvTctbx6XznKje2IdXwxvF3YpUGUeoJlHTc
nh/BNCljhoDqvqHZaRItim5b2BsVBo5qz2DakaVXmtxr6/e+e87aAVTETtKpflY=
=tEtd
-----END PGP PUBLIC KEY BLOCK-----

Misal gue membuat tweet "send nudes" di twitter gue, tapi dalam format GPG seperti ini (misal):

-----BEGIN PGP MESSAGE-----

owGbwMvMwMGoqdffPkXSawXjaYEkhrgrU6yLU/NSFPJKU1KLOxmNWRgYORhkxRRZ
3K4q/Fjg//PtHZ4Vt2FaWJlA6hm4OAVgIqW57H+l7ENiVrFdX3P7mhyzwg/zojNT
eqviSyfIMFY7NM/29a3sDBSL3tlfnshpUFo085D+WruvzLWvjl5p1PE+IsdVk3ZJ
a8/nKr6Lic8ev5hruKirePbspLeL914y5dradCnvFB8fv953+26eQMuaqP6X3NbS
eSHZVjx+SsFnF5brdGy0SYzlfC0h91mBs7O95qdq/aarW4SuGmWrJ11/95p/jbPZ
/0j+FqazM3lnGlvtnMjwJuSv7kMZ5sdHzvQs2sAgcGpt1XvJXWzaF/dUrvtt9u7f
lfvb1vNfe2NicGzi0UjG/xd9Xj6tduc40FZnO2Obueqjs3MWH0170JF++0Zo20GL
+OntSZ2WF4+fPAoA
=DheM
-----END PGP MESSAGE-----

Bagaimana lo bisa tau kalau itu benar-benar gue yang nge-tweet? Verify!

Disitu ditekankan bahwa gue membuat itu pada 1 Juni 2020 jam 12:40 WIB dengan key 94194AA8 (cek 7 akhir key). Jika lo tidak memiliki public key gue, si "send nudes" alias tweet akan tetap muncul beserta dengan timestamp nya.

Bedanya, tidak dijelaskan bahwa kalau itu yang buat adalah gue.

Itu contohnya. Perintah terakhir cuma ngasih indikasi bahwa gue harus secara eksplisit "mempercayai" key tersebut (yang diambil dari keyring).

Bayangkan kalau Twitter memiliki fitur "sign" yang menggunakan kriptografi, yang mana harus menyisipkan public key dari perangkat kita. Gue yakin orang-orang di twitter yang habis ngebacot lalu berdalih "dibajak" gak akan bisa berdalih lagi kalau ternyata dibajak bohongan :))

Dan bagaimana kalau misalnya tweet tersebut di "sign" dari public key yang tidak terdaftar di akun dia? You got the point.

Kasih contoh nyata dong, riz!

Gue dapet contoh yang sangat menarik dari repository ini, yang mana disini seolah-olah Linus Torvalds membuat commit tersebut:

Dan ini bisa dijadikan contoh identity theft berdasarkan faktor pengetahuan (email i guess). Lo tinggal buat commit menggunakan email seseorang voila!

Gambaran diatas bagaimana bagaimana gue menggunakan identitas si gaearon dan adriantirusli ketika membuat perubahan. Mari kita tambahkan satu orang lagi

Perfect.

Mengamankan identitas di digital

Tergantung dari platform mana dulu yang kita gunakan. Misal, KTP lo di Indonesia gak bakal berlaku di negara lain kan, misalnya di Belanda?

Untuk saat ini (sepengetahuan gue), tidak ada platform yang benar-benar "concern" seputar ini, kecuali, yes, email, yang mana bukan platform juga tapinya.

Mengapa (menurut gue) ini penting? Yaa, silahkan baca kembali paragraf-paragraf diatas yang sudah dijabarkan.

Menurut gue platform (khususnya sosial media) akan menjadi lebih sehat, akun-akun bot akan lebih mudah™ terlacak (bayangkan banyak akun + ip sama + gpg beda-beda), dan "perkataan seseorang" akan lebih mudah terverifikasi keabsahannya (bayangkan setiap ngomong harus "tanda tangan" terlebih dahulu).

Ada platform bernama Keybase yang basically untuk memverifikasi "keabsahan" suatu akun menggunakan kombinasi device id + proof (tweet, gist, dsb).

Sayangnya Keybase baru saja diakuisisi oleh Zoom, alias, tidak direkomendasikan untuk mendaftar akun disitu karena terdapat kemungkinan layanan tersebut akan tutup.

Berarti, untuk saat ini, kamu harus melakukannya sendiri. Misal, dengan menampilkan PGP fingerprint dan alamat email kamu dimanapun. Membuat proof kalau tweet tersebut benar-benar berasal dari kamu dengan manual, dsb yang pastinya terlihat ribet hahaha.

Penutup

Ter-verifikasi secara "kriptografi" adalah tentang transparansi, salah satunya menggunakan "public key" yang mana bisa kita ambil kata "public" nya aja.

Misal, untuk "memverifikasi" bahwa tulisan ini benar-benar ditulis oleh gue di perangkat gue (plus) gue tidak melakukan perubahan sama sekali terhadap tulisan ini, bisa verifikasi via PGP disini menggunakan public key gue yang ini.

Jika output (yang mana itu adalah checksum dari tulisan ini ketika terbit pertama kali) sama, you got the point, right? Dan lihat juga kapan gue menerbitkan PGP message nya + kapan gue submit message tersebut ke gist gue.

Darimana checksum tersebut? Kamu bisa verifikasi sendiri dengan curl:

$ curl -sL https://faultable.dev/mengamankan-identitas-di-digital | md5sum

Yang kemungkinan akan menghasilkan output yang sama dengan yang udah gue bagikan tersebut (dan yang ada di gist gue).

Sebagai penutup, poin yang ingin gue bagikan disini adalah tentang bagaimana mengamankan identitias kita di digital dengan bantuan PGP (share public key & fingerprint) dan juga dengan menekankan "keabsahan" dari apa yang kita perbuat di dunia digital dengan PGP juga.

Pertanyaan terakhir, bagaimana cara meyakinkan kalau faultable.dev adalah blog yang ditulis oleh gue, si Fariz yang lo kenal ini? Sini, ngobrol sama gue langsung di dunia nyata. Akan gue kasih tau apa alamat dari blog gue, langsung dari mulut seorang Fariz yang lo maksud.