0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

将可信计算和Java智能卡技术解决安全问题

电子设计 来源:郭婷 作者:电子设计 2019-04-26 08:34 次阅读

引言

Java 智能卡是一种能运行Java 语言程序的智能卡,它在资源有限的智能卡环境中支持Java 语言的一个子集,是Java 嵌入到智能卡中的一种新的应用[1]。由于Java 智能卡具有一卡多应用的特性,而且Java 程序“一次编写,到处运行”,使得近几年来Java 智能卡市场蓬勃发展起来。Java 智能卡产品已经在全世界得到了广泛的应用,包括无线通信、医疗/健康保险、金融银行、政府机构、身份认证电子商务、系统安全等领域。

Java 智能卡可以同时运行几个不同的程序,而且无论发卡前,还是发卡后,都卡允许用户自由的下载,安装和删除程序。这就需要卡片具有很高的安全行。而现在的Java 智能卡一般通过简单的防火墙和接口共享机制来保障其安全性,这无疑存在着安全隐患。该方案将把可信计算技术引入到Java 智能卡的设计与实现中,以可信计算在安全认证方面的优势来解决智能卡的安全问题。

2 硬件平台的选择

本文经过研究发现:可信计算和 Java 智能卡技术对硬件的需求基本相同。两者都需要易失存储器,非易失存储器,对称/非对称密码处理器,随机数处理器,杂凑运算单元,执行单元和随机数产生器。当然,两中技术对硬件的要求有细微的差异:例如可信密码模块需要监测电源,而智能卡不需要;可信模块的RSA 引擎需要达到2048 位强度,而智能卡并没有明确的规定;可信模块的I/O 是总线形式的,而智能卡需要射频USB 或者其它形式的通讯模块。

由以上分析可以看出,智能卡和可信模块对硬件的需求虽然有所异同,但并不矛盾,这些差异是两者对安全性的不同要求造成的。为了将可信计算技术引入到智能卡的设计与实现中,可以挑选一款规格合适的智能卡芯片作为硬件平台。经过对比,该方案中,最终选择了中兴集成电路设计有限公司的芯片Z32H256D32SU。该芯片是中兴在国产32 位RISC 处理器的多功能安全处理平台基础上开发出的,具备高处理能力、高安全性、低功耗、低成本等特点。它具有8KBSRAM 存储器、256KB Flash 存储器、32KB EEPROM 存储器,支持DES/3DES、RSA、ECC、SHA-1、HMAC 等算法,并带有随机数产生器和电源监测等模块(具体的参数可以参见其手册)。该芯片完全可以同时满足智能卡和可信计算的硬件需求,用于构建可信Java 智能卡。

3 可信Java 智能卡的设计与实现

3.1 可信Java 智能卡的架构

可信 Java 智能卡(Trusted Java Card,缩写为TJC)是在Java 智能卡中引入了可信的理念,用可信技术来增强其安全性。其结构框架如图1 所示。

最底层是各种硬件资源,它上面硬件驱动层,这一层是底层硬件调用接口的集合,它可以把上层和具体的硬件细节分离,方便以后的硬件的升级,而且可以更方便的实现Java 的平台无关性。

安全管理组件是一组执行各种操作的组件的集合,例如包的下载,包的度量,Applet的安装和删除,密钥的存储和读取,事务的记录和回滚等,这些功能组件通过运行时环境的调用来执行。其它各模块的设计下文分别予以说明。

将可信计算和Java智能卡技术解决安全问题

图 1 可信Java 智能卡的架构

3.1.1 可信Java 智能卡虚拟机

可信 Java 智能卡虚拟机是用于支持字节码运行的虚拟计算机,它的核心功能是解释虚指令,使程序按着正常的流程执行。虚拟机有13 类185 条指令需要实现,该方案在实现虚拟指令调用时,设计了一个用于定位指定指令的虚拟指令跳转表,采用函数指针的方式实现虚拟指令跳转,其定义如下所示:

BYTE (*bytecodeJumperFun[185])();

执行一条指令的基本步骤如图2 所示:

1. 首先读取 PC 指针处的值,得到与该值相对应的方法区中的指令。

2. 判断其是否需要解析,如果需要,则先解析该指令,得到所访问对象的物理地址后,再对其解释执行;如果为简单指令,则无需解析直接执行即可。

3. 在本指令执行结束后,虚拟机将PC 指针指向当前指令缓冲区中的下一条指令,如果该指令存在,则重复执行步骤一、二;否则在所有指令执行完毕的情况下,退出虚拟机,程序运行结束。

将可信计算和Java智能卡技术解决安全问题

图 2 解析虚拟指令的基本流程

3.1.2 可信Java 智能卡类库

可信 Java 智能卡类库既实现了一般的Java 智能卡应用程序接口,又实现了可信密码模块的用户接口。为了提高执行速度,耗费时间比较多的操作用C 语言实现。在 CAP 文件中,每个方法的头信息如下所示:

将可信计算和Java智能卡技术解决安全问题

当flags 值为1 时,TJCVM 去调用与该方法对应的C 方法;值为0 时,TJCVM 将定位到该方法的函数体,对字节码进行解释。类库的设计采用了基于 token 的动态链接过程。所谓“基于token 的动态链接过程”是指为提高Java 智能卡应用程序的独立性,在解释执行指令时,虚拟机首先将需要访问的对象(例如类、方法等)转化为与访问对象对应的符号(token),然后再将token 转化为存储被访问对象的物理地址这一过程。动态联接减小了修改其他类时对本程序代码的影响。在Java 智能卡应用程序Applet 运行时,如果引用了外包中的方法,解释器将获得引用的外包的索引,以类和方法token 值作为索引标记,通过CAP 文件中各组件中具体的包信息、类信息和方法信息,可以准确地完成从token 值跳转到被引用方法的具体实现。

3.1.3 可信Java 智能卡运行环境

可信 Java 智能卡运行环境扮演着决策者和调度者的角色,它根据Java 智能卡的具体状态决定在什么时候调用哪个功能模块,并且为各模块提供合适的运行环境。下载到卡内的 Applet,由Java 智能卡运行环境控制运行,其运行状态有以下几种:

已安装状态

此状态为应用程序安装并在卡上注册后的状态。

被选择状态

应用程序只有被选择后,才能被激活,进入命令处理状态,与读写器间进行交互。

命令处理状态

在此状态下,Java 智能卡与读写器进行通信,执行应用程序中定义的process 方法。通过在应用程序中重载此方法,即可完成不同的智能卡应用功能。

取消选择状态

此状态为应用程序的非激活状态,直到该应用程序被重新选择为止。各状态之间通过执行不同的指令相互切换,运行环境都会根据Applet 所处的具体状态,来判断哪些功能模块应该执行,哪些模块不能执行,哪些由系统自动运行,哪些由用户调用,以及各模块之间的执行顺序。

3.2 可信机制的构建

可信计算的核心理念就是信任链的传递。TJC 中信任链的传递如图3 所示:

图 3 信任链传递示意图

信任链建立的前提条件是确定信任原点:三个可信根——可信度量根,可信报告根,可信存储根。本方案中将BootLoader 作为可信度量根,并在Z32H256D32SU 芯片的EEPROM中开辟两片独立的空间分别作为可信存储根和可信报告根。

BootLoader 在加电后最先被执行,它负责验证硬件平台和运行时环境的完整性,初始化一些硬件寄存器,并加载运行时环境。运行时环境的标准值被固化在BootLoader 内,当系统启动的时候,BootLoader 首先对运行时环境进行度量,然后将度量值与标准值比较,如果相同则将控制权移交给运行时环境;如果不同,则禁止启动。

运行时环境被加载后将一直占有 CPU 的控制权,它负责度量类库,解释器和各种管理组件,并负责调度各种可信服务,如身份认证和密钥管理等。当Applet 下载后,首先要被运行时环境度量,只有在通过度量的情况下,才被执行。

由 BootLoader 到运行时环境,再到Applet,就建立起了一条可信链,这条信任链中的每个环境都是自主开发的,这样就能保证卡内环境的可信。

4 结论

本文探索性的将可信计算和 Java 智能卡技术相结合,设计并实现了一款可信Java 智能卡,在很大程度上提高了卡片的安全性,同时为解决Java 智能卡的安全问题指出了一个新的方向。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19156

    浏览量

    229063
  • 存储器
    +关注

    关注

    38

    文章

    7448

    浏览量

    163587
  • JAVA
    +关注

    关注

    19

    文章

    2957

    浏览量

    104535
收藏 人收藏

    评论

    相关推荐

    RFID怎么接入可信计算平台?

    为了对无线射频识别技术进行可信计算平台的接入,我们在可信网络连接使用的协议标准基础上,设计了基于分组密码CBC 工作模式、ECB 工作模式对消息传送提供加密,并且以ECC 来加强公开密钥交换所
    发表于 09-29 09:01

    移动通信中Java智能卡的主要特点是什么?

    移动通信中Java智能卡的主要特点是什么?RMI技术与移动通信中智能卡的RMI技术及其应用
    发表于 05-26 06:40

    硬件安全是什么?

    硬件安全技术系列课程详细介绍硬件安全相关的攻击技术和抗攻击设计技术,包括芯片的安全架构设计和
    发表于 07-29 09:25

    可信计算及其进展

    详细介绍了“可信计算”的发展历程,总结了容错计算(可信系统与网络)、安全操作系统、网络安全等领域的研究对
    发表于 05-14 19:36 18次下载

    针对安全问题可信计算研究

    本文采用安全状态转移模型化的方法对现有计算安全体系结构进行分析。在体系结构中引入引用监控器来判断主体请求是否合理。之后通过比较传统计算机体系结构与
    发表于 06-17 10:41 16次下载

    可信计算平台安全体系及应用研究

    针对终端存在的诸多安全问题可信计算可以从系统体系结构上对终端进行根本的安全防护。文章分析了一种可信计算平台的终端安全体系,并讨论了
    发表于 09-17 10:15 9次下载

    基于可信计算Java智能卡的设计与实现

    本文针对Java 智能卡安全问题,提出了一种新的解决方案——将可信计算技术引入到Java 智能卡
    发表于 01-07 12:26 23次下载

    基于Java智能卡可信度量模块设计

    可信计算平台只执行被信任根担保的程序,可信度量技术可信计算的核心和信任链传递的关键。但目前的复杂操作系统及应用程序仍无法被有效度量、信任链仍无法真正向上传
    发表于 01-09 15:39 20次下载

    移动通信中Java智能卡RMI技术的开发

      1.引言   Java智能卡(Java Card)技术在第三代移动通信(3G1 中有着极其广泛的应用。Jaya智能卡的出现.使多个应用
    发表于 10-10 10:39 4922次阅读
    移动通信中<b class='flag-5'>Java</b><b class='flag-5'>智能卡</b>RMI<b class='flag-5'>技术</b>的开发

    基于可信计算平台的体系结构研究与应用

    介绍了可信计算平台的关键部件组成及其功能,描述了可信计算平台的特点和原理机制,以及目前可信计算平台的研究进展情况,分析了基于可信计算平台技术
    发表于 09-26 15:40 0次下载
    基于<b class='flag-5'>可信计算</b>平台的体系结构研究与应用

    基于RFID产品的可信计算平台的完整性、安全性研究

    ,数据安全与身份认证完全依赖于整个可信平台的逐级密钥分发。对于可信计算组成员的对等通信安全没有涉及,也没有专业的密码小组,因此在安全协议与认
    发表于 08-29 17:07 696次阅读
    基于RFID产品的<b class='flag-5'>可信计算</b>平台的完整性、<b class='flag-5'>安全</b>性研究

    Java智能卡EEPROM碎片整理算法

    Java智能卡EEPROM碎片整理算法(c语言嵌入式开发需要学的东西)-Java智能卡EEPROM碎片整理算法
    发表于 07-30 11:34 9次下载
    <b class='flag-5'>Java</b><b class='flag-5'>智能卡</b>EEPROM碎片整理算法

    中国可信计算密码应用标准与产品认证

    可信计算密码应用标准我国可信计算密码应用相关技术标准自2007年开始起步,目前已经形成比较完善的可信密码模块(TCM)标准体系,TCM以SM2、SM3、SM4商用密码算法为核心,相关行
    的头像 发表于 11-02 10:16 1510次阅读
    中国<b class='flag-5'>可信计算</b>密码应用标准与产品认证

    安全 新发展 | 国民技术可信计算再上新台阶

    可信计算NS350系列TCM2.0密码安全新品 等可信计算相关产品与应用案例在展会上尤为受到关注。 中国可信计算核心推动者 国民技术是中
    的头像 发表于 08-14 17:45 744次阅读
    芯<b class='flag-5'>安全</b> 新发展 | 国民<b class='flag-5'>技术</b><b class='flag-5'>可信计算</b>再上新台阶

    国民技术可信计算再上新台阶

    8月11日,为期三天的密码与安全行业盛会——“2023商用密码大会”在郑州国际会展中心降下帷幕,国民技术携带近40个优秀安全应用案例参展,全面展示了国民技术“芯
    的头像 发表于 08-15 10:10 837次阅读
    国民<b class='flag-5'>技术</b><b class='flag-5'>可信计算</b>再上新台阶