この Howto では以下のことができます:
- Armadillo 上に swupdate-onetime-public.pem を復元して、swupdate-onetime-public.key で署名された SWU イメージをインストールできるようにすること
注意点
この Howto は、Armadillo フォーラムやメールでの個別対応など、アットマークテクノによる技術的なサポートを目的とした SWU イメージをインストールすることを前提としています。
以下では、セキュリティレベルを一時的に下げる行為を行っています。
本手順は通常の開発時には絶対に行わないでください。
概要
swupdate-onetime-public.key は公開されているため、誰でもその鍵を使って SWU イメージを作成することができます。その鍵で署名された SWU イメージを Armadillo にインストールするためには、 Armadillo は swupdate-onetime-public.pem という証明書を持っている必要があります。
swupdate-onetime-public.key で署名された SWU イメージの例として initinal_setup.swu が挙げられます。initinal_setup.swu を SWUpdate でインストールすると Armadillo が持っていた swupdate-onetime-public.pem は削除されます。以降、ユーザーが作成した鍵と証明書を用いて SWU イメージを Armadillo にインストールします。
以下に、削除された swupdate-onetime-public.pem を復元して swupdate-onetime-public.key で署名された SWU イメージをインストールするための方法を説明します。
インストール方法
1. インストールする SWU イメージが期待したものであることを確認する
本 Howto では、一時的に Armadillo を誰が作った SWU イメージでも受け付ける状態にします。 つまり、一時的に悪意のある第三者が作成した SWU イメージですらもインストールできる状態になります。
インストール時に意図しない SWU イメージを誤ってインストールしてしまうことを避けるために、提供元からは swupdate-onetime-public.key で署名された SWU イメージを含む zip ファイルとメールなどのメッセージで SHA-256 のハッシュ値が提供されます。必ずインストールする SWU イメージのチェックサムが期待したものであることを以下の手順で確認してください。
提供された SWU ファイルの zip アーカイブを USB メモリに保存してください。
その USB メモリを Armadillo に挿してマウントした後、zip アーカイブを解凍します。
armadillo:~# mount /dev/sda1 /mnt
armadillo:~# cd /var/tmp/
armadillo:/var/tmp# unzip /mnt/<提供された zip アーカイブ>
提供された SWU イメージがカレントディレクトリにあることを確認してください。
次に、sha256sum
コマンドを実行してチェックサムを確認します。
armadillo:/var/tmp# sha256sum <提供された SWU ファイル>
出力値とメールなどのメッセージで提供されたハッシュ値を比較して同じ値であることを確認してください。
2. swupdate-onetime-public.pem を復元する
swupdate-onetime-public.pem を Armadillo 上で復元するにはターミナルで以下のコマンドを実行してください。
armadillo:/var/tmp# abos-ctrl certificates restore-onetime
Restoring swupdate-onetime-public.pem
もし、すでに swupdate-onetime-public.pem が存在するならば、以下のような表示が出力されます。
armadillo:/var/tmp# abos-ctrl certificates restore-onetime
one-time public certificate already present
3. SWU イメージをインストールする
SWUpdate の実行例を示します。
armadillo:/var/tmp# swupdate -i <提供された SWU イメージ>
<提供された SWU イメージ> はユーザーの環境に合わせて変更してください。
4. swupdate-onetime-public.pem が消えていることを確認する
swupdate-onetime-public.pem が残っている場合、誰でも Armadillo に SWU イメージを書き込むことができます。
そのような状況はセキュリティ上問題があるので、念の為、swupdate-onetime-public.pem が消えていることを確認します。
この挙動は initial_setup.swu をインストールできる状態を維持するためです。
armadillo:/var/tmp# abos-ctrl certificates list
- atmark-1
- atmark-2
- swupdate.pem: user
上記の出力値はあくまで例ですが、swupdate-onetime-public.pem が無いことを確認できます。