MoneroSwapper MoneroSwapper
Руководства

Офлайн-подпись транзакций Monero: руководство по air-gapped кошельку

MoneroSwapper Team · · · 2 min read · 60 views

Что такое air-gapped хранение и зачем оно нужно

Air-gapped (буквально «с воздушным зазором») — это компьютер, который никогда не подключался и не будет подключаться к интернету. Ни по Wi-Fi, ни по Ethernet, ни через Bluetooth. Физически изолированное устройство, существующее только для одной задачи: хранить приватные ключи и подписывать транзакции. Такой подход считается золотым стандартом безопасности для крупных сумм криптовалюты. Даже если ваш основной компьютер будет заражён вирусом или кейлоггером, злоумышленник не сможет украсть ваши XMR, потому что приватные ключи никогда не покидали изолированную машину.

Для Monero офлайн-подпись особенно важна. В отличие от Bitcoin, где кошелёк можно просто подписать и передать транзакцию, Monero использует сложные криптографические примитивы: кольцевые подписи, RingCT, stealth addresses. Это требует специальной процедуры с разделением ролей: view-only wallet на онлайн-компьютере и spending wallet на офлайн-компьютере.

Модель угроз: от чего защищаемся

Прежде чем настраивать air-gapped систему, важно понять, от каких угроз она защищает:

  • Вредоносное ПО: вирусы, трояны, кейлоггеры, clipboard hijackers.
  • Атаки на уровне ОС: эксплойты Windows/macOS, zero-day уязвимости.
  • Физическое изъятие устройства: если онлайн-компьютер конфискован, ключи остаются на офлайн.
  • Атаки цепочки поставок: скомпрометированные обновления приложений.
  • Удалённые атаки через роутер: уязвимости в локальной сети.

Air-gapped кошелёк защищает от всего перечисленного, оставляя только риски физической компрометации (кража устройства, скрытая камера, паяльник). Эти риски решаются шифрованием диска и физической охраной.

Что нужно для настройки

Минимальный набор оборудования:

  • Офлайн-компьютер: старый ноутбук, Raspberry Pi, или новое устройство, купленное за наличные. Идеально — без Wi-Fi модуля или с физически удалённым.
  • Онлайн-компьютер: ваш обычный ПК с интернетом.
  • USB-флешка: для передачи файлов между компьютерами. Желательно две: одна «только на запись онлайн → чтение офлайн», вторая в обратном направлении.
  • Чистая ОС на офлайн: Tails, Qubes OS, или свежая Debian/Ubuntu без лишних пакетов.
  • Monero CLI wallet: официальная версия с getmonero.org.

Выбор ОС для офлайн-машины

Лучшие варианты:

  • Tails — live-система с USB, не оставляет следов на диске. Идеально для разового использования.
  • Qubes OS — продвинутая ОС с изоляцией в виртуальных машинах. Сложнее в настройке.
  • Debian minimal — стабильная, предсказуемая, простая. Рекомендуется для постоянного использования.

Архитектура view-only и spending wallet

Monero поддерживает две роли кошелька:

  • View-only wallet: знает входящие транзакции и балансы, но не может тратить. Живёт на онлайн-компьютере и синхронизируется с блокчейном.
  • Spending wallet (cold wallet): хранит spend key, способен подписывать транзакции. Живёт только на офлайн-компьютере.

Процесс отправки транзакции выглядит так:

  • На онлайн-компьютере view-only кошелёк формирует «неподписанный набор транзакций» (unsigned_monero_tx).
  • Этот файл копируется на USB-флешку.
  • Флешка подключается к офлайн-компьютеру.
  • Spending wallet подписывает транзакцию, создавая signed_monero_tx.
  • Файл signed_monero_tx копируется обратно на онлайн-компьютер.
  • View-only кошелёк передаёт подписанную транзакцию в сеть.

Пошаговая настройка

Шаг 1: Создание кошелька на офлайн-компьютере

Загрузитесь в чистую ОС (например, Tails). Скачайте Monero CLI на онлайн-компьютере, проверьте GPG-подпись, перенесите на флешку и подключите к офлайн-машине. Запустите:

./monero-wallet-cli --offline --generate-new-wallet cold_wallet

Флаг --offline говорит кошельку не пытаться соединяться с нодой. Введите надёжный пароль и сохраните 25-слов seed-фразу. Запишите её на бумаге (или стальной пластине) и храните в сейфе. Никогда не фотографируйте и не храните в цифровом виде.

Шаг 2: Экспорт view-only ключей

В запущенном cold wallet выполните:

  • viewkey — покажет private view key.
  • address — покажет ваш публичный адрес.
  • seed — покажет seed-фразу (запишите и уберите).

Запишите view key и public address. Эти два значения не позволяют тратить, но позволяют просматривать баланс. Перенесите их на онлайн-компьютер через USB.

Шаг 3: Создание view-only кошелька на онлайн-машине

На онлайн-компьютере:

./monero-wallet-cli --generate-from-view-key online_view_only

Введите public address и view key из предыдущего шага. Кошелёк синхронизируется с блокчейном и покажет ваш баланс. Он полностью безопасен: даже если его украдут, средства в безопасности, потому что spend key остался на офлайн-машине.

Шаг 4: Создание неподписанной транзакции

Когда нужно отправить XMR, на онлайн-компьютере в view-only кошельке выполните:

transfer <адрес_получателя> <сумма>

Кошелёк сформирует unsigned transaction и сохранит его в файл unsigned_monero_tx. Скопируйте этот файл на USB-флешку.

Шаг 5: Подпись на офлайн-компьютере

Подключите USB к офлайн-машине. В cold wallet выполните:

  • sign_transfer unsigned_monero_tx

Кошелёк проверит детали (адрес, сумму, комиссию) и попросит подтвердить. После подписи появится файл signed_monero_tx. Скопируйте его на USB.

Шаг 6: Передача в сеть

На онлайн-компьютере:

  • submit_transfer signed_monero_tx

Кошелёк передаст подписанную транзакцию в mempool, и она попадёт в блокчейн. Всё: деньги отправлены, а spend key никогда не покидал изолированный компьютер.

Передача outputs для обновления баланса

Для полной функциональности view-only кошелька нужно иногда обновлять список outputs (принадлежащих вам выходов). Это делается так: на view-only выполните export_outputs outputs_file, перенесите файл на cold wallet, там выполните import_outputs outputs_file, затем обратно export_key_images key_images_file и на view-only import_key_images key_images_file. Это нужно, чтобы view-only корректно отображал потраченные outputs.

Защита USB-флешки: односторонняя передача

USB — потенциальный вектор атаки. Вредоносная флешка может атаковать через BadUSB или эксплуатировать уязвимости драйверов. Меры защиты:

  • Используйте разные флешки для прямого и обратного направления.
  • Отключите autorun в ОС.
  • Монтируйте USB как noexec, nosuid, nodev в Linux.
  • Никогда не используйте флешки из неизвестных источников.
  • Продвинутый вариант: QR-коды через камеру (unidirectional air gap).

QR-код как альтернатива USB

Ещё более параноидальный вариант — передача транзакций через QR-коды. Онлайн-компьютер отображает unsigned transaction в виде QR, офлайн-компьютер сканирует через камеру. Это полностью исключает электрический контакт между машинами. Minus: Monero транзакции могут быть большими, и может потребоваться разбить QR на несколько чанков. Существуют специализированные сборки кошельков с поддержкой этого режима.

Физическая безопасность офлайн-устройства

  • Шифрование диска: LUKS в Linux, FileVault в macOS. Пароль должен быть длинный (20+ символов).
  • Сейф: храните устройство в несгораемом сейфе.
  • Удаление Wi-Fi/Bluetooth: физическое извлечение модулей из материнской платы.
  • Отключение камеры и микрофона: физические заглушки.
  • Faraday bag: защита от беспроводных атак при транспортировке.

Резервное копирование seed-фразы

Seed-фраза — единственный способ восстановить кошелёк. Храните её:

  • Записанной на бумаге или стальной пластине (Cryptosteel, Billfodl).
  • В нескольких географически разделённых местах.
  • Зашифрованной BIP-39 passphrase (для продвинутых).
  • Никогда не храните в облаке, электронной почте или мессенджерах.

Схема Shamir Secret Sharing

Для особо крупных сумм используйте SSS: разделите seed на N частей, из которых K достаточно для восстановления. Например, 3-из-5: 5 частей у разных доверенных лиц, любые 3 восстанавливают кошелёк. Это защищает от кражи одной части и от потери нескольких частей одновременно.

Правовой контекст: Monero и российское законодательство

Согласно №259-ФЗ, криптовалюты в России — это имущество. ФНС требует декларировать крупные операции. Офлайн-хранение XMR полностью законно: вы имеете право на приватное владение своим имуществом. ЦБ РФ негативно относится к приватным монетам, но владение не криминализировано. Росфинмониторинг отслеживает операции на централизованных биржах, но air-gapped кошелёк не имеет отношения к биржам вообще. Важно: при обмене XMR на фиат соблюдайте декларирование сумм свыше 600 000 рублей в год во избежание налоговых претензий.

Обмен XMR без выхода из офлайн-безопасности

Если вам нужно обменять XMR на другие криптовалюты, не компрометируя безопасность, используйте некастодиальные обменники без KYC. MoneroSwapper позволяет создать ордер на обмен, отправить XMR с офлайн-подписанной транзакцией и получить BTC/ETH/USDT на новый адрес. Никакого KYC, никаких аккаунтов, полная совместимость с air-gapped рабочим процессом. Попробуйте MoneroSwapper для безопасного приватного обмена ваших сбережений.

Типичные ошибки

  • Использование «офлайн» компьютера, который когда-то подключался к Wi-Fi. Даже одно подключение может быть достаточно для компрометации.
  • Скачивание Monero CLI с неофициального сайта. Всегда проверяйте GPG-подписи.
  • Запись seed-фразы в смартфон, Notion или Google Docs.
  • Использование одной и той же USB-флешки в онлайн и офлайн окружении без дезинфекции.
  • Отсутствие бэкапа: потеря cold wallet = потеря всех средств, если нет seed.

Заключение

Air-gapped кошелёк Monero — это самый надёжный способ долгосрочного хранения XMR. Процедура требует внимания и дисциплины, но взамен вы получаете защиту, практически недостижимую любыми другими средствами. Для пользователей из России и СНГ, где финансовая приватность особенно важна, это инвестиция в спокойствие. Сочетайте air-gapped хранение с приватными обменами через MoneroSwapper — и ваши сбережения будут в максимальной безопасности как от цифровых, так и от правовых угроз.

Расширенные сценарии: мульти-сиг и корпоративное хранение

Помимо стандартного air-gapped кошелька, для особо крупных сумм и корпоративного использования существуют ещё более продвинутые схемы. Рассмотрим их кратко.

Мульти-подпись в Monero

Monero поддерживает multisignature-кошельки, где для отправки транзакции требуется подпись нескольких сторон. Например, 2-из-3: три участника с ключами, любые два должны подписать. Это защищает от единичной компрометации: даже если один участник украден или скомпрометирован, средства в безопасности. Настройка сложнее, чем в Bitcoin, но возможна через Monero CLI. Подходит для корпоративных казначейств, DAO, совместных инвестиций.

Распределённое хранение ключей через SSS

Shamir Secret Sharing, который мы упоминали для резервных копий seed, может использоваться и для оперативного управления ключами. Например, генеральный директор имеет часть ключа, финансовый директор — другую, бухгалтер — третью. Для отправки крупной транзакции нужны как минимум две части. Это создаёт встроенную систему внутреннего контроля.

HSM (Hardware Security Module)

Для корпоративного уровня существуют специализированные HSM-устройства (YubiHSM, Ledger Enterprise), которые хранят приватные ключи в защищённом чипе. Ключи физически не могут покинуть устройство: подпись транзакции происходит внутри чипа. Это аналог air-gapped компьютера, но в более компактной и сертифицированной форме.

Операционная дисциплина: процедурные правила

Безопасность air-gapped системы на 80% зависит от дисциплины пользователя. Вот ключевые правила:

  • Никогда не подключайте офлайн-компьютер к интернету, даже «на пять минут для обновления».
  • Обновляйте ОС на офлайн-машине только через USB, перенося проверенные пакеты.
  • Работайте с офлайн-машиной в закрытом помещении без посторонних камер и микрофонов.
  • Документируйте каждую транзакцию: дата, сумма, получатель — чтобы иметь историю для налогового декларирования.
  • Проводите регулярные учения: раз в год восстанавливайте кошелёк из бэкапа, чтобы убедиться в работоспособности процедуры.
  • Держите две копии cold wallet на разных носителях на случай физического отказа.

Интеграция с текущими обменами

Если вы используете air-gapped кошелёк, это не означает, что вы отрезаны от мира обменов. Процесс таков: решив обменять XMR, вы создаёте ордер на MoneroSwapper (через Tor с онлайн-машины), получаете временный депозитный адрес, формируете unsigned transaction в view-only кошельке, переносите на офлайн-машину, подписываете, возвращаете signed transaction и публикуете её в сеть. Вся операция занимает 10-15 минут и не требует нарушения изоляции. Таким образом, air-gapped хранение полностью совместимо с активной торговлей и обменом, сохраняя при этом максимальную защиту ключей.

Поделиться статьей

Похожие статьи

Готовы к обмену?

Анонимный Обмен Monero

Без KYC • Без регистрации • Мгновенный обмен

Обменять сейчас