Slide 1

Slide 1 text

タブレットLinuxで 暗号化ファイルシ ステム(dm-crypt)をア ンロック Kenichiro Matohara(matoken) 1

Slide 2

Slide 2 text

matoken 南隅から参加(鹿児島の右下) 好きなLinuxディストリビューションはDebian 鹿児島らぐもやってます → Next 2023-10-22(sun) map: © OpenStreetMap contributors Kenichiro Matohara(matoken) https://matoken.org https://inari.opencocon.org/@matoken https://www.kagolug.org/ 2

Slide 3

Slide 3 text

少し前にWindowsタブレット入手 Fujitsu ARROWS Tab Q508/SE CPU Atom x7-Z8700, RAM4GB, eMMC 128GB, screen 10.1inch/WUXGA(1920×1200), 防水防塵 IPX5/IPX7/IPX8/IP5X イオシスにて7k程 https://iosys.co.jp/review/arrowstab_q508se 3

Slide 4

Slide 4 text

mobian で遊んでいたけど日本語入力がうまく行かずDebian に変 更(レジュームや画面回転が遅くなった?) dm-crypt(LUKS) で暗号化fs 再起動時に有線Keyboard が無いと起動できないな?外出時に 困る…… 🤔 https://www.mobian.org/ モバイル向けLinuxディストリビューションのMobianを Widownsタブレットで試す 4

Slide 5

Slide 5 text

bios on screen keyboard GRUB 編集は可能だけど,Linux 起動が始まると利用不可 5

Slide 6

Slide 6 text

dm-crypt Linux向けの暗号化ファイルシステムLUKS(Linux Unified Key Setup ) の実装 基本的に /boot(とefi) 以外を暗号化 パスフレーズや鍵ファイルを使ってアンロック(複数登録可能) AES-NI のあるcpu(Core2Duo/GeodeLX)+ssd でデスクトッ プ用途だと体感で暗号化fs無しとほぼ変わらなく (それ以前にdm-crypt + eCryptfs + HDD で運用していて少 し重かった……) 自分の持ち運びPCやリモートの端末は有効にしている 6

Slide 7

Slide 7 text

dm-crypt unlock キーボードでパスフレーズ入力 ssh(dropbear)経由(有線LANが必要) USBメモリに鍵を保存して起動時に接続 7

Slide 8

Slide 8 text

以下未検証 BIOS on screen Keyboard 利用→GRUBには使えるがLinux 起動後は利用不可(GRUBからkernel引数に?) bluetooth HID 利用(initramfsに組み込み) TPM に鍵を格納(Windows やUbuntu 23.10のFDE で採用) PostmarketOS 由来のosk-sdl(on screen keyboard) を利 用(initramfs に組み込み) → 今回試した 8

Slide 9

Slide 9 text

 再起動前にワンタイムキーをdm-crypt に登録してそれにより 一度だけパスフレーズ無しで起動できるものが リモートサーバのメンテナンスに便利そう Mark Collins / passless-reboot · GitLab https://gitlab.com/Marcool04/passless-boot 9

Slide 10

Slide 10 text

osk-sdl  Debian にはpkg あり https://gitlab.com/postmarketOS/osk-sdl Lightweight On-Screen-Keyboard based on SDL2 This keyboard is used to unlock the encrypted root partition in postmarketOS and other distributions. 10

Slide 11

Slide 11 text

package version https://qa.debian.org/cgi-bin/madison.cgi? package=osk-sdl&table=debian&a=&c=&s=# $ rmadison -u udd osk-sdl osk-sdl | 0.62.1-2 | bullseye | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, pp osk-sdl | 0.67.1-2 | bookworm | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, pp osk-sdl | 0.67.1-3 | trixie | source, amd64, arm64, armel, armhf, i386, mips64el, ppc64el, osk-sdl | 0.67.1-3 | sid | source, amd64, arm64, armel, armhf, i386, mips64el, ppc64el, https://qa.debian.org/cgi-bin/madison.cgi? package=osk-sdl&table=ubuntu&a=&c=&s=# $ rmadison -u https://qa.debian.org/cgi-bin/madison.cgi?table=ubuntu osk-sdl osk-sdl | 0.62.1-1 | hirsute/universe | source, amd64 osk-sdl | 0.62.1-2 | impish/universe | source, amd64 osk-sdl | 0.66-4 | jammy/universe | source, amd64 osk-sdl | 0.67-2 | kinetic/universe | source, amd64 osk-sdl | 0.67.1-2 | lunar/universe | source, amd64 osk-sdl | 0.67.1-3 | mantic/universe | source, amd64 11

Slide 12

Slide 12 text

osk-sdl 導入 $ sudo apt install osk-sdl 12

Slide 13

Slide 13 text

osk-sdl 設定 crypttab での設定 grub での設定 どちらか片方の設定が必要  "Enable osk-sdl [SOLVED] - Debian User Forums" https://forums.debian.net/viewtopic.php? t=152140 13

Slide 14

Slide 14 text

disk 状況 $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS mmcblk0 179:0 0 116.5G 0 disk ├─mmcblk0p1 179:1 0 512M 0 part /boot/efi ├─mmcblk0p2 179:2 0 488M 0 part /boot └─mmcblk0p3 179:3 0 115.5G 0 part └─mmcblk0p3_crypt 254:0 0 115.5G 0 crypt ├─tab--vg-root 254:1 0 108G 0 lvm / └─tab--vg-swap 254:2 0 7.5G 0 lvm [SWAP] mmcblk0boot0 179:256 0 4M 1 disk mmcblk0boot1 179:512 0 4M 1 disk 14

Slide 15

Slide 15 text

crypttab 設定例 /etc/crypttab === オプション設定 /etc/osk.conf 見た目などの設定 === initramfs 更新  osk-sdl の設定に失敗すると起動がうまく行かなくなったりす るのでUSB Linux などを用意しておくと安心 #mmcblk0p3_crypt UUID=feb5507b-2cb5-43ea-b2c8-69b69d9e86e9 none luks,discard mmcblk0p3_crypt UUID=feb5507b-2cb5-43ea-b2c8-69b69d9e86e9 mmcblk0p3_crypt \ luks,initramfs,keyscript=/usr/share/initramfs-tools/scripts/osk-sdl-keyscript,discard $ sudo update-initramfs -u 15

Slide 16

Slide 16 text

initrd サイズ比較 osk-sdlなし osk-sdlあり 倍ほどに! $ ls -s /boot/initrd.img-`uname -r` 63651 /boot/initrd.img-6.1.0-13-amd64 $ ls -s /boot/initrd.img-`uname -r` 126097 /boot/initrd.img-6.1.0-13-amd64 16

Slide 17

Slide 17 text

osk-sdl でdm-crypt unlock 17

Slide 18

Slide 18 text

gdm3 osk でlogin 18

Slide 19

Slide 19 text

gsd-keyboard & Onboard 19

Slide 20

Slide 20 text

まとめ タブレットLinux に暗号化fs を導入 osk-sdl をinitramfs に組み込むことでon screen keyboard でdm-crypt のパスフレーズ入力が可能に タブレット単体でも起動できるように :) 荷物が減らせる? でもterminal によく居るので物理キーボードは欲しいところ もっといい方法もありそう 20

Slide 21

Slide 21 text

発表時のツッコミなど Android端末をKeyboardとして使うといいのでは に鍵ファイルを格納す れば忘れることがないのでは マイコンやRaspberry Pi等でUSB HID を喋らせてパスフレーズを 入力 鍵型の物も は でssh 経由のunlock ができるらしい Keyring に付けるようなタイプのUSBメモリ 1 2 mkinitcpio-systemd-tool Wireless 21

Slide 22

Slide 22 text

奥付 発表 :revdate: 発表者 利用ソフトウェア ライセンス 東海道らぐ名古屋 2023年10月オフな集まり Kenichiro Matohara(matoken) Asciidoctor Reveal.js CC BY 4.0 22

Slide 23

Slide 23 text

No content