金鑰輪替就是「換鎖」:把現在正在使用的金鑰、密碼或憑證作廢,換發一把新的。這個動作聽起來很技術,實際上在大多數服務商的網站上只要點個兩三下——找到金鑰管理頁面,把舊的刪除(或標示為撤銷),再按「產生新金鑰」,然後把新的那串填回你的程式裡。

需要理解的關鍵是:刪除不等於失效。很多人發現金鑰可能外洩之後,第一個反應是把那個檔案刪掉、或是把它從程式碼裡拿掉、或是重新上傳一次乾淨的版本。這些都沒有用。金鑰的本質是一串「服務商認得的字串」,只要它還登記在服務商那邊有效,任何人拿到那串字都能繼續使用——你在自己電腦上做的任何事,服務商並不知道。唯一能讓它失效的方法,是回到發出它的地方去撤銷它。這個道理和你掉了家裡鑰匙一樣:把備份鑰匙的照片刪掉沒有意義,你得去換鎖。

輪替的時機有兩種。一種是被動的:懷疑外洩了就立刻換,寧可誤判也不要拖延——包括金鑰曾出現在公開的程式碼倉庫、曾經貼進聊天室或截圖、電腦曾被他人使用,或是你使用的某個工具被爆出會上傳專案內容。另一種是主動的:定期輪替,即使沒有跡象顯示外洩。定期輪替的價值在於縮短「萬一某把鑰匙悄悄流出去了,它還能被使用多久」這個窗口。另外,如果一個團隊有成員離職,或有人不再需要某項存取權限,也應該把相關金鑰輪替一次——這比逐一追查誰手上還留著什麼複本,可靠得多。