保障应用安全:生物识别、钥匙串服务与应用状态监测
1. 使用生物识别或应用密码锁定钥匙串项目
为了进一步增强钥匙串项目的安全性,可以将其限制在特定的安全上下文中。例如,在构建密码管理器时,可利用此功能使特定的密码集仅能通过面容 ID 或设备密码访问。
1.1 添加额外安全层的操作步骤
- 添加安全上下文和访问控制设置 :为每个搜索查询添加安全上下文和访问控制设置,当使用启用访问控制的搜索查询访问值时,系统会像 LocalAuthentication 框架首次提示面容 ID 权限一样,弹出生物识别或密码提示框。
- 定义访问控制策略 :通过
SecAccessControl
类定义单独的访问控制策略。以下是添加访问控制策略的代码示例:
class SecurityView: UIView {
...
private func commonInit() {
let error: ErrorPointer = nil
if context.canEvaluatePolicy(
.deviceOwnerAuthenticationWithBiometrics,
error: error) {
..
} else {
NSLog("Biometrics unavailable on device")