web-dev-qa-db-ja.com

Ubuntuカーネルのソースコードを安全に取得する方法は?

BuildYourOwnKernel によると、ソースコードを取得する方法は2つあります。

apt-get

  • Apt-getはUbuntuチームによって署名されていますか?
  • つまり、ダウンロード時にコンピューターは署名を検証しますか?
  • 別の方法で署名を自分で検証する方法はありますか?

git

Gitソースコードは署名されていません。

  • 署名を見つけることができる場所はありますか?
  • Gitタグが署名されていることがわかりますが、公開キーを取得できず、これらの公開キーが安全であることを確認することもできません(Ubuntuチームによって署名されていますか?)
4
Guerlando OCs

Apt-getはubuntuチームによって署名されていますか?

さて、 dsc ファイルは署名されており、ダウンロードするファイルのハッシュが含まれています。

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.0
Source: linux
...
Checksums-Sha1:
 180ab617036593212274177eff3a67f437c1b5ea 132860730 linux_4.4.0.orig.tar.gz
 be23819008464f4aa49bed094d19aac086f16572 13880183 linux_4.4.0-112.135.diff.gz
Checksums-Sha256:
 730e75919b5d30a9bc934ccb300eaedfdf44994ca9ee1d07a46901c46c221357 132860730 linux_4.4.0.orig.tar.gz
 b5b6adc87ea98ffa48d31aee2ee5ec301a01c2b4fa64fa20d1564a4e95bdd6ad 13880183 linux_4.4.0-112.135.diff.gz
Files:
 2070b49688e8d7ee7ff4c33590afc698 132860730 linux_4.4.0.orig.tar.gz
 b349ae228d1659789e713b8ff2262eac 13880183 linux_4.4.0-112.135.diff.gz

そのため、tarballのチェックサムを含む署名付きdscファイルは、署名されたソースコードに最も近いものになります。

つまり、ダウンロード時にコンピューターは署名を検証しますか?

やってみます。 apt-getはそれを検証しようとします:

$ apt-get source linux-image-4.4.0-87-generic
Reading package lists... Done
Picking 'linux' as source package instead of 'linux-image-4.4.0-87-generic'
NOTICE: 'linux' packaging is maintained in the 'Git' version control system at:
git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial
Please use:
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 147 MB of source archives.
Get:1 ftp://ftp.iitb.ac.in//os/ubuntu/archives/ubuntu xenial-security/main linux 4.4.0-112.135 (dsc) [9,712 B]
Get:2 ftp://ftp.iitb.ac.in//os/ubuntu/archives/ubuntu xenial-security/main linux 4.4.0-112.135 (tar) [133 MB]
Get:3 ftp://ftp.iitb.ac.in//os/ubuntu/archives/ubuntu xenial-security/main linux 4.4.0-112.135 (diff) [13.9 MB]
Fetched 147 MB in 4s (31.8 MB/s)
gpgv: Signature made Fri 19 Jan 2018 17:14:04 IST using RSA key ID CBEECEA3
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./linux_4.4.0-112.135.dsc
dpkg-source: info: extracting linux in linux-4.4.0
dpkg-source: info: unpacking linux_4.4.0.orig.tar.gz
dpkg-source: info: applying linux_4.4.0-112.135.diff.gz
dpkg-source: info: upstream files that have been modified: 

しかし、私の場合、対応するキーをまだインポートしていないため、成功しませんでした。 dscファイルは通常、それを作成した開発者によって署名されます。AFAICTには、このようなすべてのキーがリストされる単一の場所はありません。さまざまなUbuntu開発者はLaunchpadのさまざまなグループのメンバーであり、開発者のLaunchpadプロファイルはGPGキーをリストする必要があります。たとえば、 buntu Kernel Uploadersチーム または buntu Developers teamの組み合わせ (他の多くのチームが含まれます)を参照してください。

この特定の場合、 署名者 は正規従業員 ステファンバダー です。 Ubuntuキーサーバーからキーを取得できますが、取得することもできます HKPSを使用

別の方法で署名を自分で検証する方法はありますか?

dscverify ツールを使用できます。


Gitタグが署名されていることはわかりますが、公開キーを取得できず、これらの公開キーが安全であることも確認できません(Ubuntuチームによって署名されていますか?)

さて、ステファン・バダーまたは アンディ・ホイットクロフト '(たとえば、署名されたと思われる このタグ )キーサーバーのリスト、そうです。

9
muru