暗号化がapt-getネットワークアクティビティに通常展開されない理由について読んでいます。そして、それがリポジトリから来るデータの署名をチェックすることを学びましたね?
しかし今、このチェックはどのように行われますか?本当に安全にするためにどのように行われていますか?たとえば、ファイルとキーがサーバー内にあり、暗号化されていない方法で送信された場合、それはどのように機能しますか?誰かが両方を変更する可能性があります...
ありがとう:)
Aptリポジトリのルートには、Release
ファイルがあります。このファイルには、さまざまなContents
、Release
、およびPackages
ファイルの hashes が含まれています。 Packages
ファイルには、個々の.deb
パッケージファイルのハッシュが含まれています。ルートRelease
ファイルと同じ場所にRelease.gpg
ファイルがあります。このファイルにはRelease
ファイルの [〜#〜] gpg [〜#〜]デジタル署名 が含まれています。 、リポジトリメンテナに属する 秘密鍵 で作成。
apt-get
がリポジトリのRelease
ファイルをダウンロードすると、デジタル署名の検証が自動的に試行されます。署名が作成されたキーペアの公開キーがシステムに登録されていない場合は、承認するように求められます。この時点で、リポジトリメンテナまたはサードパーティに連絡して、フィンガープリントを比較することにより、公開鍵が本物であることを確認できます(または、公開鍵の本物のコピーがある場合は、apt-key
を実行する前にapt-get
で追加できます)。 、リポジトリからapt-get
がダウンロードしたファイルは、Release
またはPackages
ファイルのチェックサムと照合されます。
Release
ファイルとPackages
ファイルのハッシュは、aptの通常のデータ整合性機能です。 GPG署名の追加は、 debian 呼び出し SecureApt の一部です(詳細については、そのリンクを参照してください)。