Шифрование начинается там, где существуют данные: на дисках, в базах данных, в резервных копиях. Оно необходимо и для информации, передаваемой по сети — через API-запросы или в процессе обработки в оперативной памяти. Данные «на хранении» и «в транзите» зашифровать относительно просто. Гораздо сложнее обеспечить защиту данных в момент их использования — здесь требуются конфиденциальные вычисления и более строгий контроль доступа.
Одного envelope-шифрования недостаточно
Хранение офчейн-данных и чувствительной информации — KYC-файлов, email-адресов, логов подключения кошельков — с использованием «data keys» для ускорения чтения и записи считается базовым уровнем защиты. «Master key», скрытый в KMS, может добавить дополнительный слой безопасности. Однако без регулярной ротации ключей такая схема теряет практический смысл.
Главный ключ должен ротироваться вместе с отдельными ключами данных для разных сред — продуктовой, поддержки, аналитики — с повторной блокировкой доступа при каждой ротации. Это важно, поскольку политика шифрования и правила доступа централизованы. При этом полное повторное шифрование всей базы данных на практике почти невозможно, если вы хотите быстро разрабатывать и выпускать продукт.
Преимущества такой стратегии — снижение ущерба в случае утечки и более прозрачный контроль комплаенса: каждое действие по расшифровке фиксируется в логах.
Не смешивайте секреты, ключи и токены
API-ключи RPC-провайдеров, таких как Infura, Alchemy или QuickNode, — это секреты, которые обеспечивают соединение приложения с основными серверами. К секретам также относятся строки подписи webhook или пароли к базам данных.
Ключи — это криптографические инструменты, которые используются для шифрования и подписи транзакций и пользовательских данных, например внутренних сообщений. Токены — это временные пропуска, такие как OAuth-токены или подписанные JWT, применяемые для API-запросов.
Базовые правила просты. В коде и переменных окружения не должно храниться секретов. Ключи должны размещаться в системах KMS или HSM с жёстким контролем доступа. Токены необходимо ограничивать конкретными действиями — например, получением баланса или позиции, экспортом данных аккаунта, подтверждением операций через 2FA и другими отдельными сценариями.
Смешивание этих сущностей часто приводит к утечкам: пользователь с избыточными правами доступа может получить к ним полный контроль.
Шифрование не решает проблему приватности полностью
Да, оно защищает хранящиеся данные. Но этого недостаточно, если продукт изначально собирает их слишком много. В криптоиндустрии ончейн-активность по своей природе публична. Как только офчейн-метаданные связывают кошелёк с конкретной личностью, информация начинает распространяться по разным системам. Массовый сбор IP-адресов, email, идентификаторов устройств и других данных — даже если всё тщательно логируется — может привести к утечке через отчёты о сбоях или аналитические сервисы.
Поэтому главным ориентиром должна оставаться минимизация данных, а уже поверх неё — слой шифрования. Далее рассмотрим примеры инструментов по категориям и ситуации, в которых стоит выбирать тот или иной вариант.