我想在所有客戶端上實施全盤加密。但為了避免人們在啟動時輸入 FDE 存取代碼,我想知道存取代碼是否可以透過 DHCP 或類似方式分發。
我們的想法是,FDE 應該在筆記型電腦被盜或在公司外部時保護筆記型電腦,但如果在公司網路上使用它,我們假設它沒有被盜。
理想情況下,我希望存取代碼是一次性存取代碼,因此如果有人嗅聞 DHCP 答案,他們通常將無法解密筆記型電腦。
答案1
由於這可能涉及編寫自訂 Initramfs,或至少是一個鉤子,您可能會發現這些資源很有趣(忽略 Gentoo 特定位元):
- https://wiki.gentoo.org/wiki/Custom_Initramfs
- https://wiki.gentoo.org/wiki/Custom_Initramfs#DHCP
- https://wiki.gentoo.org/wiki/Custom_Initramfs/Examples#Self-Decrypting_Server
自解密伺服器範例產生以下加密金鑰:
(
# CPU:
grep -vE '(MHz|bogomips)' /proc/cpuinfo
# RAM:
tail /proc/iomem
# MAC-Address: (requires network drivers)
cat /sys/class/net/*/address
# Block devices and partitions (ignore optional CD drive):
grep -v sr0 /proc/partitions
# Random file:
cat /root/secret
) | sha512sum | xargs echo -n > /root/key
這是為了防止有人走過你的伺服器並彈出硬碟; HDD 本身不知道伺服器的 CPU、RAM、MAC 位址,因此它無法在其所屬的盒子之外解密自身。
如果是筆記型電腦(整個設備被盜),這沒有什麼幫助,因為小偷會擁有所有這些數據,因此您必須將其替換為 DHCP 數據。
因此,當您透過 DHCP 獲得 IP 位址等後,它可能類似於:
(
cat /sys/class/net/*/address
ip addr show
ip route show
cat /etc/resolv.conf
) | sha512sum | xargs echo -n > /root/key
這將根據您的 MAC 位址、IP 位址和路由以及 DNS 伺服器等為您提供雜湊/密碼。
只要 DHCP 始終以相同的方式設定筆記型電腦,它就可以工作,因此 DHCP 伺服器必須永遠記住筆記型電腦的配置,否則筆記型電腦將停止啟動。
這樣的解決方案總是有點不穩定,因此請確保使用支援多個密碼短語的 LUKS,並準備好備用密碼短語,以防 DHCP 密碼被破壞。
它也不是很安全;這個DHCP 資訊是公開的(對於使用筆記型電腦的人來說)並且可能不難猜測(對於在同一環境中使用不同筆記型電腦的任何人來說),因此它可以防止普通小偷,但不能防止稍微精通科技的同事- 來自 -地獄。