以下內容皆來自下面網址,這裡僅作個人筆記整理:
https://yu-jack.github.io/2020/03/02/ssl-pinning/
個人筆記:
SSL 全名是,Secure Sockets Layer
SSL的運作:
SSL 其中有一段是透過非對稱式加密的公私鑰達到認證並建立連線通道。建立安全連線通道後,會利用對稱式加密對這之間所有資料進行加解密。
對稱式加密:
A和B拿到的金鑰是同一個
非對稱式加密:
A和B拿到的金鑰是不同個(EX: A 拿公鑰,B 拿私鑰)
SSL的概念裡有兩個概念
1. 資料透過私鑰加密,再透過公鑰解密 -> 驗證訊息來源是否真的是擁有私鑰的人
2. 資料透過公鑰加密,再透過私鑰解密 -> 把資料加密,並可還原資料

IOS Swift實作SSL pinning project: https://github.com/tgnivekucn/SSLPinningWebView