网站地图 | Tags | 热门标准 | 最新标准 | 订阅
您当前的位置:首页 > GB/T 33242-2016 数字城市智能卡应用技术要求 > 下载地址2

GB/T 33242-2016 数字城市智能卡应用技术要求

  • 名  称:GB/T 33242-2016 数字城市智能卡应用技术要求 - 下载地址2
  • 下载地址:[下载地址2]
  • 提 取 码
  • 浏览次数:3
下载帮助: 发表评论 加入收藏夹 错误报告目录
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
新闻评论(共有 0 条评论)

资料介绍

  ICS 35.240.60 P 07

  中 华 人 民 共 和 国 国 家 标 准

  GB/T 33242—2016

  数字城市智能卡应用技术要求

  Technicalrequirementsforapplication ofsmartcard in digitalcities

  2016-12-13发布 2017-07-01实施

  中华人民共和国国家质量监督检验检疫总局中 国 国 家 标 准 化 管 理 委 员 会

  发

  布

  GB/T 33242—2016

  前 言

  本标准按照 GB/T 1. 1—2009给出的规则起草 。

  本标准由中华人民共和国住房和城乡建设部提出 。

  本标准由全国智能建筑及居住区数字化标准化技术委员会(SAC/TC426)归 口 。

  本标准起草单位 :住房和城乡建设部 IC卡应用服务中心 、中外建设信息有限责任公司 、深圳德诚信用咭制造有限公司 、深圳市华旭科技开发有限公司 、天津市通卡公用网络系统有限公司 、深圳市德卡科技有限公司 、深圳市旺龙智能科技有限公司 、东信和平科技股份有限公司 、北京亿速码数据处理有限责任公司 、上海华虹集成电路有限责任公司 、上海复旦微电子集团股份有限公司 、聚辰半导体(上海) 有限公司 、航天信息股份有限公司 、广东楚天龙智能卡有限公司 、上海浦江智能卡系统有限公司 、中山达华智能科技股份有限公司 、山东华冠智能卡有限公司 、天津环球磁卡股份有限公司 、福建索天信息科技股份有限公司 、新开普电子股份有限公司 、陕西煤航安全印务有限公司 、福州兆科智能卡有限公司 、江西省洪城一卡通投资有限公司 、西安城市一卡通有限责任公司 、国网电力科学研究院通信与用电技术分公司 。

  本标准主要起草人 : 王辉 、马虹 、申绯斐 、张永刚 、徐科 、周欣 、苑朋朋 、尚治宇 、殷骏 、尚小航 、马健 、范琳琳 、周斌 、徐睿 、陈勇 、周亮 、王晓雨 、李标彬 、王小军 、李强 、孙旭 、朱伟平 、徐钦鸿 、娄亚华 、刘振禹 、蔡文成 、林晟 、张振京 、何庆卿 、陈为明 、涂勇涛 、吕岩巍 、申德周 。

  数字城市智能卡应用技术要求

  1 范围

  本标准规定了数字城市智能卡卡片(以下简称 “卡片 ”) 体系架构 、生命周期模型 、通用平台(GP) 运行环境 、安全域 、卡片和应用管理 、安全通信 、应用协议数据单元(APDU)命令和相应的定义 、符号等 。

  本标准适用于智能卡的设计 、制造 、管理 、发行和应用等领域 。

  2 规范性引用文件

  下列文件对于本文件的应用是必不可少的 。凡是注 日期的引用文件 ,仅注 日期的版本适用于本文件 。凡是不注日期的引用文件 ,其最新版本(包括所有的修改单)适用于本文件 。

  GB/T 16649. 4 识别卡 带触点的集成电路卡 第 4部分 :用于交换的行业间命令

  GB/T 16649. 6—2001 识别卡 带触点的集成电路卡 第 6部分 :行业间数据元

  ISO/IEC 7812 识别卡 发行方识别(Identification cards—Identification ofissuers)

  3 术语和定义

  下列术语和定义适用于本文件 。

  3. 1

  数字城市智能卡 smartcard in digitalcities

  可承载多应用的开放式平台 ,带有中央处理器 、存储单元(包括随机存储器 、程序存储器 、用户数据存储器) 、芯片操作系统 。

  3.2

  基本逻辑通道 basic logicalchannel

  卡片和卡外实体之间的永久性接 口 ,其编号为 0。

  3.3

  卡片会话 card session

  卡片与卡外建立的某种通信链路 。

  注 1: 接触式卡片开始于卡片复位或者卡片上电 ,结束于卡片其后再次复位或者卡片下电 。

  注 2: 非接触式卡片开始于卡片激活或者卡片上电 ,结束于卡片释放或者卡片下电 。

  3.4

  当前安全级别 currentsecuritylevel

  在根据安全通信协议进行安全消息传送时 ,应用于当前命令/响应的安全级别 。

  3.5

  数据鉴权模式块 DAP block

  加载文件中用来验证加载文件数据块的部分 。

  3.6

  数据鉴权验证 DAP verification

  安全域对加载文件数据块的可信性进行验证的机制 。

  GB/T 33242—2016

  3.7

  委托管理 delegated management

  由经过认证的应用提供方对卡片内容进行预先授权的改变 。

  3. 8

  数字签名 digitalsignature

  一种特殊的加密算法 ,数据接收者能够借此确认数据的来源和完整性 ,避免数据被第三方篡改 ,数据发送者也可以借此确保数据不会被接收者篡改 。

  3.9

  可执行加载文件 executableload file

  实际存在于卡片上的包含一个或多个应用的可执行代码包(可执行模块) ,它既可以驻留在只读存储器中 ,也可以作为加载文件数据块的映像在可变存储器中生成 。

  3. 10

  可执行模块 executablemodule

  可执行加载文件中包含的一个单独应用的可执行代码 。

  3. 11

  主机 host

  支持本文件功能实现的后台系统 。

  注 : 主机执行的功能包括授权与认证 、管理 、发布后的应用代码与数据下载 、事务处理等 。

  3. 12

  主控安全域 issuersecuritydomain

  发卡方安全域

  对卡片管理者(通常是发卡方)的控制 、安全 、通信需求进行支持的卡片首要空间单元 。

  3. 13

  生命周期 lifecycle

  卡片内容的不同存在阶段 ,也可以指卡片本身不同的存在阶段 。

  3. 14

  生命周期状态 lifecyclestate

  卡片或卡片内容在生命周期中的某个特定状态 。

  3. 15

  加载文件 load file

  传送加载到符合卡片上的文件 ,该卡片包含了加载文件数据块 ,并有可能包含一个或者多个数据鉴权模式块 。

  3. 16

  加载文件数据块 load filedata block

  加载文件中包含一个或多个应用(或库) , 以及平台所需应用支持信息的部分 。

  3. 17

  加载文件数据块散列值 load filedata block hash

  加载文件数据块经由哈希函数计算出的散列值 ,用于确保加载文件数据块的一致性 。

  3. 18

  可变存储器 mutablepersistentmemory

  可以对其存储的内容进行改写的存储器 。

  3. 19

  收条 receipt

  卡片根据发卡方要求出具的一个加密值 ,用来作为一个委托管理操作已经发生的证据 。

  3.20

  运行环境 runtimeenvironment

  卡片运行期间的核心功能 ,为卡上的多个应用运行提供了一个安全的环境 。

  3.21

  安全通道 securechannel

  为一个卡外实体或者卡外和卡片之间的信息交换提供某种安全保障的通信机制 。

  3.22

  安全通道协议 securechannelprotocol

  安全通信协议和相关安全服务的统称 。

  3.23

  安全通道会话 securechannelsession

  在应用会话期间建立的另外一种会话机制 ,开始于安全通道的初始化 ,结束于安全通道的终结或者应用会话或卡片会话的终结 。

  3.24

  安全域 securitydomain

  负责对某个卡外实体(例如发卡方 、应用提供方 、授权管理者)的控制 、安全 、通信需求进行支持的卡内空间区域 。

  3.25

  会话安全级别 session securitylevel

  在进行安全消息交换的安全通信协议中 ,用于确保命令安全所需的最低安全级别 ,在安全通道会话初始化时以特指或默认的方式建立 。

  3.26

  辅助逻辑通道 supplementarylogicalchannel

  补充逻辑通道

  卡片和卡外实体之间除了基本逻辑通道之外的其他接 口 ,最多可有 19个 ,辅助逻辑通道的编号在1 和 19之间 ,且编号不可重复 。

  3.27

  辅助安全域 supplementary securitydomain

  补充安全域

  主控安全域之外的其他安全域 。

  3.28

  令牌 token

  发卡方出具的一个加密值 ,用来作为一个委托管理操作已经被授权的证据 。

  4 缩略语

  下列缩略语适用于本文件 。

  AID:应用程序标识符(Application Identifier)

  AP:应用提供方(Application Provider)

  APDU :应用协议数据单元(Application ProtocolData Unit)

  API:应用程序接口(Application Programming Interface)

  CA:授权管理(Controlling Authority)

  CBC:密码块链(CipherBlock Chaining)

  CC:密码校验码(Cryptographic Checksum)

  CCT:加密校验模板(Cryptographic Checksum Template)

  CIN:卡片映像编号(Card Image Number/ Card Identification Number)

  CL:非接触式(Contactless)

  CLF:非接触式前端接 口 (Contactless Front-end interface)

  CPL:命令包长度(Command PacketLength)

  CREL:非接触式注册事件监听(Contactless Registry EventListener)

  CRS:非接触式注册服务(Contactless Registry Services)

  CT:保密模板(ConfidentialTemplate)

  CVM :卡持有者身份验证方法(Cardholder Verification Method)

  DAP:数据鉴权模式(Data Authentication Pattern)

  DGI:数据分组索引(Data Group Index)

  DS:数字签名(DigitalSignature)

  GP:通用平台(GlobalPlatform)

  IIN:发卡方标识编号(Issuer Identification Number)

  ISD:发卡方安全域(SecurityDomain of the Issuer)

  MAC:消息认证码(Message Authentication Code)

  NFC:近场通信(Near FieldCommunication)

  OCE:卡外实体(Off-Card Entity)

  PK:非对称密钥对中的公钥(Public Key of an asymmetric key pair)

  RAM :远程应用管理(Remote AppletManagement)

  RTE:运行环境(Runtime Environment)

  R-MAC:MAC响应值(Response MAC)

  SD:安全域(SecurityDomain)

  SIN:安全域提供方标识编号(Security Identification Number)

  TLV:标签 、长度 、值(Tag, Length, Value)

  5 卡片体系架构

  5. 1 技术架构

  智能卡应以多应用为 目标 , 引入虚拟机 、GP 运行环境等多类应用的运行环境构成跨领域业务平台 ,实现多个维度的 “一卡多应用 ”,并完成政府与公共事业 、通信 、金融等多类应用并存的业务需求 。智能卡运行平台技术架构见图 1。

  图 1 智能卡运行平台技术架构图

  5.2 安全域

  5.2. 1 分类要求

  依据卡外实体的不同授权 ,安全域应包含以下三类 :

  a) 主控安全域 ;

  b) 辅助安全域 ;

  c) 授权管理者安全域 。

  5.2.2 功能要求

  安全域应提供至少下列安全服务 :

  a) 密钥管理 ;

  b) 加密解密 ;

  c) 数字签名的生成与验证 。

  5.3 GP环境

  5.3. 1 功能要求

  GP环境的主要功能应包括向应用提供 API、指令分发 、应用选择 、逻辑通道管理 、卡片内容管理 、应用代码的加载和存储器管理 。

  5.3.2 注册表

  GP环境可使用一个内部的 GP注册表作为卡片内容管理的信息源 。该 GP注册表应包含卡片 、可执行加载文件 、应用 、关联安全域和权限等内容的信息 。

  5.4 全局服务应用

  卡上可存在若干全局服务应用向卡片的其他应用提供服务 。

  5.5 卡片内容

  5.5. 1 存在方式

  卡片内容应以可执行加载文件的形式存在 ,包括以下存在方式 :

  a) 只读存储器 : 内容是在卡片制造阶段加载的 ,除了禁用操作外 ,不能对其做任何修改 ;

  b) 可变存储器 : 内容是卡片个人化前和卡片个人化后都可被加载或删除的 。

  5.5.2 卡片内容关系

  当安装应用时 ,可变存储器应生成一个应用 ,包含可执行模块或者应用数据 。所有的应用及其相关数据在安全条件下可被删除 。 当可执行模块存在时 ,卡片内容关系见图 2。

  图 2 卡片内容关系图

  5.6 智能卡 API

  智能卡可向上层应用提供运行环境 API、GP API、支持国密算法的 API、支持获取安全认证识别码的 API等 。安全认证识别码应与智能卡应用一起下载到安全域中 。智能卡 API在卡片逻辑架构中所处的层次 ,见图 3。智能卡逻辑架构应包括 :

  a) 硬件层是指芯片硬件 ,包括密码算法协处理 ;

  b) 驱动层包括各硬件接口驱动 , 以及和密码算法协处理器配套的算法库 ;

  c) 片上操作系统层是支持多应用运行环境的片上操作系统 , 向应用层提供各种 API接 口 ;

  d) 应用层包括各种用户应用 。

  图 3 智能卡逻辑架构

  6 生命周期模型

  6. 1 卡片生命周期

  6. 1. 1 管理要求

  GP环境应负责维护卡片及其内容的安全及管理 。GP环境的生命周期应等同于卡片的生命周期 。从 GP 的角度看 ,卡片生命周期应开始于 GP 的准备状态 ,结束于终结状态 。

  6. 1.2 卡片生命周期状态

  6. 1.2. 1 准备状态

  6. 1.2. 1. 1 卡内实体

  卡片处于准备状态时 ,运行环境应就位 ,主控安全域作为已经被选择的应用 ,应做好接收 、处理 、响应 APDU命令的准备 。 当卡片处于准备状态时 ,应符合以下要求 :

  a) 运行环境应完成执行的准备 ;

  b) GP环境应完成执行的准备 ;

  c) 对于所有的卡片界面 ,主控安全域应处于隐式已选择状态 ;

  d) 驻留在只读存储器中的可执行加载文件应已注册至 GP注册表 ;

  e) 主控安全域中应具有可用的初始密钥 。

  6. 1.2. 1.2 卡外实体

  卡外实体可在卡片处于准备状态时执行以下操作 :

  a) 加载或安装辅助安全域 ;

  b) 安装辅助安全域密钥 。

  6. 1.2.2 初始化状态

  初始化状态应表明某些初始化信息(如主控安全域的密钥及数据) 已载入到卡片上 ,此时卡片不应发行给持卡人 。从准备状态到初始化状态的迁移应是不可逆的 。

  6. 1.2.3 安全状态

  安全状态在卡片生命周期中应是发卡个人化结束后的一个状态 ,并应符合以下要求 :

  a) 安全域和应用可利用此状态执行安全策略 ;

  b) 从初始化状态到安全状态的迁移应是不可逆的 ;

  c) 主控安全域应包含所必需的密钥及满足完备功能的安全因素 。

  6. 1.2.4 锁定状态

  锁定状态不应对卡片上的安全域和应用进行选择 ,并应符合以下要求 :

  a) 从安全状态到卡锁定状态的迁移应是可逆的 ;

  b) 只有具备 “最后应用权限 ”的应用才可在此状态下被选中 ;

  c) 对卡片内容的任何改变应是不允许的 ;

  d) GP环境本身及具备 “卡片锁定权限 ”的安全域或应用 ,可启动从安全到锁定状态的迁移 。

  6. 1.2.5 终结状态

  终结状态应是卡片生命周期的结束 ,并应符合以下要求 :

  a) 从任何其他状态到终结状态的迁移都应是不可逆的 ;

  b) 当发现卡片遭受严重威胁或者已经过期时 ,某个应用可在逻辑意义上 “销毁 ”卡片 ,并应符合以下要求 :

  1) 如果此时某个安全域具备 “最终应用权限 ”,则只有 GET DATA命令应被处理 ,其他命令都应被禁止 ,且返回为一个错误 ;

  2) 如果此时某个应用具备 “最终应用权限 ”,则其对命令的处理策略应由发卡方定义 。

  c) GP环境本身及具备 “卡片终结权限 ”的安全域或应用 , 可启动从任何其他状态到终结状态的迁移 。

  6. 1.3 卡片生命周期状态的迁移

  卡片生命周期状态迁移 ,见图 4。并应符合以下要求 :

  a) 准备状态和初始化状态应适用于卡片生命周期中的个人化结束前阶段 ;

  b) 安全状态 、锁定状态和终结状态应适用于个人化结束后的阶段 ;

  c) 在卡片生命周期的任何时刻可使卡片进入终结状态 ;

  d) 状态迁移可出现反向迁移或状态跳跃 。

  图例 :

  具有特权的安全域

  特权应用 …

  图 4 卡片生命周期状态迁移

  6.2 可执行加载文件/可执行模块生命周期

  6.2. 1 可执行加载文件生命周期

  6.2. 1. 1 状态

  可执行加载文件的生命周期应只有已加载一个状态 ,并应符合以下要求 :

  a) GP环境应确定卡上所有可执行加载文件都处在已加载状态 ;

  b) 通过加载过程成功载入卡片后生成的可执行加载文件 ,应注册为 GP注册表中的一个条目 ;

  c) 只读存储器中的可执行加载文件应自动注册为 GP 注册表的条目 ,且从注册时起就关联到主控安全域 。

  6.2. 1.2 文件删除

  GP环境收到删除可执行加载文件的请求后 ,应符合以下要求 :

  a) 回收可执行加载文件驻留的存储器空间 ,并重新利用 ,GP注册表中该可执行加载文件及其包含的每个可执行模块对应的条目应设为不可访问 ;

  b) GP环境无需对已删除的可执行加载文件或可执行模块保留其曾经存在过的记录 ;

  c) 当删除请求同时要求对可执行加载文件中的可执行模块下的应用也进行删除时 ,每个被删除应用的要求见 6. 3. 2. 5 或 6. 3. 4. 6。

  6.2.2 可执行模块生命周期

  可执行模块的生命周期应与可执行加载文件的生命周期一致 。

  6.3 应用与安全域生命周期

  6.3. 1 管理要求

  应用或安全域的生命周期应从可执行模块实例化成功开始 ,其生命周期反映了 GP环境管理的状态和自身管理的状态 ,并应符合下列要求 :

  a) 在应用或安全域安装过程中 ,应用注册为 GP注册表的条目 ,其生命周期状态应被 GP环境设置为已安装 ; 当安装过程中收到了选择该应用的请求 ,且该应用是可选择的 ,则 GP环境应将该应用的生命周期状态设为可选择 ;

  b) 当应用或安全域是可选择的 ,则开始管理其自身的生命周期 , 生命周期状态的迁移应由应用或安全域定义 ;

  c) 在应用或安全域生命周期的任何时刻 , GP环境都可将应用或安全域的生命周期状态设置为已锁定 ,并应具有从卡片上删除应用的能力 。

  6.3.2 应用生命周期状态

  6.3.2. 1 状态分类

  应用生命周期状态应包括 :

  a) 已安装状态 ;

  b) 可选择状态 ;

  c) 已锁定状态 。

  6.3.2.2 已安装状态

  当应用处于已安装状态时 ,应用的可执行代码应已正确链接 ,并完成了所有必需的存储器分配 。该应用在卡片注册表中应注册为一个条目 ,经过与该应用关联的安全域认证后的卡外实体可对该条目进行访问 ,该应用此时应不能被选择 。安装过程无需与应用个人化相关 ,个人化操作可单独完成 。

  6.3.2.3 可选择状态

  当应用处于可选择状态时 ,可接收来自卡外实体的命令 。从已安装状态到可选择状态的迁移应是不可逆的 。在设置为可选择状态前 ,应用应已经正确安装且功能正常 。应用的生命周期从已安装状态迁移到可选择状态 ,可同应用的安装一起进行 。

  6.3.2.4 已锁定状态

  已锁定状态应符合下列要求 :

  a) GP环境 、应用及其关联的安全域 、具备 “全局锁定权限 ”的应用及安全域 ,都可利用已锁定状态作为安全管控的手段 , 以阻止该应用的选定与执行 ;

  b) 当卡外实体受到安全的原因 ,需要将卡上的某个特定应用进行锁定 ,可借助 GP环境来启动应用生命周期状态的迁移 ;

  c) 当处于已锁定状态 ,只有与应用关联的安全域 、具备 “全局锁定权限 ”的应用及安全域 ,才可对应用进行解锁 。GP环境应确保应用生命周期能够恢复到锁定前的状态 。

  6.3.2.5 应用删除

  GP环境可在应用生命周期的任何时刻 , 收到删除某个应用的请求 。 被删除应用的存储器空间应被回收并可供重新利用 ,GP注册表中该应用对应的条目应设为不可访问 ,GP环境也无需对已删除的

  应用保留其存在记录 。

  6.3.3 应用自定义的生命周期状态

  GP环境不应对应用自定义的生命周期状态之间的迁移进行任何控制 。

  6.3.4 安全域生命周期状态

  6.3.4. 1 状态分类

  安全域生命周期状态如下 :

  a) 已安装状态 ;

  b) 可选择状态 ;

  c) 已个人化状态 ;

  d) 已锁定状态 。

  6.3.4.2 已安装状态

  当安全域处于已安装状态时 ,该安全域应注册为 GP注册表中的一个条目 ,经过关联的安全域认证后的卡外实体可对该条目进行访问 。该状态下安全域应不能被选择 ,且该安全域不能与可执行加载文件或应用相关联 ,应用不可使用该安全域提供的安全域服务 。

  6.3.4.3 可选择状态

  安全域处于可选择状态时 ,该安全域可接收来自卡外实体的命令(特别是个人化命令) 。安全域不可与可执行加载文件或应用关联 ,应用不可使用该安全域提供的安全域服务 。从已安装状态到可选择状态的迁移应是不可逆的 ,安全域的生命周期从已安装状态迁移到可选择状态 ,可与安全域的安装一起进行 。

  6.3.4.4 已个人化状态

  安全域应确定迁移到已个人化状态需要的操作 。该状态下的安全域应拥有所有的个人化数据和密钥 ,并可同应用相关联 ,使其能向关联的应用提供服务 。从可选择状态到已个人化状态的迁移应是不可逆的 。

  6.3.4.5 已锁定状态

  已锁定状态应符合下列要求 :

  a) GP环境 、安全域及其关联的其他安全域 、具备 “全局锁定权限 ”的应用及安全域 ,都可利用已锁定状态作为安全管控的手段 , 以阻止该安全域的选定 ;

  b) 当卡外实体受到安全威胁时 ,可通过 GP环境来启动安全域生命周期状态的迁移 ,将卡上的某个特定安全域应用进行锁定 ;

  c) 当安全域处于已锁定状态时 ,应拒绝所有接收到的命令 ;

  d) 当安全域处于已锁定状态时 , 只有与该安全域关联的其他安全域 、具备 “全局锁定权限 ”的应用及安全域 ,才可对安全域进行解锁 。 GP环境应确保安全域生命周期能够恢复到锁定前的状态 。

  6.3.4.6 安全域删除

  GP环境可在安全域生命周期的任何时刻 , 收到删除某个安全域的请求 。 被删除安全域的存储器

  空间应被回收并可供重新利用 ,GP注册表中该应用对应的条目应设为不可访问 ,GP环境也无需对已删除的安全域保留存在记录 。

  6.3.5 安全域生命周期状态迁移

  安全域生命周期状态迁移应是顺序过程 ,可出现反向变迁或状态跳跃 。安全域生命周期的状态迁移见图 5。

  图例 :

  1. 授权安全域

  2. 委托安全域

  3. 相关联的安全域

  4. 拥有全局锁特权的安全域或者应用

  5. 安全域本身

  图 5 安全域生命周期状态迁移图

  6.4 生命周期示例

  生命周期示例参见附录 A。

  7 通用平台(GP)运行环境

  7. 1 功能要求

  GP环境架构可被视作建立在 GP注册表之上的系统功能集合 。GP注册表应是支持不同 GP系统功能的数据集合 ,GP环境应支持以下功能 :

  a) 命令分发 。具体包括 :

  1) 应用和安全域的选择 ;

  2) 逻辑通道的管理 ;

  3) 命令的分发 。

  b) 卡片内容管理 。具体包括 :

  1) 内容验证 ;

  2) 内容加载 ;

  3) 内容安装 ;

  4) 内容删除 ;

  5) 卡片内容管理的访问控制规则 。

  c) 安全管理 。具体包括 :

  1) 安全域的锁定和解锁 ;

  2) 应用的锁定和解锁 ;

  3) 卡片的锁定和解锁 ;

  4) 卡片终结 ;

  5) 权限的使用 ;

  6) 安全域权限的使用 ;

  7) 跟踪和事件日志 。

  d) GP可信任框架 。

  7.2 GP环境服务

  应用和安全域应能访问或修改 GP环境的某些内容 。根据发起请求的实体相关权限 ,GP环境应提供以下服务 :

  a) 获取 GP环境保存在 GP注册表中应用自身的生命周期状态 ;

  b) 获取卡片的生命周期状态 ;

  c) 获得访问与应用相关联的安全域所提供服务的途径 ;

  d) 将卡片的生命周期状态置为已锁定状态 ;

  e) 对卡片设置历史字节 ;

  f) 对 GP环境保存在 GP注册表中应用自身的生命周期状态进行迁移 ;

  g) 将卡片的生命周期状态置为终结状态 ;

  h) 获得访问 GP注册表信息的途径 。

  7.3 命令分发

  7.3. 1 处理方式

  卡片收到的命令应由 GP环境处理或分发到被选定应用来处理 。

  7.3.2 GP环境处理

  GP环境处理应符合下列要求 :

  a) 对于所有的命令而言 ,如果命令中指定了一个不能打开的逻辑通道 ,其处理方式应符合以下要求 :

  1) 如果卡片无法识别逻辑通道 ,那么该命令应分发到被选定的应用进行处理 ;

  2) 如果卡片能识别逻辑通道 ,则 GP环境应进行 “错误 ”响应 。

  b) SELECT [by name]命令应由 GP环境处理 。 主控安全域成为被选定应用的方法应符合以下要求 :

  1) 在 SELECT命令中指定主控安全域的应用标识符(AID) ;

  2) 卡外实体应在 SELECT命令对应的响应中得到主控安全域的 AID。

  c) MANAGE CHANNEL命令的处理应取决于卡片的能力 ,并应包含以下情况 :

  1) 如果卡片能识别逻辑通道但只支持基本逻辑通道 ,则 GP环境应进行 “错误 ”响应 ;

  2) 如果卡片能识别逻辑通道且能够支持至少一个辅助逻辑通道 ,则 GP环境应对该命令进行处理 ;

  3) 如果卡片无法识别逻辑通道 ,那么该命令应分发到被选定的应用进行处理 。

  7.3.3 被选定应用处理

  被选定应用处理应符合以下要求 :

  a) 除 SELECT [by name] 、MANAGE CHANNEL之外的其他类型命令应分发到当前被选定的应用进行处理 ;

  b) 命令既可通过基本逻辑通道(逻辑通道编号为 0) ,也可通过附属逻辑通道(逻辑通道编号不为0)进行收取 ;

  c) 为了与符合 GB/T 16649. 4 的接触式卡相兼容 ,应在 APDU命令头的命令消息类型标识字节中指定逻辑通 道 的 信 息 。 支 持 多 个 逻 辑 通 道 的 卡 片 主 控 安 全 域 不 应 存 在 多 重 选 定 方 面 的限制 。

  7.4 逻辑通道和应用选择

  7.4. 1 隐式选择分配

  7.4. 1. 1 分配原则

  应用的隐式选择分配应符合以下原则 :

  a) 主控安全域应作为卡片所有 I/O接口上的所有逻辑通道默认的隐式可选择应用 。

  b) 当卡片 I/O接口某个逻辑通道的隐式可选择应用被删除时 , 主控安全域应成为该接口的该逻辑通道的隐式可选择应用 。

  7.4. 1.2 运行行为

  GP环境应通过每个应用的隐式选择注册信息控制下列运行行为 :

  a) 在卡片复位或激活时 ,应识别卡片当前 I/O接口的基本逻辑通道上的隐式可选择应用 ;

  b) 在卡片当前 I/O接口上通过基本逻辑通道打开一个新的附属逻辑通道时 ,应识别该附属逻辑通道上的隐式可选择应用 。

  7.4.2 基本逻辑通道

  7.4.2. 1 管理要求

  卡片的基本逻辑通道应为永久性可用接 口 ,并应被 GP环境所支持 。GP环境也可对附加选择过程进行处理 。GP环境应支持基于非完整 AID 的应用选择 。GP环境应借助以下两种方式来处理基本逻辑通道上的应用选择 :

  a) 卡片复位或者卡片激活之后的隐式选择 ;

  b) 通过 SELECT [by name]命令进行的显式选择 。

  7.4.2.2 应用选择

  7.4.2.2. 1 隐式选择

  当卡片会话已经建立且第一个命令发送到卡片之前 ,卡片对应的 I/O接口的基本逻辑通道上定义的隐式可选择应用应成为该接口基本逻辑通道上的已选择应用 。GP环境对隐式应用选择的处理应符合下列要求 :

  a) 如果卡片在生命周期中处于已锁定状态或终结状态 ,具备 “最终应用权限 ”的应用应是基本逻辑通道上的已选定应用 ,GP环境不应尝试辨识隐式可选择应用 ;

  b) 在其他情况下 ,GP环境应搜索 GP注册表以找出当前卡片 I/O接口的基本逻辑通道上标记为隐式可选择的应用 ,并应符合下列要求 :

  1) 如果该应用的生命周期状态不是已锁定状态 ,就应是该基本逻辑通道的已选定应用 ;

  2) 如果该应用的生命周期状态是已锁定状态 ,则具备 “最终应用权限 ”的应用是基本逻辑通道上的已选定应用 。

  7.4.2.2.2 显式选择

  7.4.2.2.2. 1 选择条件

  某个应用成为基本逻辑通道上的已选定应用应符合以下要求 :

  a) 命令请求的 AID(完全或部分地)与该应用的 AID相匹配 ;

  b) 被选定的该应用处于正确的生命周期状态 ;

  c) 该应用没有多重选择上的约束 ,且支持当前的卡片接 口 。

  7.4.2.2.2.2 运行行为

  当在基本逻辑通道上进行应用的显式选择时 ,GP环境的运行行为(以下要求不适用于终结状态)应符合下列要求 :

  a) 当卡片的生命周期状态设置成已锁定状态时 ,应符合下列要求 :

  1) 当选择的应用具备 “最终应用权限 ”时 ,则该应用又重新被选定 ,并给卡外实体返回警告 ;

  2) 当选择其他应用时 ,则具备 “最终应用权限 ”的应用继续被选定 ,并给卡外实体返回错误 。

  b) 当收到的 SELECT [by name] [firstoronly occurrence]命令或是 SELECT [by name] [next occurrence]命令消息没有数据域时 ,则主控安全域应成为当前的已选定应用 ,且 SELECT命令被分发到主控安全域 。

  c) 当收到 SELECT [by name] [firstor only occurrence]命令时 ,应从 GP注册表的起始条目进行搜索 。

  d) 当收到 SELECT [by name] [nextoccurrence]命令时 ,应从该基本逻辑通道上已选定应用在GP注册表中的下一个条目开始搜索 。

  e) 当搜索到完全或部分匹配的应用 ,且其生命周期状态为已安装状态时 ,继续通过 GP注册表搜索下一个完全或部分匹配的应用 。如未搜索到 ,则 GP环境应给卡外实体返回错误 。

  f) 当搜索到完全或部分匹配的应用 ,且其生命周期状态为已锁定状态时 ,继续通过 GP注册表搜索下一个完全或部分匹配的应用 。如果发现该锁定的应用是基本逻辑通道上的已选定应用 ,则 GP环境应中止其对应的应用会话 。如未搜索到 ,则 GP环境应给卡外实体返回错误 。

  g) 当搜索到完全或部分匹配的应用 ,且其因为对多重选择的限制或该应用拒绝被选择(如它不支持当前的卡片接口)时 ,继续通过 GP注册表搜索下一个完全或部分匹配的应用 。如未搜索到 ,则 GP环境应给卡外实体返回错误 。

  h) 当搜索到完全或部分匹配的应用 ,且该应用为可选择的(正处于正确的生命周期状态 ,且没有多重选择的限制) ,则 该 应 用 应 成 为 基 本 逻 辑 通 道 上 的 当 前 已 选 定 应 用 , 接 收 到 的 SELECT [by name]命令 ,无论其参数是[first or only occurrence]还是[next occurrence] ,都应由运行环境进行处理 。

  i) 当搜索不到完全或部分匹配的应用 ,则基本逻辑通道上的当前已选定应用保持不变 ,并应符合下列要求 :

  1) 如果 SELECT [by name]命令的参数设置为[firstor only occurrence] ,则该 SELECT命令被分发到该应用 ;

  2) 如果 SELECT [by name]命令的参数设置为[nextoccurrence] ,则 GP环境应给卡外实体返回错误 。

  j) 当前应用会话已经终结且搜索不到完全或部分匹配的应用 ,则 GP环境应尝试将当前卡片接口基本逻辑通道上标记为隐式可选择的应用选择为已选定应用 。

  7.4.2.3 逻辑通道管理

  7.4.2.3. 1 基本要求

  逻辑通道管理应符合下列要求 :

  a) 当能够识别逻辑通道的卡片收到 MANAGE CHANNEL [open]命令时 ,应符合下列要求 :

  1) 如果某个应用被预设为当前卡片接口的新附属逻辑通道上的隐式可选择应用 ,则该应用会在打开新的附属逻辑通道时 ,被隐式选择为当前应用 ,且会发生相应的运行行为 ;

  2) 如果没有应用被预设为当前卡片接口的新附属逻辑通道上的隐式可选择应用 ,则已被预设为当前卡片接口的基本逻辑通道上的隐式可选择应用应作为新的附属逻辑通道上的隐式可选择应用 ,且会发生相应的运行行为 。

  b) 当能够识别逻辑通道的卡片收到 MANAGE CHANNEL [close]命令时 ,应符合下列要求 :

  1) 终结命令中指定的附属逻辑通道上的当前已选定应用会话 ,并关闭该逻辑通道 ;

  2) 如果命令中指定的是基本逻辑通道 ,则该逻辑通道不会被关闭 。

  7.4.2.3.2 运行行为

  当 GP环境收到 MANAGE CHANNEL [open]命令时 ,运行行为应符合下列要求 :

  a) 如果卡片生命周期状态为已锁定状态或终结状态 ,则返回适当的错误 ;

  b) 如果 GP环境支持的逻辑通道数量不足以支持打开新的附属逻辑通道 ,则返回错误 ;

  c) GP环境应搜索 GP注册表以查找当前支持卡片接口且标记为新附属逻辑通道上隐式可选择的应用 ,并应符合下列要求 :

  1) 如果找到应用的生命周期状态为已锁定状态 ,则具备 “最终应用权限 ”的应用应成为该附属逻辑通道上的已选定应用 ;

  2) 如果找到应用限制进行多重选择 ,则不能打开新逻辑通道且 GP环境应返回错误 ;

  3) 在其他情况下 ,会打开新附属逻辑通道 ,且找到的应用应成为该附属逻辑通道上的已选定应用 。

  7.4.2.4 应用命令分发

  当某个应用成为基本逻辑通道上的已选定应用 ,后续命令的分发应由 GP环境来控制 。 在能够识别逻辑通道的卡片上 ,MANAGE CHANNEL命令应仅由 GP环境处理 ,其他所有命令应立即分发到基本逻辑通道的当前已选定应用 。

  7.4.3 附属逻辑通道

  7.4.3. 1 管理要求

  GP环境应在附属逻辑通道上支持基于非完整 AID 的应用选择 。 在一个可用的附属逻辑通道上 , GP环境应通过下列途径支持应用选择 :

  a) 成功处理 MANAGE CHANNEL [open]命令后的隐式选择 ;

  b) 通过 SELECT [by name]命令进行的显式选择 。

  7.4.3.2 应用选择

  7.4.3.2. 1 隐式选择

  附属逻辑通道应由基本逻辑通道或者另一个附属逻辑通道打开 ,其应用的隐式选择表现可不同 。

  7.4.3.2.2 显式选择

  7.4.3.2.2. 1 选择条件

  某个应用成为附属逻辑通道上的已选定应用应符合下列要求 :

  a) 命令请求的 AID(完全或部分地)与该应用的 AID相匹配 ;

  b) 被选定的该应用处于正确的生命周期状态 ;

  c) 该应用没有多重选择上的约束 ,且支持当前的卡片接 口 。

  7.4.3.2.2.2 运行行为

  当在附属逻辑通道上进行应用的显式选择时 ,GP环境的运行行为应符合下列要求 :

  a) 当卡片的生命周期状态设置成已锁定状态或终结状态时 ,关闭打开的附属逻辑通道 ,并给卡外实体返回错误响应 。

  b) 当收到的 SELECT [by name] [firstoronly occurrence]命令或是 SELECT [by name] [next occurrence]命令消息没有数据域时 ,则主控安全域应成为当前的已选定应用 ,且 SELECT命令应被分发到主控安全域 。

  c) 当收到 SELECT [by name] [firstor only occurrence]命令时 ,应从 GP注册表起始条目进行搜索 。

  d) 当收到 SELECT [by name] [nextoccurrence]命令时 ,应从该附属逻辑通道上已选定应用在GP注册表中的下一个条目开始搜索 。

  e) 当搜索到完全或部分匹配的应用 ,且其生命周期状态为已安装状态时 ,应继续通过 GP注册表搜索下一个完全或部分匹配的应用 。如未搜索到 ,则 GP环境应给卡外实体返回错误 。

  f) 当搜索到完全或部分匹配的应用 ,且其生命周期状态为已锁定状态时 ,应继续通过 GP注册表搜索下一个完全或部分匹配的应用 。如发现该锁定的应用是附属逻辑通道上的已选定应用 ,则 GP环境应中止其对应的应用会话 。如未搜索到 ,则 GP环境应给卡外实体返回错误 。

  g) 当搜索到完全或部分匹配的应用 ,且其因为对多重选择的限制或该应用拒绝被选择时 ,应继续通过 GP注册表搜索下一个完全或部分匹配的应用 。 如未搜索到 ,则 GP环境应给卡外实体返回错误 。

  h) 当搜索到完全或部分匹配的应用 ,且该应用为可选择的 ,则该应用应成为附属逻辑通道上的当前已选定应用 ,接收到的 SELECT [by name]命令 ,无论其参数是[firstoronly occurrence]还是[nextoccurrence] ,都应由运行环境进行处理 。

  i) 当搜索不到完全或部分匹配的应用 ,则附属逻辑通道上的当前已选定应用保持不变 ,并应符合下列要求 :

  1) 如 SELECT [by name]命令的参数设置为[firstor only occurrence] ,则该 SELECT命令被分发到该应用 ;

  2) 如 SELECT [by name]命令的参数设置为[nextoccurrence] ,则 GP环境应给卡外实体返回错误 。

  7.4.3.3 逻辑通道管理

  7.4.3.3. 1 基本要求

  GP环境可在附属逻辑通道上收到打开或关闭一个附属逻辑通道的请求 ,并应符合下列要求 :

  a) 当收到 MANAGE CHANNEL [open]命令时 ,若原先的附属逻辑通道上的已选定应用对多重选择没有限制 ,则该应用应在打开新的附属逻辑通道时 ,成为新逻辑通道的当前已选定应用 ;

  b) 当卡片收到 MANAGE CHANNEL [close]命令时 ,终结命令中指定的附属逻辑通道上的当前已选定应用会话 ,并关闭该逻辑通道 。

  7.4.3.3.2 运行行为

  收到 MANAGE CHANNEL [open]命令时 ,运行行为应符合下列要求 :

  a) 如果卡片生命周期状态为已锁定状态或终结状态 ,则返回适当的错误 ;

  b) 如果 GP环境支持的逻辑通道数量不足以支持打开新的附属逻辑通道 ,则返回错误 ;

  c) 如果原先附属逻辑通道上的当前已选定应用在新的附属逻辑通道上限制进行多重选择 ,则不能打开新逻辑通道 ,且 GP环境应返回错误 ;

  d) 在其他情况下 ,命令中指定的附属逻辑通道会被打开 , 原先的附属逻辑通道上的已选定应用应成为新逻辑通道的当前已选定应用 。

  7.4.3.4 应用命令分发

  当某个应用成为附属逻辑通道上的已选定应用时 ,后续命 令 的 应 由 GP 环 境 来 控 制 。 MANAGE CHANNEL命令应由 GP环境处理 ,其他所有命令应立即分发到附属逻辑通道的当前已选定应用 。

  7.5 GP注册表

  7.5. 1 应用范围和更新操作

  应用 、安全域 、可执行加载文件都 应 为 GP 注 册 表 中 的 条 目 , GP 注 册 表 的 内 容 应 根 据 内 置 GP 环境 、授权应用发起的操作而更新 。GP注册表应用于 :

  a) 保存卡片管理信息 ;

  b) 保存相关的应用管理信息 ;

  c) 支持卡片资源管理数据 ;

  d) 保存应用生命周期信息 ;

  e) 保存卡片生命周期信息 ;

  f) 跟踪与 日志关联的计数器 。

  7.5.2 应用/可执行加载文件/可执行模块等数据元素

  7.5.2. 1 AID

  AID应符合下列要求 :

  a) 每个可执行加载文件或可执行模块应与卡片上某个唯一的 AID相关联 ;

  b) 每个应用的 AID可与可执行模块的 AID相同 ,但不可以与可执行加载文件或者另一个 GP注册表中已经存在应用的 AID相同 ;

  c) 可在 SELECT命令中指定应用的 AID,不可选择可执行加载文件或可执行模块 。

  7.5.2.2 生命周期

  应用生命周期状态数据元素应包含应用 、可执行加载文件 、可执行模块的当前生命周期状态 。

  7.5.2.3 存储器资源管理参数

  资源管理数据元素应包括一个应用可以分配的存储器资源等信息 ,具体数值应与具体的卡片系统有关 。GP环境可利用作为管理存储器分配的一种控制机制 。 当某个应用请求更多的资源时 ,GP环境应利用保存在 GP注册表中的该数据元素来查验这个请求 。

  7.5.2.4 权限

  权限数据元素应表明每个应用具备的权限 。

  7.5.2.5 隐式应用选择参数

  隐式应用选择参数应表明应用在某接口的某逻辑通道上是否为隐式可选择的 。

  7.5.2.6 关联安全域的 AID

  可执行加载文件和应用应与某个安全域相关联 ,安全域的 AID应注册在 GP注册表中 。安全域也可与其他安全域相关联 ,被关联的安全域既可是另一个安全域 ,也可是发起关联的安全域本身 。

  7.5.2.7 应用提供方 ID

  GP注册表应保存作为应用和可执行加载文件所有者的应用提供方标识 ,该标识应在加载和安装过程中明确指定 。卡内实体可利用此信息来贯彻安全策略 。

  7.5.3 卡片级数据

  卡片生命周期状态应保存在 GP注册表中 ,任何对 GP环境卡片管理功能的限制都应保存在 GP注册表中 。

  7.6 权限

  7.6. 1 权限定义

  安全域和应用的权限定义应符合表 1 的要求 。

  表 1 权限定义

  表 1 (续)

  7.6.2 权限分配

  权限分配应符合下列要求 :

  a) 在某个卡片接口上 ,卡片在任意时刻只有一个应用或安全域可设置成拥有 “卡片复位权限 ”;

  b) 当某个应用被分配 了 “卡 片 复 位 权 限 ”之 后 , 可 通 过 删 除 该 应 用 或 撤 销 这 个 分 配 的 权 限 的 方式 ,将 “卡片复位权限 ”分配给新的应用 ;

  c) “卡片复位权限 ”在缺省的情况下应分配给主控安全域 。 只有当主控安全域具备了 “卡片复位权限 ”时 ,才能重新分配该权限 ;

  d) 当拥有 “卡片复位权限 ”的应用被删除时 ,则该权限重新被分配给主控安全域 ;

  e) “最终应用权限 ”在缺省的情况下应分配给主控安全域 。 只有当主控安全域具备了 “最终应用权限 ”时 ,才能重新分配该权限 ;

  f) 卡片在任意时刻只有一个应用或安全域可设置成拥有 “最终应用权限 ”;

  g) 当某个应用被分配 了 “最 终 应 用 权 限 ”之 后 , 可 通 过 删 除 该 应 用 或 撤 销 这 个 分 配 的 权 限 的 方式 ,将 “最终应用权限 ”分配给新的应用 ;

  h) 当拥有 “卡片复位权限 ”的应用被删除时 ,则该权限重新被分配给主控安全域 ;

  i) “授权管理权限 ”和 “委托管理权限 ”应互斥 , “令牌验证权限 ”和 “委托管理权限 ”应互斥 , “收条创建权限 ”和 “委托管理权限 ”应互斥 ,其他权限不应互斥 。

  7.6.3 权限集

  当卡片生命周期状态为准备状态时 ,主控安全域应初始化为拥有以下权限集 :

  a) 安全域权限 ;

  b) 授权管理权限 ;

  c) 全局注册表权限 ;

  d) 全局锁定权限 ;

  e) 全局删除权限 ;

  f) 令牌验证权限 ;

  g) 卡片锁定权限 ;

  h) 卡片终结权限 ;

  i) 可信路径权限 ;

  j) CVM管理权限 ;

  k) 卡片复位权限 ;

  l) 最终应用权限 ;

  m) 收条创建权限 。

  7.6.4 缺省权限

  权限可在应用或安全域的生命周期中添加或收回 。为了同只支持 0~ 7号权限的卡片向后兼容 ,缺省权限应符合表 2 的要求 。

  表 2 缺省权限

  7.6.5 权限管理

  GP环境应运用权限的数据元素和每个应用的隐式选择参数 , 控制检查修改历史字节的请求合法性 ,对双界面卡来说 ,此修改应针对卡片接口上的历史字节进行 ,且该卡片接口已被正在请求的卡上应用注册为隐式可选择 ,卡片宜仅支持基本逻辑通道 。GP环境应运用权限的数据元素和应用的关联层次来控制下列运行行为 :

  a) 在需要时确保令牌的验证 ;

  b) 在需要时确保收条的创建 ;

  c) 在需要时确保 DAP验证的进行 ;

  d) 检查加载 、安装 、迁移 、注册表更新或是删除等改变卡片内容的请求合法性 ;

  e) 检查锁定或解锁卡片的请求合法性 ;

  f) 检查锁定或解锁应用和安全域的请求合法性 ;

  g) 检查终结卡片的请求合法性 ;

  h) 检查与另一个卡片应用进行通信的请求合法性 ;

  i) 检查访问另一个应用或安全域在 GP注册表中条目的请求合法性 ;

  j) 当卡片处于已锁定状态或终结状态时 ,辨识出具备 “最终应用权限 ”的应用 ,使其成为缺省的已选定应用 。

  7.7 GP可信任框架

  当应用的安全域作为接收实体收到 APDU命令后 ,在将其发给 GP可信任框架之前 ,应对该命令进行解包操作 。 目标应用可通过安全域建立的安全会话通道来使用安全域可用的加解密服务 。GP可信任框架应进行下列检查 :

  a) 接收实体具备 “可信任路径权限 ”;

  b) 接收实体是一个安全域 ;

  c) 目标应用在 GP注册表中有对应的条目 ,且激活了 “过程数据 ”的访问入 口 ;

  d) 如果目标应用已在另一条逻辑通道上成为已选定应用 ,则该应用没有多重选择限制 ;

  e) 目标应用关联到作为当前接收实体的安全域 。

  8 安全域

  8. 1 管理要求

  支持多个安全域的卡应允许应用提供方通过自身的安全域管理其应用 ,并使用安全域密钥向应用提供加解密服务 ,各安全域应负责管理其密钥 。安全域的密钥和加密算法应包括如下用途 :

  a) 个人化支持 :在应用提供者的应用进行个人化过程中提供安全通信支持 ;

  b) 运行消息的支持 :为没有安全消息密钥的应用提供运行安全通信支持 。

  8.2 主控安全域特征

  主控安全域除了具有安全域的共有特征之外 ,还具备以下特征 :

  a) 安装在卡片上的第一个应用 ,在 GP注册表中被视为一个应用 ;

  b) 直接继承卡片的生命周期状态 ,不同于普通安全域的生命周期状态 ;

  c) 当具备 “卡片复位权限 ”的应用被删除后 ,主控安全域将具有该权限 ;

  d) 当与主控安全域在同一个卡片 I/O接口的同一个逻辑通道上的隐式可选择应用被删除后 , 主控安全域将成为该 I/O接口上的该逻辑通道上的隐式已选定应用 ;

  e) 当卡片 I/O接口的逻辑通道上的隐式可选择应用被删除后 , 主控安全域将成为该卡片接 口 的该逻辑通道上的隐式已选定应用 ;

  f) 主控安全域可通过不带命令数据域的 SELECT命令进行选择 ;

  g) 当具备 “最终应用权限 ”的应用被删除后 ,主控安全域将获得该权限 。

  8.3 安全域的关联

  主控安全域应关联到自身 ,安全域可通过迁移操作关联到 自身 。 卡片上可存在一个或多个安全域关联层次 ,每个关联层次的根是一个关联到自身的安全域 , 图 6展示了两个关联层次 。安全域与应用的关联应为直接关联 ,上一层安全域与这个应用的关联应为间接关联 。安全域关联内容应包括其自身 、与其在同关联层次中的所有应用和可执行加载文件 。

  图 6 安全域层级示例

  8.4 安全域服务

  8.4. 1 应用访问安全域服务

  8.4. 1. 1 服务内容

  应用应能通过其关联安全域提供的服务 ,依靠安全域的加密支持来保证个人化和运行的机密性和完整性 ,并应包含如下内容 :

  a) 通过验证卡外实体 ,初始化安全通道会话 ;

  b) 通过验证命令的完整性和/或解密被加密的数据 ,对在安全通道会话中接收的命令进行解包 ;

  c) 控制 APDU命令序列 ;

  d) 对私密数据块进行解密 ;

  e) 设定适用于下一条接收的命令和/或发出的响应的安全级别 ,包括完整性和机密性 ;

  f) 根据请求关闭安全通道会话 ,并销毁任何与该安全通道会话相关的机密信息 ;

  g) 根据支持的特定安全通道协议 ,安全域还可能包括如下服务 :

  1) 通过添加完整性处理和/或进行加密 ,对在安全通道会话中发送的响应进行打包 ;

  2) 加密私密数据块 ;

  3) 控制 APDU 响应序列 。

  8.4. 1.2 多安全通道会话处理要求

  安全域可支持多个并发的安全通道会话 ,或者仅管理一个安全通道会话 ,并应符合下列要求 :

  a) 当安全域支持管理多个并发的安全通道会话 ,则该安全域应能区分不同的安全通道会话及其各自的逻辑通道 ;

  b) 当安全域不支持管理多个并发的安全通道会话 ,则在当前安全通道会话相关的逻辑通道之外的其他逻辑通道上打开新的安全通道会话时 ,该安全域应拒绝该请求 ;

  c) 当某个应用请求其关联的安全域 ,在已经打开的安全通道会话相关的逻辑通道之外的其他逻辑通道上申请服务时 ,该安全域应拒绝该请求 。

  8.4.2 安全域访问应用服务

  安全域访问应用服务应符合下列要求 :

  a) 安全域应拥有接收 STORE DATA命令的单元 ,用以关联到该安全域的一个应用 ;

  b) 安全域在将该命令转发到应用之前 ,应根据当前安全级别 ,对该命令进行解包处理 ;

  c) 命令应通过 GP可信任框架发送给应用 ,可信任框架负责处理安全域和应用之间的相互通信 。

  8.4.3 个人化支持

  8.4.3. 1 支持方式

  应用的个人化数据应包括密钥及持卡方的特定数据等 。应用可利用其关联的安全域提供的安全通道和密钥解密服务管理这些数据的安全加载 ,并应符合下列方式 :

  a) 利用运行消息传送的支持 ;

  b) 利用安全域访问应用的能力 。

  8.4.3.2 处理实现

  应用关联的安全域接受数据完成个人化的示例见图 7。处理实现应符合下列要求 :

  a) 在收到 INSTALL [for personalization]命令和后续的 STORE DATA命令时 ,执行应用个人化的安全域应符合下列要求 :

  1) 运用自己的安全通信策略 ;

  2) 验证卡外实体为合法的应用提供方 ;

  3) 在将 STORE DATA命令转发到 目标应用之前 ,应根据当前安全级别 ,对该命令进行预处理 。

  b) 在收到转发命令给应用的请求时 ,GP环境应符合下列要求 :

  1) 确认卡片生命周期状态不应是已锁定状态或终结状态 ;

  2) 确认 GP环境和发起请求的卡内实体没有对个人化进行限制 ;

  3) 运用可信任框架运行的要求 。

  图 7 通过关联的安全域实现应用个人化

  8.4.4 运行消息支持

  安全域可向其直接关联的应用提供安全通信的运行支持 , 以替代向应用中加载附加通信密钥 ,运行消息流程见图 8。应用提供方可选择在应用的整个生命周期 ,利用该应用关联的安全域提供的服务来支持所有的应用通信 。

  图 8 运行消息流程

  8.5 安全域数据

  8.5. 1 主控安全域

  8.5. 1. 1 控制内容

  主控安全域应能够控制以下数据 :

  a) 主控标识编号(IIN) ;

  b) 卡片映像编号(CIN) ;

  c) 卡片标识数据 ;

  d) 其他卡发行者的私有数据 。

  8.5. 1.2 主控标识编号

  IIN 可 被 卡 外 实 体 用 来 关 联 卡 片 和 特 定 的 卡 片 管 理 系 统 。 典 型 的 IIN 应 包 含 了 符 合 ISO/IEC 7812定义的主控标识 ,并由符合 GB/T 16649. 6—2001 中标记号 “42”的数据模板持有 。 IIN 数据元素的长度应是可变的 。

  8.5. 1.3 卡片映像编号

  CIN可被卡片管理系统用来在它的卡片数据库中唯一标识某张卡片 , 由符合 GB/T 16649. 6—2001中标记号为“45”的数据模板持有 ,并由发卡方(通过 IIN 进行标识)分配 。CIN 数据元素的长度应是可变的 。

  8.5. 1.4 卡片标识数据

  卡片管理系统在能够与卡片交互之前 ,应得到卡片的信息 ,包括卡片类型和能够支持何种安全通道协议等 。卡片标识数据作为一种能够提供卡片信息的机制 ,应能避免反复尝试现象的发生 。 卡片标识数据应被包含在 GB/T 16649. 6—2001的标记号为 “73”的数据模板中 。 卡片数据可利用 GET DATA命令得到 。 除额外的动态数据对象外 ,卡片标识数据在卡上的动态更新应没有特殊要求 。

  注 : 卡片标识数据提供的信息应足够开启与卡片的通 信 , 而 不 必 借 助 反 复 尝 试 ,对 完 成 此 目 的 无 必 要 的 信 息 ,应 在接下来系统与卡片的交互过程中提供 。

  8.5.2 辅助安全域

  8.5.2. 1 控制内容

  辅助安全域可控制的标识数据包括 :

  a) 安全域提供方标识编号(SIN) ;

  b) 安全域映像编号 ;

  c) 安全域管理数据 ;

  d) 其他的应用提供方私有数据 。

  8.5.2.2 安全域提供方标识编号

  SIN可被卡外实体用来关联安全域和特定的卡片管理系统 ,且应是一个 IIN ,包含了符合 ISO 7812中定义的安全域提供方标识 ,并应由符合 GB/T 16649. 6—2001中标记号为“42”的数据模板持有 。SIN数据元素的长度应是可变的 。

  8.5.2.3 安全域映像编号

  安全 域 映 象 编 号 可 被 应 用 管 理 系 统 用 来 唯 一 标 识 卡 片 上 某 个 安 全 域 的 实 例 , 应 由 符 合 GB/T 16649. 6—2001中标记号为“45”的数据模板持有 ,其值是唯一的 。

  8.5.2.4 安全域管理数据

  安全域管理数据提供的信息应足够开启与卡片的通信 ,应能够避免反复尝试现象 ,并应符合下列要求 :

  a) 利用 SELECT命令的响应返回的安全域管理数据应被包含在 GB/T 16649. 6—2001的标记号为“73”的数据模板中 ;

  b) 利用 GET DATA命令的响应返回的安全域管理数据应被包含在 GB/T 16649. 6—2001 的标记号为“66”的数据模板中 。

  8.6 安全域密钥

  8.6. 1 密钥信息

  8.6. 1. 1 属性

  密钥应具有下列属性 :

  a) 密钥标识 :用来标识卡内实体的每个密钥 。 每个密钥可能包含一个或多个组件 。 每个密钥的所用密钥组件共享同一个密钥标识 。卡内实体不同的密钥标识应用来区分各个密钥及其用法和功能 。在分配密钥标识 ,包括同一实体的非连续密钥标识的时候 ,不必遵循任何约束或是预定义的顺序 ;

  b) 密钥版本号 :某个卡内实体的不同密钥版本号可用来标识同一密钥的不同实例或不同版本 。在分配密钥版本号时 ,不必遵循任何约束或是预定义的顺序 ;

  c) 加密算法 :每个特定的密钥只能与一种加密算法相关联 ;

  d) 长度 :每种加密算法会对应若干个密钥长度 ;

  e) 访问条件 :用来控制和分割对密钥的访问 。

  8.6. 1.2 管理要求

  卡外实体可通过 GET DATA命令来获取安全域信息内标记号为“E0”的数据模板中包含的密钥 。安全域对密钥的管理应符合下列要求 :

  a) 密钥标识和密钥版本号唯一指向某卡内实体的某个密钥 ,每个密钥标识和密钥版本号的组合标识了卡内实体唯一的密钥 ;

  b) 添加一个密钥 ,相当于分配新的密钥值 、密钥标识或密钥版本号 ;

  c) 更换密钥的操作应使用新的密钥值及关联的新密钥版本号来进行更新 ,而密钥标识保持不变 ,之前的密钥将不复存在 。

  8.6.2 密钥访问

  8.6.2. 1 访问条件

  安全域密钥的访问条件应满足下列条件之一 :

  a) 密钥所有者 , 即安全域本身 ;

  b) 密钥所有者之外的授权用户 ;

  c) 所有的授权用户 ,包括作为密钥所有者的安全域本身 。

  8.6.2.2 编码格式

  安全域密钥访问条件编码格式应符合下列条件 :

  a) “00”:所有授权用户 ,包括密钥所有者都能访问 , 当没有在 PUT KEY命令中指明时 ,此访问条件是安全通道协议所用密钥的默认访问条件 ;

  b) “01”: 只有密钥所有者能访问 , 当没有在 PUT KEY命令中指明时 ,此访问条件是令牌和 DAP所用密钥的默认访问条件 ;

  c) “02”:密钥所有者之外的授权用户 ,都能访问 ;

  d) “03”到“7F”:保留为将来用途 ;

  e) “80”到“FE”:保留为私有用途 ;

  f) “FF”:不能访问 。

  8.6.2.3 访问要求

  对安全域密钥的访问应符合下列要求 :

  a) GP环境应识别出应用关联的安全域 ,并提供该安全域对应的安全通道接 口 的引用给发起请求的应用 ;

  b) 应用可通过安全通道接口向安全域请求加密服务 。

  8.7 数据和密钥管理

  数据和密钥管理应符合下列要求 :

  a) 当收到数据和密钥管理的请求时 ,对应的安全域应按照自身的访问控制规则管理该数据和密钥 ,卡片生命周期状态不应设为已锁定状态或终结状态 ;

  b) 当收到 DELETE[key] 、PUT KEY或 STORE DATA命令时 ,执行数据和密钥管理的安全域应实施自身的安全通信策略 ;

  c) 安全域提供方可就密钥的删除实施自身的密钥管理策略 。

  9 卡片和应用管理

  9. 1 卡片内容管理

  9. 1. 1 管理要求

  卡片的内容管理应包括对卡片内容进行加载 、安装 、迁移 、注册表更新 、删除等操作 。卡片内容的改变应由卡片上分配了不同权限的各个安全域进行许可 。发卡方可将卡片内容管理委托给应用提供方 ,并应符合下列要求 :

  a) 发卡方可授权某个应用提供方来执行所有的卡片内容管理操作 ;

  b) 发卡方可授权某个应

29141378729
下载排行 | 下载帮助 | 下载声明 | 信息反馈 | 网站地图  360book | 联系我们谢谢