SSL Pinning(中文常称为 证书锁定 或 SSL 绑定)是一种主要用于移动应用(App)的安全机制,旨在防止中间人攻击(Man-in-the-Middle Attack, MitM)。 简单来说,它的核心思想是:App 不再盲目信任手机系统里预装的那些证书颁发机构(CA),而是只信任开发者在代码里“写死”的那个特定证书或公钥。 以下是详细的通俗解释和技术原理: --- 1. 为什么要用 SSL Pinning?(背景) 在标准的 HTTPS 通信中,信任是基于“信任链”的: 1. 你的手机里预置了很多受信任的“根证书”(Root CA)。 2. 当 App 访问服务器时,服务器出示它的证书。 3. 只要这个证书是由手机里受信任的 CA 签发的,App 就会认为服务器是安全的。 存在的问题(漏洞): 如果黑客(或者安全测试人员)诱导用户在手机上安装了一个恶意的“根证书”(例如使用 Charles、Fiddler 或 Burp Suite 等抓包工具生成的证书),手机系统就会信任黑客的服务器。这时,黑客就可以拦截、查看甚至篡改 App 和服务器之间的加密通信。 SSL Pin...