Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
alessandro
6 лет назад

Безопасность децентрализованных систем

Небольшая дискуссия начатая постом @eee и комментарии @on1x как разработчика одного из клиентов голоса навела на некоторые мысли по поводу безопасности.

Если кратко по поводу текущей ситуации на голосе: все плохо. Спойлер: решение есть и оно немного ниже.

Всё плохо

  1. Кто угодно может сделать собственного клиента к блокчейну голоса. Найти хороший предлог, чтобы пользователь воспользовался своим главным паролем - не слишком сложная задача, несмотря на любые предупреждения от исходной команды.
  2. Нисколько не сомневаясь в честности @on1x, я все-таки могу представить себе ситуацию когда у него возникнет повод поменять скрипт и украсть пароли пользователей. Ну например после визита сотрудников ФСБ с ректальным криптоанализатором. Фантастическая ситуация? А, ну тогда спите спокойно, ваши пароли в безопасности
  3. Ситуация будет ухудшаться с каждым новым клиентом. Чем их больше - тем выше вероятность что кто-то из них скурвится. Из 1000 один, но легче ли от этого инвестору у которого увели кошелёк
  4. Всем плевать, отдал свой пароль мошенникам - сам виноват. Ибо нефиг было уходить со стандартного клиента.

Есть одна хорошая новость. Она же, как ни странно - отвратительная. Вы помните недавний скандал вокруг смены паролей нескольким растяпам, путем модифицирования кода? Так вот, если вы матерый китяра, то прогнуть разработчиков чтобы они откатили обратно перевод украденных у вас денег - можно.

Почему она хорошая понятно. Отвратительная она потому, что если разработчики готовы прогибаться перед кем бы то ни было, то тропинка протоптана и всем понятно что это принципиально возможно. И в следующий раз прогнуть их будет легче. Тем более ФСБ с ректальным...

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

Как сделать хорошо

  1. Главный ключ не должен вводиться нигде. Вообще нигде. Ни на одном из клиентов. Он хранится только у пользователя, вплоть до того, что "в холодную" - на отключенном от интернета компе.
  2. Создается оффлайн-приложение, в котором на основе главного ключа формируются и подписываются важные транзакции (например перевод денег). Поскольку приложение хранится на компе у пользователя - ему не нужно каждый раз убеждаться что никто не внес в код изменений. Можно запускать это приложение в "песочнице" с заблокированным интернетом.
  3. Ctrl-C, Ctrl-V. Сформированная транзакция вводится на любом из клиентов. Вообще любом - см. п4
  4. Клиент может только выполнить ее или отказаться - изменить в ней что-то он уже не может, она подписана. И украсть ничего не может - пароля он не знает. Фишинг становится невозможен.

Телемаркет! Могут расцветать все цветы, можно пользоваться хоть 100500 клиентами не парясь о фишинге. И не читать пользователям нотации вида:

Надо взрослеть и привыкать к ответственности за свои действия. В распределённом мире иначе никак.

(с) @eee
Как видите, иначе - очень даже как. Криптография умеет много гитик. А уж такие тривиальные задачки она научилась щелкать задолго до появления блокчейна и даже интернета.

0
0.432 GOLOS
На Golos с October 2017
Комментарии (7)
Сортировать по:
Сначала старые