HarmonyOS设备真实性证明,服务端验证证书链?

在HarmonyOS的“设备真实性证明”https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/device-attestation-V5章节中描述设备真实性证明可以通过证书链验证包名与appid来判断是否是合法应用。

疑问是:假设一个已经上线并发布到商店的应用包名是A,那如果用Dev Studio再创建一个HarmonyOS应用,包名也设置成A,在debug模式下生成密钥与密钥的证书链,发给服务端进行包名校验,这时服务端是无法判断这个证书链是来自于商店的应用还是debug调测的应用。请问这么理解对不对?

阅读 545
1 个回答

设备真实性证明能力主要可以抵御以下攻击场景:模拟器、云手机等非真实设备。

由于只有真实的设备才具备出厂灌装的设备证书,并且只有拥有设备证书的设备才具备此能力,所以通过本方案可以确保请求来自真实的设备。重打包应用、仿冒应用等非真实应用,由于设备真实性证明证书链包含对应应用包名和签名公钥hash信息,可以通过验证这些信息保证所有带签名的信息来自合法的应用。

通过抓包等方法修改或伪造应用请求:使用设备真实性证明私钥对重要的业务请求附加签名,可以确保重要的请求的完整性,并通过挑战值机制杜绝重复攻击。所描述的场景和《重打包应用、仿冒应用等非真实应用》相似,因此这种情况会被拦截。

另外上架过程中也是不允许和已上线的应用包重名。

logo
HarmonyOS
子站问答
访问
宣传栏