• GPC规范--安全域基础概念


    概述:

    分为三种主流类型:
    • 发卡方安全域(Issuer Security Domain, ISD),卡片上首要的、强制性存在的安全域,是卡片管理者(通常是发卡方)在卡片内的代表;
    • 补充安全域(Supplementary Security Domain, SSD),卡片上次要的、可选择地存在的安全域,是应用提供方或发卡方以及它们的代理方在卡片内的代表;
    • 授权管理者安全域(Controlling Authority Security Domains, CASD),一种特殊类型的补充安全域,授权管理者负责将某种安全策略贯彻到所有加载到卡片的应用代码上,授权管理者安全域就是授权管理者在卡片内的代表,卡片上可能存在个这样的安全域。
        安全域是一种享有特权的应用;具备AID,权限,生命周期等属性;
    特性:
    • 是卡片上应用提供者或鉴权机构的代理
    •  自身是一个应用,有AID,权限和生命周期
    •  能够提供安全服务诸如密钥管理,加解密,数字签名生成,关联应用校验
    •  每个SD都为应用提供获取自身服务的接口
    •  每个SD可以支持独立的安全通道协议
    •  每个SD的密钥是完全独立的

    安全域的的安全性要求

    • 安全域负责贯彻其卡外安全域提供者制定的安全策略。当安全域可用时,必须负责:
    • 在发卡前或者发卡后,根据其卡外安全域提供者制定的安全策略,与卡外实体进行通信;
    • 管理卡片数据的安全性;
    • 为其相关联的应用在个人化或接下来的操作中,提供加密保护服务;
    • 请求OPEN进行加载、安装、让渡、删除卡片内容的操作;  (只是请求,实际还是OPEN操作)
    • 向卡外实体返回加载、安装、让渡、删除等操作的收条;
    • 验证卡外机构发起的改变卡片内容的操作是否经过了合法授权;
    • 创建加载、安装、让渡、删除等操作的收条;
    • 根据OPEN的要求,验证加载文件数据块的数字签名

    安全域生命周期状态  

    安全域生命周期状态如下:
    INSTALLED
    SELECTABLE
    PERSONALIZED
    LOCKED
    安全域不存在私有的生命周期状态。

    安全域生命周期状态 INSTALLED

    INSTALLED状态意味着安全域已经在GlobalPlatform注册表中注册为一个条目,经过关联的安全域认证后的卡外实体可以对该条目进行访问。该安全域还不是可选择的,且还不能与可执行加载文件或应用相关联,因此其安全域服务对应用而言,还是不可用的。

    安全域生命周期状态 SELECTABLE

    SELECTABLE状态意味着安全域可以从卡外实体接收命令(特别是个人化命令)。此时的安全域并不拥有密钥,因此不能与可执行加载文件或应用相关联,也就不能向应用提供安全域服务。从INSTALLED状态到SELECTABLE状态的迁移是不可逆的,迁移到SELECTABLE状态可以同安全域的安装一起进行。

    安全域生命周期状态 PERSONALIZED

    迁移到PERSONALIZED时需要完成什么操作取决于安全域。该状态表明了安全域已经拥有了所有必须的个人化数据和密钥,以便(在其服务的环境中)执行完整的运行时功能。从SELECTABLE状态到PERSONALIZED状态的迁移是不可逆的。处于PERSONALIZED状态的安全域可以同应用相关联,使得其能够向关联的应用提供服务。

    安全域生命周期状态 LOCKED

    OPEN、安全域自身、与该安全域关联的其他安全域(如果有的话)、具备“全局锁定权限”的应用以及具备“全局锁定权限”的安全域,都可以利用LOCKED状态作为安全管控的手段,以阻止该安全域的选定。

    安全域特有的权限

    令牌(Token)验证权限

    该权限允许安全域提供方,尤其是发卡方,对卡片内容管理操作进行授权。具备“令牌验证权限”的安全域应该知道该令牌的密钥及算法。
    需要注意的是,具备该权限并不意味着具备卡片内容管理的能力。

    “授权(AM)管理权限”的安全域

    该权限允许安全域提供方,尤其是发卡方,对卡片内容管理操作进行授权。具备“令牌验证权限”的安全域应该知道该令牌的密钥及算法。
    需要注意的是,具备该权限并不意味着具备卡片内容管理的能力。

    “委托(DM)管理权限”的安全域

    该权限允许应用提供方在授权后对卡片内容进行管理。具备“令牌验证权限”的安全域负责对授权操作进行控制。

    “全局删除权限”的安全域

    该权限使得安全域能够从卡片上删除任何可执行加载文件或任何应用,即使该可执行加载文件或应用并不属于该安全域。
    不具备“全局删除权限”但又能进行卡片内容管理的安全域,只能删除与自己直接或间接关联的可执行加载文件或应用。

    “全局锁定权限”的安全域

    该权限提供了独立于安全域关联层次而对卡片上的应用进行锁定和解锁的权力,同时还提供了对OPEN的卡片内容管理功能进行限制的能力。

    “收条创建权限”的安全域

    该权限允许安全域提供方,尤其是发卡方,对已经执行的卡片内容管理操作进行确认。具备“收条创建权限”的安全域必须知道创建收条所需的密钥和算法。该安全域还必须跟踪确认计数器,该计数器会在每次创建一个收条时自动增加。当确认计数器达到最大值的时候,不得归零。卡片支持的该计数器的最大值为32767。
    需要注意的是,具备该权限并不意味着具备卡片内容管理的能力。
    在这个版本的卡片规范中,每个卡片上只允许一个安全域具备“收条创建权限”。

    关联到安全域

    通过 INSTALL [for load] 或 INSTALL [for install]指定SD的AID来实现关联。为一个关联到某一SD的包安装实例,实例也关联到同一个SD
    改变应用实例与SD的关联方式叫做迁移,使用指令INSTALL [for extradition]
    自己关联自己,自引渡;
    作为根节点的SD,必现是具备AM权限的
    只有ISD能创建具有“Authorized Management”权限的SD,并将AM-SD迁移为“树”的根结点
  • 相关阅读:
    产品速递 | 璞华易投估值管理系统,灵活多样的数据模型让估值更加精准高效!
    浪漫七夕—很幸运一路有你
    mysql数据库基础
    python研发工程师面试准备一
    【爬虫】实验项目三:验证码处理与识别
    ElasticSearch如何在前后台启动
    ShowLibAlias...
    『现学现忘』Git分支 — 39、Git中分支与对象的关系
    易捷行云EasyStack创始人兼CEO陈喜伦:坚持开源生态产品化 与社区和客户齐创新共成长
    pytest教程-47-钩子函数-pytest_sessionfinish
  • 原文地址:https://blog.csdn.net/wangzhiqin365/article/details/127808831