为 Android 应用开发者及其用户打造创新型安全功能仍然是一项优先工作。作为这项工作的组成部分,我们
提供了 SafetyNet Attestation,开发者可通过这个 API 远程评估与其通信的 Android 设备的真伪。
SafetyNet 通过检查设备上的软件和硬件信息来评估其完整性。评估结果是一份使用密码签署的声明,对设备的基本属性——例如总体完整性和与 Android 的兼容性 (
CTS)——以及应用的相关元数据(例如其软件包名称和签名)进行证实。下面这段 JSON 代码展示的是这个 API 如何报告这些信息的示例:
{
"nonce": "R2Rra24fVm5xa2Mg",
"timestampMs": 9860437986543,
"apkPackageName": "com.package.name.of.requesting.app",
"apkCertificateDigestSha256": ["base64 encoded, SHA-256 hash of the
certificate used to sign requesting app"],
"apkDigestSha256": "base64 encoded, SHA-256 hash of the app's APK",
"ctsProfileMatch": true,
"basicIntegrity": true,
}
示例认证响应的内容,提供有关调用应用以及设备完整性和兼容性的信息。
SafetyNet Attestation API 可以帮助您的服务器区分哪些流量来自真实的兼容 Android 设备,哪些流量来自不太可信的来源(包括非 Android 设备)。这种分类有助于您深入了解每台设备的关联风险,以便在发生滥用或不端行为时对预防或缓解措施作出调整。
我们鼓励开发者利用 SafetyNet 认证补强其反滥用策略。可将 SafetyNet 认证与其他信号(例如您的现有设备端信号以及有关用户尝试做出的行为的行为信号)相结合,打造出稳健的多层级保护系统。
如需了解详细信息,请查阅
近期更新的文档,以及查看 GitHub 上的
SafetyNet API 示例。