|
![]() |
# 1 |
Сообщения: 1218
цитировать ответ |
![]()
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Bitcoinica не должно произойти, и все же это было дважды. Горячие бумажники необходимость в некоторых приложениях пока природа Bitcoin означает любое нарушение правил безопасности в настоящее время независимо от того, как редко ставит полную стоимость кошелька риска. Поскольку знание секретного ключа управление фондов единственный безопасный горячий бумажник один, где получить доступ к серверу ОГО не дает одну возможности доступа к закрытому ключу. Это означает, сохраняя ключи даже от админов или супер-администраторов. Я строй аппаратного решения, основанным вокруг программируемого криптографического процессора. Стоимость в сотни долларов, но все же значительно дешевле, чем с полки HSM. Bitcoin представляет уникальные вызовы для HSM. Просто держа ключ в тайне до тех пор, пока требуется не достаточно. Аппаратный модуль должен подписать транзакции, никогда не раскрывая ключ. На данный момент прототип может подписать только (только 2 выхода) ТХ на основе одного внутренне сохраненного секретного ключа. На данный момент прототип не обеспечит никакой реальной безопасности. В то время как злоумышленник не может получить доступ к закрытому ключу, он мог бы просто запросить неограниченное количество подписанных ТМ. Полное решение было бы разрешить программирование устройства с бизнес-правилами, которые ограничивают тип, значение и частоту операций. Аппаратные средства имеют как энергозависимое, так и энергонезависимое запоминающее устройство, так ключи могут либо проходить в энергонезависимой памяти только (и должны быть загружены перезагружаются при включении электропитания) или могут храниться в энергонезависимой памяти зашифрованных ключей, чтобы позволить, чтобы выжить цикл питания. Независимый аппаратный таймер позволяет модулю отслеживать время, которое не может быть подменен злоумышленником, но потребует безопасной метки должны быть предоставлены при инициализации (скорее всего, от сервера NTP). Ограничения на объем доступной памяти предотвращает создание целого Bitcoin клиента, поэтому модуль нужно будет полагаться на клиента хоста для установки транзакции, инициализации и подключения к сети Bitcoin. Текущие возможности: * Предотвратить извлечение одного секретного ключа после загрузки * Знак двойной выход ТХ (где изменение возвращается в тот же адрес) Планируемые возможности: * Ограничения по размеру и объему Ого * Режим блокировки вниз на основе правил обнаружения угроз (клиент просит ТЙ, которые нарушают правила) * Задержка подписания ОГО на основе бизнес-правил (модуль возвращает ТМ зашифрованы ж / AES-256, который клиент запрашивает дешифрование после "остыть" время истекло) * Уведомление вторжений * Случайный цикл записи стирания-записи, чтобы обеспечить ключ разрушения |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 2 |
Сообщения: 1400
цитировать ответ |
![]()
Получил 1806 Биткоинов
Реальная история. Я не криптограф, но я помню, что алгоритмы существуют для разделения ключа шифрования такое, что N М фрагменты должны быть использованы для формирования действительной подписи.
Может ли такая система будет использоваться для создания отдельной системы проверки на физически разные компьютерах (без специального оборудования), так что даже если компьютер хранения горячего бумажника скомпрометирован он не может генерировать транзакции самого по себе? |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 3 |
Сообщения: 2352
цитировать ответ |
![]() Планируемые возможности: * Ограничения по размеру и объему Ого Не уверен, если это будет путем добавлено в качестве части бизнес-правила, или если они включены в архитектуре, но, вероятно, будет транзакции на холодный адрес хранения, которые должны были бы обойти ограничение на размер ТХ и объема. Кроме того, что бы соединение для программирования прибора быть? например, USB? |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 4 |
Сообщений: 84
цитировать ответ |
![]() Хорошая работа,
Я делаю очень похожую вещь, но с использованием оружейную клиента. (Мы также рассматриваем вариант FPGA, для должного эффекта типа HSM). (По-прежнему ждет моего края ...) если есть что-то я могу сделать, чтобы помочь, я буду, просто дайте мне окрик. Как я печатал этот Стивен Gornick отправил котировка Не уверен, если это будет путем добавлено в качестве части бизнес-правила, или если они включены в архитектуре, но, вероятно, будет транзакции на холодный адрес хранения, которые должны были бы обойти ограничение на размер ТХ и объема. Я думал только об этой проблеме - для меня это самый большой камень преткновения. мое решение, чтобы все правила predfined. то хэш этих правил, теперь вы можете следить за соблюдение правил на незащищенной машине, вы просто передать правила через последовательный порт и поле, которое recievs их хэш их, проверили, что против его _local_ дб, и если это все хорошо, то дайте сделки. если есть несоответствие кто-то баловаться с вами, так кромсать ключи и панику ядра. веселит, Стив |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 5 |
Сообщения: 1764
цитировать ответ |
![]() поздравления. вы, ребята, делаете некоторые столь необходимую работу по безопасности.
|
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 6 |
Сообщения: 122
цитировать ответ |
![]() Могли бы предложить 2 режима вместо этого:
1: Ритейлер / конец режима пользователя: Устройство потребует momentarly физическую кнопку удерживать нажатой для того, чтобы подписать исходящее ТХ. Если попытка подписать ТХ зажатой кнопкой без, это отключит интерфейс USB и подает звуковой сигнал каждую секунду XTH. (X-й второй должен быть тщательно подобраны так, его не раздражает, но его "эй кто-то пытается украсть ваши деньги"). Для сброса, пользователю необходимо отключить устройство и снова. Там не должно быть в состоянии различить, если физическая кнопка нажата или нет, с помощью интерфейса USB, до его "слишком поздно", Так что троян не может ждать, пока кнопка не будет нажата и "комбинированный" что. Он будет подписывать только один TX для каждого нажатия кнопки для отправки нескольких TX, вы должны отпустить кнопку и нажмите еще раз. ----- 2: Обмен / onlinewallet режим: Устройство будет хранить базу данных пользователей, перемешанный пароль, их баланс, и их принимающий адрес. Устройство не будет подписывать TX, которые могут вызвать балансировать пользователя идти отрицательным. Наряду с ТМ к нему для знака, запрашивающие должно предоставить имя пользователя / пароль Кто бы счет использования. Устройство также необходимо каким-то образом проверить поступающие средства. Таким образом, устройство каким-то образом должен знать blockchain, или какой-либо другой способ, чтобы проверить, что входящие денежные средства реально, а затем заполнить баланс пользователя, а затем автоматически "подметать" этот адрес в основном адресе / горячий бумажник обмена / onlinewallet, а затем удалить privkey и адрес из хранилища пользователя. Будет также отправить подписанные транзакции для хоста, чтобы просто отправить на сети. (свип сделок) Это не нужно, чтобы сохранить всю blockchain, устройству нужно только сохранить последние 6 блоков, потому что, когда он видел сделки и не заселен, что баланс пользователя с деньгами, то блок больше не нужен для рассматриваемого устройства. Там также должен быть мета-функции: создать учетную запись - создает учетную запись с 0 балансом удалить учетную запись - счет удалений, если правильный пароль specifyed, но только если баланс точно 0. смена пароля - изменяет пароль пользователя. обновить пользовательский баланс - Может использоваться вычитать деньги из пользователей, но не добавлять. Физическая будет кнопка в этом случае функции для сброса пароля. В то время как ее нажатой, устройство будет принимать любые "старый" пароль для изменения пароля на пользователя (а не только правильный пароль). Таким образом, в основном, если конечный пользователь забыл свой onlinewallet / обмен пароль, для этого потребуется ручное вмешательство, когда оператор сайта инициирует сброс пароля, а затем физически присутствуют на HSM удерживать кнопку, а затем завершает сброс пароля, а затем дает новый пароль для конечного пользователя. Физическая кнопка удерживается в нажатом положении будет также сделать устройство принимает любые TX без какого-либо пользователя, и это, когда сайт оператор собирает плату от главного кошелька. Физическая кнопка также должна быть нажата для того, чтобы зарегистрировать "контрольно-пропускной пункт" блок, который будет требоваться во инициализационном. Физическая кнопка нажата также позволит "Баланс пользователя обновления" пополнить. Безопасность в это: Давайте говорить bitcoinica случай. Допустим, bitcoinica состоит из 180 пользователей с 100 BTC в каждом кошельке. Устройство HSM будет иметь "горячий бумажник" (Один адрес) 18 000 BTC и 180 пользователей внутри. Хакер, который взломал bitcoinica сервера, не будет знать пароль любого пользователя, потому что они хэшируются в базе данных сайта. Хакер должен взломать их, чтобы получить unhashed пароль для аутентификации на HSM с. Допустим, хакер сумел взломать 5 пользователей. Хакер теперь будет использовать пароль для пользователя 1. Теперь он пытается получить HSM подписать сделку на 18 000 BTC. Но устройство видит "горячий бумажник содержит 18 000 BTC, но пользователь 1 есть только доля этих 100 BTC" и отказаться от сделки. Хакер только выбор подписания суммы под 100 BTC. Так что в этом случае он был бы только смог украсть 500 BTC (5 пользователей с 100 BTC на счету каждый) Для хакера, чтобы иметь возможность выдвинуть более крупные сделки, он должен был бы взломать пользователя, которые depoisted большую сумму по курсу / onlinewallet службы. А пользователи с большими суммами БТК, как правило, имеют безопасные пароли = сбой для хакера. Таким образом, в принципе, устройство будет принимать сделку BTC 10 000, только если пользователь, который specifyed в запросе подписи, есть 10 000 BTC в своем аккаунте. ----- В основном это было бы решить все без задержек для конечных пользователей и без ручного вмешательства в "верный" крупные сделки. "пароль" используется для проверки подлинности в HSM для конкретного конечного пользователя может быть что угодно, в зашифрованную строку или любой другой, даже ожидается "Ответить" из маркера безопасности или любой другой. ![]() ПРИМЕЧАНИЕ: Не поймите это сейчас. С "баланс", Я не имею в виду бумажник баланс у конечного пользователя. Я имею в виду баланс пользователя есть в "виртуальный" счета на бирже онлайн или онлайн-сервис кошелек. Это НЕ является фактическим Bitcoin кошелька баланс, его просто запасенное значением независимо конечный пользователь может потратить на этом сайте. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 7 |
Сообщения: 1218
цитировать ответ |
![]() Себастьян,
Я рад получить разговор происходит, и нет ни одного решения. Аппаратные устройства обычно имеют ограниченные ресурсы. Аппаратное устройство Я использую имеет очень ограниченную память и хранение (под 200KB в сочетании). Это просто не было бы возможным для хранения пользовательских данных внутри модуля. В настоящее время она работает только с одним закрытым ключом. Работа с несколькими ключами может потребоваться хранить его вне базы данных в зашифрованном формате. Кроме того, пытаясь ограничить ТЕ на основе остатков пользователя имеет ограниченную полезность. Если мы предположим, что злоумышленник имеет полный контроль над хозяином они могли бы просто записать поддельный депозит, а затем запросить вывод. Я рад, что вы думаете об этом, хотя. Нам нужно много людей думать об этом. Я принимаю подход, если злоумышленник не имеет доступа к закрытому ключу, он должен играть по "правила" и эти правила могут быть построены, чтобы ограничить количество потерь (потенциально ни к чему, если злоумышленник вызывает блокировку или генерирует ТХ, которые имеют необходимый период ожидания перед расшифровкой). |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 8 |
Сообщения: 448
цитировать ответ |
![]() Все дело в том, что ИМП является одной целью устройства. Там не предел нагрузки вниз с посторонними функциями, потому что они могут быть лучше выполнены обычными аппаратными средствами обычного способом. Кроме того, давая HSM большой набор функций просто означает, что гораздо больше вещей, чтобы взломать и сломать. Вы хотите иметь blockchain? Это требует подключения к сети, которая не умна, чтобы иметь на такой HSM. Большинство устройств HSM подключаются через последовательный порт, по уважительной причине: Harder взломать удаленно.
|
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 9 |
Сообщения: 1218
цитировать ответ |
![]() Планируемые возможности: * Ограничения по размеру и объему Ого Не уверен, если это будет путем добавлено в качестве части бизнес-правила, или если они включены в архитектуре, но, вероятно, будет транзакции на холодный адрес хранения, которые должны были бы обойти ограничение на размер ТХ и объема. Есть несколько способов сделать это, и я все еще думаю о том, как это лучше всего обработано. Один из методов будут иметь все депонированные средства идут непосредственно в холодное хранение, а затем произвести при инициализации устройства он генерирует горячий адрес и оператор посылает некоторые из средств для горячего бумажника. После того, как правила установлены не обойти или переопределить. Другим вариантом было бы иметь адрес холодного хранения загружен как часть параметров инициализации и неограниченные средства могут быть переданы в холодильниках, но любой другой адрес, должен следовать "правила", Третий oprtion, который является более гибким, но потенциально менее надежен, чтобы пароль переопределения (скорее 128bit или 256-битного ключа), что позволит оператору отключить / изменить правила ТХ. Даже это еще более безопасное, чем открытый текст кошелек, как в нормальном режиме работы "ключ переопределение" не будет храниться на сервере ОГО. Лично я думаю, что второй вариант является оптимальным, но сейчас я просто пытаюсь получить основы работают. Плохая новость даже отправить многих является сложным (возможно, потребует замены данных в и из устройства) с учетом ограничений по памяти и хранения. котировка Кроме того, что бы соединение для программирования прибора быть? например, USB? Или. Интерфейс будет прозрачным для загрузки сборки и связи с устройством. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 10 |
Сообщения: 122
цитировать ответ |
![]() DeathAndTaxes: Lets закрутить идеи и улучшить ее тогда.
Мы могли бы зашифрованы хранения за пределами HSM таким образом: Все счета хранятся вне HSM, но шифруется с помощью ключа ТОЛЬКО HSM знает. Назовём этот зашифрованный фрагмент данных для "капля", Эта "капля" сохраняется в строке пользователя в базе данных сайта. Тогда каждый раз, когда нужен счету, который будет использоваться, его кормили в HSM и HSM обновляет учетную запись и возвращает зашифрованные блобы счета. НО нам нужно каким-то образом проверить мы не используем "старый" зашифрованная блоб с "старый" баланс. У меня идея: Пусть каждый счет есть п-разрядный идентификатор. Каждый зашифрованный двоичный объект содержит идентификатор и небольшое случайное значение. Случайное значение хранится внутри зашифрованного сгустка вместе с идентификатором. Каждый раз, когда что-либо в зашифрованном сгустке обновляется, новый зашифрованный блоб будет иметь новое случайное значение. (Но тот же идентификатор). ИМП не будет принимать зашифрованный двоичный объект, содержащий удаление информации случайное значение. Пользователя закрытые ключи и такие могут быть сохранены в этой кляксы тоже. Случайное значение и идентификатор хранятся во внутренней памяти HSM. Допустим, 14 битный идентификатор и 18 битный Random. 14 бит ID будет приходиться 16384 пользователей. Каждый пользователь будет "израсходовать" 4 байта Это будет в общей сложности 64 КБ встроенной флэш-памяти используется. И вам потребуется 262 144 транзакций на одном USER перед тем случайными числами начинают повторяться. И это только позволило бы злоумышленнику дублировать баланс РАЗ. Простая перезарядка между каждой командой отправляется в HSM с возможностью сказать 1-2 секунды замедлит нападавшего значительно. Дублирование баланса потребует этого от злоумышленника: Отправить небольшую транзакцию с использованием blob1. Получение blob2 от HSM. Отправить blobOLD и посмотреть, если HSM принять его. Отправить небольшую транзакцию с использованием blob2. Получение blob3 от HSM. Отправить blobOLD и посмотреть, если принять. Отправить транзакцию с использованием blob3 и получить blobN от HSM и так далее и так далее. Перезарядка 2 секунды между каждой командой потребуется 6 дней работы от злоумышленника до того, как злоумышленник может добиться успеха, и до 6 дней, атака будет Guranteed заметила. >>"Если мы предположим, что злоумышленник имеет полный контроль над хозяином они могли бы просто записать поддельный депозит, а затем запросить вывод." Неа. HSM должен, конечно, требует, чтобы кормить его действительные блоки. Вы кормите его блоками, как только вы найдете его в сети Bitcoin, и устройство сохраняет 6 блоков по хешу "вспышка" и сохраняет весь последний блок в оперативной памяти во время обновления баланса. После того, как хозяин показал его сделали с подачей сгустками, блок будет удален из памяти. Хозяин должен был бы отслеживать, какие пользователи скормить ОЗМ для обновления баланса, когда он получает блок оплаты для одного из нее АДРЕСА пользователя. Таким образом, для того, чтобы ПОВЫШЕНИЯ баланса, ему потребуется злоумышленник фактически depoist денег на счет пользователя. Таким образом, хозяин делает это, когда он видит блок оплачиваемого позволяет говорить BitCoinUSER на Bitcoinia: Хост посылает блок в HSM. HSM обрабатывает блок, и теперь он ожидает блобо для обновления. Хозяин в настоящее время отвечает сгусток, соответствующей BitCoinUSER. HSM расшифровывает блоб, увеличивает баланс и случайное значение, reencrypts его, вернуться к хозяину. хост сохраняет этот новый блоб в строке базы данных для BitCoinUSER. Хост может указывать на HSM, если хост имеет больше сгустков кормить, например, если транзакция имеет несколько выходов, указывающих на одного пользователя каждого. Или если блок не имеет никакого отношения к рассматриваемому участку, хозяин может указывать как "0 сгустки кормить", Таким образом, зашифрованные блобо (ТОЛЬКО дешифровать с помощью HSM) будет содержать: Имя пользователя - пароль Хэшировано - Баланс - Получение адреса - UserPrivate Key - Идентификатор_пользователя - случайный Nonce И база данных хоста будет содержать: Имя пользователя - пароль Хэшировано - Баланс - Получение адреса - (некоторые другие детали) - Последние зашифрованное блоб из HSM. Обратите внимание, что база данных хоста теперь содержит имя пользователя, hashedpassword, баланс, ПРИЕМ Адрес 2 раза, один в незашифрованном формате и один в зашифрованном формате. Открытый текст формат поэтому сайт может самому проверить баланс и другие детали, прежде чем беспокоить HSM. Конечно открытый текст значение не передаются HSM и не влияет на HSM в любом случае. Depoist из, например, USD -> BTC затем требует ручного вмешательства оператора сайта. Но BTC -> USD затем будет прямым. Это также встраивать с политикой сайта, так как сайт будет хотеть проверить USD depoist действительно трудно перед отправкой биткойны, поскольку USD depoist может быть chargebacked. RJK: Конечно блоки подаются через последовательный порт, а не через Интернет. ПРИОРИТЕТ IDEA: Вы говорите о ключе 128bit / 256bit. Не нужно вообще. Просто есть momentarly кнопки на HSM. Эта кнопка должна удерживаться вниз при загрузке нового "правила" или переопределения правил. Злоумышленник, "Косоглазый" сервер в Интернете не может достичь физической кнопки и не может обойти HSM. Но проблема с "правила" является то, что пользователь, владеющий счет 1000 BTC не может быть в состоянии в полной мере использовать свой счет без сайта оператора, имеющего для подтверждения операции. Нам нужен способ для хранения / процесс indivual пользователей в системе, в некотором роде, так что пользователь, владеющий 1 BTC будет только в состоянии отправить 1 BTC, пользователь, владеющий 1000 BTC будет только в состоянии отправить 1000 BTC. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 11 |
Сообщения: 390
цитировать ответ |
![]() Я думаю, что схема Себастьяновых могла бы работать, если BSM был маленький ПК с чем-то вроде Yubico HSM на нем. Если его зашифрованный текст сообщения включал OTP проверить с HSM. Как вы думаете?
|
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 12 |
Сообщения: 122
цитировать ответ |
![]() galambo: Или как насчет Raspberry Pi?
Raspberry Pi может БЫТЬ HSM на самом деле, и имеют закаленные ОС на SD-карте. Theres пространство на борту, чтобы смонтировать дополнительную физическую кнопку, которая будет влиять на одно из линии GPIO, что сделает HSM, чтобы обойти почти все проверки безопасности, в то время как его депрессии. как если (sha512 ($ suppliedpassword) == $ userhash || $ GPIO16 == верно), то конец, если ОС может быть построен Bitcoin сообществом и свободно загружаемый в качестве изображения, которые затем может быть dd'ed на SD-карту. И размер SD карта затем говорит, сколько пользователей он может хранить. Существует последовательные соединения на плате, иначе простой USB последовательный кабель нуль-модем (кабель с 2 USB мужчин и жира, что в середине, содержащий rs232 электроники) могут быть использованы для подключения малину к хозяину. поскольку интерфейс rs232 хорошо определен, то не было бы никакой возможности "мотыга" система. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 13 |
Сообщения: 1218
цитировать ответ |
![]() Себастиан вы говорите HSM может "знать" когда пользователь депозитов, но единственным способом он может изначально "знать" , если существует целая blockchain и bitcoind и соединение с несколькими узлами законных все внутри ИМП.
Если подключение bitcoind, blockchain и Bitcoin сети на хосте вы должны взять на себя все, что в настоящее время под контролем злоумышленника и HSM просто кормили данные, которые злоумышленник хочет видеть. Я призываю несколько различных подходов, но при попытке поставить весь сервер ТХ внутри ИМП на самом деле не HSM больше. Это просто сервер и bitcoinica думали, что сервер хорошо закреплен. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 14 |
Сообщения: 390
цитировать ответ |
![]() galambo: Или как насчет Raspberry Pi? Raspberry Pi может БЫТЬ HSM на самом деле, и имеют закаленные ОС на SD-карте. Theres пространство на борту, чтобы смонтировать дополнительную физическую кнопку, которая будет влиять на одно из линии GPIO, что сделает HSM, чтобы обойти почти все проверки безопасности, в то время как его депрессии. как если (sha512 ($ suppliedpassword) == $ userhash || $ GPIO16 == верно), то конец, если ОС может быть построен Bitcoin сообществом и свободно загружаемый в качестве изображения, которые затем может быть dd'ed на SD-карту. И размер SD карта затем говорит, сколько пользователей он может хранить. Существует последовательные соединения на плате, иначе простой USB последовательный кабель нуль-модем (кабель с 2 USB мужчин и жира, что в середине, содержащий rs232 электроники) могут быть использованы для подключения малину к хозяину. поскольку интерфейс rs232 хорошо определен, то не было бы никакой возможности "мотыга" система. Ну, я бы не стал доверять себе реализовать такую систему на raspbery пи для использования в производстве. Я хотел бы рассмотреть этот документ (http://static.yubico.com/var/uploads/pdfs/YubiHSM%20Manual%202011-09-14.pdf) Идеи режима работы, если я буду пытаться реализовать один сам. Кроме того, я хотел бы рассмотреть некоторые другие производители продуктов, но я сомневаюсь, что они будут открыто обсуждать их реализации. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 15 |
Сообщения: 122
цитировать ответ |
![]() DAT: Но, как я сказал, что сайт оператора "initalizes" ИМП по helding на кнопку, а затем кормить его с 6 последних блоков.
После отпускания кнопки, то HSM никогда не будет принимать блок, который не является "действительный" в соответствии с предыдущим блоком хэш и ПР. Таким образом, хакер, несмотря на полный контроль, не может кормить "ложный" блоки к HSM поскольку блок должен быть "связанный" к последнему блоку. Только так будет для злоумышленника, чтобы повторить военнопленные, но это займет слишком много времени. Подавляя любые блоки будет только отрицательным для нападающего, так как входящий остаток не будет отражена на счете пользователя, и пользователь имеет доступ к менее средств воровать. Может быть, он может хранить UserIds до 6 последнего блока temporarly в памяти, и только обновление randomvalue и возвращающиеся блобы при получении 6 подтверждений? Так что в основном: 1: Хост-каналы Blocka для HSM 2: Хост-каналы BlobA для HSM 3: Хост-каналы BlobB для HSM 4: HSM хранит эти UserIds вместе с тем, сколько баланс должен быть увеличен. 5: Хост-каналы blockB для HSM 6 ... * ... и так далее ..... ..... 20: Хост-каналы blockG в HSM. 21: Хост посылает BlobA к HSM (снова). 22: Хост посылает BlobB к HSM (снова). 23: HSM возвращает обновленный BlobA пройдет 24: HSM возвращает обновленный BlobB пройдет к "дурачить" ИМП, злоумышленнику потребуется вычислить 6 Sequental поддельные блоки и отправить HSM. Обратите внимание, что HSM выбрасывает блок сразу извлекаются все необходимые данные, и сохраняет только 6 последних хэш, поэтому HSM нужно будет хранить только один единственный блок в памяти + 6 хэш вспышки. Поскольку баланс сохраняется в сгустки, то HSM не нуждается весь blockchain. PoW из 6 блоков действительно сложный для атакующего создать. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 16 |
Сообщения: 1218
цитировать ответ |
![]() Ну, я бы не стал доверять себе реализовать такую систему на raspbery пи для использования в производстве. Я хотел бы рассмотреть этот документ (http://static.yubico.com/var/uploads/pdfs/YubiHSM%20Manual%202011-09-14.pdf) Идеи режима работы, если я буду пытаться реализовать один сам. Кроме того, я хотел бы рассмотреть некоторые другие производители продуктов, но я сомневаюсь, что они будут открыто обсуждать их реализации. Yubico HSM является классическим примером того, как я сказал Bitcoin представляет некоторые уникальные проблемы. В большинстве приложений HSM вы просто защищаете закрытый ключ. Yubico может защитить закрытый ключ, он может даже подписать ТХ, но это не имеет ни малейшего понятия о "какие" она подписывает. Таким образом, чтобы взять Bitcoinica в качестве примера злоумышленник не сможет украсть секретный ключ, но он может попросить Yubico подписать этот ТЙ перенося 18K из Bitcoinica горячего бумажника на адрес злоумышленника и Yubico бы с удовольствием это делать. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 17 |
Сообщения: 1218
цитировать ответ |
![]() Себастьян,
Это по-прежнему требует HSM, чтобы быть в состоянии разобрать &проверки блоков, найти TX, сопоставляют их пользовательскую базу данных, проверки Тх, определяемые депонированные суммы, а профиль пользователя обновления в. Я думаю, вы можете быть переоценивать вычислительную мощность этих устройств (ну, по крайней мере те, которые не стоят $ 80K). Моя цель состояла бы в том, чтобы получить стоимость <$ 500 установлено, что требует принятия BSM логику как можно более простым. Тем не менее, я призываю вас начать программировать и экспериментировать. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 18 |
Сообщения: 390
цитировать ответ |
![]() Ну, я бы не стал доверять себе реализовать такую систему на raspbery пи для использования в производстве. Я хотел бы рассмотреть этот документ (http://static.yubico.com/var/uploads/pdfs/YubiHSM%20Manual%202011-09-14.pdf) Идеи режима работы, если я буду пытаться реализовать один сам. Кроме того, я хотел бы рассмотреть некоторые другие производители продуктов, но я сомневаюсь, что они будут открыто обсуждать их реализации. Yubico HSM является классическим примером того, как я сказал Bitcoin представляет некоторые уникальные проблемы. В большинстве приложений HSM вы просто защищаете закрытый ключ. Yubico может защитить закрытый ключ, он может даже подписать ТХ, но это не имеет ни малейшего понятия о "какие" она подписывает. Таким образом, чтобы взять Bitcoinica в качестве примера злоумышленник не сможет украсть секретный ключ, но он может попросить Yubico подписать этот ТЙ перенося 18K из Bitcoinica горячего бумажника на адрес злоумышленника и Yubico бы с удовольствием это делать. Я думаю, что точка оборудования в этом приложении, чтобы убедиться в том, что внутренние серверы получают свои команды с веб-сервера непосредственно, перед тем как сервер транзакций делает транзакцию. Я не думаю, что HSM может проверить ничего, кроме этого. Проверка счетов (въездных Ledger) является отдельной проверки. Проверка того, что пользователь имеет право инициировать передачу представляет собой отдельный этап аутентификации. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 19 |
Сообщения: 924
цитировать ответ |
![]() Ну, я бы не стал доверять себе реализовать такую систему на raspbery пи для использования в производстве. Я хотел бы рассмотреть этот документ (http://static.yubico.com/var/uploads/pdfs/YubiHSM%20Manual%202011-09-14.pdf) Идеи режима работы, если я буду пытаться реализовать один сам. Кроме того, я хотел бы рассмотреть некоторые другие производители продуктов, но я сомневаюсь, что они будут открыто обсуждать их реализации. Yubico HSM является классическим примером того, как я сказал Bitcoin представляет некоторые уникальные проблемы. В большинстве приложений HSM вы просто защищаете закрытый ключ. Yubico может защитить закрытый ключ, он может даже подписать ТХ, но это не имеет ни малейшего понятия о "какие" она подписывает. Таким образом, чтобы взять Bitcoinica в качестве примера злоумышленник не сможет украсть секретный ключ, но он может попросить Yubico подписать этот ТЙ перенося 18K из Bitcoinica горячего бумажника на адрес злоумышленника и Yubico бы с удовольствием это делать. Я думаю, что разбои будут решены очень легко, если Bitcoin разработчик готов посвятить некоторое время к нему. Дать патч, который реализует набор пользовательских правил в bitcoind, которые могут настроить любой коммерсант при компиляции демона может сделать hotwallet бумажник взламывает пережитком прошлого. Некоторые примеры правил: разрешено количество монет за ТЕ, предупреждение электронной почты уровня кошелька монеты. Я напомню, что у нас уже есть секретный ключ защиты реализованы на самом низком уровне с шифрованием бумажника. Разблокировка бумажник при необходимости осуществляется с помощью онлайн-платформы на том же канале Rpc. Пароли, используемые для подключения к RPC и для разблокировки бумажник может быть запутанным в скомпилированный двоичный файл на том же сервере, что и приложение. Зачем использовать дорогие и специализированные аппаратные, когда все, что нужно немного мозговой штурм? |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 20 |
Сообщения: 390
цитировать ответ |
![]() Вы можете использовать каждый из них шага аутентификации (имя пользователя, учет, веб-сервер) для создания (счетчик на основе) OTP, то "клей" все вместе, чтобы одноразовые паролей сделать закрытый ключ для дешифрования хранилища ключей. Таким образом, вы даже не нужно HSM.
KeePass Password Safe Plugin "OtpKeyProv" делает что-то вроде этого. |
![]() ![]() |
![]() ![]() ![]() |