oat-sa/extension-tao-encryption

Tao 加密

v6.1.2 2023-08-10 16:17 UTC

README

本文介绍了 Tao 加密的运行机制,重点关注数据库层面敏感数据信息的加密。

安装

您可以将 Tao 加密作为一个标准的 TAO 扩展添加到当前的 TAO 实例中。

 $ composer require oat-sa/extension-tao-encryption

支持的加密服务

1. 结果加密

  • 为 Tao 服务器实例设置脚本

加密
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupAsymmetricKeys' generate

注意:

此命令将生成两个密钥(公钥和私钥)并将它们保存在文件系统中。

注意:

在客户端 Tao 实例中。您需要复制公钥。

注意:

在服务器 Tao 实例中。您需要两个密钥

解密

为了解密您的结果,请使用以下脚本,通过传递交付 ID。

 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\DecryptResults' -d <delivery_id>

或者通过传递 -all 参数

 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\DecryptResults' -all

注意:

此命令将解密结果并存储在交付结果存储设置中。

  • 为 Tao 客户端实例设置脚本

 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupEncryptedResultStorage'
  • 同步加密结果(在服务器和客户端运行)

为了同步加密结果,需要在服务器 Tao 实例和客户端上运行此脚本。

 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupEncryptedSyncResult'

alt text

2. 测试状态数据加密

  • 为 Tao 客户端实例设置脚本

为了使用加密的状态测试服务,您必须在 Tao 客户端实例上运行以下命令

 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupEncryptedStateStorage'
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupEncryptedMonitoringService'

此服务使用对称算法加密信息。

alt text

3. 用户加密

  • 为 Tao 客户端实例设置脚本

 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupEncryptedUser'
  • 为 Tao 服务器实例设置脚本

 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupUserEventSubscription'
  • 两个实例

 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupUserSynchronizer'

注意:

您应该在客户端 Tao 实例上运行此命令

alt text

4. 设置加密文件系统

  • 为 Tao 客户端实例设置脚本

 $ sudo -u www-data php index.php "oat\taoEncryption\scripts\tools\SetupEncryptedFileSystem" -f private -e taoEncryption/symmetricEncryptionService -k taoEncryption/symmetricFileKeyProvider
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupDeliveryEncrypted'
  • 为 Tao 服务器实例设置脚本

 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupUserApplicationKey'
 $ sudo -u www-data php index.php 'oat\taoEncryption\scripts\tools\SetupRdfDeliveryEncrypted'

注意:

额外功能:您可以将 TAO 文件系统设置为加密。以下命令行启用了对 private 文件系统的加密,使用注册的 ID 为 taoEncryption/symmetricEncryptionService 的服务进行数据加密/解密。

sudo -u www-data php index.php "oat\taoEncryption\scripts\tools\SetupEncryptedFileSystem" -f private -e taoEncryption/symmetricEncryptionService

alt text