Обновление ключа - простые вопросы

Добрый день.

Изучаю вопросы обновления ключей (применительно к Code)
Пусть будет разработана программа для ubuntu 1604 и защищена ключом (пусть будет привязка к ключу и небольшой код внутри). Конечно будут обновления программы и системы защиты (ключа) т.к. все сразу не предусмотреть.

1. Как обновлять ключи на ubuntu 1604 ?  В инструкциях вижу только windows.

2. Можно ли автоматизировать обновления без лишних запрос\ответ ? Т.е пользователь скачивает архив обновлений и там есть и программа и прошивка ключа.

Re: Обновление ключа - простые вопросы

Есть кто живой ?

Re: Обновление ключа - простые вопросы

Никто не ответит ?

Re: Обновление ключа - простые вопросы

cie пишет:

Никто не ответит ?

В последнее время тут тяжело дождаться ответа. Но будем надеяться.

Re: Обновление ключа - простые вопросы

Ответит ли кто ?

Re: Обновление ключа - простые вопросы

Добрый день. Приносим извинения за длительное ожидание ответа, это произошло из-за технического сбоя на нашем форуме, который был недавно устранен. Обратите внимание, что существует несколько разных каналов связи, по которым можно оставить свое обращение.
Доверенное удаленное обновление ключей Guardant Code в операционных средах семейства Linux возможно. Однако готовых утилит под Linux на сегодняшний день нет. Для обновления необходимо создать собственную утилиту, используя Guardant API. При этом можно обновить память ключа полностью, или же только загружаемый код. В первом случае Вам поможет наш пример Dongle Trusted Remote Update, во втором случае необходимо самостоятельно реализовать утилиту обновления загружаемого кода, используя функции, работающие с загружаемым кодом.

Re: Обновление ключа - простые вопросы

Вариант Dongle Trusted Remote Update понятен, но чтото у меня не заработал (застрял на формировании вопроса), да и неудобен мне он будет в итоге.
Но разбирая пример я увидел, что можно самому собрать образ и прописать им ключ - думаю пойти по этому пути.
Для начала попробую прописать пару алгоритмов и пару бинарных данных, позже загружаемый код - т.е. реализовать малую часть программы "редактор ключей" и на местах так и обновлять.

Насколько такой подход безопасен ?
Не нашел в документации описания AddAlgorithm и как добавлять код и бинарные данные - где почитать ?

Re: Обновление ключа - простые вопросы

Добрый день. При создании такой утилиты необходимо использовать Private Master код. Настоятельно рекомендуем не указывать такой код в открытом виде. В этом случае процедура обновления будет безопасной. AddAlgorithm - устаревшая функция. Данная функция в современных SDK не используется. Рекомендуем использовать современную версию SDK 7.4.
Обратите внимание! При установке\обновлении Guardant SDK, на компьютере с уже установленным ранее SDK, строго необходимо делать резервную копию базы данных утилиты программирования GrdUtil.exe.

Re: Обновление ключа - простые вопросы

1.  Ключ Private Master в открытом виде не будет, например его могу зашифровать, но конечно код шифра будет в поставляемом файле, пусть даже и не в открытом виде. Или даже могу Private Master положить в донгл и его от туда забирать.

2. Функция AddAlgorithm была в примере "Dongle Trusted Remote Update", рекомендованном ранее. Если она устарела, то хотелось бы пример создания образа и прошивки его через современное api.

Re: Обновление ключа - простые вопросы

Уточните версию используемого SDK

Re: Обновление ключа - простые вопросы

Тимофей Ершов пишет:

Уточните версию используемого SDK

7.4
из него я взял каталог include и libgrdapi.a
md5sum libgrdapi.a = abdedfbe84af473f95e4aedf28acd0cd

Re: Обновление ключа - простые вопросы

Здравствуйте. Описание AddAlgorithm можно увидеть в файле writemask.h (C:\Program Files (x86)\Guardant\SDK7\Samples\Dongle Trusted Remote Update\C++\src\TRU)

_EXTERN_ void DLL_EI AddAlgorithm(BYTE* pAlgos,
                                  BYTE* pAST,
                                  WORD wNumericName,
                                  BYTE byLoFlags,
                                  WORD dwHiFlags,
                                  BYTE byAlgorithmCode,
                                  WORD dwKeyLength,
                                  WORD dwBlockLength,
                                  DWORD dwActivatePwd,
                                  DWORD dwDeactivatePwd,
                                  DWORD dwReadPwd,
                                  DWORD dwUpdatePwd,
                                  TGrdTime* pBirthTime,
                                  TGrdTime* pDeadTime,
                                  TGrdLifeTime* pLifeTime,
                                  TGrdFlipTime* pFlipTime,
                                  WORD dwGP_Counter,
                                  WORD dwErrorCounter,
                                  BYTE* pDet,
                                  WORD* pwMaskSize,
                                  WORD* pwNewASTSize,
                                  WORD* pwNumberOfItems);

Так же есть пример C:\Program Files (x86)\Guardant\SDK7\Samples\Dongle Programming API. Здесь данная функция не используется.

Re: Обновление ключа - простые вопросы

Ok, спасибо, продолжу изучать.

Re: Обновление ключа - простые вопросы

Были рады помочь.