GP7
  • GP7 App
  • Общая информация о приложении
    • Установка приложения
    • Основные функциональные возможности сервиса
    • Авторизация пользователя
  • Операции со счетами
    • Включение и отключение криптовалют
    • Проверка баланса и просмотр истории транзакций
    • Получение криптовалюты на счет
    • Отправка криптовалюты с кошелька
    • Комиссия за перевод
  • Криптография для взаимодействия с блокчейном
    • Генерация цифровой подписи
    • Восстановление доступа
    • Генерация ключей и экспорт ключа восстановления
    • Экспорт ключа восстановления
    • Просмотр и ручная загрузка ключей в Key Manager
    • Восстановление доступа и импорт ключа восстановления
  • Криптовалюты
    • Блоки и транзакции
    • Особенности Bitcoin и Bitcoin Cash
    • Особенности Ethereum
    • Особенности EOSIO
    • Особенности XRP
    • Особенности USDT
    • Особенности TRON
  • Активы
Powered by GitBook
On this page

Was this helpful?

  1. Криптография для взаимодействия с блокчейном

Генерация цифровой подписи

PreviousКриптография для взаимодействия с блокчейномNextВосстановление доступа

Last updated 4 years ago

Was this helpful?

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

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

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

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

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