Инструкция по использованию QSS в режиме хранения пользовательского ключа на USB носителе

В данной инструкции представлены рекомендации по использованию модуля безопасного хранения QHB (Quantum Secure Storage, QSS), а также сценарий инициализации QSS c помощью утилиты qss_mgr и последующий запуск сервера баз данных. Более подробную информацию см. в главе Модуль безопасного хранения QSS.

Для начала работы с QSS требуется установить QHB на ваш компьютер и инициализировать кластер базы данных (обычно путь к данным кластера экспортируется в переменную среды PGDATA). Если вы устанавливаете пакеты из репозитория QHB, можно воспользоваться краткой инструкцией по начальной загрузке и установке.

Сервер баз данных должен остаться выключенным.

Подключите USB-носители к компьютеру для генерации мастер-ключа и ключа пользователя, который имеет право запускать сервер баз данных (далее Админ)

Примечание.
USB-носитель должен всегда подключаться по одному и тому же пути (здесь используется путь /mtn/flash для флеш-накопителя Админа и /mtn/flash_master для флеш-накопителя с мастер-ключом). Не следует копировать мастер-ключ на компьютер. USB-носитель с мастер-ключом (или сам файл мастер-ключа) нужен только при инициализации QSS, а потом должен храниться в защищенном месте.

Выполните генерацию мастер-ключа (данную операцию необязательно производить на сервере c QHB, выполнение возможно на любой другой машине):

head -c 32 /dev/random > /mnt/flash_master/master.bin

Выполните генерацию пользовательского ключа:

head -c 32 /dev/random > /mnt/flash/user1.bin

Добавьте ключи в QSS с помощью утилиты qss_mgr (здесь и далее не указаны пути до места хранения исполняемых файлов QHB). Данная командная строка требует установленной переменной среды PGDATA. В случае если PGDATA не установлена, для указания пути до папки базы данных следует использовать параметр -d либо --data-dir:

qss_mgr init --module=/usr/lib64/librtpkcs11ecp.so \
-m fs \
-k \
/mnt/flash/user1.bin  \
/mnt/flash_master/master.bin

Для добавления в QSS ключа другого Админа необходимо кроме флеш-накопителя добавляемого Админа подключить флеш-накопитель уже добавленного Админа.

Примечание.
Если владельцев ключа несколько, USB-носители должны монтироваться по уникальным путям, например /mnt/flash2, /mnt/flash3 и т. п.

Для добавления в QSS дополнительного ключа введите:

qss_mgr add
-m fs \
-n 0 \ # Номер ключа уже добавленного Админа (при инициализации добавляется ключ с номером 0)
/mnt/flash2/user2.bin

Включите шифрование путем добавления значения qss_mode = 1 в файл qhb.conf:

echo qss_mode = 1 >> $PGDATA/qhb.conf

Для запуска сервера баз данных в режиме работы модуля безопасного хранения QSS порядок действий будет следующий:

  1. Подключить USB-носитель Админа

  2. Выполнить запуск сервера баз данных с помощью утилиты qhb_ctl от имени пользователя QHB:

qhb_ctl start
  1. Отключить USB-носитель