6 советов по безопасности для нашего блокчейн-API
Шесть советов по безопасности для нашего блокчейн-API: приватные ключи офлайн, холодное хранение, локальная подпись, 2FA и API-ключ в заголовке Authorization.
Как и всё остальное в интернете, использование блокчейна для личных и профессиональных нужд никогда не бывает на 100% безопасным. Хотя это один из самых безопасных способов передачи транзакционной и другой информации, всё же существуют шаги, которые можно предпринять, чтобы сделать общение с блокчейн-API более безопасным.
В Chaingateway.io наша миссия — сделать все транзакции и соединения с использованием нашего блокчейн-API безопасными и защищёнными. В этой статье блога мы разберём несколько важных советов по безопасности, которые вы можете внедрить в свою повседневную работу с блокчейном, чтобы быть максимально защищёнными.
Chaingateway вложил немало усилий, чтобы сделать предоставляемый блокчейн-API максимально безопасным. Кроме того, доступные ноды размещены на других машинах, отдельно от эндпоинта API, и перед ними настроены прокси.
Как безопасно генерировать приватные ключи
Приватный ключ критически важен для работы блокчейна. Приватный ключ представляет собой код, который позволяет владельцу приватного ключа совершать транзакции и передавать информацию в блокчейне, доказывая при этом право собственности на свои активы.
Чтобы ваш приватный ключ оставался приватным, хорошей практикой будет создавать ключ, находясь офлайн. Наш API использует псевдослучайный метод на стороне ноды для генерации приватных ключей. Это создаёт новый адрес, который можно использовать для отправки и получения средств.
Однако использование этого метода создаёт псевдослучайный ключ, поскольку компьютер не способен сгенерировать по-настоящему случайный ключ.
Лучший способ генерировать приватные ключи — офлайн, например с помощью игрального кубика, чтобы добиться настоящей случайности. Такой подход рекомендуется, чтобы избежать так называемых хеш-коллизий — одинаковых результатов для двух разных входных данных. Хакер потенциально может получить доступ к вашему кошельку через хеш-коллизию.
Будьте осторожны, чтобы не раскрыть приватные ключи
Существует реальная опасность и ситуации, в которых ваш ключ может быть раскрыт и уязвим. Хранение приватного ключа на офлайн-носителе или бумажном кошельке — единственный способ гарантировать, что ваш приватный ключ действительно в безопасности.
Хранение приватного ключа для долгосрочного хранения, так называемого «холодного хранения», лучше всего осуществлять на бумаге или офлайн-носителе. Сохранение ключа на мобильном телефоне или компьютере без доступа к интернету — потенциальная уязвимость. Даже подключённый к интернету принтер можно взломать.
Хранение приватных ключей на устройствах без доступа к интернету может показаться мелочью, но это очень важно. В 2018 году более миллиарда долларов было украдено из горячих кошельков просто потому, что они хранились на машинах, постоянно подключённых к интернету.
Бумажные кошельки — один из самых популярных способов хранения приватных ключей, наряду с аппаратными кошельками. Аппаратный кошелёк — это чип, который почти всегда находится офлайн. Самая большая опасность аппаратных кошельков — возможность их потерять.
Транзакции должны подписываться на вашей собственной машине
Подписание транзакции — важная часть процесса, которая позволяет верифицировать информацию в блокчейн-сети. Это происходит через математическую функцию, зависящую от деталей транзакции, с использованием вашего приватного ключа.
Когда пользователь блокчейна собирается отправить транзакцию, он должен доказать каждому участнику сети, что средства, которые он хочет потратить, принадлежат ему. Одновременно это не позволяет другим пользователям потратить те же самые средства. Именно поэтому цифровая подпись важна — она обеспечивает подлинную верификацию права собственности на транзакционную информацию в блокчейне.
Использование приватного ключа показывает, что транзакционная информация исходит с вашей машины и что вы являетесь законным владельцем этой транзакционной информации. Именно это теоретически и представляет собой подпись.
Самый безопасный способ подписать транзакцию — сделать это на своей собственной машине и использовать блокчейн-API Chaingateway.io только для трансляции её в блокчейн-сеть. Вы можете посмотреть этот пример кода для подписания транзакций Tron.
Избегайте использования адресов, созданных через блокчейн-API Chaingateway.io, для холодных кошельков
Используйте холодные кошельки при работе с депозитными адресами, чтобы избежать потенциального нарушения безопасности вашего аккаунта. Идеальное место для хранения холодного кошелька в безопасности — огнеупорный сейф, спрятанный где-нибудь у вас дома.
Преимущество холодного кошелька в том, что можно хранить депозитный адрес в кошельке, не подключённом к интернету. Обычно холодный кошелёк поставляется вместе с программным обеспечением, которое работает рядом с кошельком и даёт пользователю доступ к своему портфелю, не подвергая портфель риску.
Адреса, созданные с помощью функций Chaingateway.io, не следует использовать для вашего холодного кошелька. Эндпоинт создания адреса для Tron поддерживает режим с паролем: приватный ключ шифруется, и ответ API его не содержит. Без пароля ответ возвращает приватный ключ в открытом виде — это подходит только для временного или одноразового адреса, и именно этого режима стоит избегать для всего, что вы планируете сохранить. Лучшее, что вы можете сделать для безопасности, — менять адрес как можно чаще и использовать разные адреса для блокчейн-API Chaingateway.io и для депозитного адреса холодного кошелька.
Немедленное перемещение средств и смена адреса значительно повысят безопасность вашего адреса и приватного ключа, лишив хакеров возможности получить доступ к известному адресу пользователя. В наши дни аппаратный кошелёк — это уже не выбор, а необходимость.
Включите двухфакторную аутентификацию
Это верно для всех видов активности в интернете и всех онлайн-аккаунтов, будь то личные или рабочие. Двухфакторная аутентификация — самый распространённый метод защиты аккаунта, и его следует использовать всегда и на всех аккаунтах.
Более того, этот метод защиты очень эффективен, поскольку требует от пользователя пройти два этапа безопасности и защиты для доступа к нужному аккаунту. Хотя интернет — опасное место, многие пользователи используют пароли, которые очень легко и просто угадать.
2FA играет огромную роль в защите аккаунта, обеспечивая доступ к нему только законному пользователю. После того как пользователь введёт имя пользователя и пароль, ему потребуется предоставить дополнительную информацию об аккаунте согласно ранее настроенному методу 2FA.
Добавляйте API-ключ в качестве заголовка Authorization в ваш запрос
Учитывая природу транзакционной информации в блокчейне, он является главной целью для очень умелых хакеров, которые сделают всё возможное, чтобы получить доступ к чужим аккаунтам и незаконно манипулировать данными.
Заголовок запроса Authorization содержит важную информацию об учётных данных пользователя и использует эти данные для проверки того, что пользователь, пытающийся подключиться, является подлинным. После завершения процесса верификации пользователю разрешается подключиться к серверу.
Один из советов по безопасности, который может предотвратить нежелательный доступ и потерю транзакционной информации, — добавлять API-ключ в качестве заголовка Authorization в ваш запрос. Для дополнительной помощи посмотрите этот раздел в нашей документации.
Обязательно ли применять эти меры для блокчейн-API?
Хотя блокчейн по своей природе довольно безопасен, с растущей популярностью криптовалют он стал главной целью умелых хакеров. Каким бы безопасным ни был сам блокчейн, принятие мер для защиты вашего портфеля может спасти положение.
Лучший подход — реализовать всё перечисленное выше, чтобы максимизировать безопасность, которую даёт каждый из описанных шагов. Это значительно повысит безопасность всего, что находится в вашем кошельке и в блокчейн-сети.
Готовы собрать это сами? Получите свой API-ключ — 7-дневный пробный период, без карты — или посмотрите API блокчейна для полного справочника по эндпоинтам.