WWDC Quick Look 💓 By SwiftGGTeam
Meet Trust Insights

Meet Trust Insights

观看原视频

Highlight

Trust Insights 是 iOS 27 引入的新框架,通过隐私保护的机器学习检测用户是否被”指导”执行高风险操作,帮助应用识别社交工程攻击,同时所有设备端数据仅本地处理不上传。

核心内容

社交工程攻击(Social Engineering)是近年来网络安全面临的新挑战。这类攻击不利用系统漏洞,而是利用人的心理弱点。

常见模式包括:假冒技术支持诱骗用户授权远程访问、冒充银行或政府机构套取敏感信息、利用 AI 深度伪造伪造”家人紧急情况”骗钱。

攻击者通过电话、聊天软件实时”指导”受害者操作。用户是主动执行这些操作的,通过了身份验证,操作本身也是合法的——应用无法区分这是真实意愿还是被胁迫。

现有的安全机制如多因素认证、生物认证在这种情况下无效——因为操作者确实是用户本人。

需要一种新的信号:不仅要验证”是谁”,还要判断”是否出于自由意志”。这个信号必须同时保护用户隐私。

Trust Insights 框架就是为此而生。它分析用户的行为模式、时序、上下文和基础传感器数据,但不触碰 Photos、Messages、Mail 中的内容。所有设备端数据仅在本地处理,处理后立即丢弃,只有单个输出值离开设备。

详细内容

框架集成

(02:11) Trust Insights 是 iOS 27 引入的框架,完全通过 Swift API 集成,不需要服务器端代码。

权限配置

(02:52) 使用 Trust Insights 需要在 Xcode 中声明对应的 entitlement(权限)。

创建评估请求

(03:02) 第一步是创建参数包,指定要请求的洞察类型:

import TrustInsights

let request = IsLikelyBeingCoachedInsight.request(
    schema: .version1,
    modelVersion: .current
)

关键点:

  • schema 指定洞察架构版本,必需参数
  • modelVersion 可选,用于模型治理和验证
  • 可以同时指定当前版本和先前版本,用于对比验证

配置评估上下文

(03:28) 创建 InsightContext,告诉系统用户在执行什么类型的操作:

let context = InsightEvaluator.InsightContext(
    operationCategory: .resourceUse,
    requestedEvaluations: request
)

关键点:

  • operationCategory 决定应用哪种模型逻辑
  • InsightEvaluator 可以接受多个洞察请求

五种操作类别

(03:44) 框架提供五种预定义的操作类别:

类别说明
.payment资产、内容或货币的交换,包括应用内购买
.account更新账户详情或安全信息
.resourceUse对昂贵或受限基础设施的请求,如 AI 推理
.communication发送消息、提交表单或签署文档
.other不符合上述类别的操作的备用选项

如果你的用例属于 .other,建议通过 Feedback Assistant 反馈给 Apple。

请求权限并执行评估

(03:36) 用户对 Trust Insights 的使用有完全控制权,集成前需要检查授权状态:

let evaluator = InsightEvaluator()
guard try await evaluator.requestAuthorization(for: context) == .authorized else { return }

let assessment = try await evaluator.requestEvaluation(context: context)

关键点:

  • 必须检查用户是否授权了你的应用使用 Trust Insights
  • requestEvaluation 是异步调用,可能需要几秒钟
  • 需要网络连接,因为评估涉及云端服务
  • 开发环境使用沙箱,App Store 上线后使用生产模型

测试技巧

(05:18) 可以通过自定义 Xcode build scheme 来覆盖洞察值和错误,用于测试不同的决策逻辑和 UX 变体。具体可用的 launch arguments 参考开发者文档。

处理评估结果

(05:37) IsLikelyBeingCoachedInsight 有三种可能的结果值:

func handleAssessment(_ assessment: InsightEvaluation<IsLikelyBeingCoachedInsight>) throws {
    switch try assessment.insight.outcome.get() {
    case .unknown:
        // 系统没有欺诈风险的证据
        // 但不应理解为低风险
    case .medium:
        // 存在被指导风险的一些证据
        // 考虑增加摩擦、额外验证或调整风险评分
    case .high:
        // 存在被指导风险的重大证据
        // 应该在用户继续之前告知风险
    @unknown default:
        break
    }
}

关键点:

  • .unknown 不等于低风险,只是没有证据
  • .medium 建议引入额外验证步骤
  • .high 建议明确告知用户风险
  • 不要仅基于信任洞察直接阻止操作
  • 需要独立处理评估级别和洞察级别的错误

提交反馈

(07:05) 有两种反馈类型:实时消费反馈和离线欺诈标签。

实时消费反馈

告诉系统你的应用如何响应了洞察结果,这是每个评估请求必须提交的:

assessment.reportConsumption(.usedIncreasedFriction)

六种消费值:

说明
.usedReducedFriction洞察让操作变得更容易
.usedUnchangedFriction评估了洞察但未改变体验
.usedIncreasedFriction洞察导致额外检查或摩擦
.notUsedNotNeeded用户取消,无需决策
.notUsedError技术失败阻止使用
.usedEvaluationOnly仅用于内部评估和基准测试

关键点:

  • 每次评估请求必须调用 reportConsumption
  • 如果省略,你的应用可能会被限流

离线欺诈标签

(07:22) 当交易后来确认为欺诈时,这个信号对模型改进很重要:

// 通过 Apple Business Register 提交
// 使用服务器到服务器 API
// 包含原始评估的 insight identifier

关键点:

  • 可能几天、几周甚至几个月后才提交
  • 通过 Apple Business Register 的服务器到服务器 API
  • 不要包含 PII 或任何可用于指纹识别的信息
  • 不是强制的,但有助于生态系统改进

隐私架构

(09:27) 数据最小化是 Trust Insights 的核心原则:

  • 仅处理需要的数据
  • 输入在评估后立即丢弃
  • 所有设备端数据保留在设备上
  • 不会与 Apple 或第三方共享设备端信号
  • 用户可以在设置中完全禁用 Trust Insights

禁用后可能会有冷却期,防止用户自己被”指导”关闭。

应用示例

(11:43) 一个用户正在向声称是治疗家人的医生进行大额转账的场景:

  1. 应用在后台请求信任洞察
  2. 收到 .medium 结果
  3. 应用调整流程:显示警告并添加交易延迟

根据用例不同,你也可以选择:

  • 在服务端处理结果
  • 添加人工审核步骤
  • 在不打扰用户的情况下调整风险

核心启发

  1. 大额转账预警:在 P2P 支付应用中,对超过阈值的交易请求信任洞察,高/中风险时显示额外的安全警告和收款人验证步骤。

  2. 敏感操作二次确认:当用户执行账户删除、数据导出、远程访问授权等不可逆操作时,请求信任洞察并动态调整确认流程的严格程度。

  3. 客服场景防护:如果你的应用涉及客服远程协助功能,在用户授权屏幕共享或远程控制前,请求信任洞察防止假冒技术支持诈骗。

  4. 高风险登录保护:当检测到新设备登录或敏感信息变更时,结合信任洞察判断是否需要额外的身份验证步骤。

  5. AI 服务调用门槛:对资源密集型 AI 操作(如图片生成、长文本处理),在用户发起前请求信任洞察,中高风险时引入额外确认或降低服务等级。

关联 Session

  • App Attest — 验证服务器请求来自合法应用实例,与 Trust Insights 配合构建多层安全
  • Security for agentic apps — 代理应用的安全实践,信任机制在 AI 时代的延伸
  • Privacy Preserving ML — Core AI 的隐私保护机器学习,了解 Apple 在本地 ML 方面的整体策略
  • In-App Purchase — 应用内购买的最新实践,可与 Trust Insights 结合保护高价值交易
  • Device Management — 企业设备管理,了解如何在企业环境中部署安全策略

评论

GitHub Issues · utterances