Memvisualisasikan risiko identifikasi ulang menggunakan Data Studio

Topik ini menunjukkan cara mengukur k-anonymity set data menggunakan Sensitive Data Protection dan memvisualisasikannya di Data Studio. Dengan demikian, Anda juga akan dapat lebih memahami risiko dan membantu mengevaluasi konsekuensi utilitas yang mungkin Anda buat jika Anda menyamarkan atau melakukan de-identifikasi data.

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

Topik ini mengasumsikan bahwa Anda sudah memahami konsep k-anonimitas dan kegunaannya untuk menilai kemampuan identifikasi ulang data dalam set data. Anda juga perlu memahami setidaknya sedikit cara menghitung k-anonymity menggunakan Sensitive Data Protection, dan cara menggunakan Data Studio.

Pengantar

Teknik de-identifikasi dapat membantu melindungi privasi subjek Anda saat Anda memproses atau menggunakan data. Namun, bagaimana Anda tahu apakah set data telah dide-identifikasi secara memadai? Bagaimana Anda tahu apakah de-identifikasi mengakibatkan 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 k-anonymity set data membantu menjawab pertanyaan ini dengan menilai kemampuan identifikasi ulang kumpulan data dalam set data. Sensitive Data Protection berisi fungsi bawaan untuk menghitung nilai anonimitas k pada set data berdasarkan quasi-identifier yang Anda tentukan. Hal ini membantu Anda mengevaluasi dengan cepat apakah melakukan de-identifikasi pada kolom atau kombinasi kolom tertentu akan menghasilkan set data yang lebih atau kurang mungkin untuk 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-identifier. Dalam skenario dunia nyata, Anda harus memastikan bahwa user_id diredaksi atau ditokenisasi dengan tepat. Kolom score bersifat eksklusif untuk set data ini, dan penyerang tidak mungkin dapat mempelajarinya dengan cara lain, sehingga Anda tidak akan menyertakannya dalam analisis. Fokus Anda akan tertuju pada kolom age dan title yang tersisa, yang dapat digunakan penyerang untuk mempelajari seseorang melalui sumber data lain. Pertanyaan yang ingin Anda jawab untuk set data ini adalah:

  • Apa efek yang akan ditimbulkan oleh dua quasi-identifier—age dan title—terhadap risiko identifikasi ulang secara keseluruhan dari data yang telah dide-identifikasi?
  • Bagaimana penerapan transformasi de-identifikasi akan memengaruhi 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 jabatannya adalah 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 Entity dan komputasi k-anonymity" di topik konseptual Analisis risiko.

Langkah 1: Hitung k-anonymity pada set data

Pertama, gunakan Sensitive Data Protection untuk menghitung k-anonymity 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-identifier sebagai kolom age dan title. Anda juga menginstruksikan Sensitive Data Protection untuk menyimpan hasilnya 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 k-anonymity selesai, Sensitive Data Protection akan mengirimkan hasil tugas ke tabel BigQuery bernama dlp-demo-2.dlp_testing.test_results.

Langkah 2: Hubungkan hasil ke Data Studio

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

  1. Buka Data Studio.

    Buka Data Studio

  2. Klik Create > Report.

  3. Di panel Add data to report di bagian Connect to data, klik BigQuery. Anda mungkin perlu memberikan otorisasi kepada Data 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 Data Studio baru. Pada langkah berikutnya, Anda akan membuat diagram.

Langkah 3: Buat diagram

Lakukan tindakan berikut untuk menyisipkan dan mengonfigurasi diagram:

  1. Di Data Studio, jika tabel nilai muncul, pilih tabel tersebut dan tekan Delete untuk menghapusnya.
  2. Di menu Insert, klik Combo chart.
  3. Klik dan gambar persegi panjang di kanvas tempat Anda ingin diagram muncul.

Selanjutnya, konfigurasikan data diagram di tab Data sehingga diagram menampilkan 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
    • Mengurutkan
  2. Setelah semua kolom dihapus, tarik kolom upper_endpoint dari kolom Available fields ke judul Dimension.
  3. Tarik kolom upper_endpoint ke judul Sort, lalu pilih Ascending.
  4. Tarik kolom bucket_size dan bucket_value_count ke judul Metric.
  5. Arahkan kursor ke ikon di sebelah kiri metrik bucket_size, dan ikon Edit akan muncul. Klik ikon Edit, lalu lakukan tindakan 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 sebelah kanan jendela.
  2. Untuk Series #1 dan Series #2, pilih Line.
  3. Untuk melihat diagram akhir saja, klik tombol View di sudut kanan atas jendela.

Berikut adalah contoh diagram setelah menyelesaikan langkah-langkah sebelumnya.

Diagram akhir

Menafsirkan diagram

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

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

Untungnya, menghapus data bukan satu-satunya opsi untuk mengurangi risiko re-identifikasi. Teknik de-identifikasi lainnya dapat memberikan keseimbangan yang lebih baik antara kerugian dan utilitas. Misalnya, untuk mengatasi jenis kehilangan data yang terkait dengan nilai k-anonymity 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 Melakukan de-identifikasi data sensitif dalam konten teks.