Цей посібник охоплює основні практики безпеки для захисту вашого гаманця TALER та активів.
Розуміння wallet.dat - джерело істини вашого гаманця
Що таке wallet.dat?
Файл wallet.dat - це єдине джерело істини для вашого гаманця TALER. Цей файл бази даних Berkeley DB містить все необхідне для доступу та витрачання ваших монет:
Критичні дані, що зберігаються:
- Приватні ключі: Криптографічні ключі, які контролюють ваші монети TALER
- HD Wallet Seed: Головне зерно для ієрархічного детермінованого виведення ключів
- Історія транзакцій: Повний запис усіх транзакцій гаманця
- Адресна книга: Збережені адреси з мітками
- Метадані ключів: Час створення, шляхи виведення, асоціації ключів
- Головний ключ шифрування: Зашифрований ключовий матеріал (якщо гаманець зашифрований)
Розташування файлу:
- Windows:
%APPDATA%\TALER\wallet.dat - macOS:
~/Taler/wallet.dat - Linux:
~/.taler/wallet.dat
Чому wallet.dat критично важливий
Якщо ви втратите wallet.dat, ви втратите свої монети назавжди.
- Немає відновлення “забув пароль”
- Жодна компанія чи влада не може відновити доступ
- Транзакції блокчейну незворотні
- Ваші монети = Ваша відповідальність
Файл wallet.dat - це водночас ваш найбільший актив і ваша найбільша вразливість.
Стан безпеки за замовчуванням
Гаманець НЕ зашифрований за замовчуванням
Важливо: Коли ви вперше створюєте гаманець TALER, він повністю незашифрований.
Це означає:
- Приватні ключі зберігаються у відкритому тексті всередині wallet.dat
- Будь-хто, хто має доступ до вашого комп’ютера, може скопіювати wallet.dat
- Якщо wallet.dat вкрадено, ваші монети можуть бути витрачені негайно
- Для відправлення транзакцій не потрібен пароль
Потрібна дія: Ви повинні вручну зашифрувати свій гаманець для його захисту.
Шифрування вашого гаманця
Як зашифрувати свій гаманець
Використовуючи GUI taler-qt:
- Відкрийте гаманець taler-qt
- Перейдіть у меню Settings
- Оберіть “Encrypt Wallet”
- Введіть міцний пароль (дивіться вимоги нижче)
- Підтвердіть пароль
- Дочекайтеся завершення процесу шифрування
Гаманець:
- Згенерує випадковий 32-байтний головний ключ
- Виведе ключ шифрування з вашого пароля за допомогою SHA-512
- Зашифрує всі приватні ключі за допомогою AES-256-CBC
- Виконає повний перезапис бази даних для видалення незашифрованих даних
- Згенерує нове HD зерно для майбутнього виведення ключів
Використовуючи командний рядок:
taler-cli encryptwallet "ваш-міцний-пароль-тут"
Технічні деталі шифрування
Алгоритм: AES-256-CBC (Advanced Encryption Standard, 256-бітний ключ, режим Cipher Block Chaining)
Виведення ключа:
- Метод: Виведення ключа на основі SHA-512
- Ітерації: Адаптивні (мінімум 25,000, зазвичай ~100,000+)
- Сіль: 8 випадкових байтів на головний ключ
- Оптимізовано за продуктивністю до приблизно 0.1 секунди на розблокування
Функції безпеки:
- Головний ключ зашифрований ключем, похідним від пароля
- Кожен приватний ключ зашифрований головним ключем
- База даних повністю перезаписується для ліквідації слабкості простору
- Безпечна обробка пам’яті з автоматичним очищенням пам’яті
- Вектори ініціалізації похідні від ключового матеріалу
Вибір міцного пароля
Вимоги до пароля:
- Мінімум: 1 символ (технічно)
- Рекомендується: 20+ символів з високою ентропією
- Найкраща практика: Використовуйте генератор парольних фраз або метод Diceware
Рекомендації щодо пароля:
- ✓ Використовуйте довгу, випадкову комбінацію слів
- ✓ Включайте цифри, символи, великі та малі літери
- ✓ Зробіть його запам’ятовуваним, але непередбачуваним
- ✓ Не використовуйте особисту інформацію (імена, дні народження)
- ✓ Не використовуйте тільки слова зі словника
- ✗ Не використовуйте повторно паролі з інших сервісів
- ✗ Не використовуйте короткі паролі (< 12 символів)
Приклади міцних парольних фраз:
Correct-Horse-Battery-Staple-92!PurpleMy#Taler$Wallet%Has&8943*Coins7-Elephant-Dancing-@-Midnight-2025
Попередження: Якщо ви забули свій пароль, ваші кошти назавжди втрачені. Немає механізму відновлення.
Після шифрування
Після шифрування ваш гаманець буде:
- Вимагати пароль для відправлення транзакцій
- Автоматично блокуватися після таймаута (за замовчуванням: ніколи, але налаштовується)
- Захищати приватні ключі навіть якщо wallet.dat вкрадено
- Запобігати несанкціонованим витратам ваших монет
Стратегії резервного копіювання гаманця
Чому резервне копіювання важливе
Резервне копіювання захищає від:
- Збою жорсткого диска
- Втрати або крадіжки комп’ютера
- Випадкового видалення
- Пошкодження файлу
- Атак програм-вимагачів
Пам’ятайте: Немає резервної копії = Немає відновлення
Як зробити резервну копію wallet.dat
Метод 1: Ручне резервне копіювання файлу (Рекомендується)
- Закрийте гаманець taler-qt (важливо!)
- Знайдіть файл wallet.dat:
- Windows:
%APPDATA%\TALER\wallet.dat - macOS:
~/Taler/wallet.dat - Linux:
~/.taler/wallet.dat
- Windows:
- Скопіюйте wallet.dat у безпечне місце:
- Зовнішній USB-накопичувач (зашифрований)
- Зашифроване хмарне сховище (контейнер VeraCrypt тощо)
- Кілька фізичних місць для резервування
- Перевірте резервну копію, перевіряючи розмір і дату файлу
Метод 2: Використання команди dumpwallet
Для незашифрованих або розблокованих гаманців:
taler-cli dumpwallet "/шлях/до/резервної/wallet-backup.txt"
Це створює текстовий файл з усіма приватними ключами у форматі WIF.
Метод 3: Резервне копіювання HD зерна
Якщо використовується HD гаманець (за замовчуванням для нових гаманців):
- Зробіть резервну копію HD зерна (відображається при створенні гаманця)
- Всі майбутні ключі можуть бути похідними від цього зерна
- Зберігайте зерно безпечно в автономному режимі (папір, металева резервна копія)
Найкращі практики резервного копіювання
Частота:
- Резервна копія відразу після шифрування гаманця
- Резервна копія після генерації багатьох нових адрес
- Резервна копія перед основними операціями з гаманцем
- Регулярні резервні копії (щотижня/щомісяця для активних гаманців)
Місця зберігання:
- ✓ Кілька копій у різних фізичних місцях
- ✓ Зашифровані зовнішні накопичувачі (USB, зовнішній SSD)
- ✓ Автономне сховище (комп’ютер без мережі, сейф у банку)
- ✓ Зашифроване хмарне сховище (спочатку зашифруйте, потім завантажте)
- ✗ Ніколи не зберігайте незашифровані резервні копії в хмарних сервісах
- ✗ Ніколи не надсилайте резервні копії гаманця собі електронною поштою
- ✗ Ніколи не зберігайте на дисках, доступних по мережі
Шифрування для резервних копій:
- Шифруйте файли резервних копій перед зовнішнім зберіганням
- Використовуйте такі інструменти, як VeraCrypt, GPG або 7-Zip з AES-256
- Зберігайте пароль шифрування окремо від резервної копії
- Розгляньте апаратно зашифровані USB-накопичувачі
Тестування резервних копій
Перевірте, що ваша резервна копія працює:
- Створіть тестове відновлення на окремій системі
- Скопіюйте резервну копію в тестове місце
- Запустіть гаманець з тестовим каталогом даних
- Перевірте, що адреси та баланс збігаються
- Не відправляйте транзакції з тестового відновлення
Ніколи не довіряйте резервній копії, яку ви не тестували.
Блокування і розблокування гаманця
Розблокування вашого гаманця
Після шифрування вам потрібно буде розблокувати свій гаманець для відправлення транзакцій.
Використовуючи GUI taler-qt:
- При відправленні транзакції автоматично з’являється запит пароля
- Введіть пароль для підписання транзакції
- Гаманець знову блокується після закінчення таймаута (якщо встановлено таймаут)
Використовуючи командний рядок:
# Розблокувати гаманець на 300 секунд (5 хвилин)
taler-cli walletpassphrase "ваш-пароль" 300
# Розблокувати гаманець безстроково (до ручного блокування або перезапуску)
taler-cli walletpassphrase "ваш-пароль" 0
Параметр таймаута:
- Визначає секунди, коли гаманець залишається розблокованим
- Максимум: 100,000,000 секунд (~3.17 років)
- 0 = розблокований до перезапуску демона
- Гаманець автоматично знову блокується після закінчення таймаута
Зміна вашого пароля
Якщо вам потрібно змінити пароль гаманця:
Використовуючи командний рядок:
taler-cli walletpassphrasechange "старий-пароль" "новий-пароль"
Процес:
- Перевіряє старий пароль
- Повторно шифрує всі ключі новим паролем
- Оновлює сховище головного ключа
- Зробіть резервну копію гаманця після зміни пароля
Коли потрібно змінити пароль:
- Підозра в компрометації
- Пароль був слабким
- Раніше поділилися з кимось
- Регулярна практика безпеки (щороку)
Безпека файлової системи
Захист wallet.dat на диску
Дозволи на файл (Linux/macOS):
# Встановити обмежувальні дозволи на wallet.dat
chmod 600 ~/.taler/wallet.dat
# Переконайтеся, що каталог гаманця приватний
chmod 700 ~/.taler
Це гарантує, що тільки ваш обліковий запис може читати/писати гаманець.
Windows:
- Натисніть правою кнопкою миші на wallet.dat → Властивості → Безпека
- Видаліть всіх користувачів, крім вашого облікового запису
- Встановіть дозволи тільки на Читання і Запис для вашого користувача
Безпечне видалення
Якщо вам потрібно видалити старі резервні копії гаманця:
Linux:
shred -vfz -n 10 old-wallet-backup.dat
macOS:
srm -v old-wallet-backup.dat
Windows: Використовуйте такі інструменти, як SDelete або Eraser, для безпечного стирання файлів.
Ніколи не використовуйте стандартне видалення для файлів гаманця - вони можуть бути відновлені.
Додаткові заходи безпеки
Антивірус і анти-шкідливе ПЗ
Ризики:
- Клавіатурні шпигуни можуть перехопити ваш пароль
- Шкідливе ПЗ для захоплення екрана може вкрасти вміст гаманця
- Перехоплювачі буфера обміну можуть замінювати адреси
- Програми-вимагачі можуть зашифрувати ваш wallet.dat
Захист:
- Тримайте антивірусне ПЗ оновленим
- Використовуйте надійне ПЗ безпеки
- Регулярно скануйте систему
- Будьте обережні з невідомими завантаженнями
- Не натискайте на підозрілі вкладення електронної пошти
Безпека мережі
Безпека інтерфейсу RPC:
Якщо виконується talerd з увімкненим RPC:
# У taler.conf
rpcuser=ваш_логін
rpcpassword=ваш_міцний_пароль
rpcallowip=127.0.0.1 # Тільки localhost
Ніколи не виставляйте RPC у публічний інтернет:
- Прив’язуйте RPC тільки до localhost (
rpcbind=127.0.0.1) - Використовуйте брандмауер для блокування зовнішнього доступу RPC
- Використовуйте міцні облікові дані RPC
- Не використовуйте паролі за замовчуванням
Шифрування гаманця і шифрування диска
Ешелонований захист:
- Шифрування гаманця захищає, якщо wallet.dat вкрадено
- Шифрування диска (BitLocker, FileVault, LUKS) захищає всю систему
- Використовуйте обидва для максимальної безпеки
Переваги шифрування диска:
- Захищає від фізичної крадіжки
- Шифрує всі файли, а не тільки гаманець
- Захищає журнали відладки та тимчасові файли
- Потрібно, якщо ноутбук подорожує з вами
Холодне сховище для великих сум
Для значних кількостей TALER:
- Створіть автономний гаманець на комп’ютері без мережі
- Згенеруйте адресу отримання в автономному режимі
- Переведіть монети на адресу холодного гаманця
- Зробіть резервну копію wallet.dat і HD зерна в кількох безпечних місцях
- Зберігайте резервну копію у фізичному сейфі або в сейфі банку
- Ніколи не підключайте комп’ютер холодного гаманця до інтернету
Витрачання з холодного сховища:
- Створіть непідписану транзакцію на комп’ютері в мережі
- Передайте на автономний комп’ютер через USB
- Підпишіть транзакцію в автономному режимі
- Передайте підписану транзакцію назад на комп’ютер в мережі
- Транслюйте в мережу
Міркування безпеки бази даних
Приватний режим Berkeley DB
Гаманець TALER використовує Berkeley DB з увімкненим приватним режимом за замовчуванням (прапорець -privdb).
Що це означає:
- Файли бази даних недоступні через спільну пам’ять
- Запобігає читанню даних гаманця іншими процесами
- Покращує приватність і безпеку
Слабкість простору бази даних
Функція безпеки: Коли ви шифруєте свій гаманець, TALER виконує повний перезапис бази даних.
Чому це важливо:
- Berkeley DB може залишити незашифровані дані в “слабкості простору”
- Слабкість простору = невикористані області файлу бази даних
- Повний перезапис ліквідує цей ризик
- Незашифровані ключі не підлягають відновленню після шифрування
Файл блокування бази даних
TALER створює файл .walletlock для запобігання одночасного доступу:
- Запобігає пошкодженню бази даних
- Гарантує, що тільки один процес отримує доступ до гаманця
- Якщо ви бачите помилку “wallet already in use”, виконується інший процес
Безпека журналювання відладки
Міркування файлу журналу
Журнали відладки можуть містити конфіденційну інформацію:
- Деталі транзакцій
- Інформація про адреси
- Дані підключення
- Інформація про час
Розташування журналу:
- Windows:
%APPDATA%\TALER\debug.log - macOS:
~/Taler/debug.log - Linux:
~/.taler/debug.log
Найкращі практики:
- Не діліться журналами відладки публічно без санітарної обробки
- Обмежте дозволи на файл debug.log
- Відключіть докладне журналювання, якщо не потрібно (
-debug=0) - Періодично очищайте старі журнали
Контрольний список безпеки
Основні кроки безпеки
- Зашифруйте свій гаманець з міцним паролем
- Зробіть резервну копію wallet.dat в кілька безпечних місць
- Перевірте свою резервну копію відновленням на тестовій системі
- Запишіть HD зерно (якщо використовується HD гаманець)
- Встановіть обмежувальні дозволи на файл на wallet.dat (600)
- Увімкніть шифрування диска (BitLocker/FileVault/LUKS)
- Використовуйте міцні облікові дані RPC, якщо виконується демон
- Тримайте систему і антивірус оновленими
- Ніколи не діліться паролем ні з ким
Регулярне обслуговування безпеки
Щомісяця:
- Створіть свіжу резервну копію wallet.dat
- Перевірте, що існуючі резервні копії доступні
- Перевірте наявність оновлень і патчів системи
- Перевірте активні підключення RPC (якщо застосовно)
Щороку:
- Розгляньте можливість зміни пароля гаманця
- Проведіть аудит місць резервного копіювання і безпеки
- Перевірте процедуру відновлення гаманця
- Перевірте загальне налаштування безпеки
Поширені помилки безпеки
Не робіть цього
❌ Зберігання гаманця в папках синхронізації хмари:
- Dropbox, Google Drive, iCloud, OneDrive
- Може синхронізувати пошкоджені файли під час запису
- Виставляє wallet.dat хмарному сервісу
- Конфлікти синхронізації можуть пошкодити гаманець
❌ Використання слабких парольних фраз:
- Короткі паролі (< 12 символів)
- Тільки слова зі словника
- Особиста інформація (день народження, ім’я домашньої тварини)
- Поширені паролі (Password123 тощо)
❌ Поділ wallet.dat:
- Кілька осіб використовують один гаманець
- Відправлення wallet.dat електронною поштою/чатом
- Зберігання незашифрованого на спільних дисках
❌ Ігнорування резервних копій:
- Менталітет “я зроблю резервну копію пізніше”
- Єдине місце резервного копіювання
- Ніколи не тестувати резервні копії
- Старі резервні копії (відсутні останні ключі)
❌ Залишити гаманець розблокованим безстроково:
- Розблокування з timeout=0 заради зручності
- Довгі періоди таймаута на спільних/публічних комп’ютерах
Що робити, якщо скомпрометовано
Якщо ви підозрюєте компрометацію гаманця
Невідкладні дії:
- Створіть новий безпечний гаманець на чистій системі
- Переведіть всі кошти в новий гаманець негайно
- Відключіть скомпрометований комп’ютер від мережі
- Змініть всі паролі і паролі
- Проскануйте систему на шкідливе ПЗ ретельно
- Перебудуйте скомпрометовану систему з чистої установки ОС
Якщо гаманець втрачено або вкрадено
Якщо у вас є резервна копія:
- Відновіть wallet.dat з резервної копії
- Створіть новий гаманець на безпечній системі
- Переведіть всі кошти в новий гаманець
- Залиште старий гаманець
Якщо у вас немає резервної копії:
- Ваші кошти назавжди втрачені
- Відновлення неможливе
- Вивчіть цей досвід
- Завжди робіть резервні копії майбутніх гаманців
Просунуті теми безпеки
Гаманці з множинними підписами
Для організаційного використання або підвищеної безпеки:
- Вимагають кількох підписів для авторизації транзакцій
- Захищає від компрометації одного ключа
- Корисно для управління бізнесом/казначейством
- Вимагає ретельного налаштування і управління ключами
Апаратні гаманці
Наразі TALER не має спеціальної підтримки апаратних гаманців, але ви можете:
- Використовувати комп’ютер без мережі як холодне сховище
- Зберігати wallet.dat на зашифрованому апаратному пристрої
- Використовувати апаратно зашифровані USB-накопичувачі для резервних копій
Гаманці тільки для спостереження
Створіть гаманець тільки для спостереження для моніторингу балансу без можливості витрат:
- Імпортуйте адреси без приватних ключів
- Стежте за вхідними транзакціями
- Безпечно використовувати на підключених до інтернету системах
- Не може відправляти транзакції
Отримання допомоги
Питання з безпеки
Якщо у вас є проблеми з безпекою:
- НЕ діліться своїм паролем або приватними ключами
- НЕ публікуйте wallet.dat публічно
- НЕ діліться журналами відладки без санітарної обробки
Для допомоги з безпекою:
- Відвідайте Канали спільноти
- Задавайте загальні питання, не розкриваючи конфіденційних деталей
- Консультуйтеся з експертами з безпеки криптовалют
Резюме
Ключові висновки:
- wallet.dat - це все - втратите його, втратите свої монети
- Не зашифрований за замовчуванням - ви повинні зашифрувати вручну
- Потрібен міцний пароль - рекомендується 20+ символів
- Резервні копії в кількох місцях - тестуйте свої резервні копії
- Використовуйте таймаути розблокування - гаманець автоматично блокується після таймаута
- Ешелонований захист - використовуйте кілька рівнів безпеки
- Ваша відповідальність - жодна компанія не може відновити втрачені гаманці
Безпека - це процес, а не продукт. Будьте пильними, будьте безпечними.