gpt4 book ai didi

android - 有人知道 PERM-AR-DO 的详细信息吗?

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:07 28 4
gpt4 key购买 nike

根据 https://source.android.com/devices/tech/config/uicc.html ,

AR-DO (E3) is extended to include PERM-AR-DO (DB), which is an 8-byte bit mask representing 64 separate permissions.

有人知道 PERM-AR-DO 的规范吗?

GlobalPlatform 安全元件访问控制规范版本 1.0 和 1.1 不包含它。对于访问规则数据对象AR-DO (0xE3),只定义了标签0xD0和0xD1。

最佳答案

数据对象 PERM-AR-DO(标记 0xDB),就像在 UICC Carrier Privileges page 上定义的其他数据对象一样(带有 SHA-256 和 PKG-REF-DO 的 DeviceAppID-REF-DO)是 Google 对 GP 安全元素访问控制规范的特定扩展。因此,您不会在 GP 规范中找到有关这些 DO 的任何信息。

您链接的页面实际上在常见问题解答部分提供了您问题的答案:

We assume we can grant access to all carrier-based permissions or have a finer-grained control. What will define the mapping between the bit mask and the actual permissions then? One permission per class? One permission per method specifically? Will 64 separate permissions be enough in the long run?

A: This is reserved for the future, and we welcome suggestions.

所以答案是PERM-AR-DO的解释还没有定义。这也反射(reflect)在解析访问规则的 Android 源代码中(在 UiccCarrierPrivilegeRules.java on lines 591-601 中):

    } else if (rule.startsWith(TAG_AR_DO)) {
TLV arDo = new TLV(TAG_AR_DO); //E3
rule = arDo.parse(rule, false);
// Skip unrelated rules.
if (!arDo.value.startsWith(TAG_PERM_AR_DO)) {
return null;
}
TLV <b>permDo</b> = new TLV(TAG_PERM_AR_DO); //DB
<b>permDo</b>.parse(arDo.value, true);
} else {

此代码解析 AR-DO 并提取 PERM-AR-DO,然后简单地删除提取的值 (permDo)。

同样,生成的 AccessRule 对象包含一个值 accessType,它始终设置为 0:

    long accessType = <b>0</b>;
<i>[...]</i>
AccessRule accessRule = new AccessRule(IccUtils.hexStringToBytes(certificateHash),
packageName, <b>accessType</b>);

此外,在 AccessRule 类中,除了字段 accessType 之外还有一条注释,表明该字段“当前未使用”:

    public long accessType;   // <b>This bit is not currently used, but reserved for future use.</b>

关于android - 有人知道 PERM-AR-DO 的详细信息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39985460/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com