Memvisualisasikan risiko identifikasi ulang menggunakan Looker Studio

Topik ini menunjukkan cara mengukur k-anonimitas set data menggunakan Perlindungan Data Sensitif dan memvisualisasikannya di Looker Studio. Dengan demikian, Anda juga akan dapat lebih memahami risiko dan membantu mengevaluasi kompromi dalam utilitas yang mungkin Anda buat jika menyamarkan atau menghapus identitas data.

Meskipun fokus topik ini adalah memvisualisasikan metrik analisis risiko re-identifikasi anonimitas k, Anda juga dapat memvisualisasikan metrik l-diversity menggunakan metode yang sama.

Topik ini mengasumsikan bahwa Anda sudah memahami konsep k-anonymity dan kegunaannya untuk menilai pengidentifikasian ulang data dalam set data. Sebaiknya Anda juga setidaknya memahami cara menghitung anonimitas k menggunakan Perlindungan Data Sensitif, dan cara menggunakan Looker Studio.

Pengantar

Teknik de-identifikasi dapat membantu melindungi privasi subjek Anda saat Anda memproses atau menggunakan data. Namun, bagaimana cara mengetahui apakah set data telah di-de-identifikasi secara memadai? Selain itu, bagaimana Anda akan mengetahui apakah de-identifikasi telah menyebabkan terlalu banyak kehilangan data untuk kasus penggunaan Anda? Artinya, bagaimana Anda dapat membandingkan risiko identifikasi ulang dengan utilitas data untuk membantu membuat keputusan berbasis data?

Menghitung nilai anonimitas k dari set data membantu menjawab pertanyaan ini dengan menilai pengidentifikasian ulang data set. Perlindungan Data Sensitif berisi fungsi bawaan untuk menghitung nilai anonimitas k pada set data berdasarkan quasi-ID yang Anda tentukan. Hal ini membantu Anda mengevaluasi dengan cepat apakah penghapusan identifikasi kolom atau kombinasi kolom tertentu akan menghasilkan set data yang lebih atau kurang mungkin diidentifikasi ulang.

Contoh set data

Berikut adalah beberapa baris pertama dari contoh set data yang besar.

user_id age title score
602-61-8588 24 Biostatistician III 733
771-07-8231 46 Executive Secretary 672
618-96-2322 69 Programmer I 514
... ... ... ...

Untuk tujuan tutorial ini, user_id tidak akan dibahas, karena fokusnya adalah pada quasi-ID. Dalam skenario dunia nyata, Anda harus memastikan bahwa user_id disamarkan atau ditokenisasi dengan tepat. Kolom score adalah milik eksklusif set data ini, dan penyerang kemungkinan besar tidak akan dapat mempelajarinya dengan cara lain, sehingga Anda tidak akan menyertakannya dalam analisis. Fokus Anda akan berada pada kolom age dan title yang tersisa, yang dapat digunakan penyerang untuk mempelajari individu melalui sumber data lainnya. Pertanyaan yang Anda coba jawab untuk set data adalah:

  • Apa efek dari dua quasi-ID—age dan title—terhadap risiko identifikasi ulang secara keseluruhan dari data yang dide-identifikasi?
  • Bagaimana pengaruh penerapan transformasi de-identifikasi terhadap risiko ini?

Anda ingin memastikan bahwa kombinasi age dan title tidak akan dipetakan ke sejumlah kecil pengguna. Misalnya, hanya ada satu pengguna dalam set data yang judulnya Programmer I dan berusia 69 tahun. Penyerang mungkin dapat melakukan referensi silang informasi tersebut dengan demografi atau informasi lain yang tersedia, mencari tahu siapa orang tersebut, dan mempelajari nilai skornya. Untuk mengetahui informasi selengkapnya tentang fenomena ini, lihat bagian "ID Entitas dan k-anonimitas komputasi" dalam topik konsep Analisis risiko.

Langkah 1: Hitung k-anonymity pada set data

Pertama, gunakan Perlindungan Data Sensitif untuk menghitung anonimitas k pada set data dengan mengirim JSON berikut ke resource DlpJob. Dalam JSON ini, Anda menetapkan ID entity ke kolom user_id, dan mengidentifikasi dua quasi-ID sebagai kolom age dan title. Anda juga menginstruksikan Perlindungan Data Sensitif untuk menyimpan hasil ke tabel BigQuery baru.

Input JSON:

POST https://dlp.googleapis.com/v2/projects/dlp-demo-2/dlpJobs

{
  "riskJob": {
    "sourceTable": {
      "projectId": "dlp-demo-2",
      "datasetId": "dlp_testing",
      "tableId": "dlp_test_data_kanon"
    },
    "privacyMetric": {
      "kAnonymityConfig": {
        "entityId": {
          "field": {
            "name": "id"
          }
        },
        "quasiIds": [
          {
            "name": "age"
          },
          {
            "name": "job_title"
          }
        ]
      }
    },
    "actions": [
      {
        "saveFindings": {
          "outputConfig": {
            "table": {
              "projectId": "dlp-demo-2",
              "datasetId": "dlp_testing",
              "tableId": "test_results"
            }
          }
        }
      }
    ]
  }
}

Setelah tugas anonimitas k selesai, Perlindungan Data Sensitif akan mengirimkan hasil tugas ke tabel BigQuery bernama dlp-demo-2.dlp_testing.test_results.

Langkah 2: Hubungkan hasil ke Looker Studio

Selanjutnya, Anda akan menghubungkan tabel BigQuery yang dibuat di Langkah 1 ke laporan baru di Looker Studio.

  1. Buka Looker Studio.

    Membuka Looker Studio

  2. Klik Buat > Laporan.

  3. Di panel Tambahkan data ke laporan pada bagian Hubungkan ke data, klik BigQuery. Anda mungkin perlu memberikan otorisasi kepada Looker Studio untuk mengakses tabel BigQuery Anda.

  4. Di pemilih kolom, pilih Project saya. Kemudian, pilih project, set data, dan tabel. Setelah selesai, klik Tambahkan. Jika Anda melihat pemberitahuan bahwa Anda akan menambahkan data ke laporan ini, klik Tambahkan ke laporan.

Hasil pemindaian anonimitas k kini telah ditambahkan ke laporan Looker Studio baru. Pada langkah berikutnya, Anda akan membuat diagram.

Langkah 3: Buat diagram

Lakukan hal berikut untuk menyisipkan dan mengonfigurasi diagram:

  1. Di Looker Studio, jika tabel nilai muncul, pilih tabel tersebut, lalu tekan Delete untuk menghapusnya.
  2. Pada menu Sisipkan, klik Diagram kombinasi.
  3. Klik dan gambar persegi panjang di kanvas tempat Anda ingin diagram muncul.

Selanjutnya, konfigurasikan data diagram di tab Data sehingga diagram menunjukkan efek dari variasi ukuran dan rentang nilai bucket:

  1. Hapus kolom di bawah judul berikut dengan mengarahkan kursor ke setiap kolom dan mengklik X, seperti yang ditunjukkan di sini:
    Detail kolom stempel waktu dengan tombol hapus diaktifkan.
    • Dimensi Rentang Tanggal
    • Dimensi
    • Metrik
    • Urutkan
  2. Setelah semua kolom dihapus, tarik kolom upper_endpoint dari kolom Kolom yang tersedia ke judul Dimensi.
  3. Tarik kolom upper_endpoint ke judul Urutkan, lalu pilih Menaik.
  4. Tarik kolom bucket_size dan bucket_value_count ke judul Metrik.
  5. Arahkan kursor ke ikon di sebelah kiri metrik bucket_size dan ikon Edit akan muncul. Klik ikon Edit, lalu lakukan hal berikut:
    1. Di kolom Nama, ketik Unique row loss.
    2. Di bagian Type, pilih Percent.
    3. Di bagian Penghitungan perbandingan, pilih Persentase total.
    4. Di bagian Penghitungan berjalan, pilih Jumlah berjalan.
  6. Ulangi langkah sebelumnya untuk metrik bucket_value_count, tetapi di kolom Name, ketik Unique quasi-identifier combination loss.

Setelah selesai, kolom akan muncul seperti yang ditunjukkan di sini:

Screenshot daftar kolom.

Terakhir, konfigurasikan diagram untuk menampilkan diagram garis untuk kedua metrik:

  1. Klik tab Gaya di panel di sebelah kanan jendela.
  2. Untuk Seri #1 dan Seri #2, pilih Garis.
  3. Untuk melihat diagram akhir secara terpisah, klik tombol View di sudut kanan atas jendela.

Berikut adalah contoh diagram setelah menyelesaikan langkah-langkah sebelumnya.

Diagram akhir

Menafsirkan diagram

Diagram yang dihasilkan akan memetakan, pada sumbu y, potensi persentase kehilangan data untuk baris unik dan kombinasi quasi-ID unik yang akan dicapai, pada sumbu x, nilai k-anonymity.

Nilai anonimitas k yang lebih tinggi menunjukkan risiko identifikasi ulang yang lebih rendah. Namun, untuk mencapai nilai k-anonymity k yang lebih tinggi, Anda harus menghapus persentase total baris yang lebih tinggi dan kombinasi quasi-ID unik yang lebih tinggi, yang dapat menurunkan utilitas data.

Untungnya, menghapus data bukanlah satu-satunya opsi untuk mengurangi risiko re-identifikasi. Teknik penghapusan identitas lainnya dapat menyeimbangkan antara hilangnya informasi dan kegunaan. Misalnya, untuk mengatasi jenis kehilangan data yang terkait dengan nilai k-anonymity k yang lebih tinggi dan set data ini, Anda dapat mencoba mengelompokkan usia atau jabatan untuk mengurangi keunikan kombinasi usia/jabatan. Misalnya, Anda dapat mencoba mengelompokkan usia dalam rentang 20-25, 25-30, 30-35, dan seterusnya. Untuk mengetahui informasi selengkapnya tentang cara melakukannya, lihat Generalisasi dan bucketing serta De-identifikasi data sensitif dalam konten teks.