- Hashing (fungsi satu arah) ideal untuk memverifikasi integritas data (data integrity) dan otentikasi password, tetapi ia gagal dalam prinsip kerahasiaan (confidentiality) ketika diterapkan pada data identitas pasien yang deterministik. Data identitas seperti Nomor Identitas (NIK) atau email memiliki sifat entropi rendah dan format yang terstruktur/terbatas.
Alasan utama mengapa hashing saja tidak cukup, terutama untuk pencocokan dengan sumber eksternal, adalah:
– Hashing Tidak Menyediakan Kerahasiaan: Tujuan utama hashing adalah untuk integritas dan verifikasi. Begitu hash bocor, penyerang dapat menggunakan hash tersebut sebagai sidik jari (fingerprint) yang unik.
– Ancaman Rainbow Tables dan Serangan Deterministik: Karena NIK dan pola email memiliki format yang mudah diprediksi, penyerang dapat dengan cepat menghitung hash untuk setiap kemungkinan NIK (rainbow table attack) dan mencocokkannya dengan hash yang bocor.
– Pencocokan Sumber Eksternal (Cross-Referencing): Dalam kasus kebocoran data (data breach), penyerang sering mengumpulkan hash data yang sama (misalnya email) dari berbagai platform (e-commerce, media sosial, dan platform kesehatan). Jika hash(email) di platform kesehatan bocor, penyerang dapat mencocokkannya dengan hash(email) dari kebocoran lain untuk mengkonfirmasi identitas pasien tanpa perlu mendekripsi password atau data aslinya. Hashing tidak mencegah skenario cross-referencing ini.
– Kebutuhan Fungsional untuk Dekripsi: Dalam kasus data identitas (seperti email atau nomor telepon) yang digunakan untuk notifikasi atau integrasi sistem, platform kesehatan seringkali membutuhkan data asli untuk fungsionalitasnya. Hashing mencegah pemulihan data asli, sementara enkripsi memungkinkan pemulihan data oleh pihak yang berwenang. - Dua Skenario Nyata Penggunaan Hash dan Enkripsi
– Situasi di mana Hash Lebih Tepat (Integritas dan Otentikasi)
* Studi Kasus: Penyimpanan Password Staf Medis dan Administrator.
* Penjelasan: Ketika staf medis membuat akun di platform kesehatan, password mereka harus disimpan sebagai hash yang telah di-salt dan diperkuat (key stretching). Hashing (misalnya menggunakan fungsi modern seperti Argon2 atau bcrypt) tepat di sini karena:
* Tujuan bukan untuk mengambil password asli.
* Tujuan adalah untuk memverifikasi input password saat login.
* Jika database bocor, penyerang hanya mendapatkan hash yang sulit di-reverse (berkat salt dan key stretching), sehingga akun staf tetap aman. -Situasi di mana Enkripsi Lebih Tepat (Kerahasiaan dan Kebutuhan Fungsional)
* Studi Kasus: Penyimpanan Data Medis Inti (Diagnosis, Hasil Lab, Riwayat Penyakit).
* Penjelasan: Data medis pasien harus dienkripsi saat istirahat (at rest) di database. Enkripsi (reversible) tepat digunakan karena:
* Tujuan adalah untuk menjaga kerahasiaan mutlak data sensitif (prinsip utama data kesehatan).
* Data harus dapat diakses dan dibaca dalam bentuk asli oleh dokter yang berwenang (yang memegang kunci dekripsi) untuk tujuan perawatan.
* Jika server database diretas, data medis tetap berupa teks yang tidak dapat dibaca, tetapi staf medis berwenang masih dapat menggunakan kunci untuk mendekripsinya saat dibutuhkan. - Urutan Serangan Teknis/Logika Reverse Engineering
Urutan serangan ini memanfaatkan sifat deterministik dari hashing pada data identitas untuk melakukan reverse engineering identitas:
1. Akses dan Perolehan Hash (Awal Kebocoran): Penyerang berhasil membobol sistem dan memperoleh tabel data yang berisi hash identitas pasien (e.g., hash(NIK) dan hash(email)) bersama dengan data lain yang bersifat non-sensitif (e.g., ID Pasien, waktu kunjungan, atau data koordinat geografis jika ada).
2. External Matching (Balikan Rekayasa Identitas Tingkat Rendah): Penyerang membandingkan hash(email) yang diperoleh dari platform kesehatan dengan rainbow table atau database yang bocor dari platform lain (misalnya data kebocoran akun media sosial). Jika hash cocok, penyerang telah mengkonfirmasi bahwa ID Pasien di platform kesehatan tersebut dimiliki oleh pemilik email yang telah teridentifikasi, sehingga identitas berhasil dibalikkan.
3. Brute Force Deterministik (Attack pada NIK): Karena NIK terstruktur (format tanggal lahir, kode wilayah), penyerang membuat program untuk menghasilkan semua NIK yang mungkin (brute force) dan menghitung hash untuk setiap NIK tersebut. Ketika hash(NIK) hasil kalkulasi cocok dengan hash yang bocor, NIK asli (dan otomatis nama, tanggal lahir, dan lokasi pasien) terungkap.
4. Korelasi Logika dan Peningkatan Nilai Data: Penyerang kini menggabungkan NIK/Email asli yang terungkap dengan data non-sensitif yang bocor (waktu kunjungan). Dengan logika sederhana, penyerang dapat menyatakan: “Pasien [Nama/NIK] telah menerima layanan medis pada [Tanggal] di [Lokasi]”. Meskipun data medis inti tidak terungkap, konfirmasi bahwa individu tersebut adalah pasien dan waktu/lokasi layanan mereka adalah kebocoran kerahasiaan yang signifikan. - Pendekatan Defense-in-Depth (Kesatuan Paragraf)
Untuk melindungi data kesehatan digital yang sangat sensitif, sistem harus menerapkan strategi defense-in-depth yang berlapis, dimulai dari lapisan jaringan hingga lapisan aplikasi dan data. Pada lapisan terluar, firewall dan sistem pencegahan intrusi (IPS) harus melindungi perimeter jaringan dari akses tidak sah. Akses ke sistem harus dijamin oleh autentikasi multi-faktor (MFA) yang ketat bagi seluruh pengguna, termasuk staf medis dan administrator. Data sensitif, termasuk Nomor Identitas, harus dienkripsi saat transit menggunakan protokol Transport Layer Security (TLS) dan dienkripsi saat istirahat (at rest) di server database menggunakan standar enkripsi yang kuat. Untuk data yang bersifat deterministik (seperti NIK dan email), sistem sebaiknya menggunakan tokenisasi atau enkripsi dengan kunci akses yang terpisah daripada hashing sederhana, yang memungkinkan sistem untuk menggunakan data secara fungsional tanpa mengungkap nilai aslinya. Selain itu, prinsip least privilege harus diterapkan, di mana setiap pengguna hanya memiliki akses minimum ke data yang mutlak diperlukan untuk tugasnya. Seluruh aktivitas pengguna dan sistem harus dicatat secara komprehensif (logging), dan log ini harus dipantau oleh sistem deteksi anomali (auditing), memungkinkan tim keamanan untuk mendeteksi dan merespons potensi pelanggaran data secara real-time dan efektif. - Logika Kerahasiaan Data Kesehatan vs. Hash Password
Kerahasiaan data kesehatan memiliki nilai etis, hukum, dan sosial yang jauh lebih tinggi daripada kerahasiaan hash password biasa, yang umumnya hanya melindungi integritas akun. Ketika sebuah hash password bocor, kerusakan utamanya adalah hilangnya kendali atas akun (masalah availability), dan masalah ini dapat diperbaiki dengan cepat melalui penggantian password. Sebaliknya, data kesehatan (diagnosis, status HIV, riwayat penyakit mental) bersifat permanen, tidak dapat diubah, dan sangat pribadi, sehingga kebocorannya memiliki dampak jangka panjang yang luas:
1. Dampak Diskriminasi: Data kesehatan yang bocor dapat digunakan oleh perusahaan asuransi, pemberi kerja, atau lembaga keuangan untuk menolak layanan, membebankan premi lebih tinggi, atau melakukan diskriminasi yang melanggar hak-hak dasar individu.
2. Dampak Reputasi dan Stigma: Kebocoran data kesehatan, terutama penyakit menular atau kondisi mental, dapat merusak reputasi individu dan menyebabkan stigma sosial yang bersifat permanen dan tidak dapat diperbaiki.
3. Dasar Kehidupan: Kerahasiaan data kesehatan adalah fondasi kepercayaan antara pasien dan penyedia layanan medis. Jika kepercayaan ini hancur, individu mungkin enggan mencari atau mengungkapkan informasi medis yang jujur, yang pada akhirnya membahayakan kesehatan publik.
