? 应用
2
为了保证卡片的安全性和完整性,CMSAC需要支持的安全机制包括: ? 数据完整性 ? 机密性 ? 鉴权
安全策略及密码的选择同具体的行业及产品相关。
2
因为卡片只是一个涉及多方和卡外组件的大型卡系统的一部分,CMSAC还需要借助非密码技术的流程保护,例如代码测试和验证,物理安全,以及密钥管理等。但是,这些内容超出了本规范的讨论范围。
7.2. 安全职责
7.2.1. 中国移动安全职责
中国移动的职责包括:
? 产生并加载主安全域密钥
? 对应用提供方执行标准和策略,在应用提交给卡片或运行在卡片前对应用的各个方面进行掌控
? 除主安全域外,还协助应用提供方创建并初始化其它安全域 ? 根据卡片及应用的生命周期管理、频率检测等级,应用权限和其它安全参数制定策
略
? 负责发卡前及发卡后应用代码的加载和安装
? 借助密码手段授权应用提供方执行加载、安装和迁移操作
7.2.2. 应用提供方安全职责 应用提供方的职责包括:
? 为自身安全域生成密钥,或从可信第三方获得安全域密钥 ? 同中国移动配合,将生成的密钥加载到应用提供方的安全域 ? 提供满足中国移动安全标准及策略的应用 ? 根据应用提供方安全策略提供应用代码签名 ? 从中国移动获得加载、安装和迁移的预授权
? 根据中国移动策略返回加载、安装、删除和迁移的响应
7.2.3. 卡上组件安全要求
7.2.3.1. 卡操作系统运行环境(Runtime Environment)安全要求
卡操作系统运行环境的职责包括:
7
? 为所有应用提供接口,应确保运行时环境提供的安全机制无法被绕开、失效、破坏
或欺骗
? 执行内存安全管理以确保
? 保护每个应用的代码及数据(包括临时会话数据)和运行时环境自身及数据(包
括临时会话数据),防止来自卡内对它们的非授权访问 ? 当支持一条以上的逻辑信道时,保护每个并发选择应用的代码及数据(包括临
时会话数据)和运行时环境自身及数据(包括临时会话数据),防止来自卡内对它们的非授权访问
? 当再次使用存储器时,确保无法访问存储器之前保存的内容 ? 当卡片掉电或卡片在事务进行中突然离开读卡器时,存储器恢复进程应确保安全性和一致性
7.2.3.2. 主安全域安全要求
主安全域执行中国移动的安全策略。 主安全域应:
? 根据中国移动在发卡前和发卡后制定的安全策略同卡外实体进行通信 ? 管理卡数据
? 管理卡应用的生命周期
? 在进行个人化操作期间为自身应用提供密码保护服务
? 确保由安全域(而非主安全域)发起的卡应用更新通过中国移动授权 ? 请求主安全域加载、安装、迁移、删除应用
? 根据中国移动安全策略要求生成加载、安装、迁移和删除应用时的响应
2
? 为所有应用提供接口,应确保CMSAC提供的安全机制无法被绕开、失效、破坏或欺
骗
? 根据应用的优先级检查应用访问规则
? 如果有要求,应确保应用代码已由卡片上应用提供方签名
7.2.3.3. 辅助安全域安全要求
安全域执行应用提供方制定的安全策略。安全域(而非主安全域)应: ? 根据应用提供方制定的安全策略同卡外实体进行通信 ? 为与自身相关的应用提供密码保护服务 ? 根据要求,验证应用签名
通过中国移动授权的安全域在执行卡应用变化时应: ? 请求主安全域加载、安装、迁移、删除应用
? 当主安全域提供加载、安装、迁移和删除应用的响应时,将其返回给卡外实体
8
7.2.3.4. 应用的安全要求
应用应:
? 只暴露正常应用功能必需的数据和资源 ? 执行应用提供方要求的内部安全措施
7.2.4. 后台系统安全要求
尽管卡片及其上的加载过程提供了稳定、安全的环境,但这些组件仍然无法保证整体的安全性。后台系统(每张卡片背后可能存在多个后台系统)同卡片通信,执行验证操作,管理卡外密钥数据库,这些系统也应可信。负责的工作人员,安全的操作系统,系统安全策略,以及审计流程,这些都是提高后台系统安全性必需的。这些要求超出了本规范的范围。
7.3. 密码支持
CMSAC卡应能提供最低限度的密码功能,例如生成签名,卡上应用可以使用这些密码功能。
主安全域应实现一个安全信道协议。安全域(非主安全域)应(至少)实现一个安全信22
道协议。CMSAC卡应支持对称密码算法,例如DES算法。CMSAC卡可能支持非对称密码算法,例如RSA算法。
本节包括下述密码服务: ? 卡应用的完整性和鉴权 ? 安全通信
应用可以使用密码算法提供的加解密服务。 7.3.1. 卡应用管理完整性及鉴权
完整性及鉴权为报文和数据块提供的附加数据。
该附加数据用于验证特定代码块或数据的发起源及(或)其完整性。 如何选择用于完整性及鉴权的密码算法同行业和产品相关。 下述内容描述了用于卡片内容管理的完整性及鉴权的不同用法。
7.3.1.1. 加载文件数据块Hash值(Load File Data Block Hash)
加载文件数据块Hash值用于验证加载到CMSAC卡上加载文件数据块的完整性,用于为主安全域提供验证加载文件数据块完整性的方法。
加载文件数据块Hash值其它的功能: ? 用于计算加载文件数据块签名
9
2
2
? 包括在负载令牌的计算中
7.3.1.2. 加载文件数据块签名(Load File Data Block Signature)
加载文件数据块签名是一个由卡外实体(应用提供商)生成的鉴权值。它是根据加载文件数据块Hash值生成的签名,包含在加载文件的DAP块中。加载文件中包含一个或多个DAP块。
当加载文件加载到卡上时,每个签名均应通过相应安全域的验证。该验证操作称为数据鉴权模式(DAP)验证。
7.3.1.3. 委托管理令牌(Delegated Management Tokens)
委托管理令牌是一个或多个由中国移动生成的委托管理功能(加载应用代码,安装、迁移应用)的签名,中国移动可以利用委托管理令牌来控制卡应用的变化。当主安全域自身不管理卡应用变化时就需要用到令牌。主安全域将对令牌进行验证。
7.3.1.4. 响应(Receipts)
在委托管理时,主安全域将产生响应。中国移动通过该响应判断应用提供方已经对卡应用作出了修改。
7.3.2. 安全通信
CMSAC卡为卡片和卡外实体间的通信提供安全服务。同卡外实体间通信的安全等级并非适用于每一个传输报文,而是适用于传输报文的环境和(或)应用的使用环境。卡片生命周期的概念可能用于决定卡片和卡外实体间通信的安全等级。卡片根据卡外实体的鉴权请求和卡片生命周期状态来推断卡片环境和(或)上下文。
密码算法和安全通信的选择同具体的行业及产品相关。 2
CMSAC卡提供下述与报文相关的安全服务(在安全信道协议中定义):
? 实体鉴权 – 卡片或卡外实体通过密码交换的方式向其它实体提供自身的鉴权。 ? 完整性及鉴权 – 接收实体(卡片或卡外实体)确保来自发送实体(卡外实体或卡
片)的数据的确来自一个鉴权实体,而且数据的顺序没有被改动。
? 机密性 – 从发送实体(卡外实体或卡片)发往接收实体(卡片或卡外实体)的数
据不会被非授权实体看到。
8. 生命周期模型
CMSAC通过定义生命周期模型来控制下述CMSAC组件的功能和安全:
10
2
2
2
? 卡片
? 可执行加载文件 ? 可执行模块 ? 应用
2
主安全域利用CMSAC注册表获取和维护生命周期信息,并管理状态变迁请求。 本节介绍每个组件的生命周期模型。
8.1. 卡生命周期
主安全域负责维护卡片及其内容的全面安全及管理。因为主安全域在整张卡片中扮演这样的管理角色,主安全域的生命周期可以视为卡片的生命周期,在后续的章节中称为卡生命周期。
22
从CMSAC的角度看,卡生命周期源于CMSAC_READY状态。虽然卡的生命周期包括2
CMSAC_READY状态之前的活动,但这些活动同卡片的具体实现相关,超出了本规范的讨论范围。
卡生命周期的结束状态是TERMINATED。 8.1.1. 卡生命周期状态
卡生命周期状态包括:
2
? CMSAC_READY ? INITIALIZED ? SECURED ? CARD_LOCKED ? TERMINATED
2
其中:CMSAC_READY和INITIALIZED这两个状态用于发卡前;虽然在卡生命周期的任一时刻均可废止卡,但SECURED,CARD_LOCKED和TERMINATED这三个状态用于发卡后。
8.1.1.1. CMS2AC_READY状态
CMSAC_READY状态表明运行时环境已经准备就绪,主安全域作为当前选定应用可以接收、执行和响应APDU命令。
2
当卡片处于CMSAC_READY状态时,提供下述功能: ? 运行时环境准备就绪 ? 主安全域准备就绪
? 主安全域为缺省选定的应用
2
? 包含在不可擦写永久存储器中的可执行加载文件将在CMSAC注册表中注册 ? 主安全域中有可用的初始密钥
卡片应能够处理发卡前由可用应用引起的卡应用变化,可能加载包含之前未出现在卡片上应用的加载文件。
11
2