Transformationsreferenz

In diesem Thema werden die verfügbaren Verfahren bzw. Transformationen zur De-Identifikation im Schutz sensibler Daten beschrieben.

Arten von De-Identifikationstechniken

Die Auswahl der gewünschten Transformation zur De-Identifikation richtet sich nach der Art der Daten, die Sie de-identifizieren möchten, und zu welchem Zweck dies geschehen soll. Die von Sensitive Data Protection unterstützten Verfahren zur De-Identifikation fallen in die folgenden allgemeinen Kategorien:

  • Entfernen: Löscht einen erkannten sensiblen Wert ganz oder teilweise.
  • Ersetzen: Ersetzt einen erkannten sensiblen Wert durch einen angegebenen Ersatzwert.
  • Maskieren: Ersetzt eine Anzahl von Zeichen eines sensiblen Werts durch ein angegebenes Ersatzzeichen, z. B. eine Raute (#) oder ein Sternchen (*).
  • Kryptobasierte Tokenisierung: Verschlüsselt den ursprünglichen Wert der sensiblen Daten mithilfe eines kryptografischen Schlüssels. Der Schutz sensibler Daten unterstützt verschiedene Arten der Tokenisierung, einschließlich Transformationen, die rückgängig gemacht oder „re-identifiziert“ werden können.
  • Bucketing: "Verallgemeinert" einen sensiblen Wert, indem er durch einen Wertebereich ersetzt wird. Beispiel: Ein bestimmtes Alter wird durch einen Altersbereich oder Temperaturen durch Bereiche mit den Bezeichnungen "Heiß", "Mittel" und "Kalt" ersetzt.
  • Datumsverschiebung: Verschiebt sensible Datumswerte um eine zufällige Zeitdauer.
  • Zeitextraktion: Extrahiert bestimmte Teile von Datums- und Uhrzeitwerten oder behält sie bei.

Im weiteren Verlauf dieses Themas werden die verschiedenen Arten von Transformationen zur De-Identifikation beschrieben und Beispiele für ihre Verwendung gegeben.

Transformationsmethoden

In der folgenden Tabelle sind die Transformationen aufgeführt, die Sensitive Data Protection zur De-Identifikation sensibler Daten bereitstellt:

Transformation Objekt Beschreibung Umkehrbar1 Referenzielle Integrität2 Eingabetyp
Entfernen RedactConfig Entfernt einen Wert. Alle
Ersetzen ReplaceValueConfig Ersetzt jeden Eingabewert durch einen bestimmten Wert. Beliebig
Durch Wörterbuch ersetzen ReplaceDictionaryConfig Ersetzt einen Eingabewert durch einen Wert, der zufällig aus einer Wortliste ausgewählt wird. Beliebig
Ersetzen durch infoType ReplaceWithInfoTypeConfig Ersetzt einen Eingabewert durch den Namen seines infoType. Alle
Maskieren mit Zeichen CharacterMaskConfig Maskiert einen String entweder vollständig oder teilweise, wobei eine bestimmte Anzahl von Zeichen durch ein festgelegtes Zeichen ersetzt wird. Alle
Pseudonymisierung durch Ersetzen des Eingabewerts durch kryptografisches Hash CryptoHashConfig Ersetzt Eingabewerte durch einen 32-Byte-Hexadezimalstring, für dessen Generierung ein bestimmter Datenverschlüsselungsschlüssel verwendet wurde. Weitere Informationen finden Sie in der Dokumentation zu Konzepten der Pseudonymisierung. Strings oder Ganzzahlen
Pseudonymisierung durch Ersetzen mit kryptografischem, das Format erhaltendem Token CryptoReplaceFfxFpeConfig Ersetzt einen Eingabewert mit einem „Token“ bzw. Ersatzwert gleicher Länge, wobei eine das Format erhaltende Verschlüsselung (FPE) im Betriebsmodus FFX verwendet wird. Dadurch kann die Ausgabe in Systemen verwendet werden, die das Format auf Länge prüfen. Dies ist nützlich für Legacy-Systeme, bei denen die Stringlänge beibehalten werden muss. Wichtig: Verwenden Sie CryptoDeterministicConfig für Eingaben, die in der Länge variieren oder länger als 32 Byte sind. Zur Wahrung der Sicherheit empfiehlt das National Institute of Standards and Technology folgende Limits:
  • radix^max_size <= 2^128.
  • radix^min_len >= 100
Strings oder Ganzzahlen mit einer begrenzten Anzahl von Zeichen und einheitlicher Länge. Das Alphabet muss aus mindestens 2 und maximal 95 Zeichen bestehen.
Pseudonymisierung durch Ersetzen mit kryptografischem Token CryptoDeterministicConfig Ersetzt einen Eingabewert durch ein Token oder einen Ersatzwert derselben Länge, wobei AES im Synthetic Initialization Vector-Modus (AES-SIV) verwendet wird. Diese Transformationsmethode hat im Gegensatz zur formaterhaltenden Tokenisierung keine Einschränkung für unterstützte Stringzeichensätze, generiert identische Tokens für jede Instanz eines identischen Eingabewerts und verwendet Ersatzwerte, um die Re-Identifikation anhand der ursprünglichen Verschlüsselung zu ermöglichen. Alle
Gruppieren von Werten in Buckets auf der Grundlage von festen Größenbereichen FixedSizeBucketingConfig Maskiert Eingangswerte, indem sie durch Buckets oder Bereiche ersetzt werden, in die der Eingabewert fällt. Alle
Gruppieren von Werten in Buckets auf der Grundlage von benutzerdefinierten Größenbereichen BucketingConfig Gruppiert Eingabewerte in Buckets basierend auf frei konfigurierbaren Bereichen und Ersatzwerten. Alle
Datumsverschiebung DateShiftConfig Verschiebt Datumsangaben um eine zufällige Anzahl von Tagen, wobei die Option der Einheitlichkeit in demselben Kontext besteht.
Bewahrt Reihenfolge und Dauer
Datumsangaben/Uhrzeiten
Extrahieren von Zeitdaten TimePartConfig Extrahiert oder bewahrt einen Teil von Date-, Timestamp- und TimeOfDay-Werten. Datumsangaben/Uhrzeiten

Fußnoten

1Umkehrbare Transformationen können rückgängig gemacht werden, um die sensiblen Daten mithilfe der Methode content.reidentify zu re-identifizieren.
2Durch referenzielle Integrität können Datensätze ihre Beziehung zueinander aufrechterhalten, auch wenn die Daten de-identifiziert werden. Bei demselben Crypto-Schlüssel und demselben Kontext werden die Daten zum Beispiel mit jeder Transformation durch dieselbe verschleierte Form ersetzt, sodass die Verbindungen zwischen den Datensätzen erhalten bleiben.

Entfernen

Wenn Sie sensible Daten einfach nur aus den Eingabeinhalten entfernen möchten, können Sie eine von Sensitive Data Protection unterstützte Entfernungstransformation verwenden (RedactConfig in der DLP API).

Angenommen, Sie möchten eine einfache Entfernung aller EMAIL_ADDRESS-infoTypes ausführen und der folgende String wird an Sensitive Data Protection gesendet:

My name is Alicia Abernathy, and my email address is aabernathy@example.com.

Der zurückgegebene String sieht so aus:

My name is Alicia Abernathy, and my email address is .

Das folgende JSON-Beispiel und die Codes in mehreren Sprachen zeigen, wie die API-Anfrage formuliert wird und was die DLP API zurückgibt.

C#

Informationen zum Installieren und Verwenden der Clientbibliothek für Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Sensitive Data Protection die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


using System;
using System.Collections.Generic;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dlp.V2;

public class DeidentifyDataUsingRedactWithMatchedInputValues
{
    public static DeidentifyContentResponse Deidentify(
        string projectId,
        string text,
        IEnumerable<InfoType> infoTypes = null)
    {
        // Instantiate the client.
        var dlp = DlpServiceClient.Create();

        // Construct inspect config.
        var inspectConfig = new InspectConfig
        {
            InfoTypes = {