[Security] SPA 如何用 PKCE + CSP 防止 Token 被竊

SPA 做身分驗證,一定要面對一個問題:**Token 要存在哪?** Authorization Code Flow + PKCE(RFC 7636)是目前的標準做法,解決的是「授權碼在傳輸途中被攔截後,攻擊者拿去換 Token」的問題。搭配 CSP(Content Security Policy)從瀏覽器端限制腳本來源,這兩道防線合在一起,才算是比較完整的 SPA 安全架構。 這篇文章用 ASP.NET Core Web API 自己實作授權伺服器,從頭走完整個 PKCE 流程,包含帳密驗證、Session Cookie 持久化,以及受保護的 API 端點。

...繼續閱讀 »

使用 Github Authentication Method,訪問 Hashicorp Vault Server 機密性資源

前面提到的案例都是使用 root token 進行登入。登入後,通過身分驗證 (Authentication),接著依照定義的 ACL Policy 和 Role 來決定誰能訪問哪些資源,這個過程稱為授權 (Authorization)。由於 root token 具有最高權限,理論上應避免壤非管理人員使用它。現在,我們來看看如何使用 HashiCorp Vault Server 的 GitHub Authentication Method 訪問機敏性資源吧!

...繼續閱讀 »

保護你的機敏性資料,通過 C# VaultSharp 訪問 Hashicorp Vault - 快速入門

開發者不應該把機敏性資料,用明碼的方式存放在電腦,HashiCorp Vault 是一套基於身份的私鑰和加密管理系統,Hashicorp Vault 是一個安全管理工具,專門用於管理機敏性資料,例如:密碼、API 密鑰和其他機密訊息,下圖出自 Introduction | Vault | HashiCorp Developer

原本我本來想要自幹一套 Secret Manager / Config Manage,因為有 Vault 我省去了自幹的時間,這裡,我將嘗試學習使用 C# VaultSharp 訪問 Hashicorp Vault

...繼續閱讀 »