已有PinePhone的Linux發行版在其安裝程式提供硬碟加密(Full Disk Encrpytion)的功能,此舉可保護你的手機資料不被人讀取出來,不過也會增加系統複雜度。
採用的技術為"LUKS"加密,目前有這個功能,並且容易設定的 手機Linux發行版為postmarketOS和Mobian;Arch Linux ARM以及Manjaro ARM也有提供 腳本安裝。
1. 背景#
PinePhone預設會從SD卡開機,如果插入裝有 Jumpdrive的SD卡開機,手機內部的分區資料就會一覽無疑。Jumpdrive原意是要讓人簡單安裝系統,大多數發行版也不會給分區加密,但這樣的話無法確保手機資料安全。
因此,唯有讓手機的資料就算插到電腦能被讀取,也是呈現加密狀態,這樣才能有保護效果。
2. LUKS加密簡介#
根據紅帽公司的 介紹:
Linux Unified Key Setup(LUKS)是個區塊裝置加密的規格。它會為資料建置一個 on-disk 的格式,以及一個密碼/金鑰管理政策。LUKS 透過了 dm-crypt 模組使用 kernel 裝置映射子系統。這提供了一個能夠處理裝置資料加密與解密的低階層映射。用戶層級的作業(比方說建立和存取已加密的裝置)是透過使用 cryptsetup 這項工具來完成的。
使用者可以將目前的硬碟加密。在使用者存取硬碟時,必須要輸入一組密碼,硬碟資料才能以明文方式讀取。換電腦仍然可以解密硬碟。
3. postmarketOS啟用硬碟加密#
postmarektOS的安裝方法有pmbootstrap、以及使用官方建立的映像檔二種。加密的主要是pmOS_root
分區。硬碟加密後,開機要另外輸入解密的密碼。
- PinePhone以外的Android手機不保證都支援硬碟加密,請看 Devices表格確認。
3.1. 第一個方法: 用pmbootstrap建立系統檔案#
- 請先參考: postmarketOS通用安裝教學
刷入時候指令加上--fde
選項,這樣刷入到手機時就會進行硬碟加密:
pmbootstrap install --sdcard=/dev/sdb --fde
3.2. 第二個方法: 刷入官方預先建構好的安裝器 (Installer)#
- 請先參考: PinePhone安裝系統教學
- 下載映像檔,選擇安裝器的映像檔
刷入後,開機,選擇`Enable Full disk encrpytion``,輸入8位數自訂密碼,安裝系統。
這樣開機進入系統前,要先輸入一次硬碟的密碼。
4. Mobian啟用硬碟加密#
Mobian的安裝器現提供硬碟加密選項。
- 請先參考: PinePhone安裝系統教學
- 下載系統映像檔,選擇安裝器 (Installer)
刷入,開機後點選
Enable Full disk encrpytion
,設定一組8位數密碼。以後開機後便要先輸入硬碟解密的密碼。
5. 如何取消LUKS硬碟加密#
解密分區需要把硬碟格式化。
Tow-Boot目前還不支援加密分區,要用Jumpdrive開機電腦才讀的到。如果電腦系統是Ubuntu,手機插到電腦後應該會主動詢問分區密碼,之後解密掛載,就可瀏覽裡面的資料。
加密的分區(crypt)可用lsblk
指令確認:
sdc 8:32 1 28.9G 0 disk
├─sdc1 8:33 1 243M 0 part /media/ivon/pmOS_boot
└─sdc2 8:34 1 28.7G 0 part
└─luks-55a4bb3f-165b-44ce-a771-fdc914c32b6e
253:0 0 28.7G 0 crypt
將重要資料備份之後,開啟Gparted。
將PinePhone的手機分區右鍵取消掛載,刪除所有分割區,之後格式化為ext4。加密的分區可以在取消掛載之後,點選「取消加密」。
詳情參見: Linux如何格式化SD卡