Differential Privacy (differentielle Privatsphäre) in Snowflake¶
Differentielle Privatsphäre ist ein weithin anerkannter Datenschutzstandard, der das Risiko beschränkt, dass ein Benutzer sensible Informationen aus einem sensiblen Datenset preisgibt. Es schützt die Identität und Informationen einzelner Entitäten in den Daten, z. B. Personen, Unternehmen und Speicherorte. Während die Informationen jeder einzelnen Entität geschützt sind, können die Datenverbraucher dennoch Statistiken, Trends und Verhaltensweisen über Gruppen von Personen erfahren.
Differential Privacy (differentielle Privatsphäre) bietet einen starken Schutz gegen Re-Identifizierung, der besonders wirksam gegen gezielte Angriffe auf die Privatsphäre ist. Dieser Schutz ermöglicht es Ihnen, sensible Daten teamübergreifend, außerhalb Ihrer Organisation und über behördliche Grenzen hinweg freizugeben. Differential Privacy (differenzielle Privatsphäre) mindert das erhöhte Risiko der Re-Identifizierung, das mit dem Zusammenführen zweier sensibler Datensets, dem Hinzufügen neuer Felder, dem Demaskieren vorhandener Felder oder der Bereitstellung einzelner Zeilen anstelle von voraggregierten Daten verbunden ist.
Im Gegensatz zu anderen Datenschutzmethoden leistet Differential Privacy (differentielle Privatsphäre) Folgendes:
Schützt vor gezielten Angriffen auf die Privatsphäre, z. B. Differenzierungs- und Verstärkungsangriffen.
Quantifiziert und verwaltet den Kompromiss zwischen Datenschutz und Nutzen, d. h. steuert, wie viele nicht-sensible Informationen Datenverbraucher über die Daten erfahren können.
Datenanbieter müssen sensible Daten nicht mehr umwandeln, um das Risiko einer erneuten Identifizierung zu verringern (z. B. Maskierung, Schwärzung und Bucketing).
Wie schützt der differentielle Datenschutz sensible Informationen?¶
Im Rahmen der differenzierten Privatsphäre dürfen Abfrageergebnisse keine Informationen preisgeben, die zur Identifizierung einer einzelnen Entität verwendet werden könnten. Snowflake unternimmt Folgendes, um Differential Privacy (differentiellen Datenschutz) durchzusetzen:
Verrauschte Aggregate¶
Differentielle Privatsphäre betreffende Abfragen müssen Daten aggregieren, um Ergebnisse zu liefern. Abfragen auf Zeilenebene wie SELECT *
sind gesperrt. Diese Aggregate sind verrauscht; sie sind nicht das genaue Ergebnis einer Berechnung. Rauschen (d. h. Variation oder Randomisierung) wird in das Ergebnis eingefügt, um zu verschleiern, ob eine bestimmte Zeile oder Entität in die Aggregation einbezogen wurde.
Das Hinzufügen von Rauschen schützt vor Angriffen auf die Privatsphäre wie Thin-Slicing und Differencing. Die Menge an Rauschen, die dem Abfrageergebnis hinzugefügt wird, hängt von mehreren Faktoren ab, die die Empfindlichkeit der Abfrage beeinflussen, darunter die Anzahl der abgefragten Datensätze, der Aggregattyp und die Arten von Datentransformationen. Snowflake berechnet die Sensitivität einer Abfrage auf der Grundlage strenger mathematischer Verfahren, aber man kann sie auch als das Potenzial der Abfrage verstehen, Informationen über eine einzelne Entität preiszugeben. Im Allgemeinen weisen weniger empfindliche Abfragen weniger Rauschen auf, das möglicherweise sogar statistisch vernachlässigbar ist. Sehr sensible Abfragen, z. B. eine Abfrage, die versucht, eine einzelne Entität herauszufinden, haben eine große Menge an Rauschen, um zu verhindern, dass sensible Informationen durchsickern.
Snowflake fügt kein Rauschen in die Zwischenaggregationen ein, die vor der endgültigen Aggregation der Abfrage stattfinden; das Rauschen wird nur einmal pro Abfrage eingefügt.
Snowflake betrachtet die Anzahl der Zeilen in der datengeschützten Tabelle als öffentlich. Die Ausführung von SELECT COUNT(*) FROM t
, bei der die Tabelle t
durch eine Datenschutzrichtlinie geschützt ist, liefert zum Beispiel ein exaktes Ergebnis, ohne dass ein Datenschutzverlust entsteht.
Weitere Informationen darüber, wie Sie die Menge an Rauschen verstehen können, finden Sie unter Abfrageergebnisse verstehen.
Beschränkung des Datenschutzverlustes¶
Jede Abfrage eines geschützten Datensets kann zur Preisgabe privater Informationen führen, die mit einer Person in Verbindung stehen, einschließlich der verrauschten aggregierten Ergebnisse, die differenzierte private Abfragen erzeugen. In der differenzierten Privatsphäre wird diese Offenlegung von Informationen als Datenschutzverlust bezeichnet und ist eine quantifizierbare Maßeinheit. Je mehr private Informationen durch eine Abfrage preisgegeben werden, desto höher ist der Datenschutzverlust, der mit dieser Abfrage verbunden ist. Da der Datenschutzverlust quantifizierbar ist, kann Snowflake die differentielle Privatsphäre nutzen, um sensible Daten über einen Verlauf von Abfragen bis zu einem bestimmten Maß an statistischer Sicherheit zu schützen.
Der Datenschutzverlust nimmt zu, wenn ein Benutzer Abfragen auf die geschützten Daten ausführt. Wenn der kumulative Datenschutzverlust einen bestimmten Schwellenwert erreicht, wäre es theoretisch möglich, dem Benutzer mehr Ergebnisse zu zeigen, um Personen mit einem inakzeptablen Maß an Vertraulichkeit zu identifizieren. Ein Datenschutzbudget setzt eine Beschränkung für die Akzeptanz des Datenschutzverlusts. Snowflake summiert den Datenschutzverlust bei den Abfragen, die von einem Benutzer oder einer Gruppe von Benutzern ausgeführt werden, und stellt sicher, dass diese Summe niemals das mit diesen Benutzern verbundene Datenschutzbudget überschreitet. Snowflake bietet ein anpassbares Datenschutzbudget mit einem vorkonfigurierten Standardwert, der den Schwellenwert für den Datenschutzverlust festlegt.
Snowflake verwendet eine Datenschutzrichtlinie, die ein Objekt auf Schemaebene ist, um ein Datenschutzbudget mit einem Benutzer oder einer Gruppe von Benutzern zu verknüpfen. Wenn ein Administrator diese Datenschutzrichtlinie einer Tabelle oder Ansicht zuweist, wird diese datenschutzgeschützt. Wenn ein Benutzer eine Abfrage gegen eine datenschutzgeschützte Tabelle durchführt, verwendet Snowflake die Datenschutzrichtlinie, um festzustellen, welches Datenschutzbudget mit dem Benutzer verknüpft ist, und stellt sicher, dass der durch die Abfrage verursachte Datenschutzverlust die Beschränkung des Budgets nicht überschreitet.
Differential Privacy (differentielle Privatsphäre) in der Theorie und in der Praxis¶
Der Standard der differentiellen Privatsphäre stammt aus der akademischen Literatur und wurde formuliert, um starke, mathematisch bewiesene Datenschutzgarantien zu haben, insbesondere gegen theoretische Datenschutzangriffe. Insbesondere werden Datenschutzeinstellungen wie das Datenschutzbudget konservativer festgelegt, wenn sie in akademischen Kontexten diskutiert werden. Diese Einstellungen begünstigen einen starken Schutz gegen theoretische Datenschutzangriffe auf Kosten des Datennutzens (analytische Präzision und Verfügbarkeit). Bei der Abwägung zwischen Datenschutz und Nutzen für Ihren Anwendungsfall, auch bei hochsensiblen Daten wie PII und PHI, sollten Sie Folgendes berücksichtigen:
Praktische Datenschutzangriffe sind nicht so effektiv wie theoretische Datenschutzangriffe, die in der akademischen Literatur beschrieben werden und davon ausgehen, dass Angreifer über unbegrenzte Computeressourcen und Zugriff auf alle Datensets außer dem, den sie angreifen, verfügen.
Datenverbraucher wollen in der Regel keine absichtlichen Angriffe starten, da der Datenanbieter den Datenzugriff des Verbrauchers widerrufen kann und der analytische Wert der Daten zu hoch ist, als dass sie das Risiko eingehen würden, diese zu verlieren.
Snowflake hat Standardeinstellungen gewählt, die den Datenschutz und den Nutzen in Einklang mit den Zielen realer Anwendungsfälle bringen, aber Sie können jederzeit andere Einstellungen vornehmen, um Ihre speziellen Bedürfnisse zu erfüllen.
Workflow für Differential Privacy (differentielle Privatsphäre)¶
Der folgende Workflow besteht aus Aufgaben für den Datenanbieter, der seine Daten mit differentieller Privatsphäre schützt, und Aufgaben für einen Analysten, der die Daten abfragt, nachdem sie geschützt wurden.
Datenanbieter:
Wenn Sie Datenschutz auf Entitätsebene implementieren möchten, strukturieren Sie Ihre Daten so, dass sie den Anforderungen entsprechen.
Erstellen Sie eine Datenschutzrichtlinie, die Datenschutzbudgets mit Benutzern basierend auf Faktoren wie Rolle oder Konto verknüpft.
Weisen Sie die Datenschutzrichtlinie einer Tabelle oder Ansicht zu, sodass Abfragen die differentielle Privatsphäre berücksichtigen müssen.
Definieren Sie einen Datenschutzbereich für numerische und kategoriale Spalten in der datenschutzgeschützten Tabelle oder Ansicht.
Erteilen Sie den Analysten Berechtigungen, damit sie auf die datenschutzrechtlich geschützten Daten zugreifen können.
Während Analysten Abfragen auf die datenschutzgeschützten Daten ausführen, können Sie die mit den Benutzern verbundenen Datenschutzbudgets verwalten.
Analyst:
Sehen Sie sich die Datenschutzbereiche an, die der Datenanbieter für die Spalten in der datenschutzgeschützten Tabelle definiert hat, um den Inhalt der Spalte besser zu verstehen.
Wenn der Datenanbieter vergessen hat, einen Datenschutzbereich für eine Spalte festzulegen, die Sie in einer Aggregation oder in einer GROUP BY-Klausel verwenden möchten, geben Sie den Datenschutzbereich für die Spalte an.
Ausführen von Abfragen mit differentieller Privatsphäre differentiell auf datenschutzgeschützte Tabellen und Ansichten aus.
Verwenden Sie das Rauschintervall, um die Ergebnisse einer Aggregation zu verstehen.
Falls gewünscht, schränken Sie den Datenschutzbereich des Datenanbieters ein, um zu versuchen, die Abfrageergebnisse zu verbessern.
Einschränkungen¶
Wenn eine Tabelle datenschutzgeschützt ist, können Analysten nur die folgenden Datentypen abfragen:
Zeichenfolgen-Datentypen. Binäre Typen werden nicht unterstützt.
Datentypen für Datum/Uhrzeit. Für Zeitstempel wird nur TIMESTAMP_NTZ unterstützt.
Einige Snowflake-Features werden derzeit nicht unterstützt, wenn Sie Differential Privacy (differentielle Privatsphäre) verwenden. Weitere Details dazu finden Sie unter Interaktionen mit Snowflake-Features.
Die Abfragefunktionalität ist beschränkt, um den Datenschutz zu gewährleisten. Eine Liste der unterstützten Operatoren, Abfragesyntaxen und Funktionen finden Sie unter SQL-Referenz für Differential Privacy (differentielle Privatsphäre).
Wenn eine Abfrage auf eine datenschutzgeschützte Tabelle ausgeführt wird, berechnet Snowflake zunächst Statistiken, die beeinflussen, wie viel Rauschen hinzugefügt wird, und führt dann die Abfrage aus. Wenn sich die Daten zwischen diesen beiden Schritten ändern, kann die Menge des hinzugefügten Rauschens falsch sein. Snowflake empfiehlt Datenanbietern, Zeitpläne für Datenaktualisierungen aufzustellen, damit diese nicht stattfinden, wenn Analysten Abfragen durchführen können.
Nächste Schritte¶
Wenn Sie ein Datenanbieter sind, der Differential Privacy (differentielle Privatsphäre) zum Schutz seiner Daten einsetzt, sehen Sie unter Implementierung von Differential Privacy nach.
Wenn Sie ein Analyst sind, der einen Datenset abfragt, der durch differentielle Privatsphäre geschützt ist, lesen Sie Abfragen von Daten, die durch differentielle Privatsphäre geschützt sind.