コンピューターにAtmel97SC3201があり、カーネルに次のように設定しています。
/dev
はtpm0
およびhwrng
ですが、このコマンドを実行すると、次のようになります。
head -c 2 /dev/hwrng
出力:
head: error reading ‘/dev/hwrng’: Input/output error
dmesg
に次のメッセージが表示されます。
tpm_atmel tpm_atmel: A TPM error (2048) occurred attempting get random
追加の試行により、次のメッセージが生成されます。
tpm_atmel tpm_atmel: A TPM error (6) occurred attempting get random
これが失敗する理由、またはそれ以上のアイデア、それを機能させる方法はありますか?
このRNGは、 トラステッドプラットフォームモジュール の一部として提供されます。コンピューターが大規模な組織の注文の一部である場合を除き、TPMはデフォルトで無効になっています。これは、構成を誤るとコンピューターが起動できなくなり、コンピューターの追跡が容易になるためです¹。
RNGを使用する場合は、BIOSで有効にする必要があります。 Thinkpad wiki には、Thinkpadの詳細な手順があります。これは、別のモデルがある場合でも、適応に役立つ可能性があります。 BIOSでTPMを有効にするだけで十分かどうか、または起動時にLinuxからTPMを初期化する必要があるかどうかはわかりません。 Linuxのサポートが必要な場合は、 TrouSerS をインストールします(ほとんどのディストリビューションにはパッケージが必要です)。
TPMの他のもの、主にセキュアブートを使用できます(マシンへのルートアクセス権を持つ人でさえ、ブートローダーに感染してルートキット²を植えることができないようにするため)。セキュアブートには Trusted Grub が必要です。
Linuxには、優れた暗号品質の疑似乱数ジェネレーターが組み込まれており、そのPRNGをシードするためのエントロピーの収集に優れていることに注意してください。したがって、ハードウェアRNGのメリットは非常に限られています。
¹ より正確には、TPMは、簡単に否定できない、なりすましにくいIDをコンピューターに提供します。これはプライバシーに関する大きな懸念事項ですが、実際には、一般的に認識されているよりもはるかに問題は少ないです。 TPMを正しく使用するソフトウェアは、コンピュータのIDをリモートパーティに送信しませんが、TPMに追跡できないアプリケーション固有のキーを使用します。つまり、サードパーティのアカウントを持っているようなものではありません。 TPMを誤って使用するソフトウェアはプライバシーを公開する可能性がありますが、どのソフトウェアも公開する可能性があります。ブラウザは、ユーザーに関する多くのことを明らかにすることで有名です。毎日のWebブラウジングは、TPMによるリスクよりもはるかに多くのことを明らかにします。
² ただし、ルートキットを植える場所は他にもあることに注意してください。 TPMは、システムをロックダウンして余分なソフトウェアをインストールするのが難しい場合にのみ、実際に保護を提供できます。
これらは、TPMを有効にするためのthinkwikiサイトからの手順です。
ThinkWiki Webサイトの Embedded Security Subsystem からの抜粋
/sys/kernel/security
にマウントしてください。/sys/bus/platform/devices/tpm*/pcrs
ファイルの下にあるsysfsから読み取ることができます。sys/bus/platform/devices/tpm*/pubek
と比較して確認してください。