一种智能卡 COS 指令扩展方法 【技术领域】
本发明涉及一种指令扩展方法,特别涉及一种智能卡领域的智能卡 COS 指令扩展方法。 背景技术 目前,智能卡由于具有信息处理能力且体积小便于携带,因而在信息安全领域 中得到了广泛应用。
但是,现有的智能卡在实际应用中除需要特殊的硬件资源支持外,智能卡操作 系统 COS 则是保障系统正常可靠运行的核心,而智能卡操作系统 COS 的扩展功能的实现 和使用,直接关系到智能卡的实际应用。
综上所述,针对现有技术的缺陷,特别需要一种智能卡 COS 指令扩展方法,开 发支持下载管理的智能卡操作系统 COS,有效地使用智能卡 COS 扩展功能。
发明内容
本发明的目的在于提供一种智能卡 COS 指令扩展方法,针对上述现有技术的缺 陷,对智能卡 COS 指令进行扩展,开发支持下载管理的 COS,以安全实现智能卡 COS 对 扩展代码的安全下载和管理,有效地使用智能卡 COS 扩展功能。
本发明所解决的技术问题可以采用以下技术方案来实现 :
一种智能卡 COS 指令扩展方法,其特征在于,它包括如下步骤 :
1) 建立 COS 的下载管理模块,预留扩展接口,编译扩展的算法或指令程序,生 成下载文件 ;
2) 对下载文件进行数字签名 ;
3) 使用共享密钥,启动下载方身份认证,进行身份鉴权,如果身份鉴权失败, 则停止对扩展代码的下载 ;
4) 如果身份鉴权成功,则进行使能代码存储区写操作 ;
5) 启用代码存储区事务保护,执行下载初始化指令,准备下载 ;
6) 执行下载指令,保存下载的代码数据 ;
7) 下载完毕时,执行下载结束指令,校验代码完整性 ;
8) 结束代码存储区事物保护。
在本发明的一个实施例中,代码装载管理使用代码签名技术,以 COS 中的下载 管理模块作为安全下载策略执行者,其基本规则如下 :
1) 所有装载操作都由下载管理模块进行检查验证 ;
2) 在装载操作中增加目标设备标识和软件配置标识数据,使下载管理模块能够 确信下载命令可以在当前环境下执行 ;
3) 卡外实体通过验证签名数据来确定代码已经被加载 ;
4) 在装载扩展算法的命令中增加的信任参数数据项,用来标识对其他模块更新或扩展的看法,如总是信任其他模块更新和扩展,或总是不信任其他模块更新和扩展, 以此避免新的扩展模块内在缺陷或恶意后门造成安全算法信息泄露的危险。
在本发明的一个实施例中,将下载文件拆分为若干数据段,封装到专用下载指 令,包括下载初始化指令、代码数据传输指令和下载结束指令 ;发送专用下载指令,处 理指令响应。
在本发明的一个实施例中,卡内指令扩展处理的步骤如下 :
1) 处理外部认证指令,使用共享密钥完成对卡外下载方的身份认证 ;
2) 使能代码存储区写入使能 ;
3) 处理下载初始化指令,指令数据域中包括代码存储地址、总下载文件大小、 当前软件和硬件版本信息、命令 MAC(Message Authentication Code) 校验码 ;下载管理模 块完成 MAC 验证,为下载文件分配存储空间、格式化存储器 ;
4) 处理数据传输指令,数据域包括数据段序号、数据段、命令 MAC 校验码 ; 下载管理模块校验数据段序号、MAC 码,将代码数据写入存储器,并将数据段输入 Hash 计算模块以供下载结束后校验数字签名 ;
5) 如数据段序号或 MAC 码校验失败,允许指令重传 ; 6) 处理下载结束指令,数据域包括下载文件的 CRC 和数字签名,下载管理模块 校验数字签名,从存储器中读取已下载文件,校验 CRC ;如数字签名或 CRC 校验失败, 则清除已下载的代码。
本发明的智能卡 COS 指令扩展方法,对智能卡 COS 指令进行扩展,开发支持下 载管理的 COS,以安全实现智能卡 COS 对扩展代码的安全下载和管理,有效地使用智能 卡 COS 扩展功能,实现本发明的目的。
本发明的特点可参阅本案图式及以下较好实施方式的详细说明而获得清楚地了 解。
附图说明
图 1 为本发明的智能卡 COS 指令扩展方法的流程框图。具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下 面结合具体图示,进一步阐述本发明。
如图 1 所示,本发明的智能卡 COS 指令扩展方法,它包括如下步骤 :
1) 建立 COS 的下载管理模块,预留扩展接口,编译扩展的算法或指令程序,生 成下载文件 ;
2) 对下载文件进行数字签名 ;
3) 使用共享密钥,启动下载方身份认证,进行身份鉴权,如果身份鉴权失败, 则停止对扩展代码的下载 ;
4) 如果身份鉴权成功,则进行使能代码存储区写操作 ;
5) 启用代码存储区事务保护,执行下载初始化指令,准备下载 ;
6) 执行下载指令,保存下载的代码数据 ;7) 下载完毕时,执行下载结束指令,校验代码完整性 ;
8) 结束代码存储区事物保护。
在本发明中,代码装载管理使用代码签名技术,以 COS 中的下载管理模块作为 安全下载策略执行者,其基本规则如下 :
1) 所有装载操作都由下载管理模块进行检查验证 ;
2) 在装载操作中增加目标设备标识和软件配置标识数据,使下载管理模块能够 确信下载命令可以在当前环境下执行 ;
3) 卡外实体通过验证签名数据来确定代码已经被加载 ;
4) 在装载扩展算法的命令中增加的信任参数数据项,用来标识对其他模块更新 或扩展的看法,如总是信任其他模块更新和扩展,或总是不信任其他模块更新和扩展, 以此避免新的扩展模块内在缺陷或恶意后门造成安全算法信息泄露的危险。
在本发明中,将下载文件拆分为若干数据段,封装到专用下载指令,包括下载 初始化指令、代码数据传输指令和下载结束指令 ;发送专用下载指令,处理指令响应。
在本发明中,卡内指令扩展处理的步骤如下 :
1) 处理外部认证指令,使用共享密钥完成对卡外下载方的身份认证 ;
外部认证指令定义如下 :
代码 CLA INS P1 P2 Lc DATA Le
值 (Hex) 00 82 00 00 10 鉴别用数据 无2) 使能代码存储区写入使能 ;
3) 处理下载初始化指令,指令数据域中包括代码存储地址、总下载文件大小、 当前软件和硬件版本信息、命令 MAC(Message Authentication Code) 校验码 ;下载管理模 块完成 MAC 验证,为下载文件分配存储空间、格式化存储器 ;
下载初始化指令定义如下 :
4) 处理数据传输指令,数据域包括数据段序号、数据段、命令 MAC 校验码 ; 下载管理模块校验数据段序号、MAC 码,将代码数据写入存储器,并将数据段输入 Hash 计算模块以供下载结束后校验数字签名 ;
5) 如数据段序号或 MAC 码校验失败,允许指令重传 ;
数据传输指令定义如下 :
代码 CLA INS P1 P2 Lc值 (Hex) 84 54 00 00 XXDATA 序号 (4 字节 )+ 数据 ( 若干字节 )+MAC(4 字节 )6) 处理下载结束指令,数据域包括下载文件的 CRC 和数字签名,下载管理模块 校验数字签名,从存储器中读取已下载文件,校验 CRC ;如数字签名或 CRC 校验失败, 则清除已下载的代码。
下载结束指令定义如下 :
代码 CLA INS P1值 (Hex) 80 56 006CN 102012804 A CN 102012810 A说P2 Lc 00 84明书5/5 页DATA RSA 算法数字签名 (128 字节 )+CRC(4 字节 )以上显示和描述了本发明的基本原理和主要特征和本发明的优点。 本行业的 技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是 说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改 进,这些变化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权 利要求书及其等效物界定。