• Как обезопасить bitcoin кошелек на сервере?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    С одним из наших партнеров у нас была такая задача: необходимо было сделать хранение как фиата, так и крипты. Когда ставится задача что-то обезопасить, важно правильно сформулировать threat model: от каких именно действий и проникновений должна быть защита и уже на основе этого проектировать архитектуру.

    Например, в случае ответа Dark_Scorpion, threat model можно коротко сформулировать следующим образом:
    1. Злоумышленник получил доступ к виртуалке с API.
    2. Злоумышленник получил доступ к виртуалке с bitcoind и ключами и ко всем ключам.

    Дальше думаем как уменьшить негативный эффект в каждом из случаев.

    1 случай. Злоумышленник теперь может подписывать запросы самостоятельно. Решением может быть, например, multisig, где часть ключа хранится у пользователя, а часть у сервера. Таким образом, злоумышленник уже не сможет эти запросы подписывать. Но тут важно еще понимать в какой юрисдикции будет находится продукт, т.к. есть юридические нюансы. Мы с ними сталкивались. Другим решением может быть возможность принудительного отключения виртуалки с bitcoind каким-то простым способом: даунтайм лучше потерянных денег.

    2 случай. Тут уже ничего не поделаешь. Однако, есть продукты вроде https://www.thalesgroup.com/en, которые предоставляют железку, которая безопасно хранит ключи и которая считается невзламываемой. При этом, ключи доступны до тех пор, пока физическая (или виртуальная) карта вставлена в кардридер. Таким образом, если система была скомпрометирована, то достаточно будет вытащить карту. Есть и другие продукты, более бюджетные.

    Помимо защиты ключей, можно дополнить защиту еще двухфакторной аутентификацией и третьей стороной, которая также может подписывать транзкцию.

    С точки зрения архитектуры как-то так, удачи в реализации )

    С уважением,
    Иван Томилов
    CEO of Athanor
    Ответ написан
    1 комментарий