Все записи

9 мин чтения

Ваша идентичность — это сид

Идентичность CardanoWall — это один 32-байтовый Identity Seed. Сохраните этот сид, и вы сможете восстановить ключи подписи и ключи получателя в любом инструменте Label 309; потеряете его — и потеряете возможность дальше использовать эту идентичность.

Идентичность CardanoWall — это один секрет: 32-байтовый Identity Seed (сид идентичности). Сохраните его — и сможете заново собрать всю идентичность где угодно; потеряете — и больше не сможете действовать от её имени.

Из этих 32 байт совместимое программное обеспечение выводит ключи, которыми вы подписываете записи и получаете запечатанные файлы. Если вы сохраните сид, то восстановите ту же идентичность в CardanoWall, в инструменте командной строки cardanowall, в приложении CardanoWall Desktop или в любом другом ПО, которое следует ключевой модели Label 309.

Это не сид-фраза кошелька Cardano. Сид не хранит ADA и не оплачивает комиссии за транзакции. Это переносимый корень вашей идентичности Proof of Existence — и ничего более.

Что такое Identity Seed?

Identity Seed — это секретный корень идентичности Label 309. Это одно 32-байтовое значение.

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

Из сида программное обеспечение, соответствующее стандарту, может воссоздать:

  • ключ подписи, которым подписываются записи;
  • классический ключ получателя для запечатанных записей;
  • необязательный постквантовый ключ получателя для запечатанных записей.

Вывод ключей детерминирован: один и тот же сид всегда даёт одни и те же ключи в любой реализации, которая следует стандарту. Именно это делает резервную копию простой. Вы сохраняете не три закрытых ключа. Вы сохраняете один сид.

Почему это не сид-фраза кошелька?

Потому что идентичность CardanoWall — это не кошелёк Cardano.

Фраза восстановления кошелька управляет средствами. Identity Seed управляет идентичностью для подтверждений. Он позволяет вам подписывать записи Label 309 и расшифровывать запечатанные записи, адресованные этой идентичности. Он не хранит ADA, не оплачивает комиссии за транзакции Cardano и не заменяет ваш кошелёк.

Это разделение сделано намеренно. Инструмент для подтверждений не должен приучать людей вставлять фразу восстановления кошелька туда, где ей не место. У Identity Seed свой формат и своё назначение, и он специально сделан так, чтобы заметно отличаться и от фразы восстановления кошелька, и от публичного адреса получателя.

Поэтому считайте тревожным сигналом и обратное: если инструмент просит фразу восстановления кошелька, чтобы создать идентичность Label 309, — остановитесь.

Как выглядит сид?

Резервная форма по умолчанию — это строка с контрольной суммой, которая начинается так:

L309-SEED-1...

Запись заглавными буквами выбрана не случайно. Секреты должны выглядеть броско и отличаться от публичных адресов — так же, как закрытый ключ пишут заглавными буквами, а адрес получателя остаётся строчным.

Инструменты также принимают сырое 32-байтовое значение в шестнадцатеричном виде, но именно человекочитаемая резервная форма сделана так, чтобы её было удобно распознать и безопасно скопировать. Её контрольная сумма ловит опечатки, усечение и случайное повреждение раньше, чем они превратятся в испорченную резервную копию. Впрочем, дело не во внешнем виде — важно то, что эта строка представляет: те самые 32 байта, которые воссоздают идентичность.

Какие ключи получаются из сида?

Из сида выводятся три ключа, каждый для своей задачи. Стандарт выводит каждый из них из сида независимо, так что слабость в любом отдельном алгоритме не способна раскрыть остальные.

Первый — ключ подписи Ed25519. Им подписываются записи Label 309. Когда верификатор проверяет действительную подпись, он может утверждать, что именно этот ключ поручился за тело записи. Подписи всегда необязательны: Label 309 не зависит от того, кто опубликовал запись, и запись проходит проверку по хешу содержимого и метке времени в блокчейне — независимо от того, подписал её кто-нибудь или нет.

Второй — ключ получателя X25519. Это классический ключ шифрования, которым принимаются запечатанные записи.

Третий — необязательный гибридный постквантовый ключ получателя, который сочетает X25519 с механизмом инкапсуляции ключа на основе решёток. Он даёт запечатанным данным более стойкий вариант долгосрочного шифрования, сохраняя при этом ту же резервную копию из одного сида.

Вам почти никогда не нужно видеть эти закрытые ключи. Программное обеспечение выводит их по мере необходимости; то, что храните вы, — это сид.

Что кто-то сможет сделать с моим сидом?

Любой, у кого есть ваш Identity Seed, может действовать от имени этой идентичности.

Он может вывести ваш ключ подписи и подписывать записи от вашего имени. Он может вывести ваши ключи получателя и расшифровывать запечатанные записи, адресованные вам. Именно поэтому сид так чувствителен: это и есть идентичность, а не пароль, защищающий идентичность.

Поэтому обращайтесь с ним как с ценным секретом. Не вставляйте его на незнакомые сайты. Не отправляйте его в чате. Не оставляйте его в текстовом файле на общем компьютере. И не путайте его с публичным адресом получателя, которым делиться безопасно. Адрес получателя публичен; Identity Seed — нет.

Что произойдёт, если я его потеряю?

Если вы потеряете сид и факторы разблокировки, вы потеряете возможность пользоваться этой идентичностью в дальнейшем. Что у вас останется, зависит от того, чем вы по-прежнему располагаете:

  • Подтверждения, которые вы уже опубликовали, остаются в блокчейне. Их метки времени от вас не зависят.
  • Любой по-прежнему может проверить эти существующие записи, включая подписанные.
  • Но вы, возможно, больше не сможете подписывать новые записи от имени этой идентичности.
  • Вы, возможно, больше не сможете расшифровать запечатанные записи, уже адресованные этой идентичности.
  • Вы, возможно, больше не сможете расшифровать запечатанные записи, отправленные этой идентичности позже.

Это честная цена сквозного шифрования. Если ваш секрет не хранит больше никто, то никто — включая CardanoWall — не сможет восстановить его за вас. Именно это свойство и лишает сервис возможности читать ваши запечатанные файлы; и именно поэтому резервная копия так важна. (По смежному вопросу — почему этот единственный сид остаётся центральным, даже когда passkey делают повседневную разблокировку простой, — смотрите почему сид идентичности по-прежнему важен.)

Несколько слов о худшем случае: украденный сид означает полную компрометацию идентичности, и сброса здесь нет. Ответ — создать новую идентичность и деактивировать старую, а не сменить пароль. Различие между активной, деактивированной и удалённой идентичностью стоит понять заранее, до того как оно вам понадобится.

Как мне сделать резервную копию?

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

Менеджер паролей — разумное место для большинства людей. Некоторые держат офлайн-копию в надёжном месте. Организации могут хранить сиды в рамках существующих процедур управления ключами, контроля доступа и политик восстановления. Правильный подход масштабируется в зависимости от того, насколько чувствительны записи, но принцип не меняется: сид — это переносимый артефакт, а резервная копия — это копия тех самых 32 байт.

Собственные удобства CardanoWall стоят поверх этого, а не вместо него. В вебе ваш аккаунт может хранить каждую идентичность в зашифрованном хранилище, которое могут открыть только ваши passkey, так что ежедневная разблокировка делается одним нажатием — смотрите как CardanoWall хранит вашу идентичность. Хранилище — это удобство и доступ с разных устройств, а не передача ключей под опеку: сервис хранит шифротекст, который не может расшифровать, а сид остаётся главной резервной копией.

Могу ли я использовать тот же сид в другом приложении?

Да — при условии, что другое приложение следует ключевой модели Label 309.

В этом и весь смысл стандартизации сида. Идентичность для подтверждений не должна быть заперта внутри одного интерфейса. Один и тот же сид должен восстанавливать одну и ту же идентичность в веб-приложении, в инструменте командной строки, в десктопном приложении, в интеграции через SDK или в будущем стороннем продукте, который реализует те же правила вывода ключей.

Вот что на практике означает независимость от поставщика. Если CardanoWall помогает вам создать подтверждение, это подтверждение остаётся проверяемым и вне CardanoWall — верификатору нужны лишь метаданные транзакции, при необходимости байты файла и публичный обозреватель блокчейна Cardano. И если CardanoWall помогает вам создать идентичность, сид остаётся полезным в любом совместимом ПО. Стандарт, эталонные SDK и CLI — всё это открытый исходный код на github.com/cardanowall.

Может ли у меня быть больше одной идентичности?

Да, и многим стоит завести несколько.

Вы можете держать одну идентичность для личных записей, другую — для работы, третью — для процесса в компании, четвёртую — для конкретного рабочего сценария с высокими рисками. У каждой идентичности свой независимый сид, и каждый сид даёт собственные ключи подписи и ключи получателя. Если держать их раздельно, проще рассуждать о приватности, контроле доступа и операциях.

Несколько конкретных примеров:

  • Журналист может не хотеть использовать один и тот же адрес получателя для публичных наводок и для внутренних редакционных записей.
  • Компания может не хотеть использовать один и тот же ключ подписи для подтверждений релизов CI/CD и для пакетов юридических доказательств.
  • Исследователь может отделить публичные заявления от подтверждений по закрытому набору данных.

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

Как это связано с адресом получателя?

Адрес получателя — это публичная строка, которой другие люди пользуются, чтобы отправлять вам запечатанные записи. Он выводится из ключей получателя вашей идентичности, им безопасно делиться, и он не позволяет никому ни читать ваши сообщения, ни подписывать что-либо от вашего имени.

Есть две формы. Классические адреса получателя начинаются с age1…. Необязательные гибридные постквантовые адреса получателя начинаются с age1pqc1…. Обе формы публичны.

Поэтому правило, которое стоит держать в ясности — и в продукте, и в собственных привычках, — простое: адрес получателя публичен; Identity Seed закрыт. Их никогда нельзя путать друг с другом.

Как это работает с десктопным приложением?

CardanoWall Desktop — кроссплатформенное приложение на Rust и Tauri, построенное на открытом Rust SDK, — это открытый исходный код на github.com/cardanowall. Оно построено вокруг локального владения идентичностями, и стоит понять, как это устроено.

Идентичности живут в зашифрованном локальном хранилище на вашем устройстве. Ядро на Rust обрабатывает разблокировку, подпись, проверку, пробное расшифровывание входящих запечатанных записей и расшифровывание запечатанных записей — всё локально. Закрытые ключи никогда не покидают устройство и никогда не отправляются на шлюз. Поскольку приложение в первую очередь работает офлайн, записи и уже расшифрованные файлы, которые вы синхронизировали, остаются доступны без сетевого подключения, а «офлайн» воспринимается как нормальное состояние, а не как ошибка.

Впрочем, десктопное приложение — это всё же лишь один из клиентов. Ваша идентичность переносима между всеми ними: тот же сид восстанавливает ту же идентичность и здесь, и где угодно ещё.

Что на самом деле известно CardanoWall?

Будучи облачным сервисом, CardanoWall видит информацию об аккаунте, состояние биллинга, активность на шлюзе, публичные данные записей и любые метаданные, нужные для работы продукта. И не менее важно то, в чём он намеренно устроен так, чтобы не нуждаться:

  • Ему не нужен ваш Identity Seed, чтобы опубликовать подтверждение.
  • Ему не нужны закрытые ключи получателей, чтобы доставлять запечатанные записи.
  • Он не может расшифровать ваши запечатанные файлы.

Модель подтверждений сильнее всего тогда, когда закрытые ключи остаются у вас, а верификация может выполняться независимо от сервиса. Это не устраняет всех рисков: вредоносное расширение браузера, фишинговый сайт, скомпрометированное устройство или простая ошибка по-прежнему могут раскрыть секреты, а скрипт, выполняющийся внутри разблокированной сессии, может прочитать ключи, находящиеся в памяти. Правильнее держать в голове не «ничего не может пойти не так», а другое: «протокол не требует, чтобы CardanoWall держал ключи, которыми расшифровываются ваши запечатанные записи».

Коротко

Ваш Identity Seed — это корень вашей идентичности Label 309. Это 32 байта, и это настоящая резервная копия.

Сохраните его. Берегите его. Не путайте его с сид-фразой кошелька и не делитесь им так, как вы делитесь адресом получателя.

С сидом совместимое программное обеспечение может восстановить ваш ключ подписи и ваши ключи получателя. Без него ваши опубликованные подтверждения по-прежнему проходят проверку в блокчейне — но ваша возможность подписывать от имени этой идентичности или расшифровывать запечатанные записи может быть утрачена. CardanoWall — лишь один интерфейс из нескольких. Идентичность — это сид.

Что почитать дальше

identitylabel-309security