如何使用PAM360中的自定义加密(加密和解密)?

默认情况下,PAM360使用 AES-256 对称加密算法加密所有密码和其它敏感信息,并且仅将这些加密数据存储在密码数据库中。 主加密密钥是自动生成的,对于每个安装都是独一无二的。 使用该方法,整个加密和解密方法都写在PAM360类文件中。因此,密钥生成和加密逻辑都由 PAM360来处理。

除了默认的加密技术之外,PAM360还提供一个使用自定义加密(即加密和加密) 的选项。例如,可以通过调用我们Java接口“PAM360EncryptDecrypt” 的setter 和 getter 方法,实现使用自有的密钥和加密逻辑执行加密和解密。

重要说明:-在配置自定义加密之前,请备份PAM360整个安装文件夹。 如果数据库服务器是在不同的计算机上配置的,请确保PAM360的数据库也有相应的备份。如果配置过程中出现任何问题,做到可以有备份进行恢复。 此外,请就以下方面采取必要的措施:

个人密码管理:

如果组织中的用户使用了PAM360中的"个人密码管理"功能,需要注意的是,因为该功能要求用户指定加密密钥,而该密钥并不存储在PAM360 中,在配置自定义加密时,这些数据最终将丢失,且无法恢复。因此,在配置自定义加密之前,必须建议用户在个人密码部分使用"导出密码"选项,导出其所有的个人密码。

在现有PAM360中实现自定义加密的步骤

关于如何在PAM360中配置自定义加密,以及编写并实现以自己的加密逻辑运行的加密方法,参考以下步骤:

第 1 步:编写自己的实现类

您需要首先编写自己的类,实现接口 PAM360EncryptDecrypt.java的功能。

有关接口 PAM360EncryptDecrypt,请参阅javadoc了解更多详细信息。

注意:

  • 类中的generateCryptographicKey()方法无论在何时被调用时,都应生成并返回一个新的32bit密钥,而getPam32BitKey()无论在何时被调用时,应返回上个生成的32bit密钥。
  • getMSSQLMasterKey()应返回数据库的主加密密钥,该密钥在设置MSSQL Always-On集群作为后台数据库时使用。如果返回的值为空或空字符串,那么集群级别的“切换操作”将无法处理。

第 2 步:归集实现类

现在,将实现类转换为SampleEncryption.jar 并将其放置到<PAM360 Installation Folder>/lib目录下

第 3 步:停止PAM360服务

如果PAM360正在运行,请停止它的服务

第 4 步:执行迁移加密脚本

    场景1:未配置高可用性/故障转移服务

    执行主目录bin文件夹下的MigrateCryptography.bat,并采用实现类作为参数。

    调用举例:MigrateCryptography.bat com.org.crypto.SampleEncryptDecrypt

    场景2:在配置了高可用性/故障转移服务的情况下

    如果在PAM360中配置了高可用性或故障转移服务,则执行脚本的步骤是:

    • 停止并卸载备服务。
    • 在主服务器上执行migrateCryptography.bat,配置自定义加密
    • 接下来,安装 PAM360 的全新备实例。
    • 现在,重新配置高可用性/故障转移服务。 HAPack.zip 或 FOSPack.zip 将包含自定义加密的jar文件。

第 5 步:将自定义加密添加到 PAM360ED 文件

执行脚本后,打开PAM360主目录conf文件夹下的文件pam360ed.conf,在文件中,查找 EDCLASS 并在它下面添加一条新的条目,如下:

EDCLASS=com.adventnet.passtrix.ed.PAM360EncryptDecryptImpl
EDJARS=MyOwnEncDecImpl1.jar,MyOwnEncDecImpl2.jar

在上面的条目中, MyOwnEncDecImpl1.jar , MyOwnEncDecImpl2.jar 是加密jar示例。 根据需要重命名jar 文件名称,多个jar文件,以逗号分隔。 如果您使用的是第三方的jars,请在您的实现类后首先指定它。

第 6 步:启动 PAM360 服务

完成上述步骤后,您需要启动 PAM360 使之生效。

© 2021, ZOHO 公司,保留所有权利。

页首