SuperAPI AI 工具集

ios-security

安全与审计

查看项目

更新于 10-15 21:12

技能介绍

用途:为 iOS 应用提供处理敏感数据、用户认证、正确加密及遵循 Apple 安全最佳实践的指导,属于开发参考类技能文档。

主要能力:

  1. Keychain Services:存储、读取、删除凭据的示例代码,说明 kSecAttrAccessible 各取值(如 WhenUnlockedThisDeviceOnly、AfterFirstUnlock、WhenPasscodeSetThisDeviceOnly)的适用场景,以及访问组共享。强调密码、令牌、API 密钥只能存 Keychain,不可放 UserDefaults、文件或 Core Data。
  2. Data Protection:文件保护等级(.complete、.completeUnlessOpen、.completeUntilFirstUserAuthentication、.none)及设置方式。
  3. CryptoKit:AES-GCM 对称加密、SHA256/384/512 哈希、HMAC 消息认证;高级签名、密钥协商等见引用文档。
  4. Secure Enclave:仅支持 P256,密钥不出硬件,示例含访问控制与持久化。
  5. 生物认证:LocalAuthentication 的 LAContext 用法、回退到设备密码、Info.plist 必须包含 NSFaceIDUsageDescription,以及生物识别保护 Keychain 项的 SecAccessControl 标志。
  6. ATS 与证书固定:默认强制 HTTPS,禁止 NSAllowsArbitraryLoads,例外域仅作最后手段;URLSession 委托中固定公钥哈希并保留备用 pin。
  7. 安全编码:不记录敏感数据、用后清零内存、校验输入与路径、用 #error 防止占位密钥误提交、越狱检测。
  8. 隐私清单:PrivacyInfo.xcprivacy 声明要求。

使用方式:作为开发时的参考清单与代码模板,按章节查阅对应实现;文末提供审查清单与引用文档路径。

适用场景:iOS 应用涉及凭据存储、加密、生物认证、网络传输安全与隐私合规时。

限制:越狱检测并非万无一失,只能作为一层防护;证书固定需有轮换与应急方案;具体平台版本、收费与效果资料未提供。