現代網路安全大量依賴公鑰密碼學。它解決了對稱加密在金鑰配送上的困難,並支援數位簽章與身份驗證。本文說明核心概念與實際使用時的注意事項,適合想理解 HTTPS、SSH、程式碼簽章等技術背後原理的讀者。
對稱加密使用同一把金鑰進行加密與解密。優點是速度快,適合大量資料。缺點是通訊雙方必須事先安全地共享金鑰,這在開放網路中很難做到。
非對稱加密(公鑰密碼學)使用一對相關的金鑰:公鑰與私鑰。公鑰可以公開,私鑰必須保密。用公鑰加密的資料只有對應的私鑰能解密;反之,用私鑰簽名的資料可以用公鑰驗證。這解決了金鑰配送問題,但運算較慢,因此實務上常與對稱加密混合使用(例如 TLS 握手用非對稱交換對稱金鑰,之後用對稱加密傳輸資料)。
數位簽章的目的是證明「這份資料確實由持有某私鑰的人產生,且之後沒有被修改」。典型流程是:
如果驗證通過,可以確認資料完整性與簽名者身份(前提是公鑰確實屬於該簽名者)。簽章本身不提供機密性,資料仍可能被他人閱讀,除非另外加密。
公鑰本身只是一串數字。要相信某把公鑰屬於某個人或某個網站,需要額外的信任機制。常見做法包括:
如果信任錨點被破壞或使用者忽略警告,整個系統的安全性就會下降。因此憑證過期、域名不符、自簽憑證等警告不應輕易忽略。
私鑰必須嚴格保護。一旦外洩,攻擊者可以冒充金鑰持有者。應使用強密碼保護私鑰檔案、考慮硬體安全模組,並在不再需要時妥善撤銷或銷毀。公鑰則可以自由散佈。
演算法會隨時間被淘汰。目前推薦的曲線與參數應參考最新標準,避免使用已知弱點的舊方案。實作時應使用經過審核的程式庫,而非自行撰寫密碼學程式碼。
一般線上工具不會也不應要求使用者上傳私鑰。雜湊、編碼、JWT 解碼等工具處理的是公開或非敏感資料。理解公鑰密碼學有助於正確使用這些工具,並辨識哪些操作涉及真正的安全邊界。
Wusper 的相關工具(雜湊、編碼、JWT 檢視等)皆在本地執行,不涉及私鑰操作。本文僅供教育參考,實際系統建置應遵循現行密碼學最佳實務與專業建議。