1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-secGear

Клонировать/Скачать
sign_tool.md 5.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 08:55 0ab2a98

Начало работы с sign_tool

Программа sign_tool.sh помогает подписывать анклав.

Программа sign_tool.sh

В программе sign_tool.sh используется инструмент sgx_sign из SGX SDK для подписания анклава SGX и signtool_v3.py для подписания анклава trustzone. При подписании анклава trustzone рекомендуется использовать абсолютный путь для указания параметров файла, если указан относительный путь, он должен быть относительно signtool_v3.py.

Инструмент поддерживает два режима:

  • одношаговый метод, только для режима отладки.
    Например:
    $ ./sign_tool.sh –d sign –x trustzone –i test.enclave -c manifest.txt -m config_cloud.ini –o signed.enclave

  • двухшаговый метод используется, когда подпись должна быть получена от организации, выполняющей подписание, или закрытый ключ хранится на другой безопасной платформе.

Например: (1) создать материал для подписи.
$ ./sign_tool.sh –d digest –x trustzone –i input -c manifest.txt -m config_cloud.ini –o signing.data

Для trustzone в текущем каталоге создаются временные файлы KeyInfo.enc, rawData.enc и rawDataHash.bin. Для SGX в текущем каталоге создаётся временный файл signdata. Временный файл требуется при создании подписанного анклава на шаге 3 и удаляется после создания подписанного анклава.

(2) отправить signing.data в организацию, выполняющую подписание, или на безопасную платформу и получить подпись.
Для trustzone используйте команду rsautl для подписания материала для подписи. $ openssl rsautl -sign -inkey sign_key.pem -in signing.data -out signature

Для SGX используйте команду dgst для подписания материала для подписи. $ openssl dgst -sha256 -sign sign_key.pem -keyform PEM -out signature signing.data

(3) использовать подпись для создания подписанного анклава.
$ ./sign_tool.sh –d sign –x trustzone –i input -c manifest.txt -m config_cloud.ini –s signature –o signed.enclave

Параметры программы sign_tool.sh

    -c <file>       базовый файл конфигурации.
    -d <parameter>  команда инструмента подписи, sign/digest/dump.
                    Команда sign используется для создания подписанного анклава.
		            Команда digest используется для создания материала для подписи.
		            Команда dump используется для создания метаданных для подписанного анклава SGX.
	-i <file>       входной параметр, который является анклавом для команды digest/sign, и подписанным анклавом
                        для команды dump.
	-k <file>       личный ключ, необходимый для одношагового метода. Обратите внимание: одношаговый метод
                        используется только в режиме отладки, незашифрованный личный ключ не существует в рабочей среде.
	-m <file>       дополнительный config_cloud.ini для trustzone.
	-o <file>        выходной параметр.
                      SGX: команда sign выводит подписанный анклав, команда digest выводит материал для подписи,
                      команда dump выводит данные, содержащие метаданные SIGStruct для анклава SGX, которые
                      отправляются Intel для внесения в белый список.
                      trustzone: /output_path/uuid.sec, uuid должен совпадать со значением gpd.ta.appID в manifest.txt
	-p <file>        сертификат открытого ключа сервера подписи, необходим для двухшагового метода SGX.
	-s <file>        значение подписи, необходимое для двухшагового метода, этот параметр пуст для обозначения
                        одношагового метода.
	-x <parameter>   тип анклава, SGX или trustzone.
	-h               вывести справочное сообщение.

Примечание: Используйте ./sign_tool.sh -h, чтобы получить справочную информацию. Для trustzone будет случайным образом сгенерирован ключ AES и временно сохранён в файле в незашифрованном виде, пожалуйста, обеспечьте безопасность.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/openeuler-secGear.git
git@api.gitlife.ru:oschina-mirror/openeuler-secGear.git
oschina-mirror
openeuler-secGear
openeuler-secGear
master