Купить крипто
Рынки
Спот
ФьючерсыBTC
Сбережения
Центр событий
Хаб наград
Еще
Фестиваль с 0 комиссией
Шифрование: Что такое шифрование?Шифрование — это криптографический процесс, который преобразует читаемую информацию в нечитаемый формат, чтобы исходные данные мог восстановить только уполномоченный участник, расШифрование: Что такое шифрование?Шифрование — это криптографический процесс, который преобразует читаемую информацию в нечитаемый формат, чтобы исходные данные мог восстановить только уполномоченный участник, рас

Шифрование

2026/10/13 15:30
#Beginner
Humanity
H$0.05586-5.75%
PX
PX$0.0126-1.56%
STANDARD
STANDARD$0.3077+41.99%
Blobacoin
BLOB$0.00149-57.06%
PinLink
PIN$0.07676-2.00%

Что такое шифрование?

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

Читаемые исходные данные называются открытым текстом, а защищенный результат — шифротекстом.

Расшифрование выполняет обратное преобразование: с помощью необходимого криптографического ключа шифротекст снова становится открытым текстом.

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

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

В обзоре криптографии NIST объясняется, что криптография использует математические методы для защиты информации и электронных коммуникаций.

Шифрование может обеспечивать конфиденциальность, но само по себе не подтверждает, кто создал данные и изменялись ли они.

Поэтому в защищенных системах шифрование сочетают с аутентификацией, проверкой целостности, контролем доступа, резервным копированием и тщательным управлением ключами.

Как работает шифрование

Алгоритм шифрования получает открытый текст, криптографический ключ, а иногда и дополнительное значение, например nonce или вектор инициализации.

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

Алгоритм расшифрования с соответствующим ключом и параметрами восстанавливает открытый текст.

Безопасность современного шифрования должна зависеть от секретности ключа, а не алгоритма.

Широко проверенные алгоритмы, как правило, безопаснее закрытых алгоритмов, которые не проходили публичный анализ.

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

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

Что такое ключ шифрования?

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

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

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

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

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

В рекомендациях NIST по управлению криптографическими ключами рассматриваются генерация, хранение, установление, использование, защита и уничтожение ключевого материала.

Симметричное шифрование

При симметричном шифровании для шифрования и расшифрования используется один и тот же секретный ключ или близкие по типу секретные ключи.

Отправитель и получатель должны безопасным способом получить общий секретный ключ.

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

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

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

В защищенных системах симметричное шифрование часто сочетают с методом на основе открытого ключа, который устанавливает или упаковывает временный симметричный ключ.

Стандарт AES

Advanced Encryption Standard, или AES, — широко используемый симметричный блочный шифр.

В актуальном стандарте NIST FIPS 197 определены AES-128, AES-192 и AES-256.

В этих версиях используются ключи длиной 128, 192 или 256 бит, а данные обрабатываются блоками по 128 бит.

AES описывает сам блочный шифр, а не полноценную систему шифрования файлов.

Программное обеспечение должно использовать AES в безопасном режиме работы и правильно обрабатывать ключи, nonce, теги аутентификации и ошибки.

Неправильно реализованная система AES может раскрыть данные, даже если базовый шифр считается надежным.

Аутентифицированное шифрование

Аутентифицированное шифрование защищает и конфиденциальность, и целостность данных.

Оно позволяет получателю обнаружить, были ли зашифрованные данные изменены, повреждены или подделаны.

Аутентифицированное шифрование с ассоциированными данными может также защищать незашифрованную информацию, например номер версии, идентификатор аккаунта или тип сообщения.

AES-GCM — один из широко используемых вариантов аутентифицированного шифрования.

В спецификации NIST GCM определен режим Galois/Counter для аутентифицированного шифрования с ассоциированными данными.

Еще один распространенный вариант аутентифицированного шифрования сочетает ChaCha20 с Poly1305.

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

Что такое nonce и вектор инициализации?

Nonce — значение, которое предназначено для однократного использования с определенными криптографическим ключом и алгоритмом.

Вектор инициализации, или IV, — дополнительное значение, используемое для инициализации некоторых режимов шифрования.

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

Повторное использование nonce в режиме, где требуется уникальное значение, может раскрыть открытый текст, показать взаимосвязь сообщений или позволить злоумышленникам подделать данные.

Nonce часто хранится рядом с шифротекстом, поскольку обычно его не нужно сохранять в секрете.

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

Асимметричное шифрование

При асимметричном шифровании используются открытый и приватный ключи.

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

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

Асимметричное шифрование упрощает распространение ключей, поскольку сторонам не нужно заранее передавать друг другу один и тот же секрет.

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

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

Гибридное шифрование

Гибридное шифрование сочетает асимметричную и симметричную криптографию.

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

Затем симметричный ключ защищается с помощью шифрования с открытым ключом или механизма инкапсуляции ключа.

Получатель использует приватный ключ для восстановления симметричного ключа, а затем расшифровывает данные.

Такой подход сочетает упрощенное распространение ключей, характерное для криптографии с открытым ключом, со скоростью симметричного шифрования.

Гибридные схемы широко применяются в системах зашифрованных сообщений, обмена файлами, резервного копирования и сетевых протоколах.

Шифрование и криптография с открытым ключом в криптовалютах

Криптовалютные системы широко используют криптографию с открытым ключом, но она не всегда означает шифрование.

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

Соответствующие открытые ключи или адреса позволяют другим участникам проверять эти подписи.

В документации Ethereum по ключам объясняется, что приватные ключи подписывают транзакции и данные, а открытая информация используется для идентификации и проверки.

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

Поэтому пользователям следует различать авторизацию транзакции и ее конфиденциальность.

Шифрование и цифровые подписи

Шифрование предназначено прежде всего для сокрытия информации от посторонних читателей.

Цифровая подпись предназначена прежде всего для подтверждения того, что владелец приватного ключа авторизовал определенные данные.

Для восстановления скрытого содержимого при шифровании используется ключ расшифрования.

При проверке подписи открытая информация используется для подтверждения подлинности и целостности без раскрытия приватного ключа.

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

Обычно их не шифруют: валидаторы и узлы должны прочитать инструкции транзакции, чтобы выполнить и проверить их.

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

Шифрование и хеширование

Зашифрованные данные можно расшифровать, если есть правильный ключ.

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

Хеш-функция преобразует данные практически любой длины в дайджест фиксированной длины.

Обычного ключа расшифрования, который восстанавливает исходные данные из надежного хеша, не существует.

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

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

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

Шифрование и кодирование

Кодирование преобразует данные в другое представление, чтобы программному обеспечению было удобнее их хранить или передавать.

К распространенным примерам относятся шестнадцатеричное представление, Base64 и структурированные текстовые форматы.

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

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

Приватный ключ, записанный в шестнадцатеричном формате, остается полностью раскрытым, даже если человеку такой формат кажется нечитаемым.

Не следует считать закодированные секреты кошелька зашифрованными резервными копиями.

Зашифрованы ли транзакции в блокчейне?

Во многих публичных блокчейнах транзакции по умолчанию не зашифрованы.

Их подписывают криптографическим способом, после чего распространяют среди участников сети для проверки.

В документации Ethereum по транзакциям транзакции описываются как криптографически подписанные инструкции аккаунтов.

В документации Ethereum о конфиденциальности отмечается, что транзакции, записанные в Ethereum, по умолчанию являются публичными и постоянными.

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

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

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

Почему нельзя просто зашифровать все данные публичного блокчейна

Узлы блокчейна должны достичь согласия относительно действительных транзакций и изменений состояния.

В обычной публичной сети смарт-контрактов узлы должны иметь возможность выполнять одни и те же инструкции контракта и проверять одинаковый результат.

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

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

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

У каждого подхода свои компромиссы, связанные с доверием, производительностью, сложностью и доступностью данных.

Шифрование кошелька

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

Зашифрованный файл кошелька можно скопировать или украсть, не раскрыв сразу приватные ключи.

Чтобы расшифровать файл и использовать ключи, пользователь должен ввести правильный пароль.

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

Там также объясняется, что шифрование файла не защитит ключ, если вредоносное ПО получит пароль или прочитает расшифрованный ключ из памяти.

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

Зашифрованные файлы хранилища ключей

Файл хранилища ключей — структурированный файл, в котором хранится зашифрованный приватный ключ и параметры, необходимые для получения ключа расшифрования.

Как правило, он содержит шифротекст, соль, nonce или IV, настройки функции выведения ключа, контрольную сумму или значение аутентификации и идентифицирующие метаданные.

Сам пароль не должен храниться в файле.

В стандарте хранилища ключей ERC-2335 определен зашифрованный формат JSON для приватных ключей BLS.

Среди поддерживаемых методов выведения ключа на основе пароля — PBKDF2 и scrypt.

Файл хранилища ключей можно переносить между совместимыми инструментами, однако доступ к файлу и слабому паролю все равно может привести к краже ключа.

Перед удалением исходного кошелька или переносом ключа валидатора пользователям следует проверить совместимость.

Пароли и функции выведения ключа

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

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

PBKDF2, scrypt и Argon2 — примеры методов выведения ключей на основе пароля, применяемых в разных системах.

Соль предотвращает автоматическое получение одинаковых ключей из одинаковых паролей в разных файлах.

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

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

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

Пароль кошелька и фраза восстановления

Пароль кошелька и фраза восстановления обычно служат разным целям.

Пароль кошелька часто разблокирует зашифрованный файл, хранящийся на одном устройстве.

Фраза восстановления позволяет восстановить базовые ключи кошелька на другом совместимом устройстве.

Смена или утрата локального пароля кошелька обычно не меняет фразу восстановления.

Злоумышленнику, получившему фразу восстановления, может вообще не понадобиться локальный пароль кошелька.

Поэтому фразу восстановления необходимо защищать отдельно от зашифрованного файла кошелька.

Удаление приложения кошелька не удаляет копии фразы восстановления, хранящиеся в других местах.

Парольная фраза BIP-39 и шифрование

Парольная фраза BIP-39 — это не просто пароль, шифрующий записанную фразу восстановления.

В спецификации BIP-39 мнемоническая фраза и необязательная парольная фраза объединяются с помощью процесса выведения, в результате которого создается сид.

Каждая парольная фраза создает действительный сид и потенциально другой набор адресов кошелька.

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

Мнемоническая фраза без необязательной парольной фразы может создать другой кошелек.

Парольную фразу BIP-39 не следует называть обычным шифрованием файла, поскольку механизмы восстановления и последствия ошибки здесь отличаются.

Аппаратные кошельки и шифрование

Аппаратный кошелек предназначен для выполнения операций с приватными ключами внутри отдельного устройства.

Устройство может шифровать конфиденциальные данные в памяти и ограничивать доступ с помощью PIN-кода или другого метода аутентификации.

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

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

Аппаратный кошелек не делает каждую транзакцию безопасной: пользователь все еще может одобрить вредоносные адреса, вызовы контрактов, разрешения или сообщения.

Фразу восстановления также необходимо защищать, поскольку с ее помощью можно восстановить кошелек без исходного устройства.

Зашифрованные резервные копии кошелька

Зашифрованная резервная копия может защитить данные кошелька, хранящиеся на съемном носителе, персональном компьютере или в удаленном хранилище.

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

Пароль или ключ расшифрования не следует хранить рядом с зашифрованным файлом в незащищенном виде.

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

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

Проверку следует проводить так, чтобы секрет кошелька не попал в недоверенную среду или среду с подключением к интернету.

Шифрование при передаче

Шифрование при передаче защищает данные во время перемещения между устройствами или сервисами.

Криптокошельки подключаются к узлам, RPC-сервисам, веб-сайтам, системам подписания и серверам приложений.

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

Стандарт TLS 1.3 предназначен для защиты коммуникаций от перехвата, изменения данных и подделки сообщений.

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

Поэтому пользователям следует различать шифрование транспортного уровня, сквозное шифрование и доверие к оператору сервиса.

Шифрование RPC-соединений

Интерфейсы удаленного вызова процедур (RPC) позволяют кошелькам и приложениям запрашивать данные блокчейна и отправлять транзакции.

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

Для удаленного доступа к RPC следует использовать зашифрованное соединение с проверкой сертификата.

Чувствительные административные методы RPC также должны требовать аутентификации, правил межсетевого экрана и ограниченного сетевого доступа.

TLS не мешает RPC-провайдеру видеть обрабатываемые им запросы.

Использование собственного узла может уменьшить зависимость от стороннего провайдера, но узел также необходимо правильно настроить и защитить.

Шифрование данных в состоянии покоя

Шифрование данных в состоянии покоя защищает информацию, хранящуюся на устройстве, диске, в базе данных, на съемном носителе или в сервисе резервного копирования.

Шифрование всего диска может защитить данные, если выключенный компьютер или диск украдут.

Шифрование на уровне приложения может защищать отдельные файлы кошелька, даже если остальное содержимое диска доступно для чтения.

Шифрование базы данных может защищать записи клиентов, учетные данные API, политики подписания и рабочие секреты.

После разблокировки устройства и получения приложением доступа к ключу расшифрования защита таких данных становится менее эффективной.

Вредоносное ПО, работающее в активном сеансе пользователя, может получить доступ к расшифрованным данным.

Сквозное шифрование

При сквозном шифровании данные шифруются для конечного получателя и обычно не могут быть расшифрованы промежуточными сетевыми сервисами.

Сервер может передавать или хранить шифротекст, не имея ключа расшифрования содержимого.

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

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

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

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

Шифрование на уровне приложения

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

Провайдер хранилища получает шифротекст, а не открытый текст.

Приложение должно определять, какие пользователи могут расшифровывать данные, а также как распространяются и отзываются их ключи.

Шифрование общего файла для множества пользователей усложняется при изменении состава участников.

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

До размещения постоянно зашифрованного контента в распределенном хранилище разработчикам следует определить модель доступа и восстановления.

Зашифрованные данные в публичном блокчейне

Разработчики могут разместить шифротекст в транзакции блокчейна или состоянии смарт-контракта.

Это может скрыть исходный текст, но не делает транзакцию невидимой.

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

Шифротекст может быть доступен до тех пор, пока сохраняется история блокчейна.

Если позднее ключ раскроют или алгоритм станет уязвимым, исторические данные могут стать читаемыми.

Конфиденциальные персональные данные, как правило, не следует навсегда размещать в блокчейне только потому, что они зашифрованы.

Шифрование и смарт-контракты

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

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

Хранение ключа расшифрования в хранилище контракта не делает его конфиденциальным.

Маскировка ключа с помощью кодирования или разделения его на общедоступные значения также не обеспечивает надежную конфиденциальность.

Для обеспечения конфиденциальности в смарт-контрактах нужен протокол, специально разработанный для защиты приватных вычислений или подтверждения результатов без раскрытия всех входных данных.

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

Доказательства с нулевым разглашением и шифрование

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

Шифрование скрывает данные, чтобы уполномоченная сторона могла расшифровать их позднее.

Эти методы решают разные задачи, но их можно использовать вместе.

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

Доказательство с нулевым разглашением автоматически не скрывает сетевые метаданные, адреса кошельков, информацию браузера или все публичные входные данные.

При анализе конфиденциальности приложению следует учитывать весь поток информации, а не только схему доказательства.

Гомоморфное шифрование

Гомоморфное шифрование позволяет выполнять некоторые вычисления над зашифрованными данными, не раскрывая предварительно открытый текст.

После расшифрования результат соответствует вычислению, выполненному над исходной информацией.

Полностью гомоморфное шифрование предназначено для поддержки широкого спектра вычислений над шифротекстом.

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

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

Гомоморфное шифрование не следует считать простой заменой обычного выполнения операций в блокчейне.

Пороговое шифрование

При пороговом шифровании полномочия по расшифрованию разделены между несколькими участниками.

Чтобы расшифровать защищенные данные, должны взаимодействовать заранее установленное число участников.

Ни одному участнику не обязательно иметь полный набор средств для расшифрования.

Криптопротоколы могут использовать пороговое шифрование для систем со скрытыми ставками, отложенного раскрытия информации, приватного управления или защиты порядка транзакций.

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

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

Шифрование и безопасность с мультиподписью

Для авторизации транзакции в кошельке с мультиподписью требуется несколько подтверждений.

Шифрование контролирует доступ к чтению защищенной информации.

Кошелек может использовать оба метода, но они не заменяют друг друга.

Шифрование одного приватного ключа не создает несколько независимых участников, подтверждающих транзакцию.

Политика мультиподписи автоматически не шифрует сведения о транзакциях или резервные копии.

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

Шифрование и многосторонние вычисления

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

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

Это не то же самое, что шифрование файла приватного ключа с помощью пароля.

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

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

Управление ключами

Управление ключами охватывает полный жизненный цикл криптографических ключей.

Он включает генерацию, распределение, хранение, введение в действие, использование, ротацию, резервное копирование, восстановление, отзыв, архивирование и уничтожение.

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

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

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

Утрата ключа шифрования может навсегда лишить доступа к корректно зашифрованным данным.

Ротация ключей

Ротация ключей — это замена старого криптографического ключа новым.

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

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

Повторное шифрование большого архива может потребовать много времени и тщательной обработки возможных сбоев.

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

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

Конвертное шифрование

При конвертном шифровании данные защищаются случайно сгенерированным ключом шифрования данных.

Ключ шифрования данных защищается отдельным ключом шифрования ключей.

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

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

Утрата ключа шифрования ключей или системы доступа к нему может затронуть множество защищенных записей.

В криптоинфраструктуре необходимо применять строгий контроль доступа и резервное копирование ко всем уровням иерархии ключей.

Шифрование и случайные значения

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

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

Обычные генераторы случайных чисел в языках программирования могут быть непригодны для криптографических задач.

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

Необходимо проверять достаточность энтропии виртуальных машин, встроенных устройств и недавно запущенных систем.

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

Шифрование не защищает скомпрометированное устройство

Шифрование защищает данные, пока у злоумышленника нет доступа к необходимому ключу и открытому тексту.

Вредоносное ПО может украсть данные до их шифрования или после расшифрования.

Кейлоггер может перехватить пароль кошелька, когда пользователь его вводит.

Вредоносное ПО для буфера обмена может заменить криптоадрес, даже если файл кошелька зашифрован.

Вредоносное ПО для записи экрана может сохранить фразу восстановления, когда она отображается.

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

Шифрование и фишинг

Фишинговый сайт может использовать действительное зашифрованное HTTPS-соединение.

Значок замка показывает, что соединение зашифровано для отображаемого домена, но не подтверждает честность сайта.

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

Перед продолжением пользователям следует проверить домен, запрос кошелька, адрес контракта, сеть, актив, сумму и разрешения.

Шифрование защищает канал связи, но не проверяет финансовый смысл запроса.

Шифрование и доступность данных

Зашифрованные данные полезны только тогда, когда уполномоченные пользователи могут получить и шифротекст, и необходимые материалы для расшифрования.

Файл в децентрализованном хранилище может исчезнуть, если его перестанут хранить все участники.

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

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

В надежной системе конфиденциальность сочетается с устойчивыми резервными копиями и возможностью восстановления.

Создание множества незащищенных копий ключа может повысить доступность, но лишить данные конфиденциальности.

Постквантовое шифрование

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

В постквантовой криптографии используются алгоритмы, предназначенные для защиты от атак как классических, так и квантовых компьютеров.

В августе 2024 года NIST утвердил первые три стандарта постквантовой криптографии.

В объявлении NIST о постквантовых стандартах указаны FIPS 203 для установления ключей ML-KEM, а также FIPS 204 и FIPS 205 для цифровых подписей.

ML-KEM — это механизм инкапсуляции ключей, а не прямая замена симметричному шифрованию данных.

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

Квантовые риски для криптовалют

Квантовые риски по-разному влияют на шифрование и подписи в криптовалютах.

В будущем может понадобиться перейти с систем подписей на основе открытого ключа на квантово-устойчивые альтернативы.

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

Для долгосрочной защиты от возможного повышения эффективности квантового поиска AES-256 обычно считается более консервативным выбором, чем AES-128.

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

Пользователям следует следовать официальным рекомендациям по обновлению протокола и не переводить активы на основании неподтвержденных заявлений о квантовых компьютерах.

Преимущества шифрования в криптовалютах

Шифрование может защитить секреты кошелька, если устройство хранения или резервную копию файла украдут.

Оно может снизить риск раскрытия конфиденциальной информации при ее передаче по недоверенной сети.

Оно может защищать личные сообщения, учетные данные API, данные аккаунта и сведения для восстановления.

Оно может обеспечить контролируемый обмен данными в блокчейн-приложениях.

Аутентифицированное шифрование может не только скрывать содержимое, но и обнаруживать несанкционированные изменения.

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

Шифрование может снизить риски, но не гарантирует сохранность активов и не заменяет тщательную проверку транзакций.

Ограничения шифрования

Шифрование не мешает уполномоченному пользователю намеренно раскрыть открытый текст.

Оно не скрывает все виды метаданных.

Оно не защищает данные после кражи ключа расшифрования.

Оно не может отменить активы, переведенные в результате действительной, но вредоносной транзакции.

Без дополнительных технологий конфиденциальности оно не обеспечивает конфиденциальное выполнение операций публичными смарт-контрактами.

Оно не гарантирует отсутствие ошибок в программной реализации.

Утрата единственного ключа расшифрования или пароля также может привести к безвозвратной потере данных.

Как разработчикам использовать шифрование

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

Им следует использовать поддерживаемые криптографические библиотеки и стандартизированные схемы аутентифицированного шифрования.

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

Требования к nonce и IV необходимо соблюдать точно.

Для данных, защищенных паролем, следует использовать подходящую функцию выведения ключа с солью и проверенными параметрами.

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

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

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

Как пользователям криптовалют безопасно пользоваться шифрованием

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

Затем следует установить надежный уникальный пароль для зашифрованных данных кошелька.

Фразу восстановления необходимо защищать отдельно, поскольку локальное шифрование может не защищать ее.

Следует хранить защищенные резервные копии как шифротекста, так и необходимой информации для восстановления.

Перед внесением значительного объема криптоактивов необходимо проверить процесс восстановления.

Не следует вводить секреты кошелька на веб-сайтах, в сообщениях или формах службы поддержки.

Перед подписанием следует проверять сведения о транзакции на надежном экране.

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

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

Нужно заранее продумать, что делать, если пароль, устройство или держатель ключа станут недоступны.

Пример шифрования резервной копии кошелька

Предположим, Алиса создает резервную копию кошелька с конфиденциальным ключевым материалом.

Кошелек генерирует случайную соль и с помощью функции выведения ключа на основе пароля получает из пароля Алисы ключ шифрования.

Кошелек создает уникальный nonce и шифрует резервную копию с помощью аутентифицированного шифрования.

Он сохраняет в структурированном файле шифротекст, соль, nonce, параметры выведения ключа и тег аутентификации.

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

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

Алиса хранит зашифрованную резервную копию в нескольких безопасных местах, а пароль — отдельно.

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

Если Алиса забудет пароль и у нее не будет альтернативного способа восстановления, зашифрованная резервная копия может стать безвозвратно непригодной для использования.

Распространенные ошибки при шифровании

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

Другая ошибка — путать цифровые подписи с шифрованием.

Третья ошибка — считать Base64, шестнадцатеричное представление или другой формат кодирования шифрованием.

Четвертая ошибка — хранить пароль расшифрования рядом с зашифрованным файлом кошелька.

Пятая ошибка — использовать слабый человеческий пароль без подходящей функции выведения ключа.

Шестая ошибка — повторно использовать nonce в режиме шифрования, требующем уникального значения.

Седьмая ошибка — шифровать данные без механизма аутентификации.

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

Девятая ошибка — считать, что зашифрованный аппаратный кошелек исключает риск вредоносных транзакций.

Десятая ошибка — не проверять восстановление из резервной копии до утраты исходного кошелька.

Часто задаваемые вопросы

Что означает шифрование в криптовалютах?

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

Зашифрованы ли транзакции криптовалют?

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

Почему транзакции блокчейна подписывают, а не шифруют?

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

Чем шифрование отличается от криптографии?

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

Чем шифрование отличается от хеширования?

Шифрование можно обратить с помощью соответствующего ключа, тогда как надежное хеширование задумано как одностороннее преобразование.

Чем шифрование отличается от кодирования?

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

Что такое симметричное шифрование?

При симметричном шифровании для шифрования и расшифрования данных используется один и тот же секретный ключ или близкие по типу секретные ключи.

Что такое асимметричное шифрование?

При асимметричном шифровании для шифрования используют открытый ключ, а для расшифрования — соответствующий приватный ключ.

Что такое гибридное шифрование?

При гибридном шифровании данные защищаются симметричным ключом, а сам ключ — с помощью механизма с открытым ключом.

Что такое AES?

AES — стандартизированный симметричный блочный шифр с ключами длиной 128, 192 и 256 бит.

Что такое аутентифицированное шифрование?

Аутентифицированное шифрование скрывает открытый текст и выявляет несанкционированные изменения защищенных данных.

Что такое nonce для шифрования?

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

Пароль кошелька — это то же самое, что приватный ключ?

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

Защищает ли пароль кошелька фразу восстановления?

Не обязательно: фраза восстановления может использоваться для восстановления кошелька независимо от локального зашифрованного файла.

Является ли парольная фраза BIP-39 обычным шифрованием?

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

Что такое зашифрованное хранилище ключей?

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

Можно ли взломать зашифрованный кошелек?

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

Использует ли аппаратный кошелек шифрование?

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

Делает ли HTTPS криптовалютный сайт безопасным?

Нет. HTTPS шифрует соединение с доменом, но не доказывает, что сайт или запрос транзакции добросовестны.

Могут ли смарт-контракты хранить ключи шифрования в секрете?

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

Можно ли хранить зашифрованные данные в блокчейне?

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

Являются ли доказательства с нулевым разглашением шифрованием?

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

Что такое пороговое шифрование?

При пороговом шифровании для расшифрования защищенных данных должно взаимодействовать заданное количество участников.

Может ли шифрование вернуть украденную криптовалюту?

Нет. Шифрование не может отменить действительный перевод в блокчейне или вернуть активы, отправленные злоумышленнику.

Что произойдет, если ключ шифрования будет потерян?

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

Что такое постквантовое шифрование?

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

Устойчива ли современная криптография кошельков к квантовым атакам?

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

Гарантирует ли надежное шифрование безопасность криптовалют?

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

Заключение

Шифрование преобразует читаемую информацию в шифротекст, который уполномоченные участники могут восстановить с помощью правильного криптографического ключа.

В криптовалютах оно защищает файлы кошельков, резервные копии приватных ключей, учетные данные, сообщения, сохраненные записи и сетевые соединения.

Шифрование не следует путать с цифровыми подписями, хешированием или кодированием данных.

Транзакции публичных блокчейнов обычно подписаны и видны всем, а не зашифрованы.

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

В современных системах эти методы часто объединяют с помощью гибридного и аутентифицированного шифрования.

Шифрование кошелька снижает риск, связанный с кражей файлов, но не защищает секреты, если вредоносное ПО перехватит пароль или расшифрованный ключ.

Фразы восстановления, локальные пароли кошелька и парольные фразы BIP-39 необходимо понимать и защищать с учетом их разных функций.

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

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

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

Понимание шифрования помогает пользователям криптовалют отличать конфиденциальность от авторизации транзакций и принимать более взвешенные решения о кошельках, резервных копиях, приватности и долгосрочной защите активов.
Откат или возможность?
Откат или возможность?Откат или возможность?
Почему BTC ETF привлекли 2,4 млрд $ при ликвидациях

В тренде

Трендовые криптовалюты, которые в настоящее время привлекают значительное внимание рынка

Недавно добавленные

Криптовалюты недавно внесенные в листинг и доступные для торговли