9 существенных улучшений для более безопасного аппаратного кошелька. Часть 1

9 существенных улучшений для более безопасного аппаратного кошелька. Часть 1

Числа с конца 2019 года говорят о том, что количество владельцев биткойнов в США выросло на 81% по сравнению с 2018 годом. Сейчас в США 36,5 миллиона человек, владеющих той или иной формой криптоактивов. С этим большим увеличением использования безопасность явно стала проблемой для пользователей.

Говоря о безопасности, самый распространенный совет, который вы получаете, — это использовать аппаратный кошелек.

Безопасность аппаратного кошелька может быть разбита на 2 аспекта:

Во-первых, это техническая безопасность, о которой сообщество Биткойн так много говорило.

Второй важный аспект безопасности, который мы не можем игнорировать, это человеческая ошибка.

По оценкам, по меньшей мере 4 миллиона биткойнов уже потеряны навсегда из-за человеческой ошибки. Если мы внимательно рассмотрим историю развития Биткойн, мы увидим некоторые способы избежать человеческих ошибок. Например, HD-кошельки прилагают усилия, чтобы избежать управления сотнями закрытых ключей и фразы восстановления, чтобы уменьшить вероятность того, что люди совершат ошибки при записи случайной строки для своего закрытого ключа.

Мы все знаем, что основная логика аппаратного кошелька заключается в том, что он изолирует ваши личные ключи от Интернета. Как аппаратный кошелек подключается к сопутствующему приложению / устройству — вот ключ. Он определяет, насколько «воздушным зазором» является ваш аппаратный кошелек и насколько хакеру стоит украсть ваши активы. Строго говоря, «воздушный зазор» — понятие относительное. Он измеряет интерактивность вашего аппаратного кошелька с приложением-компаньоном.

В настоящее время существует 4 основных решения — порт USB, Bluetooth, карта Micro SD или QR-коды. USB или Bluetooth соединяются в интерактивном режиме, что увеличивает площадь атаки. Карты Micro SD или QR-коды — это более надежные решения. С помощью этих методов передачи данных вы даже можете легко проверить, какие сообщения приложение отправляет на ваш аппаратный кошелек, а что отправляет.

Другим большим преимуществом передачи данных с карты Micro SD или QR-кода является то, что соединение настолько «физическое», что намного проще интегрировать аппаратный кошелек с приложением-компаньоном стороннего производителя. Также нет проблем с совместимостью / подключением Bluetooth или USB. Аппаратный кошелек может просто функционировать как «подписывающее лицо», которое выполняет только работу по подписанию.

Безопасный элемент

Было много споров о том, должен ли аппаратный кошелек использовать безопасный элемент. Некоторые люди говорят, что элементы безопасности проверяются правительством. Сообщество биткойнов не доверяет правительствам, так почему оно должно доверять безопасным элементам?

Вам не нужно доверять проверке правительства, чтобы доверять защищенному элементу. Вы на самом деле можете проверить законность Защитного элемента самостоятельно.

Как проверить операции защищенного элемента?

Сообщество, похоже, пришло к единому мнению, что защищенный элемент (SE) не может быть открытым исходным кодом. В основном это зависит от вашей переговорной силы с производителем Secure Element. Хотя мы не можем открыть исходный код дизайна и базового кода Secure Element, потому что это IP-адрес производителя SE (микроконтроллеры общего назначения тоже не могут использовать его с открытым исходным кодом), мы можем сделать это с открытым исходным кодом встроенного программного обеспечения SE.

С прошивкой с открытым исходным кодом SE вы можете легко проверить:

• Как фраза восстановления и главный закрытый ключ генерируются из энтропии
• Как получить / сгенерировать дочерние закрытые ключи и открытые ключи
• Что процедура подписания происходит полностью в рамках SE
• Ваши личные ключи никогда не покидают SE

Но есть еще 3 функции, которые не могут быть с открытым исходным кодом. Эти функции реализуются оригинальным «дизайном» SE:

• Генерация случайных чисел — TRNG
• Криптографические алгоритмы, такие как ECDSA
• Как это предотвращает физические атаки (атаки по побочным каналам)

TRNG можно проверить, выполнив тест, подобный FIPS 140-2. Посмотрите результаты Trezor по выполнению теста FIPS 140-2 для TRNG STM32 (примечание: SE должен иметь возможность давать необработанную аналоговую энтропию для выполнения этого теста). Вы также можете разрешить пользовательскую энтропию в виде бросков кубиков.

Для криптографических алгоритмов, таких как ECDSA, вы можете легко запустить тест криптографического алгоритма SE, чтобы убедиться, что вы получаете правильные результаты.

Что касается физических атак, по истории атак на аппаратный кошелек легко понять, что SE значительно повышает стоимость атаки по сравнению с MCU общего назначения. Безопасность — это относительное, а не абсолютное понятие. Прежде всего, если прошивка SE с открытым исходным кодом, все ключевые операции могут быть проверены или проверены.

Алексей Штерншис
Pi Capital Union

Источник

Оставьте ответ

Ваш электронный адрес не будет опубликован.