存取與個人資料相關之安全敏感性資料,檢查行動應用程式是否提供鑑別機制
此項目為 L2、L3 檢測項目。因此必須含有身分登入機制
存取與個人資料相關之安全敏感性資料,檢查行動應用程式是否提供身分授權機制。
使用敏感性資料時,要先進行身分授權機制,或將所有傳輸資料依身分授權方式加密也是一種不錯方式
(1) 檢查行動應用程式是否採用長度為 128 位元(含)以上之交談識別碼
(2) 檢查行動應用程式使用之交談識別碼是否未與時間、使用者提交資料、具規則性之數字或字串有直接關聯或難以偽造。
(3) 檢查行動應用程式使用之交談識別碼是否具備登出失效機制。
要先理解何謂交談識別碼,交談識別碼
原文為 Session Identification 又稱為 Session ID
每當客戶端連線至伺服端,伺服器指派一個識別碼,作為連線期間的唯一識別碼,重新連現時會重新指派
所以了解到這條規定是針對伺服器的安全性規範,避免 Session Prediction (猜測 Session ID) 以及 Session Hijacking (竊取 Session ID) ,因此 Session 長度及亂數分布是很重要的
另外 App 跟 Server 之間設計我建議方式是不倚賴Session 比較穩妥的作法,這段有機會在細談
(1) 檢查行動應用程式使用之伺服器憑證是否仍於有效期間內、未被註銷(Revoke),且憑證之主體名稱與主體別名包含連線之伺服器網域名稱。
(2) 檢查行動應用程式是否使用憑證綁定(Certificate Pinning)方式驗證,以確保連線之伺服器為行動應用程式開發者所指定。
伺服器 Https 使用的憑證必須有效,且App 內需要採用憑證綁定(Certificate Pinning)方式驗證
這項目在後面章節會細說如何實作,實作的優缺點在哪
行動應用程式使用安全加密傳輸協定,檢查行動應用程式是否 驗證並確保伺服器憑證為行動作業系統內建可信任之憑證機構所簽發。
伺服器Https 使用的憑證,整個憑證鏈是否可靠,簽署機構是否安全
此章節都為必須檢測項目,無參考項目