オープンソースの主な目的は、実行しているソフトウェアを監査/検証できることです。ただし、第三者がホストするソフトウェアを使用する場合は、それを信頼する必要があります。
LinuxシステムでOSSサービスを実行して100%透明にしたい場合は、これを提供する方法はありますか?誰でもボックスが実行されていることを確認してください。
浮上したいくつかのアイデア:
- ボックスにSSHでアクセスし、コマンドを実行してインストールされているパッケージのリストを確認できる読み取り専用ユーザーが必要です。
- 決定論的なインストール(私の考えでは世代と呼ばれる)を使用するNixOSでは、これらの「監査」ユーザーはボックスにアクセスして、インストールされたパッケージと構成を暗号化方式で確認できますか?
この問題を解決するのに役立つツールはありますか?専門家ではありません:) どんなアドバイスでも歓迎します。
答え1
確かに。再現可能なビルド+セキュリティブート。問題が解決しました!
しかし、verifyコマンドに対するあなたの考えはまったく意味がありません。ユーザーはコマンドが嘘をつかないと信じなければなりません。その時点で、彼らは他のソフトウェアも自分が期待するように信頼できます。
したがって、前述のようにセキュアブートを使用すると、ソフトウェアローダーがユーザーに表示するものとビット単位で同じであることを署名で確認し、ソースからビルドしてビット単位で同じソフトウェアを取得できるように再現可能にビルドするハードウェア検証が可能します。ソフトウェアローダーがロードした署名と比較できるロードされたコンテンツイメージを表示します。
特定のソフトウェアを正しく実行するには、他のものではなくハードウェアを信頼する必要があります。これは実際には最新のマザーボードやCPUが動作する方法ではなく、その部分には感謝できないソフトウェアが多く隠されているため、GoogleやDoDなどのハードウェアベンダーと対決して交渉できる強力なバイヤーでなければなりません。すべてのファームウェア。