重点推荐省级国家级期刊、北大中文核心、CSSCI、EI、SCI发表,稳妥操作,速度快,包发表。有意向联系客服咨询。
论文代写:十年专业服务品质,全部由期刊编辑、硕士、博士撰写;保证原创、版权归您;保证通过、否则全额退款。
论文发表:与百家优秀期刊合作,代理审核组稿,论文发表涵盖所有专业领域,全部正刊,保证出刊,否则全额退款。
业务合作:因业务发展需要,诚招优秀写手合作,要求硕士以上学历,不限专业,另诚征优秀期刊代理合作,具体详谈。QQ:415835425
一种基于UICC平台的Java智能卡的分析与设计
一种基于UICC 平台的Java 智能卡的分析
与设计
孙晓鹏1,2,牛少彰1,辛阳1,2**
作者简介:孙晓鹏,男,北京邮电大学在读研究生,主要研究方向为信息安全
通信联系人:牛少彰,男,(1963-),教授,理学硕士,工学博士。北京邮电大学教授,中国企业联合会信
息工作委员会学术顾问。中国电子学会高级会员,中国电子学会多媒体信息安全专家委员会委员. E-mail:
szniu@bupt.edu.cn
5 (1. 北京邮电大学计算机学院,北京 100876;
2. 北京安码科技有限公司,北京 100876)
摘要:目前,Java 智能卡已经广泛应用于无线通讯、日常生活和医疗卫生多种领域。Java
智能卡是一种新型的智能卡,它是智能卡技术与Java 技术的完美结合。本文首先介绍了智
能卡及Java 智能卡的相关基础知识,其次对UICC 平台做了分析,UICC 是一个多应用平台,
10 它包括了多种逻辑模块。最后阐述Java 智能卡的分层模型及各层模块的设计原理,并对各
个分层的功能进行描述,完成了基于UICC 平台的Java 智能卡的设计,并给出了Java 智能
卡的设计架构图,在此基础上对架构图上的每一层模型进行了详细设计。此外,本文还对该
设计做了可行性分析,并提出了该设计的优点。
关键词:计算机应用技术;UICC 平台;Java 智能卡;分析;设计
15 中图分类号:TP317
0 引言
35 进入21 世纪以来,科技日新月异,智能卡行业蓬勃发展,Java 智能卡作为一种新型的
智能卡也得到了空前发展,并且以其无与伦比的优越性越来越受到人们的青睐。目前,Java
智能卡(或简称为Java 卡)已广泛应用于无线通讯、日常生活和医疗卫生等多个领域[1]。Java
卡基于Java 虚拟机原理,采用Java 语言编程,开发的应用程序与硬件平台无关,正因如此,
Java 卡也拥有了“一次编程,到处可用”的强大功能[2]。目前,Java 卡的设计主要依赖于
40 SUN 公司发布的三个Java 卡规范: Java Card 虚拟机规范(JCVM),它主要为智能卡定义了一
个Java 程序设计语言的一个子集和用于智能卡的兼容Java 的虚拟机[3];Java Card 运行环境
(JCER)规范,主要描述了Java 智能卡的运行环境,即运行机制和运行特性,同时它也管理
Java 智能卡的内存和安装于应用层的小应用程序[4];Java Card 应用编程接口(API)规范,主
要提供了一套Java 智能卡可以调用的接口函数(API)和一些可以被小应用程序(applet)
45 所调用的类[5]。Java 卡之所以会成为智能卡行业未来发展的趋势,其原因在于它的“一次
编程,随处可用”的巨大优势[6]。Java 卡支持多应用平台,而UICC 平台的出现对于Java
卡实现一卡多用提供了一个完美的平台, UICC 平台是一个多应用平台,在该平台上可以
创建多个文件系统,为了达到这个目的, UICC 引入了ADF 的概念,ADF 是一个应用专用
目录,它的功能类似于传统文件系统的3F00,在ADF 下可以创建DF 和EF,并且在一个
50 UICC 平台中可以创建多个ADF,这就构成了所谓的多应用平台,同时为了实现各个ADF
可以互不影响的使用,UICC 平台还引入了逻辑通道的机制,每次在一个逻辑通道上允许一
个ADF 是激活的。此外,在UICC 中可以包括多种逻辑模块,如用户标识模块(Subscriber
Identity Module,SIM)、通用用户标识模块(Universal Subscriber Identity Module,USIM)、
IP 多媒体业务标识模块(IP Multi Media Service Identity Module,ISIM),以及其他如电子
55 签名认证、电子钱包等非电信应用模块[7]。这些模块的激活与互不影响的通信也是靠逻辑
通道机制来实现的。UICC 作为一个多应用平台,完全迎合了Java 卡技术,因此二者的
结合不仅具有可行性,而且具有巨大的实用性。
1 Java 智能卡
1.1 智能卡
60 智能卡是一个带有嵌入式芯片的小型卡片,整个卡片可以看作是一个很小的计算机系
统,但是整个卡片体积非常小,因而资源十分有限。从系统结构上来看,整个系统仍然包括
了CPU, RAM, ROM 和EEPROM 等和计算机类似的构件,有时也包括了用于加密解密的协
处理器 [8]。目前,银行储蓄卡和通信SIM 卡已成为智能卡的主要应用领域[9]。智能卡从总
体上来讲由硬件部分和软件部分构成,硬件部分主要指智能卡的构成、外观和物理特性等,
65 软件部分主要是指智能卡操作系统,即所谓的COS,以及建立在COS 之上的文件系统。
智能卡的硬件部分是一个小型的计算机系统,智能卡硬件主要由 CPU、 ROM、 RAM、
EEPROM、输入输出接口、安全逻辑、加密解密运算协处理器等一系列功能部件组成[11]。
智能卡的外观是一个长85.6mm,宽53.98mm,厚0.76mm 的塑料卡片,在右下方的位置有
一个镶嵌触点的小卡,目前智能卡拥有八个触点,分别是C1,C2,C3,C4,C5,C6,C7,
70 C8,其中C1 是供电电源触点(VCC),C2 是复位触点(RST),C3 是时钟触点(CLK),
C5 是接地触点(GND),C6 是编程电压触点(VPP),C7 为输入输出触点(IO),C4 和
C8 目前尚未使用,留待将来使用。 按照VCC 的不同,智能卡一般分为A 类卡(VCC 为
5V)、B 类卡(VCC 为3V)和C 类卡(VCC 为1.8V)。但在实际应用中供电电压有正负
10%偏差,例如VCC 为4.5V 到5.5V 的卡被认为是A 类卡。
75 智能卡的软件部分主要是指智能卡操作系统(即所谓的COS),智能卡操作系统一般
掩模于ROM 中,其次智能卡的软件部分还包括了建立在COS 上的文件系统。智能卡COS
处于整个智能卡软件的底层,它的主要任务是对智能卡的内存进行管理,对智能卡的安全进
行负责,同时智能卡初始化也归COS 管理,一张智能卡下完COS 后也代表着初始化的完成。
在COS 之上可以建立文件系统,一般的,文件系统在卡内是树形组织的,位于顶端的是根
80 目录(MF),之下可以有专用目录(DF)和文件目录(EF),处于最末端的是文件目录(EF),
EF 可以建立在MF 下,也可以建立在DF 下。不同的应用拥有不同的文件系统,传统的智
能卡一般只有一套文件系统,该文件系统是针对特定应用进行编写的,也与COS 息息相关,
如果应用改变的话,智能卡对应的COS 和文件系统都会相应改变。
1.2 Java 智能卡
85 Java 智能卡是一种新型的智能卡,它基于Java 虚拟机原理,应用程序与硬件无关,采
用高级语言开发,应用程序可升级。Java 智能卡有着广泛的应用前景[10]。一般的,Java 智
能卡的体系结构大体可分为四层:物理硬件层:在这一层次上Java 智能卡和传统的智能卡
是相同的,包括CPU、ROM、EEPROM、RAM 以及密码协处理器等。操作系统层(COS
层):Java 智能卡的COS(Card Operating System 卡操作系统)是硬件裸机的操作系统,负责
90 硬件资源的调度和底层指令的处理上作。运行环境层(JCRE 层):JCRE 层包括了Java 卡
虚拟机(JCVM),Java 接口函数(JAVACARD API)和本地方法。应用层(applet 层):本层
主要为Java 卡提供特定的应用,这些应用使用JAVA 语言编写的,这也是其区别于传统智
能卡的本质特点。
Java 卡的核心部分主要由SUN 公司发布的三部规范支撑:Java Card 虚拟机规范(JCVM),
95 JCVM 是一个C 语言或汇编语言编写的软件,它有被称为字节码解释器,主要作用是将用
户编写的.class 文件转换为.cap 文件,之后再转换为Java Card 可执行的指令流文件[3];Java
Card 运行环境(JCER)规范,主要描述了Java 智能卡的运行环境,即运行机制和运行特性,
同时它也管理Java 智能卡的内存和安装于应用层的小应用程序[4];Java Card 应用编程接口
(API)规范,主要提供了一套Java 智能卡可以调用的接口函数(API)和一些可以被小应用
100 程序(applet)所调用的类[5]。JCVM、JCER 和API 共同构成了Java card 的核心部分。
2 UICC 平台
UICC 平台是一个多应用平台,在该平台上可以创建多个文件系统,为了达到这个目的,
UICC 引入了ADF 的概念[7],ADF 是一个应用专用目录,它的功能类似于传统文件系统的
3F00,在ADF 下可以创建DF 和EF,并且在一个UICC 平台中可以创建多个ADF,这就构
105 成了所谓的多应用平台,同时为了实现各个ADF 可以互不影响的使用,UICC 平台还引入
了逻辑通道的机制,每次在一个逻辑通道上允许一个ADF 是激活的。UICC 平台中所有的
文件系统的访问也是遵循一个统一的接口,并且这种访问也是在同一个逻辑通道中进行的。
对于Java 智能卡来说,UICC 平台这种多应用平台的机制可以更好的为Java 卡服务,不同
的应用可以建立自己的文件系统,并且通过逻辑通道机制,可以互不影响的进行通信。这就
110 使得一张智能卡中不再只有一个应用,而是可以根据需求安装多个应用,增加了智能卡的灵
活性。
UICC 平台中的文件类型有以下四种:MF,ADF,DF 和EF。与2G 网络的文件系统相
比,UICC 平台的文件系统多了一个应用专用目录(ADF)[11]。 该应用的专用目录是为了UICC
平台的多应用而专门添加的,可以将其他应用的文件系统建立在该目录下,实现多平台应用。
115 一个UICC 的文件系统的逻辑组织图可用下图表示:
图1 UICC 文件系统逻辑结构图
MF 代表卡片文件组织的根,可以包含专用文件(DF 或ADF)或基本文件(EF)。MF 是智
120 能卡必备的文件,在MF 下可以建立多个DF 和EF。MF 的文件标识一般用3F00,当卡片
复位后,一般默认是选择3F00,也可以通过select 指令实现对MF 的选择,如发送选择指令
(00A4 0004 02 3F00),如果卡片响应61XX(XX 代表了响应数据的长度),则表示MF 选
择成功。MF 的作用是用来存储卡片公共信息并为各种应用服务。
DF 位于MF 或其它DF 之下,包含系统信息或应用专用信息,该文件可以包含若干个
125 EF 或DF。ADF 类似于DF,它是为UICC 平台实现多应用而专门增设的目录,但仅限于在
UICC 对话中存在,因此ADF 下的文件不可以在GSM 对话中被访问。ADF 下也可以包含了
DF 和EF。终端不可直接选用ADF,只能通过先选择USIM 应用,并通过其AID(ADF 的
文件标识)才可以选择ADF。
EF 位于MF 或DF(ADF)之下,包含系统或应用数据单元。EF 文件是文件组织的末
130 端,只包含系统信息、内部数据或用户数据。根据文件类型,EF 可分为:二进制文件
(Transparent)、循环记录文件(Cyclic fixed)、线性定长记录文件(Linear fixed)。二进制文件的
结构由字节序列组成,是文件系统中的基本EF 之一,也是最常用的EF,有时也称其为透
学术论文网Tag:代写论文 论文发表 计算机论文 代写毕业设计 代发论文 信息系统论文
|
本站郑重声明:
1、我们与数十所知名高校博士强强联手,保持常年稳定合作关系,论文质量更有保证;;
2、写作领域涉及所有专业,实力操作,出稿更快,质量更高,通过率100%;
3、所有代写文章,全部原创,包检测,保证质量,后续免费修改,保证通过;
4、信誉实力服务,专业代写毕业论文,职称论文,硕博士论文,留学生论文,成熟操作;
------分隔线----------------------------