banner
Wind_Mask

Wind_Mask

Wind_Mask,technically me.
github
email

關於Secret的沉思(2):本地

题論#

讓我們先從簡單的場景出發,也就是先考慮我們的本地活動。這是一類不被重視的活動(至少對於個人而言),因為個人很少在本地面對攻擊,除非處境危險(這種情況我們需要更加一致的體系設計,本地自然也有)。

備份#

個人更多在現在關心的應該是備份和可用性 —— 本地數據的失效是常見的。在這方面,網盤備份同步的服務是應用的。常用的服務我使用的倒較少,因為 onedrive 同步的目錄我不怎麼用;Google 雲盤受限於 GFW,因此不得不轉向國內的應用。
我不怎麼使用文件同步服務(但是現在各軟體都有自己的雲同步,代碼有 git 倉庫),對於文件的備份,國內服務其實是可用的。但這裡我們談論的當然不是大文件備份,因為那也不太會是 Secret(當然,如果我們真的有冷大文件還是 Secret 的,那可真是個問題,或許物理備份(為了 Secret 起見甚至要有獨立存儲 —— 指放硬盤的保險箱?當然還有全盤加密。)。(當然,有付費的雲端加密備份服務,但是對於一般需求不如白嫖,對於極端安全需求 —— 付費甚至是一個攻擊面)。
小的文件備份,用來幹什麼了呢?答案並不多,我個人用於電子書,小的程式工具(這些東西找起來不易),還有,最 Secret 的,密鑰備份
是的,密鑰備份。無論是自動填充用的密碼庫,還是 pgp 密鑰,ssh 密鑰。但是,要謹記,秘密文件雲端絕不可有一點明文!保證已加密上傳,本地處理,同步處理。這就涉及了一種動態的文件加密:

加密#

這確實是個問題。
如果你不是在做備份,也不是在為長期存儲而離線存檔,也不是為了安全地將文件發送給別人而加密,也不是為了完成工作而掛載 / 卸載的虛擬驅動器。

這種加密並不是長期備份 —— 可能會被頻繁訪問,不是離線的,不是為了發送(從而或多或少依賴於公鑰密碼學),不是虛擬驅動器而是文件(盡管我覺得 VeraCrypt 在這是可用的)。

那麼這確實是個問題,尤其是,比如對於 pgp 的主密鑰,不會有明文的備份。從而對可訪問性提出要求 —— 盡管實際上我們用 U 盤(而且還加密了)來解決,但多途徑仍然要考慮 —— 如果 U 盤丟失,也要保證安全性和易訪問密鑰呢?

首先,密鑰一般自身就有加密,以至於可以直接放出 —— 但是沒有人會這麼做。將它簽名(防止對密鑰的意外修改)並整合,最簡便的方法無疑是加密壓縮包。完整性可有簽名保證(而加密工具本身就面臨拷問:怎麼保證軟體本身不是一個修改了的惡意版本?—— 這在後面還會導致我的一些考慮,考慮表明這一問題在苛刻條件下的確無解)。

一個推薦工具是age,至少有人認為它實現了目的。但是先生們,這只是把一個密鑰問題變成了兩個。總的來說,問題是 ——本地加密到底在防禦什麼?

這確實是個謎。如果離線環境的確處於危險,那麼就必須具體情況的分析考慮物理來源的威脅。如果只是對於一種潛在的物理威脅,那麼本地防禦的強度根本不在加密(因為這是物理的)—— 那是給雲端準備的。

弱點在於本地設備本身。

這裡才引出本地的問題關鍵:

設備安全#

開源硬件?除非有一條完整流程都可以完全掌控,否則也並無多用。當然,大可不必假設這麼極端。只要稍微不那麼極端,正常設備已經(但是不包括沒有充分考慮過的手機)夠了。

操作系統#

linux 發行版(比如 debian),或者極端點的發行版比如Qubes(我得說,我沒用過) 已經太足夠了。對於頻繁移動的情景,Tails是選擇之一,但是移動情景的設備安全依賴於偶然匿名(畢竟你不能保證到處設備都安全),對於被追蹤恐怕並無大用。也就是說,自己的設備終究是必要的,但是為了便攜如果想用手機,那可需要認真考慮風險。IPhone 真的總是很好,我也不知道為什麼,也許 Apple 的市值值得這種信任吧。但是安卓其實有很多空間可操作,這是技術問題。

Windows 很受懷疑,但其實不極端的說也無所謂,更何況一般不止於此 —— 誠然,這是一種侥幸,但是控制好連接可能比系統的漏洞要重要得多,Mac 也是如此。

這正是日常化的安全所在了。完全使用虛擬機以及上面那種系統當然是好的,但是太不日常了(當然日常似乎又不需要一點保護似的,問題是這之間的地帶呢?)。在不影響日常下,我們當然盡可能採取更激進的措施。這裡的尺度當然是我個人的,但是具體設計可以解耦並且在正確組裝下提供相當的安全(當然對於產品的評估是爭議的但凡可替換的大可自己代換之)

使用 Win 的話,適當的保持安全更新和檢查就要考慮了。細枝末節的安全細節我在此不多談(那些到處都能看到的建議無需我來重複)。一個看上去關係不大的問題是文件整理 —— 請確保你對你有什麼保持認識,讓工具代勞管理不意味著忘記。

軟體#

開源 + 便攜式軟體是極好的,幾乎避免了各種問題。目前對我來說,壓縮,代理,文本編輯器,markdown 編輯器,播放器,圖片查看編輯都使用了便攜開源產品。總之,避免不必要的專有軟體總歸是好的,畢竟現在已經妥協太多了。

專用於安全的軟體,我希望它們明白(並且實現)不要把實時數據放進硬盤 —— 但這是不一定的。虛擬機和外置磁盤之類或許有助於此,但是有待考察。

元數據#

本地元數據事先考慮是有其重要性的,你當然可以等到連接後再考慮,但是為什麼不提前考慮一些呢?其實我會建議你使用純文本避免元數據災難,畢竟聯機時的元數據問題夠麻煩了。但總是有其他格式的嘛……

Office 文檔危險得令人害怕,元數據當然要予以清除;PDF 格式元數據也可能含有問題。這些都要予以考究,當然,你甚至可以利用這些進行偽裝……

魔怔#

本地問題是無止境的 —— 在極度危險的物理問題下,本地的一切運算設施最好都一次性化,儲存移動化。但是對常人來說

個人很少在本地面對攻擊。

本地備份主要還是防止損失,但是這方面和雲備份自然要結合,兩者安全級別亦有不同。


…… 待續……

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。