Облачные хранилища удобны и прочно вошли в жизнь рабочих и колхозниц, однако, имеют ряд недостатков. Это цена за гигабайт, проблемы с приватностью данных (причём, как со стороны хакеров, так и со стороны владельцев облачного сервиса), риск блокировки аккаунта (привет гуглу) или недоступность сервиса из определённых стран (привет яндексу). В этой статье хотелось бы кратко рассказать про одну свою поделку, которую я тихо мастерю для себя и так, как я это вижу. Она не претендует на роль лучшего или уникального решения, просто мне показалось, что сделать именно так будет лучше и удобнее для пользователя.

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

Разумеется, я в курсе существования FreeNAS и иже с ним для организации хранилищ, в том числе и с функцией шифрования раздела. Но в них виделось несколько проблем. Например, это ключи шифрования, которые висят в ОЗУ и могут быть оттуда добыты. Либо может быть спарсен пароль, а хранилище или БД слиты. Либо просто будет получен доступ к хранилищу и данные удалены чисто из вредности, а на их место залит прон (реальный случай).

Наконец, был реальный опыт приобщения юристов к облакам, где в облаке лежал контейнер вераскрипта (утечка данных для юристов недопустима), и ничем хорошим это не кончилось. Начиная от паролей, прилепленных на монитор, и заканчивая «да я зашёл всего разок с компа отеля в Турции».

Хотелось сделать нечто простое и с одной кнопкой, а лучше – вообще без кнопки.

Мне очень понравилась концепция аппаратных криптокошельков, суть работы которых в том, что все приватные ключи хранятся в девайсе и не покидают его. Внешнее ПО загружает в кошелёк исходные данные транзакции, пользователь видит их на экране девайса и подтверждает правильность нажатием кнопки на девайсе, после чего подпись транзакции осуществляется внутри девайса, на выходе же получаем готовый скрипт. Ввод пароля осуществляется также на девайсе его кнопками. Если пользователь не дурачок и не раздаёт свои сиды по первому требованию, то безопасно пользоваться кошельком можно на любом завирусованном компе и из любой дыры, а принцип его использования понятен и логичен (всунул девайс – получил доступ, вынул – утратил доступ).

Применительно к NAS, подобный внешний девайс может выступать в роли аппаратного шифровальщика (АШ), в который загружаются нешифрованные данные, а покидают его уже зашифрованные пакеты с солью, которые, далее, идут в сеть и пишутся на удалённый диск, также зашифрованными. Бонусом получаем защиту от MITM атаки и возможность качать данные через любую интернет-дыру и с любого, даже чужого, ПК. От Диффи-Хеллмана при обмене было решено отказаться (из-за уязвимости к MITM и ненужного ИМХО усложнения).

Вторая важная функция АШ – подпись команд. Фактически, ПО на стороне хранилища выполняет не коды команд, а их скрипты. И чтобы скрипт выполнился, он должен быть правильно подписан и правильно расшифроваться приватными ключами на стороне NAS, в противном случае команда будет не корректна и проигнорирована. Иными словами, не обладающая ключами сторона не сможет считать, удалить или изменить файлы в хранилище. Синхронизация с хранилищем подтверждается аппаратно, с кнопок АШ, таким образом, если вы схватите вирус шифровальщик или кто-то получит доступ к вашему ноутбуку (источнику данных), он не сможет без вашего ведома испортить файлы в хранилище, а в облаке - сможет.

Работает АШ довольно стандартно – приватные ключи генерируются в нём рандомно из множества 2^256 (надо понажимать клавиатуру, подвигать мышкой + берутся некоторые случайные метеоданные из интернета), для нужд восстановления ключей генерируется seed фраза на 24 слова. Имея фразу, вы сможете восстановить ключи в любом другом АШ. Фразы генерируются согласно словарю BIP39 и могут быть сохранены на неэлектронных носителях или запомнены.

ПО на стороне источника (ноутбука) отправляет данные в АШ, получая назад зашифрованные пакеты. Ключи никогда не покидают АШ. Эти пакеты as is уходят в сеть по творчески переработанному протоколу DC и на стороне приёмника пишутся в одноликие файлы с расширением .hcpt. В роли единственного хаба выступает небольшой веб сервер. При получении файлов обратно, они проходят через АШ и синхронизируются с каталогом на источнике. Также есть возможность выкачать каталог без расшифровки, но для подписи команды всё равно понадобятся ключи и АШ.

Если вдруг требуется расшифровать данные на стороне приёмника (например, в роли приёмника у вас домашний ПК с выделенным под хранилище диском) надобно внедрить АШ в приёмник и вежливо попросить софтину извлечь файлы. Будет создана копия каталога с расшифрованными файлами. Это не очень удобно, но пока так. В будущем хочу допилить нормальный гуй с расшифровкой на лету, а-ля VeraCrypt, но пока это консольные программы, существующие только под виндой.

Также, АШ обучен при подключении прикидываться сначала HID устройством (стандартной клавиатурой) и запускать своё приложение автоматически при подключении. Приложение проверяет свою копию при запуске и автоматически закрывается после отключения АШ.

Сам АШ построен на базе FPGA серии iCE40 от Lattice и STM32 микроконтроллера, подключается через USB 2.0 full-speed и существует в виде паянного/перепаянного прототипа. Экран и кнопки управления пока на разъёме, т.к. приоритетным было отладить шифрование.

Главная плата ключа с FPGA, uC и светодиодом
Главная плата ключа с FPGA, uC и светодиодом

Что касается самих ключей шифрования, то хранятся они, сами будучи зашифрованными 4х символьным паролем, в одной куче с остальными изменяемыми данными в ПЗУ АШ. В отличие от крипто кошельков я не стал использовать защищённые чипы (ST31H320 и т.п.), т.к. если вас зажопит ФСБ/АНБ, вы им сами всё расскажете, а против гопоты и мамкиных хакеров такой защиты будет достаточно.

Ввод пароля осуществляется также, как и у криптокошельков – двумя кнопками на АШ. В выбранном разряде появляется случайное число от 0 до 9 и далее вы должны двумя кнопками вверх или вниз смотать значение до нужного и подтвердить выбор одновременным нажатием двух кнопок. Таким образом, подбор пароля, даже с применением автоматизированных средств, превращается в увлекательный и продолжительный процесс.

Пока планируется реализовать следующее:

0.       Сделать нормальный просмотрщик файлов а-ля дропбокс. Чтобы хотя-бы имена файлов вытаскивало на лету.

1.       Собрать АШ в красивый корпус с дисплеем и кнопочками.

2.       Отладить взаимодействие с человеком и аппаратный интерфейс, исключить человеческие ошибки.

3.       Перевести АШ на USB 3.0, т.к. в локальных сетях ограничения скорости 2.0 уже вполне заметны.

Буду рад любым мнениям, конструктивной критике и предложениям!

*****

UPD. Поскольку многие выразили опасение по поводу неудобства и сложности восстановления погибшего АШ путём ввода сид фразы, то привожу два видео, демонстрирующие как процесс можно упростить без потери безопасности:

Комментарии (42)


  1. sav13
    23.02.2022 05:27
    +2

    И какова скорость работы такого диска?

    Что будет с данными, если ваше чудо устройство вдруг накроется медным тазом? То же что и с криптокошельками? Деньги есть, но доступа до них нету? ))))


    1. bezev
      23.02.2022 08:12
      +1

      скорость до 18мб/с

      для нужд восстановления ключей генерируется seed фраза на 24 слова. Имея фразу, вы сможете восстановить ключи в любом другом АШ

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


      1. Sdima1357
        23.02.2022 08:45

        Usb full speed это не 18 , а 12 мегабит в секунду. В теории. И это очень медленно. Возможно автор имел в виду usb 2.0 high speed - это уже 480 мегабит в секунду, но не у всех stm32 (почти ни у кого) есть для них PHY. И да, в такой конфигурации stm- ка тут лишняя, достаточно fpga с софт процессором и флешем на борту и какой нибудь usb2.0 high speed controller, например cy7c68013a. Или usb 3300 ulpi. Или fpga лишняя ,достаточно stm32h7 или stm32f7

        Контроллеры usb 3.0 пока неоправданно дороги.


        1. Dikoy Автор
          23.02.2022 21:51

          Нет, именно фулспид. Причина проста - зашифровать поток в 480 Мб несколько сложнее, чем в 12 Мб :) Переход на хай спид потребует установки более мощной плисины, увеличения габаритов девайса, потребления, цены... Сейчас всё очень компактно и дёшево (около 40 баксов с платой). Я пока не вижу способов сделать быстро AND дёшево, хотя необходимость ускоряться понимаю и пишу об этом в статье.

          СТМ тут нужна для реализации интерфейса с человеком, второстепенных функций, плюс на ней реализован ШИМ контроллер питания из АЦП, ШИМа и DMA :) ПЛИС полностью занята шифрованием потока. Такой симбиоз.

          Также помним, что этот АШ шифрует не весь трафик, а только связанный с хранилищем. Это не реалтайм трафик и, по большому счёту, не важно, синхронизируется изменённый файл за 2 секунды или за 20. По крайней мере, я когда путешествию по "развитым" странам, там редко больше 5 Мбит интернет бывает сам по себе и АШ на этом фоне совершенно не тормозит процесс.


          1. Sdima1357
            23.02.2022 23:00

            Из коммента : Нет, именно фулспид.  ... и, по большому счёту, не важно, синхронизируется изменённый файл за 2 секунды или за 20.

            Из статьи: Перевести АШ на USB 3.0, т.к. в локальных сетях ограничения скорости 2.0 уже вполне заметны.

            Вы непоследовательны. Может для начала usb2 high speed реализуете? STM - ка справится с обработкой такого потока.


            1. Dikoy Автор
              26.02.2022 00:41

              Не уверен что для перехода на USB3.0 необходимо непременно пройти через 2.0 хайспид, ну да ладно.

              Поток СТМ пропустит, а вот зашифровать - врядли. И не забываем про стоимость решения.


    1. amarao
      23.02.2022 14:41
      +1

      Там же сказали, recovery phrase. Правда, как её использовать - вопрос не расскрыт.


    1. Dikoy Автор
      23.02.2022 21:42

      Если крипта есть, а доступа нет, это означает что пользователь - олень. И это единственный вывод, который можно сделать из данной ситуации. У понимающего технологию юзера доступ к крипте не утратится.


  1. amarao
    23.02.2022 14:42

    меня очень смущает процесс ввода секрета. Очень, очень неудобно.


    1. Dikoy Автор
      23.02.2022 21:42

      Я добавил в статью два видео с примерами.


  1. Zolg
    23.02.2022 16:18

    А в чем смысл шифровать данные на аппаратном ключе ?

    Чем плох традиционный способ с хранением а АК ключевой пары асимметричного шифра и генерация ключей для симметричного алгоритма на АК.

    А уже шифрование данных симметричным алгоритмом - на хост-системе. Это и упрощает как реализацию АК (чем проще, тем сложнее накосячить) и снимает вопросы со скоростью. Ну и готовых решений на рынке масса.

    Опасения компрометации симметричного ключа? Так данные, шифруемые этим ключом, и так доступны на хост системе открытым текстом.


    1. Dikoy Автор
      23.02.2022 22:29

      Ничего не понял...

      Стандартная схема, это как раз обмен симметричными ключами через ассиметричный шифр (тот же DH).

      Каким образом вы вычислите ключ, имея открытый пакет и зашифрованный (даже без соли) - тоже не совсем понятно. Почитайте про эллиптическую криптографию и как устроен биткойн, например...


      1. Zolg
        23.02.2022 22:48

        Вам не кажется странным, что ничего не поняли вы, а читать вы отправляете меня ? )

        Стандартная схема шифрования больших объемов данных асимметричной криптографией - сгенерировать случайный ключ для симметричного алгоритма, зашифровать большой объем данных им, а сам этот ключ зашифровать асимметричным алгоритмом и положить рядом с зашифрованными данными.

        И в аппаратные токены убирают именно закрытый ключ от асимметрии и все операции с ним. Ну и rng тоже можно в него же засунуть.


        1. Dikoy Автор
          26.02.2022 00:39

          "Работает АШ довольно стандартно – приватные ключи генерируются в нём рандомно.." - мне кажется, не поняли таки вы. И леджер с биткойном упомянут тоже не просто так - те же пара приватных и паблик ключей. И описываете вы ровно ту же систему, что и я. Только я описал условный алгоритм Телеграмма с обменом ключами через DH, а у вас она ложится рядом с данными.

          А почему в ключе? По той же причине, по которой это делает в ключе Леджер и Трезор.


          1. Zolg
            26.02.2022 01:57

            Еще раз повторю вопрос: зачем вы шифруете данные (содержимое файлов) на вашем АШ, а не на компьютере ?

            В "АШ" (в дальнейшем - токене) хранится долговременный ключ. Это может быть как закрытый ключ асимметричного алгоритма, так и ключ симметричного, но асимметрия по многим причинам удобнее. Все операции с ним проводятся только внутри токена и этот ключ токен не покидает (и не может быть извлечен) ни при каких обстоятельствах, т.к. его компрометация приводит к возможности расшифровки всех ранее зашифрованных данных.

            Но шифровать данные непосредственно долговременным ключом по многим причинам не стоит. Данные шифруются симметричным алгоритмом случайно сгенерированным сессионным ключом, уникальным для каждого шифруемого файла/блока/whatever (который затем шифруется долговременным ключом и добавляется к шифрованным данным).

            Компрометация сессионного ключа ведет только к возможности расшифровки данных им же зашифрованных. А к этим данным в незашифрованном виде [недоверенный] компьютер и так имеет доступ и потенциальная компрометация сессионного ключа не влияет ни на что и работу с этим сессионным ключом можно смело вести на компьютере.

            Посему задача токена - шифровать* сессионные ключи. Гонять же через него сами данные - пустая трата ресурсов.

            (*) а в случае асимметричного долговременного ключа по большому счету - только расшифровывать, для (за)шифрования он необязателен.


  1. titbit
    23.02.2022 16:57
    +1

    Может я что-то не понял глобально, но зачем самопальный АШ? Берете смартфон со скоростным usb 3.0, вырубаете в нем сеть (и wifi, и мобильную и все прочие), запускаете на нем свой софт для шифрования и проверки ключей. Плюсы: почти готовая аппаратура, устройство удобно для ввода паролей, переносимо если сломается один телефон, удобно писать софт. Минусы: более громоздкое и более дорогое (зато время на разработку экономится). Потенциальные дыры в софте смартфона нивелируются полным отсутствием связи с внешним миром у него. Точное время нужное для протоколов криптографии смартфон будет получать от gps/glonass.


    1. bezev
      23.02.2022 18:51
      +1

      аналог Intel Management Engine для смартфонов есть? у меня не будет уверенности в отсутствии связи пока физически не выпилены все модемы и нет контроля за его прошивкой usb


      1. titbit
        23.02.2022 22:00

        Конечно у вас никогда не будет полного контроля над всем, но чтобы что-то утекало по usb, нужно чтобы прямо на компе стояла «ответная часть», без нее связи не будет. Если уж так боитесь побочных утечек, берите планшет без сотовой связи изначально. Тогда оставшиеся виды связи будут не дальнобойны и легко гасятся перерезанием общей антенны wifi/bluetooth (можно вместо нее впаять резистор-«гаситель» для параноиков). Ну и в шапочку из фольгиклетку Фарадея для пущего контроля :)


        1. Dikoy Автор
          26.02.2022 01:57

          Как занести на комп владельца ответную часть, способов миллион. Собственно, в статье есть ссылка как спёрли 100 битков у леджероводов - просто прислали "обновление" на почту, те и поставили.

          Первые пришедшие в голову 2 вектора атаки на ваш планшет:

          1. Пишем лог годами, сливаем за 10 сек если юзер случайно подключился к инету.

          2. Делаем составное USB устройство и через один физический разъём и чтец, и жнец, и полный пц. И всё это одновременно. И увидеть это юзер сможет только посмотрев специально.


      1. ToSHiC
        24.02.2022 02:08

        Samsung Knox?


    1. Dikoy Автор
      23.02.2022 22:21

      АШ раз в 50 легче и меньше. Дешевле. Надёжней (просто потому что меньше деталей). Точно не имеет известных широкой общественности дыр и лишних интерфейсов.

      Про отключение интерфейсов и их гарантированное пребывание в таком состоянии - ну такое... Функция вызова экстренных служб работает даже в заблокированном смартфоне, например. В нём же он прекрасно слушает микрофон.

      Удобство писать софт под распространённую платформу - сомнительное преимущество для устройства шифрования. В случае "самопального" АШ (не более самопального, чем самописный софт под андроид) 99% программистов в мире остаются за бортом. И это хорошо.

      Реализация быстрого шифрования в андроиде vs FPGA? Я бы поставил на FPGA в любом случае. То, что смартфон быстро крутит веб страницы и проигрывает HD видео совершенно не означает, что он сможет также быстро шифровать поток на SHA-256, например.


      1. ToSHiC
        24.02.2022 02:14

        Точно не имеет известных широкой общественности дыр и лишних интерфейсов.

        Сильное заявление. Каким образом организована защита от чтения ключа из аппаратного токена? Как защищен девайс от программного ввода пароля (таймауты на проверку?)

        Как всё это защищено от атаки по побочным каналам, типа тайминг атаки или атаки с измерением потребления тока?

        Есть подозрение, что безопаснее было бы вместо всего этого огорода использовать обычный TPM, а шифровать уже на процессоре, как предлагали выше.


        1. Dikoy Автор
          26.02.2022 01:13

          Когда нет ОС, а весь код вы можете посмотреть в ассемблерном листинге пошагово, то делать такие заявления можно.

          Если у меня в бутлодыре в switch нет case "ввести пароль программно", то хоть вы наизнанку вывернитесь, ваш запрос уйдёт в default: return false;

          Если у ключа нет команды, читающей память или возвращающей Х данные, то default: return false;

          Если у чипа отключены аппаратные интерфейсы, а бутлодырь не предусматривает чтения прошивки от слова вообще (вместо этого, проверка чексумм и PGP), то default: return false;

          Ввод пароля с кнопок автоматически замедлен функцией антидребезга, когда на нажатие кнопки даётся не менее 25мс и столько же на отпускание. Между вводами - порядка 3 сек на расшифровку ключей паролем и проверку результата. Разумеется, после нескольких неверных вводов паузу между вводами можно искусственно увеличивать. Ничего сложного нет.

          Дёргать питанием чипа в надежде поломать ключи бесполезно, там встроенный voltage monitor & аппаратный watchdog с независимым от ядра тактированием. Чип уйдёт в сброс с обнулением памяти. Смотреть потребление тоже вряд ли поможет, СТМ хоть и кортекс, но ARM, а это конвейер и потребление чипа +- ровно. Ну, можно занять его вычислением числа Пи в простоях...

          Про способы вскрытия аппаратной защиты СТМ одна из последних статей https://habr.com/ru/post/596499/ Не то, чтобы она была лучшая, но общий смысл отражает - долго, дорого, муторно и не под силу гопоте. А большего я пока и не добиваюсь.


  1. ZaitsXL
    23.02.2022 20:33

    Я так и не увидел тут облака, одиночный NAS - это не облако


    1. Dikoy Автор
      23.02.2022 22:00

      А что вы понимаете под облаком?

      Для меня облако, это условный дропбокс. Изменил файлы на ПК1, достал эти файлы на ПК2 в другом месте. Украли ПК1, достал файлы на ПК2. Всё. Никак иначе я облака не использую.

      Для специализированных задач есть специализированные решения, тот же Git или Assembla.


      1. ZaitsXL
        23.02.2022 22:30

        Облако это абстракция над аппаратными ресурсами, когда вы не видите отдельных отдельные узлы (считайте сервера), а видите пулы ресурсов (дисковое пространство, оперативную память, процессоры). Отсюда собсно и название "облако". Условный дропбокс именно так и работает, потому он и облако. Ваш один НАС конечно можно назвать облаком, но это примерно как RAID из одного диска :-)


        1. Dikoy Автор
          23.02.2022 22:38

          Никто не мешает поставить 10 насов и раскидывать данные по ним, вопрос реализации. Я для себя решил, что мне удобно иметь хранилище на невыключаемом домашнем компе. И туда синхронизировать фоточки из отпуска.

          Также можно поставить пожилой сервак в другом месте, напихать в него винтов и получить второй нас.

          С точки зрения пользователя это будет папка на ПК, синхронизирующаяся с облаком, пользователь не видит ни NASа, ни дисков, ни веб хаба. Всё автоматически делается. Собственно, я и хотел сделать дропбокс, но шифрованный и бесплатно.

          А защита данных от порчи на той стороне, это другая тема. Довольно стандартная и изученная.


  1. AndrChm
    23.02.2022 21:01
    -1

    …+ берутся некоторые случайные метеоданные из интернета…

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


    1. Dikoy Автор
      23.02.2022 22:05

      Да, возрастёт, т.к. метка времени генерации ключей не сохраняется и вы не сможете восстановить точку генерации, а скорость ветра в Саратове и атмосферное давление в Лисабоне - это истинный рандом. Города и факторы, понятно, выбираются случайно. Напротив, мотание мышкой довольно типично и имеет выраженные паттерны, обусловленные физиологией человека. Также не забываем, что многие пользователи отнесутся к процедуре халатно и поводят мышой туда-сюда. Это можно численно определить и заставить юзера переделать, но всё равно...


      1. AndrChm
        23.02.2022 22:10

        Так замечательные рассуждения. Душеспасительные. Но тут наука нужна. Колличество энтропийных бит можете оценить при таком способе генерации?


        1. Dikoy Автор
          23.02.2022 22:41

          А вы можете? Давайте начнём с ваших научных рассуждений, и лишь потом перейдём к моим оправданиям.


          1. AndrChm
            23.02.2022 22:56

            Это ведь самое узкое место. Вы ведь специалист по аппаратной части. Так возьмите соответствующую микросхему и генерируйте энтропийные биты. Есть такие. Например, на основе измерений теплового шума и другие. Самое логичное решение в вашем случае. И это будет настоящая случайность, а не какой-нибудь ГПСЧ. Полагаю, что Вы про такие аппаратные решения должны понимать лучше других. Вот что хотелось от вас услышать, а не самоустранение от ответа на конкретный вопрос. Но, увы.


            1. AndrChm
              24.02.2022 00:15

              Кое-что и на Хабр про это есть https://habr.com/ru/amp/post/128666/

              Название статьи: «Как работает новый генератор случайных чисел Intel».

              С тех пор многое могло измениться в лучшую сторону.


              1. Dikoy Автор
                26.02.2022 01:35

                Вы сами даёте ссылку на лавовую лампу, но не принимаете силу ветра в Замбии. Чем энтропия лампы отличается от энтропии планеты?

                Что до "возьмите чип и поставьте", скажу неочевидную для многих вещь - чипы стоят денег. Иногда - много денег.

                И если в "обычном" программировании калькулятор на гигабайт пока ещё прокатывает, и заказчику как-то можно втереть что сейчас технологии такие вот сложные, то в хардвар мире это сразу же отражается в ценнике устройства в долларах.

                А некоторые генераторы ещё и подпадают под регулирование радиоактивных веществ. Или вовсе имеют экспортные ограничения.

                По ГСЧ на тепловом шуме, фотонные счётчики, счётчики гамма квантов и т.п. - вы же понимаете, что к ним нужен ещё и измерительный канал? Иногда, высокого разрешения? Иногда, высокого напряжения? А это ещё единицы и десятки компонентов, иногда весьма габаритных.

                Я так вижу, что нет.


                1. AndrChm
                  26.02.2022 03:30

                  Хотите подешевле? Так правильно и дешево не всегда получается сделать. Хотя на примере аппаратных кошельков, так называемых холодных (KeepKey, Trezor, и пр.), мы видим, что сделать можно и более того, можно их продавать на массовом рынке за вполне умеренные деньги и без всяких экспортных ограничений. Кстати, в KeepKey стоит специальная микросхема, которая отвечает за формирование случайных бит. Про это прямо в документации написано. Да и с габаритами вроде всё нормально. Ещё и код открытый. Так может в вашем случае дело в чём-то другом?

                  А про энтропию планеты — это круто, конечно. Но звучит как бред. Надеюсь, Вы понимаете, что энтропия считается по формуле Шеннона. А этот сумма произведений вероятностей на логарифм по основанию два тех же вероятностей (со знаком минус для нормировки, так как логарифм по основанию два величины меньшей единицы всегда отрицательное число). Это значит, что нужно определиться с пространством событий, задать случайную переменную и взять откуда-то эти самые вероятности, например вероятности исходов некоторых событий.


    1. titbit
      23.02.2022 22:06

      Согласен, лазить в интернет за энтропией — так себе идея и усложнение на ровном месте. Всегда же пользовались встроенным АЦП для добавления энтропии.


      1. Dikoy Автор
        23.02.2022 22:41

        Там шум 2 бита.


        1. Dikoy Автор
          23.02.2022 22:42

          Даже иногда 1 бит, т.к. при нормальной трассировке у СТМ32 ENOB = 11+ бит.


  1. zartdinov
    23.02.2022 21:51

    Как идея, можно шифровать и отправлять в Storj или Sia


    1. Dikoy Автор
      26.02.2022 01:47

      Да куда угодно можно. Даже в брендовые "коробочные" NAS. Им же всё равно какие файлы писать.


  1. German_Isayev
    23.02.2022 21:58

    Хм, а технологию блокчейна туда добавите? Как я понимаю, может помочь для защиты данных от изменения или ещё какого взлома.


    1. Dikoy Автор
      23.02.2022 22:06

      Блокчейн приведёт к росту объёмов хранилища, на это никто не пойдёт. Да и зачем это обычному юзеру, цель которого, чтобы фотки с корпоратива не утекли в сеть?