Archで使ってるディスクを暗号化した

ノートパソコンにインストールしているので、もしかすると持ち歩くことがあるかもしれない。
その時に、万が一紛失してしまうとデータ的にマズいものが入っている。
となると、これは暗号化しておかないと非常によくない。
と思ってチャレンジしたが…

一番単純なシナリオの起動時に手動で復号キーを入力する。というものであれば、それほど苦労せずにできそうな感じだった。

しかし、起動時にパスワードを2回もタイプするのはちょっと面倒。Windowsのbitlockerのように、普段は暗号化を意識せずに使いたい。となると話が変わってくる。

復号キーをセキュアに保存する場所といえば、TPMが浮かぶが、TPMの内容を読み込むにはセキュアブートする必要がある。Linuxでセキュアブートをするとなると、Archでは毎週のように更新されるカーネルにどうやって署名するのか、誰が署名するのか?という話になる。

https://wiki.archlinux.jp/index.php/Unified_Extensible_Firmware_Interface/%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%83%96%E3%83%BC%E3%83%88#.E3.82.BB.E3.82.AD.E3.83.A5.E3.82.A2.E3.83.96.E3.83.BC.E3.83.88.E3.82.92.E5.AE.9F.E7.8F.BE.E3.81.99.E3.82.8B

公式の説明を見ると、自分の鍵を登録して、それで署名したカーネル等が正当なものだと証明する方法、または誰かがMSの署名を取得してくれたものを使う。の二択と書かれている。
自分で署名する方は文鎮化(スマホか?!)の危険がある。という警告があるので、今回はPreloaderを使った。

これだと、地味な欠点があって、カーネルが更新されると起動がストップして、hash値を登録し直す(TUIが起動するのでカーソルとENTERキーで終わるが)必要がある。

unified kernel imageを作るのにも苦労したが、archwikiを読めばなんとかはなる。
できれば、一直線に作業できるページがほしいところではあるものの、選択肢が多いのはArchの良さだと思うのでなんともかんとも。

Yakumo Saki
Hugo で構築されています。
テーマ StackJimmy によって設計されています。