Какой проверочный ключ используется для Стюарда в Инди

Я изучал документацию по началу работы с Hyperledger Indy SDK.

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

  1. Что означает вызов в бухгалтерскую книгу для создания транзакции NYM? Разве это не то, что парные DID должны были храниться в кошельке и не были обнародованы.

  2. Для какого ключа Стюарда Faber запрашивает книгу, является ли он юридическим идентификатором Stewards или тем, который он создал для Faber.

  3. Для случая частных DID хранятся в кошельке. Как такая сущность, как Фабер, получает ключ шифрования сущности, отправляющей приглашение на соединение?

1 ответ

Решение

Вопрос 1

Ваше заблуждение праведно, и то, на что вы указали, также смутило меня сейчас. Я обратился к сообществу Indy и узнал, что эта часть обучающего руководства немного устарела. Цитирую Стивена Керрана из канала RocketChat от Hyperledger Indy:

Концепция парного DID не была достаточно детализирована, поэтому все DID в коде записывались в книгу.

Для более подробной информации о публичных и парных DID:

NYM Transaction записывает DID со связанным Verkey (публичной частью пары ключей). Однако вы должны различать публичные DID и парные DID.

  • Public DID - это идентификатор, который вы публикуете там, чтобы все знали. Если вы являетесь учреждением, вы хотите иметь такой идентификатор. Люди / их устройства могут затем использовать его для установления первоначального безопасного соединения с учреждением.

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

вопрос 2

  1. Я думаю, что вы имеете в виду шаг 10:

Фабер спрашивает в главной книге ключ подтверждения DID стюарда, вызывая did.key_for_did.

Итак, здесь Фабер читает DID Стюарда и связанный с ним ключ (открытый ключ) из книги. Затем Фабер использует этот ключ для шифрования сообщения - сообщение не может быть дешифровано кем-либо, кроме Стюарда, владельца частной части этого ключа.

Вопрос 3

Вот как обычно устанавливаются соединения:

Предполагается, что установлен какой-то безопасный канал, по которому одна сторона получает приглашение на соединение от другой. Вы можете получить, например, приглашение через HTTPS или просто сотрудником банка, предоставив вам QR-код, содержащий приглашение на подключение от банка. При создании сообщения приглашения на соединение приглашающая сторона генерирует парный DID с verkey. Это включено в сообщение о приглашении, поэтому, если вы получили это приглашение, доставленное любым способом, можно с уверенностью сказать, что вы можете отправлять зашифрованные сообщения приглашающей стороне. На этом этапе вы сгенерируете свои парные DID и Verkey для этого соединения и отправите эти данные приглашающему. К этому моменту вы установили безопасное соединение, потому что вы оба безопасно обменяли парные DID /Verkeys друг друга на сеанс.

Другие вопросы по тегам