Чтобы не потерять доступ к криптовалюте в случае, если вы утратите ваш криптокошелек, ключ надо забэкапить (сделать резервные копии). Обычно эту задачу решают с помощью seed-фразы. Но это крайне небезопасно — seed-фразой может воспользоваться любой человек, которому она попадет в руки.
Поэтому в Tangem Wallet предусмотрена технология защищенного клонирования приватного ключа. Вы можете просто скопировать ваш приватный ключ на вторую и третью карту Tangem и не беспокоиться об утере или краже одной из карт — все они защищены кодом доступа, который вам необходимо задать после процедуры бэкапа.
Но безопасен ли такой способ бэкапа? Давайте разберемся, как это работает в Tangem Wallet.
Создание приватного ключа
Изначально, до активации, в кошельке Tangem приватного ключа (KPRIV на схеме) нет. Его сначала надо создать. Для этого чип, получив от мобильного приложения Tangem команду на активацию, создает новый ключ на основе числовой последовательности, полученной от собственного аппаратного генератора случайных чисел (TRNG на схеме). Как это происходит, мы уже писали в статье «Как создается приватный ключ в кошельках с seed-фразой и без неё».

После завершения активации чип запоминает пару ключей — приватный ключ KPRIV и публичный ключ KPUB. Публичный ключ чип сообщает мобильному приложению, когда пользователь кошелька вводит правильный код доступа, — чтобы мобильное приложение могло показать пользователю, сколько каких криптовалют у него есть. Приватный ключ чип никому не сообщает.
На схеме виден еще один ключ — KISS. Этот ключ записывается в чип на фабрике при производстве кошельков Tangem. Используется он только один раз, во время процедуры бэкапа.
Бэкап приватного ключа
Наконец вы согласились на уговоры приложения Tangem и решили создать резервные копии ключа. Получив команду начать процедуру бэкапа, чип активированной карты шифрует KPRIV с помощью ключа KISS. Используется симметричное шифрование — то есть получившийся KENC можно расшифровать тем же ключом KISS.
Чип передает KENC мобильному приложению. Если в этот момент какой-нибудь злоумышленник сумеет перехватить KENC, это ничего ему не даст — KISS он не знает и расшифровать KENC не сможет.

Мобильное приложение, получив KENC, просит пользователя приложить к смартфону вторую карту, затем передает KENC чипу второй карты. Вторая карта также «от рождения» знает KISS и расшифровывает им полученный KENC. Теперь вторая карта знает тот же приватный ключ, что и первая. Далее процедура повторяется с третьей картой.
В прошивку чипа Tangem заложено только одно использование KISS. То есть отдав либо получив приватный ключ один раз, чип больше не согласится участвовать в процедуре бэкапа. Поэтому приватный ключ становится неизвлекаемым из всех трех карт — даже компания Tangem не знает способа его извлечь.
Конечно же, если вы выполните сброс кошелька Tangem на заводские настройки, чип забудет KPRIV и KPUB, и кошелек можно будет заново активировать, создать новый ключ и выполнить бэкап. Но прежний ключ после сброса настроек будет уничтожен.