otani818
2022年10月18日 15時08分
以前のコメントにあるように、
https://armadillo.atmark-techno.com/forum/armadillo/3856
現状ではSDブートなどでeMMCの内容が参照できてしますが、
SDブートを完全に無効にするリスクは避けたいところです。
そこで eMMCの暗号化ですが、
埋め込んだパスワード等が解析される可能性があっても構わないので
(丸見えよりはマシですから・・)
G3Lのルートファイルシステム /dev/mmcblk2p2 を暗号化する方法について
具体的な情報や手順などがあればご教授ください。
よろしくお願いします。
コメント
at_dominique.m…
otani818さん
お世話になっています、
アットマークテクノのマルティネです。
G3Lのディスク暗号化を基本的にサポートしていませんが、頑張ればできない理由はないです。
# 遅くなるかもしれませんが…
あまりいい返事ではありませんが、変わりに Armadillo IoT G4 でセキュアーブートを有効にしたらそちらでサポートしています。
その場合はハードウェアの鍵を使ってますのでセキュアーブートも必要です。
> cryptsetupを使うには カーネルモジュール dm_mod が必要ですが、
> dm-mod.ko(?)が見当たりません。
> G3Lで dm_mod (cryptsetup) は利用できますか?
> カーネルのmenuconfigから探し出せないので・・・
探しているのは CONFIG_DM_CRYPT ですね。
デフォルト状態では CONFIG_MD と CONFIG_BK_DEV_DM も無効になっていますので、まずはその二つから有効にしてください。
https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt が参考になるかもしれません。
よろしくお願いします。
otani818
otani818
その後あまり試せていませんが、
cryptsetup でluksFormat してルートファイルシステムを展開できることは確認出来ています。
これでブートさせるには、initramfsを調整することになるので
実機上で mkinitramfs を実行すると、それらしき cpio.gz ファイルが作成されますが、
正規の initramfs.cpio.gz の中身とディレクトリ構成が違うようです。
Armadillo G3L の initramfs.cpio.gz はどのように生成していますか。
手作業で必要なモジュール等を入れ込むのも出来なくはないですが、
生成用スクリプト等があれば助かります。
よろしくお願いします。
at_kojiro.yamada
> Armadillo G3L の initramfs.cpio.gz はどのように生成していますか。
> 手作業で必要なモジュール等を入れ込むのも出来なくはないですが、
> 生成用スクリプト等があれば助かります。
>
> よろしくお願いします。
>
ほとんど更新しないことを想定していたため
高度なことはしていません。
initramfs_x1-v1.0.0.cpio.gz をベースにして、
スクリプト等を人の手で追加して作っています。
initramfs用のrootfsをgit で管理していて
rootfsを更新したら以下のようにして cpio.gz を生成しています。
cd root find . -print | cpio -R 0:0 -H newc -o | gzip > ../"initramfs.cpio.gz" cd ..
initramfs_x1-v2.1.0.cpio.gz を以下のコマンドで展開すると
上記gitで管理しているrootfsと同じディレクトリができます。
mkdir root cd root gzip -dc ../initramfs_x1-2.1.0.cpio.gz | cpio -idm cd ..
参考になれば幸いです。
otani818
otani818
2022年10月19日 15時03分
追伸です。
こちらを参考に Armadillo G3L で試しています。
https://wiki.archlinux.org/title/Dm-crypt/System_configuration
■PC側
1.PC側に cryptsetup 環境をインストール
2.cryptsetupで暗号キーファイル"crypto_keyfile.bin"を作成
3.キーファイルを initramfs の "/" に埋め込む
4.3をマージしたカーネルを作成
5.4をArmadillo /dev/mmcblk2p1 にコピー
■Armadillo SDブート作業
5.SDブート状態で ctyprsetup をapt installする
6.cryptsetupで eMMC:/dev/mmcblk2p2 を暗号化フォーマット
7.6を/mntにマウントして、ルートファイルシステムを展開
みたいな流れになるのかと思います。
cryptsetupを使うには カーネルモジュール dm_mod が必要ですが、
dm-mod.ko(?)が見当たりません。
G3Lで dm_mod (cryptsetup) は利用できますか?
カーネルのmenuconfigから探し出せないので・・・
よろしくお願いします。