Подписание транзакции блокчейна с использованием ключа, хранящегося в Google Cloud KMS

У меня есть требование защитить закрытый ключ, который используется для подписания транзакции блокчейна. Пока мы оцениваем возможность использования HSM (Hardware Security Module), меня не меньше интересовала применимость Google Cloud KMS. Мы будем очень признательны за вашу помощь, если вы ответите на мои следующие вопросы :)

  1. Можем ли мы сохранить ключ в Google Cloud KMS, который мог быть сгенерирован извне?
  2. Assume that I have already saved my private key in Google Cloud KMS, which one of the following is true/possible?
    • Using an API call, the key stored in KMS is retrieved first and then it can be used to sign the blockchain transaction. But in this case, security can be compromised once the key is outside the KMS.
    • После сохранения ключ никогда не покидает Google Cloud KMS. Вместо этого транзакция блокчейна может быть отправлена ​​в Google Cloud KMS для подписания транзакции с использованием ключа, которым он управляет. Здесь я предполагаю, что KMS может предоставить мне некоторые функции настройки, чтобы я мог выполнить процесс подписи, или KMS может иметь возможность выполнять фрагмент кода.
    • Google Cloud KMS не может выполнять специализированные задачи (например, подписывать транзакцию цепочки блоков), он выполняет только шифрование / дешифрование.

person Nilesh Soni    schedule 19.07.2018    source источник


Ответы (1)


Cloud KMS не хранит ключи для извлечения; вместо этого он хранит ключи и хранит их в секрете. Я считаю, что ваша третья пуля ближе всего к ситуации.

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

Да, это открывает для вызывающего приложения закрытый ключ и заставляет вас отвечать за эту безопасность.

Вопрос: по какому алгоритму вы бы хотели подписать поддержку? Google NEXT - на следующей неделе, поищите от нас объявления, которые могут вас заинтересовать.

person Tim Dierks    schedule 20.07.2018
comment
Спасибо, Тим, за быстрый ответ. :) Я отвечу вам как можно скорее по вашему запросу ... - person Nilesh Soni; 23.07.2018
comment
На NEXT мы объявили о поддержке HSM под управлением Google как части облачного KMS, включая поддержку асимметричного шифрования и алгоритмов подписи, см. cloud.google.com/hsm - person Tim Dierks; 29.07.2018