保持打開,以及關上
已打開的區域每一輪都會重新檢查。只要隨身碟被拔掉、token 被換掉、過期或是由已淘汰的金鑰簽的,或帳號不再被允許,那個區域就會上鎖,並通知應用程式關閉它。其他隨身碟打開的區域維持打開。關閉畫面、拒絕資料操作是應用程式的工作;Tetherlock 負責告訴它什麼時候該做。
作品集 → Tetherlock
一個保護本機工作區的存取控制元件。只有三件事同時成立,它才讓應用程式打開工作區:登入的人被允許進入、插入的隨身碟上有簽過名的 token、密碼正確。之後某一次檢查發現隨身碟不見了,它就通知應用程式把工作區鎖上。
本機工作區除了需要開啟條件,也需要在必要的隨身碟不在時,結束存取的明確規則。
這是我的個人專案。我訂定存取規則、金鑰設計與上鎖流程,審閱設計並透過實際使用測試;模組由 AI 寫程式代理實作。
查看真實指令與測試輸出、金鑰設計的取捨,並對照宿主應用程式的責任與限制。
這是一份設計說明,附上真實的指令與測試輸出。原始碼在 GitHub 上;沒有錄影,也沒有第三方稽核。只設計了、還沒證明的地方,本頁都會直接寫出來。
本機工作區裡放著敏感檔案。它應該只在三件事同時成立時打開:登入的人被允許進入、插著對的隨身碟、而且知道密碼。隨身碟一離開,就應該再關上。
帳號必須被允許、隨身碟上必須有簽過名的 token、密碼必須正確。帳號不被允許的話,密碼視窗根本不會出現。
每一輪檢查都會重新確認每個已打開的工作區。token 不見了、被換掉或已經失效,就鎖上那個工作區,只鎖那一個。
另一種維護用的 token 會明確列出它允許做的事。維護時段預設 30 分鐘後自動結束,隨身碟一拔掉也會立刻結束。
左右滑動可以看到整張圖。
左右滑動可以看到整張圖。
已打開的區域每一輪都會重新檢查。只要隨身碟被拔掉、token 被換掉、過期或是由已淘汰的金鑰簽的,或帳號不再被允許,那個區域就會上鎖,並通知應用程式關閉它。其他隨身碟打開的區域維持打開。關閉畫面、拒絕資料操作是應用程式的工作;Tetherlock 負責告訴它什麼時候該做。
另一種 token 會列出它允許的權限項目,而且只有應用程式認得的項目才會被授予。維護時段只存在記憶體裡,預設持續 30 分鐘;每次使用都會重新檢查時間和 token。拔掉隨身碟,下一個動作之前就會結束。
用新產生的示範金鑰跑出來的真實指令與測試輸出,擷取於 2026-09-22 和 2026-09-26。路徑已縮短,隨身碟序號已隱藏。點一下畫面,可以用原尺寸開啟。
輸入密碼要花幾秒,這段時間裡,隨身碟可能被拔掉,或換成另一支、用同一個磁碟機代號的隨身碟。所以在輸入密碼之後、打開任何東西之前,會重新讀取並驗證 token。
否決的做法:只在跳出密碼視窗前檢查一次隨身碟,之後一直相信那次的結果。
沒有復原金鑰,也沒有繞過的方法。唯一會給出存取權的程式碼,在密碼檢查之後才執行。代價也接受了:所有簽署金鑰都遺失時,信任關係必須從頭重新建立。
否決的做法:「為了永遠救得回來」而設的緊急繞過機制。後門會變成最容易進來的路。
檢查時發生預期外的錯誤,或區域打開期間 token 變得讀不出來,就先把區域鎖上,再回報錯誤。擁有者偶爾可能得重新解鎖一次。
反過來,維持打開、等有人來看,只要沒人發現,門就一直開著。
Tetherlock 決定受保護的工作區能不能打開,也負責再把它關上。它不加密裡面的檔案:工作區密碼會被檢查,但它不是加密金鑰。讓隨身碟的內容無法被讀取,是全磁碟加密的工作。它也分不出一支隨身碟,和逐位元完整複製的副本。
如果你的團隊需要這種思考方式,同樣的思路也出現在 AI Control Center:一次核准,只對它當初核准的那個版本有效。