From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=UuLayoFS4DvWE4pJGg06FtPHTaz4SVj39v5S5fs+EgQ=; b=j7WOY/F/4coKJUslzHgf3Ql2XTIN49SQZLVbKlfhLzrA/E+uVgplbiYmXIg/WmDp8t Qe/IxXcTLDmr97qK3/PFVSSvfnEgKStfG41Q0GRJ1AjFmwpIQayZ3pJxLFs+3Tn9Byob d39djFpEsmP4HkTQKCrU60cL4lepy7eLuqEPzE/LX6G3zAwUmdfXk1h1vr7XuNaHJekp DI3vaXoTiUOHXGciOOzRsrGe2S2KlK2cZKgEt1P+2O+ITN35hJKtBaN9dyX02jmaIl14 fFgdtiSK5UNlHkf6KhEio8LS2O5k6na6U7nAbQjXDddCt2tU0eTihDPYyaKxNrROAcWJ LQlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=UuLayoFS4DvWE4pJGg06FtPHTaz4SVj39v5S5fs+EgQ=; b=ujEPuJn+hZnexFFEqmaxM8PJtGrH35rnLX1U3KtD9I8cRlEHirot8Og+L5R9QoB9TS WzK7LCaNKKgYWVRFSlGCZIqwuekkdis0tdxEDK7wW2oTTl4hWczgSTBuMjU+G7oC8PCy 9beFWJGYTalkSntJkLfbAC0v/tES1m9LcyfGM1+Se+ZJNcSMObC1joC5wXHoGcJ8e7kX aq5DxVbXj7PGmX4KTyAw1IXIzTlBPc8EsQvN5rPyBArUYuSH1HyyVSWTU/UP8Dt8BrT9 61Fpd/dldEfp36TwhpoFg/LBGD/XaWYvY2PGWlNquNmYlR1SD1A8FvmtZAGVZ42plrDP NnjQ== X-Gm-Message-State: APjAAAUQisXq3hyqhBoBD6uPb+IJtHV4Y7OCvIYO+97XSZGHgYA3ybr5 jpmE5LAV3tukLsBiC9vJImSI9pMz X-Google-Smtp-Source: APXvYqzPKIp6m37sRAjSFAtTUHY1HFDgXgAPuocvM8RB1BmSGc4CwMi4c+c9jzU091bHuD125SBffA== X-Received: by 2002:a2e:3201:: with SMTP id y1mr10766259ljy.177.1567540231292; Tue, 03 Sep 2019 12:50:31 -0700 (PDT) To: devel@lists.altlinux.org References: <4beb559f-4864-35a2-b8c8-3fa0909d6069@basealt.ru> <20190530164054.GA27835@altlinux.org> <4041b3c1-b134-9720-0f01-1a2527ed1721@basealt.ru> <20190531105614.GD27835@altlinux.org> <975ac233-dc84-d9eb-1d24-975ee807c075@basealt.ru> <20190831123520.GD12903@altlinux.org> <936a2336-e8c6-8274-37cf-a8059ee9bf44@gmail.com> <20190831154243.GE12903@altlinux.org> <7e2bba2a-867f-b8a0-6e27-1a07521e13fb@gmail.com> <77efad51-4876-fa68-f8e5-291a3bb5a058@altlinux.org> <3663e1ee-b31f-db30-083f-1899c3bed8a1@gmail.com> <8b8855ce-2d5b-e35b-cc7a-855b8f4edc50@altlinux.org> From: Leonid Krivoshein Message-ID: Date: Tue, 3 Sep 2019 22:46:57 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <8b8855ce-2d5b-e35b-cc7a-855b8f4edc50@altlinux.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [devel] rngd vs haveged vs crng (khwrngd) X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Sep 2019 19:50:34 -0000 Archived-At: List-Archive: List-Post: 03.09.2019 11:49, Paul Wolneykien пишет: > 03.09.2019 10:02, Leonid Krivoshein пишет: >> 03.09.2019 01:25, Paul Wolneykien пишет: >>> 03.09.2019 00:31, Leonid Krivoshein пишет: >>>>>> И здесь речь о случайных числах для запуска >>>>>> самого systemd, который может стартануть и быстрее, чем через >>>>>> три секунды. >>>    Мне тоже стало интересно, о чём вы тут спорите. >> В данном случае речь о проблемах, обсуждаемых в статье: >> https://systemd.io/RANDOM_SEEDS -- разработчики systemd заверяют, что >> случайные числа на раннем этапе запуска им тоже нужны, но их источник не >> обязан быть криптографического качества. > И, стало быть, разницы между /dev/random и /dev/urandom им > недостаточно? Одного слишком много — встаёт колом, другой — слишком > низкого качества. В таком случае им нужен третий — какой-нибудь > /dev/boot_random, качество и количество энтропии в котором будет > необходимого и достаточного качества. > Но мне кажется, что это ошибка и вполне опасная. В вопросах > безопасности "серединный путь" не годится, я считаю. Если уж > пользователь выбрал ОС с криптозагрузкой (назовём это так), то > требования должны быть высокими во избежание. С быстрой загрузкой без > спецоборудования это вряд ли совместимо и поэтому не нужно пытаться > делать вид, что это так. В целом, согласен. Статус этого документа не совсем ясен. Я бы назвал это "отмазками". Преподносится как информация для разработчиков. И действительно из этого документа можно задействовать множество способов, где железо позволяет. А где не позволяет, здесь говорится, чем грозит и что это будет вашим риском. Всё честно. > >> В принципе, даже 1 бит энтропии >> вместе с текущим временем и glibc rand() это обеспечивают. Поэтому речь >> явно не только запуске самого systemd, иначе бы так сильно не >> заморачивались. > А кто ещё, sshd? Нет, даже при запуске ssh-keygen -A используется /dev/urandom для инициализации внутреннего ГПСЧ. Возможности сменить источник СЧ я там не увидел. Но в командной строке есть возможность использовать готовый сертификат. Тот факт, что при запуске службы возможна генерация криптографических пар таким вот генератором меня тоже удивляет. Тут надо иметь ввиду, что зависимость от /dev/urandom порождает меньшее из зол: с какого-то ядра (4.16 кажись) принято блокировать обращение к /dev/urandom до полной инициализации пула ядра. Судя по логам, первым, кто оттуда хапает трижды по 16 байт -- systemd. В дальнейшем в лог выводятся лишь предупреждения о недостатке энтропии, но блокировки не выполняется. И нет, на практике с sshd проблем не вылазило ни разу. Проблемы вылазили и будут вылазить со всей криптухой, начиная с cryptsetup до всяких keyring'ов. > Почему с ним раньше проблем не возникало? Тут gremlin@ уже верно ответил. Лишь добавлю деталей: массовый переход с HDD на SSD/NVME (прерываний в первых секундах старта ощутимо меньше), более быстрый параллельный запуск. Раньше можно было увидеть загруженный desktop MATE за 14-20 секунд, на некоторых новых машинках уже 5-7 секунд. Раньше загрузка была последовательной, сам SysVinit не требовал ГПСЧ. > Ну и опять > же, на мой взгляд это проблема, в первую очередь, в диагностике. Если > какая-то служба долго не стартует, то в журнале должно быть что-то про > нехватку энтропии. Тут сложнее. Никто (systemd тоже) не может заранее предугадать, какая из служб попросит у ядра getrandom(), а на время блокировки все зависимые службы не будут грузиться. Например, при запуске графического сеанса с включенным авто-входом в MATE, стартует gnome-keyring, и вместо рабочего стола несколько минут чёрный экран. В журнале dmesg через несколько минут может появиться одна запись. Типа crng init done. Тогда процесс загрузки продолжится. Ускорить помогает хаотичное движение мышкой и нажатие клавиш. -- Best regards, Leonid Krivoshein.