Найкращі практики безпеки

Цей посібник охоплює основні практики безпеки для захисту вашого гаманця 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:

  1. Відкрийте гаманець taler-qt
  2. Перейдіть у меню Settings
  3. Оберіть “Encrypt Wallet”
  4. Введіть міцний пароль (дивіться вимоги нижче)
  5. Підтвердіть пароль
  6. Дочекайтеся завершення процесу шифрування

Гаманець:

  • Згенерує випадковий 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!Purple
  • My#Taler$Wallet%Has&8943*Coins
  • 7-Elephant-Dancing-@-Midnight-2025

Попередження: Якщо ви забули свій пароль, ваші кошти назавжди втрачені. Немає механізму відновлення.

Після шифрування

Після шифрування ваш гаманець буде:

  • Вимагати пароль для відправлення транзакцій
  • Автоматично блокуватися після таймаута (за замовчуванням: ніколи, але налаштовується)
  • Захищати приватні ключі навіть якщо wallet.dat вкрадено
  • Запобігати несанкціонованим витратам ваших монет

Стратегії резервного копіювання гаманця

Чому резервне копіювання важливе

Резервне копіювання захищає від:

  • Збою жорсткого диска
  • Втрати або крадіжки комп’ютера
  • Випадкового видалення
  • Пошкодження файлу
  • Атак програм-вимагачів

Пам’ятайте: Немає резервної копії = Немає відновлення

Як зробити резервну копію wallet.dat

Метод 1: Ручне резервне копіювання файлу (Рекомендується)

  1. Закрийте гаманець taler-qt (важливо!)
  2. Знайдіть файл wallet.dat:
    • Windows: %APPDATA%\TALER\wallet.dat
    • macOS: ~/Taler/wallet.dat
    • Linux: ~/.taler/wallet.dat
  3. Скопіюйте wallet.dat у безпечне місце:
    • Зовнішній USB-накопичувач (зашифрований)
    • Зашифроване хмарне сховище (контейнер VeraCrypt тощо)
    • Кілька фізичних місць для резервування
  4. Перевірте резервну копію, перевіряючи розмір і дату файлу

Метод 2: Використання команди dumpwallet

Для незашифрованих або розблокованих гаманців:

taler-cli dumpwallet "/шлях/до/резервної/wallet-backup.txt"

Це створює текстовий файл з усіма приватними ключами у форматі WIF.

Метод 3: Резервне копіювання HD зерна

Якщо використовується HD гаманець (за замовчуванням для нових гаманців):

  • Зробіть резервну копію HD зерна (відображається при створенні гаманця)
  • Всі майбутні ключі можуть бути похідними від цього зерна
  • Зберігайте зерно безпечно в автономному режимі (папір, металева резервна копія)

Найкращі практики резервного копіювання

Частота:

  • Резервна копія відразу після шифрування гаманця
  • Резервна копія після генерації багатьох нових адрес
  • Резервна копія перед основними операціями з гаманцем
  • Регулярні резервні копії (щотижня/щомісяця для активних гаманців)

Місця зберігання:

  • Кілька копій у різних фізичних місцях
  • Зашифровані зовнішні накопичувачі (USB, зовнішній SSD)
  • Автономне сховище (комп’ютер без мережі, сейф у банку)
  • Зашифроване хмарне сховище (спочатку зашифруйте, потім завантажте)
  • Ніколи не зберігайте незашифровані резервні копії в хмарних сервісах
  • Ніколи не надсилайте резервні копії гаманця собі електронною поштою
  • Ніколи не зберігайте на дисках, доступних по мережі

Шифрування для резервних копій:

  • Шифруйте файли резервних копій перед зовнішнім зберіганням
  • Використовуйте такі інструменти, як VeraCrypt, GPG або 7-Zip з AES-256
  • Зберігайте пароль шифрування окремо від резервної копії
  • Розгляньте апаратно зашифровані USB-накопичувачі

Тестування резервних копій

Перевірте, що ваша резервна копія працює:

  1. Створіть тестове відновлення на окремій системі
  2. Скопіюйте резервну копію в тестове місце
  3. Запустіть гаманець з тестовим каталогом даних
  4. Перевірте, що адреси та баланс збігаються
  5. Не відправляйте транзакції з тестового відновлення

Ніколи не довіряйте резервній копії, яку ви не тестували.


Блокування і розблокування гаманця

Розблокування вашого гаманця

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

Використовуючи 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:

  1. Створіть автономний гаманець на комп’ютері без мережі
  2. Згенеруйте адресу отримання в автономному режимі
  3. Переведіть монети на адресу холодного гаманця
  4. Зробіть резервну копію wallet.dat і HD зерна в кількох безпечних місцях
  5. Зберігайте резервну копію у фізичному сейфі або в сейфі банку
  6. Ніколи не підключайте комп’ютер холодного гаманця до інтернету

Витрачання з холодного сховища:

  • Створіть непідписану транзакцію на комп’ютері в мережі
  • Передайте на автономний комп’ютер через 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 заради зручності
  • Довгі періоди таймаута на спільних/публічних комп’ютерах

Що робити, якщо скомпрометовано

Якщо ви підозрюєте компрометацію гаманця

Невідкладні дії:

  1. Створіть новий безпечний гаманець на чистій системі
  2. Переведіть всі кошти в новий гаманець негайно
  3. Відключіть скомпрометований комп’ютер від мережі
  4. Змініть всі паролі і паролі
  5. Проскануйте систему на шкідливе ПЗ ретельно
  6. Перебудуйте скомпрометовану систему з чистої установки ОС

Якщо гаманець втрачено або вкрадено

Якщо у вас є резервна копія:

  1. Відновіть wallet.dat з резервної копії
  2. Створіть новий гаманець на безпечній системі
  3. Переведіть всі кошти в новий гаманець
  4. Залиште старий гаманець

Якщо у вас немає резервної копії:

  • Ваші кошти назавжди втрачені
  • Відновлення неможливе
  • Вивчіть цей досвід
  • Завжди робіть резервні копії майбутніх гаманців

Просунуті теми безпеки

Гаманці з множинними підписами

Для організаційного використання або підвищеної безпеки:

  • Вимагають кількох підписів для авторизації транзакцій
  • Захищає від компрометації одного ключа
  • Корисно для управління бізнесом/казначейством
  • Вимагає ретельного налаштування і управління ключами

Апаратні гаманці

Наразі TALER не має спеціальної підтримки апаратних гаманців, але ви можете:

  • Використовувати комп’ютер без мережі як холодне сховище
  • Зберігати wallet.dat на зашифрованому апаратному пристрої
  • Використовувати апаратно зашифровані USB-накопичувачі для резервних копій

Гаманці тільки для спостереження

Створіть гаманець тільки для спостереження для моніторингу балансу без можливості витрат:

  • Імпортуйте адреси без приватних ключів
  • Стежте за вхідними транзакціями
  • Безпечно використовувати на підключених до інтернету системах
  • Не може відправляти транзакції

Отримання допомоги

Питання з безпеки

Якщо у вас є проблеми з безпекою:

  • НЕ діліться своїм паролем або приватними ключами
  • НЕ публікуйте wallet.dat публічно
  • НЕ діліться журналами відладки без санітарної обробки

Для допомоги з безпекою:

  • Відвідайте Канали спільноти
  • Задавайте загальні питання, не розкриваючи конфіденційних деталей
  • Консультуйтеся з експертами з безпеки криптовалют

Резюме

Ключові висновки:

  1. wallet.dat - це все - втратите його, втратите свої монети
  2. Не зашифрований за замовчуванням - ви повинні зашифрувати вручну
  3. Потрібен міцний пароль - рекомендується 20+ символів
  4. Резервні копії в кількох місцях - тестуйте свої резервні копії
  5. Використовуйте таймаути розблокування - гаманець автоматично блокується після таймаута
  6. Ешелонований захист - використовуйте кілька рівнів безпеки
  7. Ваша відповідальність - жодна компанія не може відновити втрачені гаманці

Безпека - це процес, а не продукт. Будьте пильними, будьте безпечними.

Потрібна додаткова допомога?

Не можете знайти те, що шукаєте? Перевірте наш розділ FAQ або зверніться до спільноти за допомогою.