注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

入门指南

本指南包括以下部分:

创建 Cipher Channel

创建 Cipher Channel 时,您首先会被要求选择一个加密算法,然后再创建一个密钥。有两种方式可以创建新的 Cipher Channel:

选项 1:通过平台文件系统创建 Cipher Channel

导航到您选择的项目,然后通过选择 + New > Cipher Channel 来创建新的 Cipher Channel。选择您所需的算法;我们建议使用 AES SIV 以对加密值进行合并。

Channel action

如果您在 Foundry 文件系统中无法创建 Cipher Channel,请联系您的 Palantir 代表以获取支持。

选项 2:通过 Cipher 应用程序创建 Cipher Channel

导航到面板左侧,在 Platform Apps > Data Governance 下查找 Cipher,按照选项 1 中的相同说明进行操作。

Channel Dialog

如何选择加密算法

屏幕上的指南将引导您使用所需的协议创建 Cipher Channel。以下是一些可能帮助您决定为您的应用案例选择哪种配置的额外细节:

  • 算法: Cipher 目前支持以下算法:
    • 基于文本的:AES_GCM_SIV 概率加密算法,AES_SIV 确定性加密算法,SHA-256 哈希算法(带有盐),以及 SHA-512 哈希算法(带有盐)。
    • 基于图像的:视觉模糊图像扰乱

哈希和加密之间的主要区别在于加密值可以在用户拥有适当权限时被解密,而哈希值不能通过加密操作去模糊或重新识别。如果您的应用案例需要重新识别,我们建议使用加密。

概率加密和确定性加密之间的主要区别如下:

  • 概率加密: 相同的输入将始终产生不同的输出。
  • 确定性加密: 相同的输入将始终产生相同的输出。
  • 哈希: 始终是确定性的。

视觉模糊图像扰乱算法是确定性且可逆的。

选择确定性和概率算法时应考虑的一些因素包括:

  • 如果您需要对加密数据进行合并或聚合,则需要一个确定性算法。
  • 如果您想加密的数据具有低基数或众所周知的统计分布,您可能希望选择概率算法以限制对加密数据的字典或统计攻击的风险。

如何配置加密系统密钥

屏幕上的指南将引导您配置加密系统。根据您之前选择的加密算法,您将有不同的密钥格式可供选择以保护您的敏感数据。

  • 密钥:
    • 加密: 有两种密钥检索方法可以让您从密钥中派生密钥:
      • 拉伸密钥派生(推荐):Cipher 服务将通过应用传统上加强密钥的方法从您的密钥中派生密钥。请注意,您可以通过单击密钥按钮随机生成密钥。
      • 单一密钥:这种方法不包括派生函数。如果您已经有一个设计良好的 AES_SIV 密钥,并希望将其用作密钥本身,我们建议使用此方法。这应该输入为长度为 64 的 base64 编码字符串。
    • 哈希: 哈希密钥创建:
      • 我们建议通过在终端中运行命令(至少 14 个字符并随机生成)自行创建哈希密钥。
      • 或者,您可以通过单击密钥按钮随机生成密钥。
    • 视觉模糊: 图像扰乱种子:
      • 提供一个长的随机数,将用作种子来生成序列,以重新排列和修改图像中的像素。

点击 Create cipher channel 将完成 Cipher Channel 的创建过程。

签发 License

要签发 Cipher Licenses,请导航到 Cipher Channel 并点击 Create New Cipher License 按钮。

签发 Cipher License

要授予用户对 Cipher License 允许的操作的访问权限,请授予他们对 License 的查看访问。

您可以在三种类型的 License 中进行选择:

操作用户 License数据管理 License管理员 License
可在单元级审核
可以强制执行速率限制
用于加密/解密整列
有效授予对加密密钥的访问⚠️
可用于
Object 层(Workshop、Object Explorer 等)
函数(参见绕过检查点
Pipeline Builder
Contour
代码创作

操作用户 License

操作用户 License(原“前端 License”)使 Foundry 用户能够加密或解密单个值。

操作用户 License 的两个可配置权限是:

  • 单个值的加密/哈希: 通过 Foundry 应用程序进行单值加密或哈希。您可以为此操作设置速率限制计数器。
  • 单个值的解密: 通过 Foundry 应用程序进行单值解密。您可以为此操作设置速率限制计数器。此配置可以帮助允许用户通过诸如 Workshop 和 Object Explorer 等前端查看特定的加密值。

速率限制是一个非必填配置,指示在配置的时间内允许个人执行的单值加密操作的数量。如果用户超过限制,他们将被阻止,直到周期重置。

使用操作用户 License 执行的操作是完全可审核的。

绕过检查点

允许 License 绕过检查点意味着该 License 可以在无法显示检查点的地方使用,例如 函数 或直接的 API 调用。使用此 License 的操作仍然可在单元级审核且受速率限制。

数据管理 License

数据管理 License(原“高信任 License”)使 Foundry 用户能够使用诸如 Pipeline Builder 和 Contour 等工具加密或解密整个数据集列。此配置可以帮助那些受益于点选工具的用户,以及有严格安全顾虑的用户。了解更多关于在 Pipeline Builder 中使用 Cipher的信息。

数据管理 License 的两个可配置权限是:

  • 列级加密/哈希: 通过诸如 Pipeline Builder 和 Contour 等工具对数据集列进行加密或哈希。
  • 列级解密: 通过诸如 Pipeline Builder 和 Contour 等工具对数据集列进行解密。

管理员 License

管理员 License(原“变换 License”)使 Foundry 用户能够在代码库中加密或解密整个数据集列,并授予他们对加密密钥的访问权限。

在变换中允许操作有效地授予用户对加密密钥的访问权限。确保仅将此 License 的访问权限授予权限较高的用户。

管理员 License 的两个可配置权限是:

  • 加密/哈希管理员: 在代码库中对数据集列进行加密或哈希以及对加密密钥的访问。
  • 解密管理员: 在代码库中对数据集列进行解密以及对解密密钥的访问。

演练指南

一旦您熟悉了上述步骤,请参考本教程以指导您如何使用 Cipher 应用程序执行加密操作。

本教程使用假想的员工数据。本文件中共享的所有信息(如但不限于图像和附带的数据集)均为假想。

重现步骤

在开始之前,下载假想员工数据集上传到 Foundry

  1. 在您的默认位置创建 Cipher Channel
  2. 创建具有加密许可的数据管理 License
  3. 使用 Pipeline Builder 加密敏感列: 创建新 pipeline,并在右上角选择 + New > Pipeline 以将员工数据集导入 Pipeline Builder。然后,选择 Cipher encrypt 变换,使用您刚创建的数据管理 License 并应用于数据集的 Employee_name 列。该列现在应该被加密。一旦加密完成,您可以为数据集添加 Object type pipeline 输出,并使用 Employee_number 作为主键和标题。(了解更多关于Pipeline Builder的信息)

使用 Pipeline Builder 加密列

  1. 添加 Object 输出:导航到 Pipeline outputs 下的旋转图标上的 Output settings。选择 Target ontologyOutput folder 并点击保存。访问此数据集中的任何对象时,您会注意到之前加密的一组值现在变得无法访问且不可查看。下一步将提供如何解密这些值的说明。

配置密文属性类型

  1. 创建操作用户 License:返回到您的 Cipher Channel,并创建新的具有解密许可的操作用户 License。此 License 将允许您对对象执行解密。与上述操作相同,您现在应该能够解密对象的值。

使用 Cipher 解密请求的工作流程