Я протянул руку к Colin Персиваль (
который написал Scrypt, например) для его мысли / комментарии по RFC 6979. Вот что он должен был сказать (с его разрешения):
:: вздыхать :: При добавление секрета к входу были проблематичной функция всего подписания будет очень вероятно, будет небезопасна: Вычислительные столкновениями легче, чем восстановление неизвестного прообраза, вдвойне, потому что следующая вещь, которую вы делаете, это умножить K на G чтобы получить R, что и уменьшает пространство на выходе, и делает K неустранимой из, если вы не можете решить проблему дискретного журнала.
Стоимость этого является то, что вы производите устройство Whos правильное поведение не поддается измерению. Это может иметь лазейки, вставленные в нескольких формах, которые были бы очень трудно обнаружить, или он может иметь недостатки работы.
например если он становится горячим есть случайный bitflips в многосвязном используются для получения R из К, так как повороту secp256k1 является гладким полем, где решение DLP относительно легко один бит-флип в умножении может приводить к значению R, из которого К может быть восстановлен в около 2 ^ 51 работы.
[Edit: На самом деле это неверно secp256k1 является поворот безопасным, ошибка там стало результатом очевидно транскрипции ошибки копирования вниз порядка твист для факторинга. Конечно, потенциал для бэкдоров в DSA Нонса поколения является универсальным и применим ко всему кривому, а edDSA а]
По существу, я рассматриваю это как повышение слабость к этим конкретным, но "довольно скучно" угрозы, которые я могу сформулировать и даже показать вам демонстрацию (например, потайными дверь подписантов) в пользу или умозрительно повышение безопасности в отношении неопределенного криптографического boogymen, which-, если они существуют в All-вероятно убить все нас, независимо (позволяя коллизии на время данные подписаны, и, таким образом, позволяя подписи перекомпоновка).
Два этапа, в зависимости от пользователя паранойя:
1) Обновление устройства перед его использованием, с исправной прошивкой (криптографическая подпись + детерминированная компиляция). [Не исключает руткит]
2) Откройте устройство, визуально проверить оборудование, а также использовать JTAG / SWD, чтобы вручную стереть и вспышка. [Правила из руткита, FPGA маскарада, и т.д.]
Это позволит смягчить все возможные атаки. Только одна левая бы злонамеренный пользовательский ASIC притворяясь MCU. Но если злоумышленник готов потратить миллионы долларов ... черт, вы должны делать что-то прямо в вашей жизни.
Так что это на самом деле не вполне отражает "защита модель" Я иду. Realistically- чей будет идти и делать эти вещи? Даже из тех людей, с миллионом долларов, чтобы защитить? Очень мало.
Но не ноль, несколько вундеркиндов, вероятно, могут пойти splunking вокруг- и я думаю, что на самом деле какой-либо один пытается быть поставщиком в этом пространстве должны даже выделить некоторый бюджет платить за аудит третьей стороны, чтобы сделать _sure_ некоторые внешние глаза копать глубоко.
То, что я думаю, что было бы полезно для Bitcoin-экономики с использованием, если эти редкие случаи сумасшедшие, любопытные, или иначе мотивированные искателей приключений каким-то образом защищены все мы из вредности. Это то, что происходит с открытым кодом: Когда я просматриваю код полностью, я не только защитить себя: Я защищаю всех я могу общаться.
Проблема с (2) есть то, что я не могу сказать, если устройство было неверным, чтобы начать с. Так что, если я парень, который не доверяет моего устройства результатом является то, что я получаю безопасное устройство, но я не получаю возможность сирену, чтобы предупредить кого-либо еще. В частности, если устройство является детерминированным, кто идет в с логическими анализаторами может удостоверить устройство и документировать поведение, то другие люди могут случайно проверить, что их устройства измеряют документированное поведение с гораздо меньшим количеством работы.
Компромисс в середине, если устройство имеет дисплей: при подписании, показать дополнительные "бонус" Случайность на дисплее. Поведение может еще тогда быть полностью детерминированным (если вы захватить бонус случайность) .. но так как протокол по-прежнему должна быть безопасными против чего-либо с помощью криптографического boogymen, даже если "бонус хаотичность" это просто константа должна быть безвредным для его отображения, можно даже отправить его через USB к хозяину. Если вы не беспокоитесь о boogmen, которые могут инвертировать SHA256 и владеют видеокамеры (или, в последнем, и которые уже взломали ваш компьютер).
Я надеюсь, вы не думаете, что я разглагольствования на вас слишком много. Мои ответы здесь все в духе говорить путем создания лучших и наиболее безопасных систем практически possible- цель я думаю, что мы все разделяем.