PAM360 中的自定义加密

默认情况下,PAM360 使用 AES-256 对称加密算法对 PAM360 保险库中的所有密码和敏感信息进行加密,数据库中仅存储加密后的数据。 系统会自动生成一个主加密密钥(每个安装实例独有),整个加密和解密过程(包括密钥生成和加密逻辑)均在 PAM360 类文件内部完成。因此,完整的数据加密和解密生命周期都在 PAM360 内部进行。

除了默认的加密方法外,PAM360 还支持自定义加密,允许您自定义加密和解密方法。您可以通过实现带有 setter 和 getter 方法的PMPEncryptDecryptJava 接口来实现这一点,并在其中使用您自己的加密密钥和逻辑。因此,PAM360 为数据安全提供了更大的灵活性和控制权。

注意

在配置自定义加密之前,请对 PAM360 文件夹和pam360_key.key文件进行完整备份。如果数据库服务器托管在另一台机器上,请复制整个 PAM360 数据库。这一预防措施对于避免配置过程中出现问题时可能导致的数据丢失至关重要。

本文档涵盖以下主题:

  1. 个人密码管理
  2. 在 PAM360 中实现自定义加密的步骤

1. 个人密码管理

如果您或您组织中的其他用户已使用 PAM360 中的“个人密码管理”功能,并选择了指定个人加密密钥(该密钥不存储在 PAM360 中),请注意:配置自定义加密将导致“个人”选项卡中存储的数据丢失,且后续无法恢复。因此,应建议用户在进行自定义加密配置之前,先使用“个人”选项卡中的“导出密码”选项。
export_passwords

2. 在 PAM360 中实施自定义加密的步骤

要在现有的 PAM360 安装中实现自定义加密,您需要编写一个实现类来实现您自己的加密逻辑,并执行该类。具体实施步骤如下:

  1. 编写您自己的实现类。
    1. 创建一个实现PMPEncryptDecrypt.java接口的类,以定义您的自定义加密和解密逻辑。
    2. 请参阅 文档以获取更多详细信息。

      其他详细信息

      1. 该类中的generateCryptographicKey()方法应在每次被调用时生成并返回一个新的 32 位密钥,而getPmp32BitKey()方法应返回上次生成的 32 位密钥。
      2. getMSSQLMasterKey()方法应返回在将 MSSQL Always-On 集群设置为后端数据库时所使用的数据库主加密密钥。如果返回值为null或空字符串,则不会处理集群级节点的切换操作。

      注意

      • 请确保正确实现getMSSQLMasterKey()方法。从 PAM360 Build 8100 版本起,该方法返回的密钥将存储在<PAM360-安装目录>/conf/masterkey.key文件中,并用于加密操作。
      • 在 PAM360 Build 8100 中,部分现有方法已被废弃,并将很快无法使用。此外,还引入了新方法以增强 PAM360 的整体安全性和加密处理能力。
  2. 归档您的实现类。
    1. 将您的实现类转换为.jar文件(例如SampleEncryption.jar)。
    2. .jar文件移动到<PAM360-安装目录>/lib文件夹中。
  3. 在继续下一步之前,请停止 PAM360 服务器。
  4. 执行“Migrate Cryptography”脚本。
    1. 场景 1:未配置高可用性/故障转移服务
      1. <PAM360_Installation_Directory>\bin文件夹中执行MigrateCryptography.bat脚本,并将您的实现类作为参数传递。
      2. 脚本用法:MigrateCryptography.bat com.org.crypto.SampleEncryptDecrypt
    2. 场景 2:已配置高可用性/故障转移服务
      1. 停止并卸载辅助服务器。
      2. 通过执行MigrateCryptography.bat 在主服务器上配置自定义加密。
      3. 安装一个全新的 PAM360 辅助实例。
      4. 重新配置高可用性/故障转移服务。HAPack.zipFOSPack.zip将包含自定义加密 jar 文件。
  5. pmped.conf文件中添加自定义加密配置。
    1. 打开位于<PAM360-安装目录>/conf文件夹中的pmped.conf文件。
    2. 在文件中找到EDCLASS条目,并在其旁边添加如下所示的条目。
      1. EDCLASS=com.adventnet.passtrix.ed.PMPEncryptDecryptImpl
        EDJARS=MyOwnEncDecImpl1.jar,MyOwnEncDecImpl2.jar
      2. 此处,MyOwnEncDecImpl1.jarMyOwnEncDecImpl2.jar是示例加密 JAR 文件。请根据需要重命名您的 JAR 文件,并以逗号分隔的形式指定一个或多个 JAR 文件。
    3. 如果您使用的是第三方 JAR 文件,请先列出它们,然后列出您的实现类。
  6. 启动 PAM360 服务器以应用更改并激活此实现。



Top