【讀書筆記】iOS網路-保護網路傳輸,讀書筆記ios
一,驗證伺服器通訊。
二,HTTP認證。
手機銀行應用有兩種認證模式:標準驗證與快速驗證。標準驗證只是提示使用者輸入使用者名稱與密碼,而快速驗證則讓使用者註冊裝置,然後使用PIN進行驗證,每次驗證時無需使用者名稱和密碼。要想確保快速認證的安全性,如果使用者選擇在給定的認證請求中註冊裝置,那麼伺服器響應就需要包含一個額外的屬性,即使用者的認證。應用會儲存這個認證,並在隨後啟動時檢查,從而確定應該顯示哪個認證視圖。
1,HTTPBasic,HTTP Digest與NTLM認證。
2,用戶端認證認證。
三, 使用雜湊與加密確保訊息的完整性。
既然應用已經驗證在與正確的伺服器通訊並已被成功認證,那麼使用者就可以開始發出服務要求了。應用必須確保傳輸的資料在傳輸過程中是安全且被修改的。本節將會介紹能滿足這個需求的技術,包括密碼散列,訊息認證碼以及加密移除。
1,雜湊,對於給定的資料區塊,密碼雜湊與接要會產生固定大小的位序列。這些雜湊值可以簡化資料區塊的比較與排序。雜湊的常見使用情境包括追蹤檔案變更,下載校正和,資料混淆以及進行資料庫儲存,以及驗證請求資料的完整性等。
2,訊息認證碼。訊息認證碼(MAC)是這樣一種機制:可以檢測到負載是否被修改並驗證其真實性。實現方式是對進來的請求資料(或是預先設定好的請求資料的子集)產生雜湊值,然後將雜湊值與隨負載一同發送的預先計算好的MAC進行對比。MAC類似於之前介紹的雜湊函數,但卻更加安全,這是因為它們總是與一個密鑰配對。
1)對於開發人員來說,將各種處理細節輸出到日誌中是種很常見的做法,不過絕不應改將產生的密鑰列印到控制台,記錄檔可以非常容易地從裝置上擷取,如果被攻擊發現,那就是非常嚴重的安全問題了。
3,加密。
四,在裝置上安全地儲存認證資訊。
既然能安全地與服務層進行通訊,那就需要在裝置上安全地儲存資訊。Apple提供了Keychain Services API來完成這項工作。
參考資料:《iOS網路進階編程-iPhone和iPad的公司專屬應用程式開發》