Реалізація anti-phishing коду в мобільному криптоприложенні
Anti-phishing код — персоналізована мітка, яку користувач встановлює сам та яку програма показує на кожному екрані з чутливими операціями. Якщо код не збігається з тим, що очікує користувач — він знає, що це підделка. Проста механіка, але реалізувати правильно чуть складніше, ніж здається.
Що саме захищає
Сценарій атаки: зловмисник робить клон вашої програми, вивантажує в неофіційний магазин. Візуально — один в один. Користувач встановлює, вводить seed-фразу — ключи скомпрометовані. Anti-phishing код — унікальна строка (звичайно 4–8 символів або еводі), яку знає тільки користувач і яку клон не може показати правильно. Користувач привикає бачити, наприклад, "🦊🌙" рядом з балансом та одразу помічає підділку.
Реалізація
Код вводиться при першому запуску та зберігається в Keychain / KeyStore — не в UserDefaults / SharedPreferences. Показується на:
- головному екрані рядом з балансом
- екрані підтвердження транзакції
- екрані показу seed-фрази / приватного ключа
Показувати потрібно завжди, не тільки при першому вході. Користувач повинен виробити звичку перевіряти його.
Код не повинен передаватися на сервер — це локальний секрет пристрою. Якщо програма відновлюється через iCloud Backup — код відновлюється разом з Keychain. При ручному відновленні через seed-фразу на новому пристрої — користувач встановлює новий код.
Введення коду — secureTextEntry = false (це не пароль, користувач повинен видіти, що вводить), максимальна довжина 10–12 символів. Підтримка еводі бажана — вони візуально відміщіб букв.
Часова шкала — 1–3 дня: UI введення та відображення, зберігання у захищеному сховищі, інтеграція на потрібні екрани, обробка відновлення.







