Переносил данные со старого iPhone на новый и кошельки Tonkeeper и Tonhub попросили ввести заново seed-фразу, чтобы авторизоваться. Но кошельки wallet (ton space)/ rainbow / lumos / leap wallet остались с авторизацией. Значит они где-то в памяти хранят seed?
Пошел спрашивать у разработчиков кошельков блокчейна TON.
Lumos дал самый крутой ответ, который дал понять все: “Внутри iOS, каждое приложение имеет доступ только к файлам из своей песочницы и ему доступны такие папки как Documents, Caches и т.д. Важно, что у каждого приложения эти папочки свои и к другим доступа нет. Во время переноса данных с одного девайса на другое - iOS переносит как минимум папочку Documents и заново скачивает приложение из AppStore. И получается, что приложение заново запускается, но в Documents лежат данные со старого устройства. Т.е., если приложение хранит данные в Documents - они перенесутся.
Есть другой вариант - через iCloud, но тогда все документы помимо девайса будут хранится в облаке и при переносе данных приложение может подтянуть все оттуда. Чаще это используют для отдельных бэкапов.
TON Space думаю хранит данные как-то локально, используя API Telegram и эти данные скорее всего в Documents лежат. Lumos точно хранит в Documents. Уточню, что шифрование в этой папочке опцинально и на усмотрение разработчика, но получить доступ к этим данным трудно, только если физический доступ к устройству. За другие кошельки не могу говорить, но в Lumos все зашифровано.
Также, можно хранить инфу по кошелькам внутри Keychain (по дефолту зашифровано системой) и пометить эти записи (в данном случае seed phrase) в этом кейчене таким образом, чтобы они хрнаились только локально и никогда не переносились при смене девайса и никогда не уходили в облако. Скорее всего, у Tonhub и Tonkeeper именно такой способ.”
Tonhub: “В Tonhub seed-фраза хранится в зашифрованном виде в Documents, а ключ лежит в Keychain”
Tonkeeper (самый многословный): “в Keychain конечно. Системном”
Wallet: “Seed-фраза пользователя шифруется, делится на две части, одна отправляется в Telegram, а другая на сервера TON Space. Имея доступ к любой из двух частей (даже если получится её расшифровать), вы не сможете подобрать вторую часть, поскольку перебор 10 слов - нерешаемая в текущем мире задача (всех вычислительных устройтсв мира не хватит на перебор).
На локальном iPhone пользователя зашифрованные части объединяются и расшифровываются для доступа к TON Space. Seed-фраза хранится внутри приложения Wallet (так, что ни Telegram, ни другие боты не имеют доступ к этим данным) и получение доступа к ней требует разблокированного устройства. Чтобы защитить пользователя даже от такой ситуации мы сейчас работаем над отдельным пасскодом для кошелька.”
Получается, что самый безопасный способ, хранить в Keychain и тогда seed-фраза будет под защитой шифрования и не будет переноситься при копировании данных приложения. А вот насчет безопасности TON Space появились некоторые вопросы, которые я раскрою отдельно. Думаю, что все безопасно, но перепроверить стоит.
Подписывайтесь на Telegram канал и страницу во ВКонтакте! Свои комментарии, замечания и предложения пишите мне. Все контакты на странице обо мне.