Bug 41753 - Не работает аппаратная энтропия
Summary: Не работает аппаратная энтропия
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: rng-tools (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Sergey Y. Afonin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-21 11:05 MSK by Евгений Кухтинов
Modified: 2022-01-21 15:04 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Евгений Кухтинов 2022-01-21 11:05:00 MSK
Ноутбук ASUS N46VZ.

Вывод journalctl:

дек 21 21:23:24 comp-core-i7-3610qm-473dc9.localdomain rngd[1308]: Failed to init entropy source pkcs11
дек 23 18:33:10 comp-core-i7-3610qm-473dc9.localdomain rngd[1307]: PKCS11 Engine /usr/lib64/opensc-pkcs11.so Error: No such file or directory

Установил пакет libopencs. Эта ошибка пропала.

Но осталось это:

дек 23 19:13:04 comp-core-i7-3610qm-473dc9.localdomain rngd[1305]: Failed to init entropy source pkcs11
янв 21 14:40:08 comp-core-i7-3610qm-473dc9 rngd[5012]: [pkcs11]: No pkcs11 slots available
янв 21 14:40:08 comp-core-i7-3610qm-473dc9 rngd[5012]: [pkcs11]: Initialization Failed
янв 21 14:51:25 comp-core-i7-3610qm-473dc9 rngd[5645]: [pkcs11]: No pkcs11 slots available
янв 21 14:51:25 comp-core-i7-3610qm-473dc9 rngd[5645]: [pkcs11]: Initialization Failed

Посмотрел службу rngd:

# systemctl status rngd
● rngd.service - Hardware RNG Entropy Gatherer Daemon
     Loaded: loaded (/lib/systemd/system/rngd.service; disabled; vendor preset: disabled)
     Active: active (running) since Fri 2022-01-21 14:40:05 +07; 5s ago
   Main PID: 5012 (rngd)
      Tasks: 5 (limit: 8857)
     Memory: 4.5M
        CPU: 23.202s
     CGroup: /system.slice/rngd.service
             └─5012 /usr/sbin/rngd -f

янв 21 14:40:05 comp-core-i7-3610qm-473dc9 rngd[5012]: Initializing available sources
янв 21 14:40:05 comp-core-i7-3610qm-473dc9 rngd[5012]: [hwrng ]: Initialization Failed
янв 21 14:40:05 comp-core-i7-3610qm-473dc9 rngd[5012]: [rdrand]: Enabling RDRAND rng support
янв 21 14:40:05 comp-core-i7-3610qm-473dc9 rngd[5012]: [rdrand]: Initialized
янв 21 14:40:05 comp-core-i7-3610qm-473dc9 rngd[5012]: [jitter]: Initializing AES buffer
янв 21 14:40:08 comp-core-i7-3610qm-473dc9 rngd[5012]: [jitter]: Enabling JITTER rng support
янв 21 14:40:08 comp-core-i7-3610qm-473dc9 rngd[5012]: [jitter]: Initialized
янв 21 14:40:08 comp-core-i7-3610qm-473dc9 rngd[5012]: [pkcs11]: No pkcs11 slots available
янв 21 14:40:08 comp-core-i7-3610qm-473dc9 rngd[5012]: [pkcs11]: Initialization Failed
янв 21 14:40:08 comp-core-i7-3610qm-473dc9 rngd[5012]: [rtlsdr]: Initialization Failed

Утилита pkcs11-tool из пакета opencs показала:

# pkcs11-tool --list-slots
Available slots:
No slots. 

Поставил пакет haveged, включил службу haveged, выключил rngd.

Ошибка исчезла.

Вдруг кому пригодится.
Comment 1 Sergey V Turchin 2022-01-21 12:33:53 MSK
> выключил rngd.
> Ошибка исчезла.
Сообщение исчезло, а не ошибка.
Comment 2 Sergey V Turchin 2022-01-21 12:35:13 MSK
2 мантейнеры: а успешной инициализации rdrand и jitter не достаточно?
Comment 3 Николай Костригин 2022-01-21 13:14:19 MSK
rng-tools - это инструмент сбора энтропии со многих источников. Отсутствие некоторых из них не является блокирующим.
Зависимость на /usr/lib64/opensc-pkcs11.so не ставил специально, так как сейчас редко у кого в системе есть специализированный аппаратный генератор. Вот и у Вас нет.
"No pkcs11 slots available. Initialization Failed "  - Это не ошибка, а констатация факта, что токен с генератором случайных чисел отсутствует.

Основным источником энтропии, особенно для виртуальных машин на этапе загрузки, является 
[jitter]: Enabling JITTER rng support

Если Вас смущают сообщения в виде "initialization failed" - давайте подумаем, какую формулировку предложить апстриму взамен.
Если токен у Вас есть, но софт его не видит - давайте разбираться.

Пока же предлагаю переформулировать заголовок бага как минимум. Закрываю как "Not a bug".
Comment 4 Sergey V Turchin 2022-01-21 13:44:59 MSK
> Не работает аппаратная энтропия
А аппаратную ещё поискать надо.
Comment 5 Leonid Krivoshein 2022-01-21 15:04:45 MSK
(Ответ для Sergey V Turchin на комментарий #4)
> > Не работает аппаратная энтропия
> А аппаратную ещё поискать надо.
Сообщения вылезали как раз в процессе поиска аппаратного ГСЧ. Установка пакета opensc-pkcs11 решила проблему, так как у подсистемы PKCS#11 появилась свободная реализация soft-токен, которая стала мгновенно сообщать клиентам библиотеки об отсутствии аппаратных токенов. Вообще эту свободную реализацию лучше не использовать, ей стоит предпочитать соответствующие модули от вендоров (с их сайтов) либо опакеченные у нас: Актив/Рутокен (librtpkcs11ecp), Аладдин РД/JaСarta (libjcpkcs11), также входит в состав Единого Клиента JaCarta, и ISBC/ESMART (libisbc_pkcs11_main). При этом на самых простых токенах аппаратного ГСЧ нет.