2、TPM 2.0 中 DAA 相关 API 的再探讨

TPM 2.0 中 DAA 相关 API 的再探讨

1. TPM2 Sign 操作流程

TPM2 Sign 以 ch、m 和计数器 ctr 作为输入,具体操作步骤如下:
1. 计算 c := H(ch, m)。
2. 根据计数器 ctr 找到对应的 r,计算 s := r + ck mod p,然后删除 r。
3. 输出 (c, s)。

由 TPM2 Commit 和 TPM2 Sign 生成的签名 (P1, P2, R1, R2, K2, c, s) 是知识签名 SPK{(k) : K1 = P1^k ∧ K2 = P2^k}(m)。给定 m 和 K1 = P1^k,对该签名的验证流程如下:
1. 验证 P1 ≠ 1。
2. 验证 H(R1, R2, m) = c。
3. 验证 R1 = P1^s · K1^(-c) 且 R2 = P2^s · K2^(-c)。

2. TPM 2.0 中的静态 DH 预言机

Tolga Acar 等人指出,这些 DAA 相关的 API 可被用作静态 DH 预言机。在 TPM2 Commit API 中,输入为循环群 G(素数阶为 p)中的一个群成员 P1 和表示基名的字符串 str ∈ {0, 1}*,TPM 计算 P2 = HG(str),输出为 R1 = P1^r、R2 = P2^r 和 K2 = P2^x(x 为 DAA 秘密密钥)。在 TPM2 Sign API 中,TPM 从主机获取输入 ch、m,计算 c = H(ch, m),并输出 (c, s),其中 s = r + cx。

由于对第一个输入 P1 没有限制,若主机被破坏,攻击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值