大家好、
我目前正在使用基于 amic110 SoC 的定制板、将 u-boot 和(Yocto) Linux 用作引导加载程序和操作系统。
在启动时、可生成 RSA 密钥对。 正如在该平台上所预期的那样、密钥的生成确实需要一些时间。 意外的是密钥生成行为:OpenSSH 需要20秒到380秒才能生成密钥。 我已经使用与执行以下步骤完全相同的电路板和软件运行了一系列测试:
1. power on 2. wait for login prompt 3. login and delete keys 4. reboot
使用 grabserial,我测量了创建密钥所需的时间。 结果分布在整个地方,从20到380秒,中位值为76秒。 我使用不同的电路板(定制板、TI 评估模块和 BeagleBone Black、都使用某种基于 am355x 的 SoC)和软件版本重复了该实验、但结果(尤其是一个器件上密钥生成时间之间的差异)是相同的。
我将 Yocto 3.1 (Dunfell)与 TI 内核5.4.106配合使用、并使用 openssl 1.1.1。 已根据 TI 文档启用对 RNG 的支持:
[ 1.119132] omap_rng 48310000.rng: Random Number Generator ver. 20 [ 1.127665] random: fast init done [ 1.131274] random: crng init done
从我的观点来看,问题是熵相关的。 是否有人在此 SoC 上遇到相同的问题、是否有其他配置建议可可靠地加速密钥生成? 或者这是否只是 RNG 的预期行为?
我不一定对加快密钥生成感兴趣、但我想知道为什么需要的时间会遍布整个地方。
提前感谢、
戴夫