前文講述了一些抽象的策略,誠然還有一些問題未能討論叙述。但是我想先將體系問題放一下,讓我們來看一下常用的工具,技術。
各 web 服務,同步,隱私#
不細微地對互聯網時代的主流產品作考究是難以想到它們收集了多少數據的(當然也有我們自作的),比如如果手機打開了 google 服務,電腦使用 chrome 和 google 搜索,且不談 gmail,僅此就使 google 帳號上含有大量的數據,從搜索記錄,瀏覽記錄到手機應用的啟動,定位,甚至可以儲存數年之久。(儘管我並不是那麼在意,事實上,我多少有些故意為之)。
我在我的微軟帳號上不久前看見了數年前的手機照片,當時連 onedrive 是什麼我都不知道,這不妨礙數據已經上傳。
在此我已經不想談及國內設備自帶的雲服務等等。
儘管實際意義可疑,至少各服務提供了相當的設置,全面的檢查各 web 服務的隱私設置,關鍵在於盡可能不留下其他服務的痕跡,因為我並不希望一些 web 服務與另一些有公開的關聯。如果你不希望它們有任何關聯,那麼你應該在客觀上防止這種可能,而不是只是設置隱私。
就同步來說,onedrive 在 Windows 上的體驗是足夠好的(相當於自然地實現了本地 + 雲端兩重儲存),配合 VeraCrypt1,即在 onedrive 中保存 VeraCrypt 加密文件 (據我所知,onedrive 大約是完全支持增量同步的),可謂是足夠可靠的 Secret 備份方案,容量問題就看你了(拿來存密碼,密鑰其實根本不在乎容量)。
說到各種 web 服務,密碼管理器問題自然就來了(除主要幾個服務如谷歌微軟支付,其他我都儘可能採用了隨機密碼,那麼自然只能用密碼管理器了)。
密碼管理器#
此處討論不代表任何承諾,只是我個人的一種方案,具體可用性與安全性取決於你的需求和威脅模型。
一開始我是用瀏覽器的密碼管理,誠然方便程度完全足夠,但是安全上總是可疑,且強依賴於特定的第三方 web 服務,至多只能導出 csv 文件備份。而其他第三方密碼管理在我看來只是改變了對哪個第三方的信任問題(也許密碼管理器比 google 更可信),因而我故意採取了解耦的密碼管理,也就是說,我不需要密碼管理器本身具有雲同步能力,而是通過其他辦法實現,這提供了更多可用性和自由度,代價是複雜度。
我採用了 KeePassXC2。這只是一個管理密碼數據庫的軟件,並不提供任何網絡功能(這正是某些安全需求需要的),通過瀏覽器擴展,手機端實現(是的,沒有官方手機端,但有幾個實現),其他雲服務同步數據庫文件(數據庫本身是加密的),從而實現同步的密碼管理。
目前的結論是比起瀏覽器自帶的同步安全性當然更高,代價是要自己同步數據庫,自動填充時要自己手動解鎖數據庫,但是不再依賴某種特定 web 服務,從而擺脫依賴。
事實上,KeePassXC 還有其他一些功能,如數據庫可以儲存二重驗證(但是如果要達到效果就需要單獨維護一個 2FA 數據庫,否則等於沒有雙重驗證,因而不宜採取),可以接入 ssh 代理用於管理 ssh 密鑰(這個功能倒是可以考慮,我採取的是 gpg-agent 從而把 ssh 密鑰和 pgp 合為一體),可以用 Yubikey 解鎖數據庫。
PGP 安全#
請參見本系列下一期:PGP 安全。
瀏覽器#
在使用 google 生態下 chrome 的體驗的確是良好的,現在我們拋開各家瀏覽器本身生態的問題,單就瀏覽器的問題來說。
瀏覽記錄,搜索記錄,書籤的問題應該和瀏覽器本身的同步功能一併配置。
“瀏覽器指紋” 是一種通過瀏覽器對網站可見的配置和設置信息來跟踪 Web 瀏覽器的方法,瀏覽器指紋就像我們人手上的指紋一樣,具有個體辨識度,只不過現階段瀏覽器指紋辨識的是瀏覽器。
瀏覽器指紋有很多參數,包括瀏覽器標頭,分辨率,接受語言,瀏覽器擴展,時區等等。具體的防範請參見本系列以後(鴿。