密碼編譯運算參數 - AWS Clean Rooms

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

密碼編譯運算參數

密碼編譯運算參數可在建立協作時使用 Cryptographic Computing for Clean Rooms(C3R) 進行協作。 建立協同合作您可以使用 AWS Clean Rooms 主控台或 CreateCollaboration API 操作建立協同合作。在 主控台中,您可以在開啟支援密碼編譯運算選項之後,在密碼編譯運算參數中設定參數的值。如需詳細資訊,請參閱下列主題。

允許cleartext資料欄參數

在 主控台中,您可以在建立協同合作時設定允許cleartext資料欄參數,以指定具有加密cleartext資料的資料表中是否允許資料。

下表說明允許cleartext資料欄參數的值。

參數值 Description

Cleartext 加密資料表中不允許 欄。所有資料都會受到密碼編譯保護。

Cleartext 加密資料表中允許 欄。

Cleartext 資料欄不受密碼編譯保護,並會包含為 cleartext。您應該記下資料列cleartext的資料在資料表中可能顯示的其他資料。

若要在特定資料欄AVG上執行 SUM或 ,資料欄必須位於 中cleartext。

使用 CreateCollaboration API 操作,對於 dataEncryptionMetadata 參數,您可以將 的值設定為 allowCleartexttruefalse。如需 API 操作的詳細資訊,請參閱 AWS Clean Rooms API 參考

Cleartext 資料欄對應至資料表特定結構描述cleartext中分類為 的資料欄。這些資料欄中的資料不會加密,而且可以以任何方式使用。如果資料不敏感和/或需要比加密Cleartext資料欄或fingerprint資料欄允許的更多彈性,資料sealed欄可能很有用。

允許重複參數

在 主控台中,您可以在建立協同合作時設定允許重複參數,以指定為JOIN查詢加密的資料欄是否可以包含重複的非NULL值。

重要

允許重複允許具有不同名稱的資料JOIN欄,以及保留NULL值參數具有個別但相關的效果。

下表說明 Allow duplicates 參數的值。

參數值 Description

資料fingerprint欄中不允許重複的值。單一資料fingerprint欄中的所有值都必須是唯一的。

資料fingerprint欄中允許重複的值。

如果您需要使用重複值聯結資料欄,請將此值設定為。當設定為時,C3R 資料表或結果中的資料fingerprint欄中出現的頻率模式可能表示有關cleartext資料結構的一些額外資訊。

使用 CreateCollaboration API 操作,對於 dataEncryptionMetadata 參數,您可以將 的值設定為 allowDuplicatestruefalse。如需 API 操作的詳細資訊,請參閱 AWS Clean Rooms API 參考

根據預設,如果必須在JOIN查詢中使用加密的資料,C3R 加密用戶端會要求這些資料欄沒有重複的值。這項要求是為了提高資料保護。此行為有助於確保資料中重複的模式無法觀察。不過,如果您想要在JOIN查詢中使用加密的資料,並且不擔心重複值,則允許重複參數可以停用此保守檢查。

允許具有不同名稱參數JOIN的資料欄

在 主控台中,您可以在建立協同合作時設定允許具有不同名稱參數JOIN的資料欄,以指定是否支援不同名稱的資料欄之間的JOIN陳述式。

如需詳細資訊,請參閱資料欄標頭名稱的標準化

下表說明使用不同名稱參數JOIN允許資料欄的值。

參數值 Description

不支援聯結具有不同名稱的資料fingerprint欄。 JOIN陳述式只會在具有相同名稱的資料欄上提供準確的結果。

重要

值可提高資訊安全,但要求協同合作參與者先前同意資料欄名稱。如果兩個資料欄在加密為fingerprint資料欄時具有不同的名稱,且允許具有不同名稱JOIN的資料欄設定為,則這些資料欄上的JOIN陳述式不會產生任何結果。這是因為加密後不會在它們之間共用任何值。

支援聯結具有不同名稱的資料fingerprint欄。為了提高靈活性,使用者可以將此值設定為,這允許資料欄上的JOIN陳述式,無論其資料欄名稱為何。

如果設定為,C3R 加密用戶端在保護資料欄時不會考慮資料fingerprint欄名稱。因此,可在 C3R 資料表中觀察不同fingerprint資料欄之間的共同值。

例如,如果資料列在City資料欄和State資料欄中具有相同的加密JOIN值,則推斷該值為 可能是合理的New York

使用 CreateCollaboration API 操作,對於 dataEncryptionMetadata 參數,您可以將 的值設定為 allowJoinsOnColumnsWithDifferentNamestruefalse。如需 API 操作的詳細資訊,請參閱 AWS Clean Rooms API 參考

根據預設,資料fingerprint欄加密會受到該資料欄targetHeader的 影響,在 中設定步驟 4:產生表格式檔案的加密結構描述。因此,相同的cleartext值在加密的每個不同資料fingerprint欄中都有不同的加密表示法。

在某些情況下,此參數有助於防止cleartext值推論。例如,在資料fingerprint欄中看到相同的加密值City,並State可能用於合理推斷該值為 New York。不過,此參數的使用需要事先進行額外的協調,因此要加入查詢的所有資料欄都有共用的名稱。

您可以使用允許具有不同名稱參數JOIN的資料欄來鬆散此限制。當參數值設定為 時Yes,它允許將 加密的任何資料欄一起使用JOIN,無論名稱為何。

保留NULL值參數

在 主控台中,您可以在建立協同合作時設定保留NULL值參數,以表示該資料欄不存在任何值。

下表說明保留值參數NULL的值。

參數值 Description

NULL 值不會保留。 NULL 值不會在加密資料表NULL中顯示為 。 NULL值會在 C3R 資料表中顯示為唯一的隨機值。

NULL 值會保留。 NULL 值會在加密的資料表NULL中顯示為 。如果您需要NULL值的 SQL 語意,您可以將此值設定為。因此,無論資料欄是否已加密,無論允許重複項目的參數設定為何,NULL項目都會在 C3R 資料表NULL中顯示為 。

使用 CreateCollaboration API 操作,對於 dataEncryptionMetadata 參數,您可以將 的值設定為 preserveNullstruefalse。如需 API 操作的詳細資訊,請參閱 AWS Clean Rooms API 參考

協同合作的保留NULL值參數設定為時:

  1. NULL cleartext資料欄中的項目保持不變。

  2. NULL 加密資料fingerprint欄中的項目會加密為隨機值,以隱藏其內容。在具有資料欄中NULL項目的加密cleartext資料欄上聯結不會產生任何項目的任何相符NULL項目。不會進行任何比對,因為它們都會收到自己的唯一隨機內容。

  3. NULL 加密sealed欄中的項目會加密。

保留NULL值參數的值針對協同合作設為時,NULL無論資料欄是否加密,所有資料欄NULL的項目都會保持為 。

保留NULL值參數在資料擴充等案例中非常有用,其中您想要分享的資訊不足,以 表示NULL。如果您在想要 fingerprint或 的欄中有NULL值,則保留NULL值參數在 JOIN或 HMAC 格式中也很有用GROUP BY。

如果允許重複保留NULL值參數的值設定為,則fingerprint欄中有一個以上的NULL項目會產生錯誤並停止加密。如果任一參數的值設定為,則不會發生此類錯誤。