Encryption

SSL pinning - 如何安全地隱藏證書?

  • August 9, 2015

我們正在做一個 iPhone 應用程序並閱讀了多個論壇,這些論壇說 SSL pinning 可以避免中間人,因為我們通過證書信任我們的 Web 服務伺服器,該證書將與我們的應用程序一起預先捆綁到 appstore。

如何保護證書?我們嘗試以 base 64ed DER 格式儲存在應用程序中,但二進制執行檔上的字元串命令會列印該數據。有沒有辦法對攻擊者隱藏證書,這樣 IPA 文件就不會因為放棄證書而受到攻擊。

您根本不需要隱藏證書。證書僅包含所有者(在本例中為伺服器)的公鑰和附加資訊。它不應該包含任何私人資訊。您需要做的是以您可以信任證書來源的方式儲存證書。

所以你需要考慮的是證書管理。例如,如果您需要更換證書怎麼辦?軟體更新就夠了嗎?

私鑰不是證書的一部分。這在某些 API(例如 Microsoft API)中可能並不明顯。您必須確保只導出 X509 證書,不包括私鑰。如果您要導出 PKCS#12 (PFX) 文件,那麼您可能做錯了什麼。

密鑰對應在您打算使用私鑰的系統上生成。對私鑰的訪問應保持在絕對最低限度。公鑰和證書可以自由分發。

引用自:https://crypto.stackexchange.com/questions/27362