Show HN:我構建了一個加密的BLE加密狗,用於向氣隙設備粘貼內容
ToothPaste是一個開源項目,通過加密的藍牙低功耗(BLE)加密狗,實現向任何USB兼容設備無線傳輸鍵盤和鼠標命令,無需安裝驅動程序或進行復雜設置。它使用AES-256加密、ECDH密鑰交換和ATECC608B加密協處理器,確保安全通信。支持通過Web BLE輕鬆控制,並集成了AI代理功能。
ToothPaste是一個創新性的開源硬件項目,旨在解決向氣隙設備或僅支持鍵盤輸入的設備(如BIOS、嵌入式系統)傳輸敏感信息的難題。其核心是一個基於ESP32-S3微控制器的USB加密狗,通過藍牙低功耗(BLE)接收加密的鍵盤和鼠標命令,並通過USB HID協議模擬物理設備,從而實現無線控制。項目的核心思想是消除在一次性場景中需要複雜登錄流程的麻煩,例如在BIOS設置、氣隙系統或不便安裝密碼管理器的公共計算機上輸入密碼。傳統的解決方案如KDE Connect需要雙方都運行兼容操作系統並安裝軟件,而ToothPaste利用了USB HID標準——幾乎任何USB主機兼容設備都支持鍵盤輸入,且鍵盤默認被系統信任。
項目採用了多層安全架構。藍牙連接本身並非絕對安全,但ToothPaste通過ECDH公鑰加密和部分帶外(OOB)密鑰交換,生成會話特有的AES-256密鑰,用於加密所有傳輸的數據包。此外,V2版本集成了Microchip ATECC608B加密認證芯片,將私鑰生成和存儲於獨立的隔離區域,即使物理攻擊者讀取ESP32的閃存也無法提取憑證。這確保了即使設備落入他人之手,密鑰也不會泄露。ToothPaste完全本地運行,無需任何雲端服務,同時支持使用密碼與Argon2密鑰派生函數加密瀏覽器中存儲的本地數據,包括宏和Ducky腳本。
使用ToothPaste極為簡便。用户可以通過Web BLE應用(基於Chromium瀏覽器如Chrome、Edge、Brave)直接連接加密狗,無需安裝任何專用軟件。項目提供了Web串口刷寫工具,可一鍵更新固件。對於高級用户,也支持從源代碼構建,但需要安裝ESP-IDF和相關的編譯工具鏈。硬件方面,ToothPaste V2的PCB由PCBWay贊助生產,集成了USB-C或USB-A接口,並經過專業組裝和測試。固件支持完整的鍵盤鼠標功能,甚至包括BIOS級別的輸入。V2版本相比V1,最大的改進是增加了硬件安全芯片,將憑據存儲從軟件綁定升級為硬件綁定。
項目還探索了AI集成。通過ToothPasteDesktop的Rust TUI和MCP服務器,AI代理可以控制加密狗並接收遠程系統的串口反饋,實現類似SSH的自動化操作。目前受限於ESP32-S3的USB端點數量,尚無法同時實現虛擬串口和完整HID功能——現有端點被BOOT鍵盤、BOOT鼠標、通用HID和控制描述符佔用,必須犧牲其一才能啓用USB CDC串口設備。未來計劃增加USB Mass Storage類支持,使ToothPaste能夠截圖和傳輸文件,成為類似PiKVM的BLE版IP-KVM解決方案。