Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Kenichiro MATOHARA

October 14, 2023
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

  1. 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
  2. 少し前に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
  3. dm-crypt Linux向けの暗号化ファイルシステムLUKS(Linux Unified Key Setup ) の実装 基本的に /boot(とefi) 以外を暗号化

    パスフレーズや鍵ファイルを使ってアンロック(複数登録可能) AES-NI のあるcpu(Core2Duo/GeodeLX)+ssd でデスクトッ プ用途だと体感で暗号化fs無しとほぼ変わらなく (それ以前にdm-crypt + eCryptfs + HDD で運用していて少 し重かった……) 自分の持ち運びPCやリモートの端末は有効にしている 6
  4. 以下未検証 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
  5. 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
  6. 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
  7. osk-sdl 設定 crypttab での設定 grub での設定 どちらか片方の設定が必要  "Enable osk-sdl

    [SOLVED] - Debian User Forums" https://forums.debian.net/viewtopic.php? t=152140 13
  8. 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
  9. 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
  10. 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
  11. まとめ タブレットLinux に暗号化fs を導入 osk-sdl をinitramfs に組み込むことでon screen keyboard でdm-crypt

    のパスフレーズ入力が可能に タブレット単体でも起動できるように :) 荷物が減らせる? でもterminal によく居るので物理キーボードは欲しいところ もっといい方法もありそう 20