[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN101282347B - 一种智能存储卡的控制方法 - Google Patents

一种智能存储卡的控制方法 Download PDF

Info

Publication number
CN101282347B
CN101282347B CN2008101116245A CN200810111624A CN101282347B CN 101282347 B CN101282347 B CN 101282347B CN 2008101116245 A CN2008101116245 A CN 2008101116245A CN 200810111624 A CN200810111624 A CN 200810111624A CN 101282347 B CN101282347 B CN 101282347B
Authority
CN
China
Prior art keywords
order
memory card
authentication
intelligent memory
authentication request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008101116245A
Other languages
English (en)
Other versions
CN101282347A (zh
Inventor
曹会扬
李春华
廖剑
陈庆方
陶雄强
姜涌
廖泉
张旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Potevio Institute of Technology Co Ltd
Original Assignee
Potevio Institute of Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Potevio Institute of Technology Co Ltd filed Critical Potevio Institute of Technology Co Ltd
Priority to CN2008101116245A priority Critical patent/CN101282347B/zh
Publication of CN101282347A publication Critical patent/CN101282347A/zh
Application granted granted Critical
Publication of CN101282347B publication Critical patent/CN101282347B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种智能存储卡的控制方法。本发明充分利用了存储卡现有的总线资源,在存储卡中增设包含有增值应用模块因而能够通过增值应用模块实现功能扩展,使得增值应用的实现不再受限于SIM卡,因而便于增值业务运营商的增值业务拓展,且具有较强的兼容性和可升级性。而且,本发明由应用程序通过命令数据包实现对智能存储卡的管理,从而能够保证智能存储卡的正常工作。

Description

一种智能存储卡的控制方法
技术领域
本发明涉及控制技术,特别涉及一种智能存储卡的控制方法。
背景技术
现有手机终端的增值应用大多基于SIM卡号,从而使得增值业务运营商受制于移动运营商。如需改变这种局面,则可以在手机终端的存储卡内增设智能卡芯片,并由智能卡芯片实现增值应用,使得增值应用脱离SIM卡号。其中,增设了智能卡芯片的存储卡称为智能存储卡。
然而,现有技术中仅提供了针对存储卡交互的流程,即应用程序直接向存储卡发送读/写命令,再由存储卡中的存储卡控制器根据该命令对物理存储介质执行对应的读/写操作,而并未提供针对智能存储卡的交互流程。而如果无法利用交互流程实现对智能存储卡的有效控制,例如对智能存储卡中的资源进行管理、对智能存储卡的身份认证和权限授予等,则无法保证智能存储卡的正常工作,因而即便增设了智能卡芯片也无法保证增值应用的有效实现。
发明内容
有鉴于此,本发明提供了一种智能存储卡的控制方法,能够基于存储卡实现功能扩展并实现对其管理。
本发明提供的一种智能存储卡的控制方法,所述智能存储卡中包括存储卡控制器和物理存储介质,所述智能存储卡中还承载有用于实现增值应用的增值应用模块,该方法包括:
应用程序发送命令数据包,其中携带有用于确定该命令数据包操作对象的目标类型、用于存储卡控制器获取命令的命令编码信息;
存储卡控制器根据所述目标类型选择物理存储介质或增值应用模块为操作对象,并对所述命令编码信息解码得到对应的命令,利用解码得到的命令对选择的操作对象进行相应操作,然后向应用程序发送应答数据包,该应答数据包中携带有表示所述相应操作是否成功的应答编码信息;
其中,所述命令分为四类,按照其使用权限级别由低至高依次为第一类命令、第二类命令、第三类命令、第四类命令;
利用第二类命令对选择的操作对象进行相应操作之前,该方法进一步包括:应用程序通过与智能存储卡的第一级认证;
利用第三类命令对选择的操作对象进行相应操作之前,该方法进一步包括:应用程序通过与智能存储卡的第一级和第二级认证;
利用第四类命令对选择的操作对象进行相应操作之前,该方法进一步包括:应用程序通过与智能存储卡的第一级、第二级和第三级认证。
所述命令数据包中进一步携带有:用于表示命令数据包的数据包类型标识、用于表示该命令数据包所对应的协议版本号、该命令数据包的序列号、该命令数据包用于携带数据的数据域、该命令数据包的数据域长度;
所述应答数据包中进一步携带有:用于表示应答数据包的数据包类型标识、用于表示该应答数据包所对应的协议版本号、该应答数据包的序列号、该应答数据包的数据域、该应答数据包的数据域长度。
在所述智能存储卡中设置用于记录已通过认证等级的权限寄存器;
利用第二类至第四类命令对选择的操作对象进行相应操作之前,该方法进一步包括:存储卡控制器根据权限寄存器中记录的认证等级判断是否有权限利用当前命令对选择的操作对象进行相应操作。
所述第一类命令包括:对智能存储卡进行复位的命令、读取智能存储卡版本信息的命令、发送应用协议数据单元APDU的命令、读物理存储介质中普通区域的命令、写物理存储介质中普通区域的命令、读物理存储介质中隐藏区域的命令、写物理存储介质中隐藏区域的命令、以及分别用于认证的认证请求命令。
所述智能存储卡版本信息包括:产品分类号、产品版本号、产品序列号、生产厂家名称的编码信息、生产厂家名称的长度、生产厂家名称、协议版本号。
在所述智能存储卡中设置控制寄存器,其中记录有物理存储介质是否可读写的使能信息。
所述认证请求命令中包括第一级认证请求命令,所述第一级认证包括:
应用程序将命令数据包中的编码信息设置为认证请求命令的命令编码信息,并将包含有用于识别当前使用应用程序的用户身份的特征信息的第一级认证请求命令,携带于命令数据包的数据域中发送至存储卡控制器;
存储卡控制器对命令数据包中的特征信息与智能存储卡中存储的特征信息进行匹配,并将包含有匹配结果的第一级认证结果携带于应答数据包的数据域中返回给应用程序。
所述第一级认证请求命令中进一步包括:第一级认证请求命令的命令标识、第一级认证请求命令的长度、标识当前第一级认证交互的会话标识、以及特征信息的类型;
所述第一级认证结果中进一步包括:第一级认证结果的应答标识、第一级认证结果的长度、标识当前第一级认证交互的会话标识、认证结果为失败时的失败原因、表示是否进行密钥协商的密钥协商标识。
所述认证请求命令中包括第二级认证请求命令,所述第二级认证包括:
应用程序将命令数据包中的编码信息设置为认证请求命令的编码信息,生成第一随机数,并将包含有第一随机数的第二级认证请求命令携带于命令数据包的数据域中发送至存储卡控制器;
存储卡控制器利用预设的密钥种子对第一随机数进行哈希Hash运算得到第一Hash运算结果,将包含有第一Hash运算结果的第二级认证应答携带于应答数据包的数据域中返回给应用程序;
应用程序利用与存储卡控制器相同的密钥种子对其生成的第一随机数进行Hash运算,并将得到的第二Hash运算结果与应答数据包中的第一Hash运算结果进行比较,如果二者相同,则将表示认证成功的第二级认证结果携带于命令数据包的数据域发送至存储卡控制器。
所述第二级认证请求命令中进一步包括:第二级认证请求命令的命令标识、第二级认证请求命令的长度、标识当前第二级认证交互的会话标识、Hash算法类型标识、Hash算法密钥长度、Hash算法的密钥、密钥种子标识;
所述第二级认证应答中进一步包括:第二级认证应答的应答标识、第二级认证应答的长度、标识当前第二级认证交互的会话标识、Hash运算错误时的错误原因、第一Hash运算结果的长度。
所述认证请求命令中包括第三级认证请求命令,所述第三级认证包括:
应用程序将命令数据包中的编码信息设置为认证请求命令的编码信息,并生成第二随机数与第三级认证请求命令一起携带于命令数据包的数据域中发送至存储卡控制器;
存储卡控制器生成第三随机数,并对第三随机数与命令数据包中的第二随机数进行异或运算,然后利用智能存储卡中的预设公钥证书所对应的私钥对异或运算结果进行数字签名;将包含有所述公钥证书和数字签名的第三级认证应答携带于应答数据包的数据域中返回给应用程序;
应用程序利用应答数据包中的公钥证书对数字签名进行验证,如果验证通过,则将表示认证成功的第三级认证结果携带于命令数据包的数据域发送至存储卡控制器。
所述第三级认证请求命令中进一步包括:第三级认证请求命令的命令标识、第三级认证请求命令的长度、标识当前第三级认证交互的会话标识;
所述第三级认证应答中进一步包括:第三级认证应答的应答标识、第三级认证应答的长度、标识当前第三级认证交互的会话标识、异或运算或签名处理错误时的错误原因、数字签名的算法类型标识、第三随机数、数字签名长度、公钥证书长度。
在所述智能存储卡中设置用于记录物理存储介质读写使能信息的控制寄存器;
利用解码得到的命令对物理存储介质进行相应操作之前,该方法进一步包括:存储卡控制器根据控制寄存器中记录的读写使能信息,判断是否允许利用当前命令对物理存储介质进行读写操作。
所述使能信息包括:表示物理存储介质是否可访问的通用使能信息、表示物理存储介质的普通区域是否可写的写使能信息、表示物理存储介质的普通区域是否可读的读使能信息。
所述第二类命令包括:读控制寄存器的命令、写控制寄存器的命令、表示同时发送多个应用协议数据单元APDU的命令。
在所述智能存储卡中设置用于记录下载和预个人化使能信息的特殊控制寄存器;
利用解码得到的命令对选择的操作对象进行相应操作之前,该方法进一步包括:存储卡控制器根据特殊控制寄存器中记录的下载和预个人化使能信息,判断是否允许下载应用程序和/或是否允许预个人化。
所述第三类命令包括:读特殊控制寄存器的命令、写特殊控制寄存器的命令。
所述第四类命令包括:写智能存储卡版本信息的命令、测试智能存储卡的命令、初始化智能存储卡的命令、读智能存储卡中密钥的命令、写智能存储卡中密钥的命令。
由上述技术方案可见,本发明充分利用了存储卡现有的总线资源,在存储卡中增设包含有增值应用模块因而能够通过增值应用模块实现功能扩展,使得增值应用的实现不再受限于SIM卡,因而便于增值业务运营商的增值业务拓展,且具有较强的兼容性和可升级性。而且,本发明由应用程序通过命令数据包实现对智能存储卡的管理,从而能够保证智能存储卡的正常工作。
附图说明
图1为本发明实施例中智能存储卡的结构示意图。
图2为本发明实施例中智能存储卡系统的协议层结构示意图。
图3为本发明实施例中智能存储卡的控制方法的示例性流程图。
图4为本发明实施例中的多级认证流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图1为本发明实施例中智能存储卡的结构示意图。如图1所示,本实施例中的智能存储卡包括:物理接口、存储卡控制器、物理存储介质、智能卡芯片。其中,物理接口、存储卡控制器、物理存储介质均为现有存储卡中的结构;而智能卡芯片中则承载有用于实现增值应用的增值应用模块,能够脱离SIM卡实现各种增值应用。
其中,增值应用模块可以按照现有SIM卡的方式,经终端设备的透传与网络侧交互来实现增值应用,SIM与网络侧的交互方式为本领域技术人员所能够实现,且本发明主要针对如何控制管理智能存储卡、而不针对实现增值应用所涉及的交互,因而在本文中不再赘述。
物理存储介质和智能卡芯片中的增值应用模块均可看作智能存储卡中可访问的资源,而本发明所述的资源管理主要是指对智能卡芯片的管理。
本实施例可以通过如下方式来实现应用程序对智能卡芯片的访问:
1、开发驱动程序,以使得应用程序能够访问到物理存储介质之外的地址。如何按照上述要求开发驱动程序为本领域技术人员所能实现,在此不再赘述。
2、使用存储卡扩展协议定义专用于访问智能卡芯片的命令,且保证存储卡控制器能够识别。如何定义专用命令为本领域技术人员所能实现,在此不再赘述。
3、将智能卡芯片的地址映射在物理存储介质的预设地址,使得存储卡控制器能够根据访问地址实现对扩展应用芯片的定位,在应用程序需要访问扩展应用芯片时,存储卡控制器能够定位扩展应用芯片的地址。如何实现地址映射以及基于地址映射的定位也为本领域技术人员所能实现,在此不再赘述。
上述3种方式均能够保证应用程序能够访问到智能卡芯片,但相比之下,开发驱动程序具有较高的开发难度、需要较长的开发周期;使用存储卡扩展协议则需要修改手机终端和存储卡控制器;而地址映射的方式则不具有前两种方式的缺陷。因此,本实施例中较佳地采用地址映射的方式。
参见图2,访问智能存储卡中的物理存储介质时,应用程序与智能存储卡通过应用接口、驱动程序和终端设备进行交互。
仍参见图2,以地址映射方式保证应用程序能够访问到智能卡芯片为例,应用程序依次通过预设的接口文件、驱动程序、终端设备向智能存储卡中的智能卡芯片发送命令数据包,以供智能卡芯片中的增值应用模块执行相应的操作。相应地,智能卡芯片中的增值应用模块也会通过反向的路径向应用程序返回应答数据包。
其中,接口文件映射于物理存储介质中映射有智能卡芯片的预设地址,该接口文件遵从文件系统原理,占用磁盘空间的基本单位不是字节而是簇,即使某个接口文件只有一个字节,也会分配到一个最小单元、即一个簇。
应用接口需要向智能卡芯片发送命令数据包时,只需将该命令数据包写入在接口文件中,而写入在接口文件中的命令通过命令数据包的方式经由驱动程序、终端设备发送至智能存储卡,且该命令数据包的目标操作对象即可被设置为映射有智能卡芯片的预设地址。
然后,智能存储卡中的存储卡控制器判断命令数据包的目标操作对象是否为表示扩展应用芯片的预设地址。如果目标操作对象为该预设地址,则将接口协议程序转至对扩展应用类型标识对应的扩展应用芯片操作的入口程序,并将该命令数据包传送至对应的扩展应用芯片。
以上是对智能存储卡的结构及其基本工作原理的简要说明,下面,再针对智能存储卡的控制方法进行详细说明。
图3为本发明实施例中智能存储卡的控制方法的示例性流程图。如图3所示,该方法包括:
步骤301,应用程序向所述智能存储卡发送命令数据包,其中携带有用于确定该应用命令数据包操作对象的目标类型、用于智能存储卡中的存储卡控制器获取命令的命令编码信息。
步骤302,智能存储卡中的存储卡控制器根据目标类型选择物理存储介质或增值应用模块为操作对象,并对命令编码信息进行解码得到对应的命令,利用解码得到的命令对选择的操作对象进行相应操作。
在本实施例中,可以将命令分为四类,按照其使用权限级别由低至高依次为第一类命令、第二类命令、第三类命令、第四类命令。
智能存储卡利用第二类命令对选择的操作对象进行相应操作之前,需要应用程序通过与智能存储卡的第一级认证;
智能存储卡利用第三类命令对选择的操作对象进行相应操作之前,需要应用程序通过与智能存储卡的第一级和第二级认证;
智能存储卡利用第四类命令对选择的操作对象进行相应操作之前,需要应用程序通过与智能存储卡的第一级、第二级和第三级认证。
如果没有通过相应等级的认证,则操作失败。
为了记录已通过认证等级,可以在所述智能存储卡中设置权限寄存器,该权限寄存器的各标志位可如表1所示。
Figure GSB00000353938400081
Figure GSB00000353938400091
表1
在智能存储卡利用第二类至第四类命令对选择的操作对象进行相应操作之前,智能存储卡中的存储卡控制器可以根据权限寄存器中记录的认证等级判断是否有权限利用当前命令对选择的操作对象进行相应操作。
步骤303,智能存储卡中的存储卡控制器向应用程序发送应答数据包,其中携带有表示相应操作是否成功的应答编码信息。
在本步骤中,应答成功是指对成功执行了命令相应的操作;对于表示失败的应答编码信息,按照失败原因还可分为多种,如表2所示。
表2
步骤304,应用程序对应答编码信息进行解码,获知操作是否成功。
至此,本流程结束。
需要说明的是,并不是所有的命令都需要应答,因而上述流程中的步骤303~步骤304为可选的步骤。
可见,基于如图1所示的结构,只需在存储卡中加入智能卡芯片即可实现功能扩展,且通过如上所述的流程即可实现对智能存储卡的管理控制。例如对智能存储卡中的资源进行管理、对智能存储卡的身份认证和权限授予等。
在本实施例中,命令数据包和应答数据包的格式如表3所示。
  名称   含义
  数据字段1   数据包类型标识
  数据字段2   协议版本号
  数据字段3   目标类型
  数据字段4   命令/应答编码信息
  数据字段5   数据包序列号
  数据字段6   数据域的长度
  数据字段7   数据域
表3
在表1中,除了必要的目标类型、以及编码信息之外,命令数据包和应答数据包中还可以包括:数据包类型标识、数据包所对应的协议版本号、数据包的序列号、数据域、数据包的数据域长度。
数据包类型标识用于表示该应用接口数据包是命令数据包还是应答数据包,例如可用0x53AC表示命令数据包,0xAC53表示应答数据包;
协议版本号表示应用接口数据包遵循的协议版本号,例如可用0x01表示第一版协议,其余类推;
目标类型表示应用接口数据包的操作对象,例如可用0x01表示操作对象为片智能卡芯片中的增值应用模块,0x02表示操作对象为物理存储介质,其余保留做扩展对象操作;
命令/应答类型编码则包括数据域内携带的命令/应答的编码信息,用于对命令/应答解码;例如,命令数据包中的编码信息为0x0,则存储卡控制器即可根据0x0解码得到表示复位的命令;应答数据包中的编码信息为0,则终端应用程序可根据0解码得到表示成功的应答;实际上,上述方式的编码信息也可看作是命令标识,而得到编码信息的一方可以根据预设的编码信息与命令/应答的对应关系,获知对应的命令/应答;
数据包序列号可占用4个字节,例如可用第一个字节表示数据包的发送月份,从1~12(十进制),第二个字节表示数据包的发送日期,从1~31(十进制);后两个字节表示当天发送的序列号,从0x0000~0xFFFF。
数据域的长度表示数据包内带的数据长度,数据长度最大为500(十进制),如果没有数据,则为0。如果数据域的长度不为0,则数据域中可携带命令或应答的相关数据。
以下,再对各种命令及其编码信息进行详细说明。
如前所述,本实施例中可以按照命令的使用权限将所有命令划分为四个类别。
其中,第一类命令向普通用户开放;第二类命令用于高级应用、对普通用户受限开放;第三类命令用于智能存储卡厂商内部应用,基于厂商自行开发的软件对开发机构开放;第四类命令用于智能存储卡厂商内部设置,仅限于厂商内部使用。
这样,本实施例即可针对智能存储卡的生产、开发、以及用户级应用,分别对相应的功能实现控制管理。
在本实施例中,第一类命令可以包括:对智能存储卡进行复位的命令、读取智能存储卡版本信息的命令、发送应用协议数据单元(APDU)的命令、读物理存储介质中普通区域的命令、写物理存储介质中普通区域的命令、读物理存储介质中隐藏区域的命令、写物理存储介质中隐藏区域的命令、以及分别用于认证的认证请求命令。
相应地,第一类命令的编码信息可如表4所示。
Figure GSB00000353938400111
表4
对于对智能存储卡进行复位的命令,命令数据包中的数据域长度为0;其对应的应答数据包中,应答编码信息表示复位是否成功,而数据域中则携带有表示复位应答的标识。
表4中所示的智能存储卡版本信息包括:产品分类号、产品版本号、产品序列号、生产厂家名称的编码信息、生产厂家名称的长度、生产厂家名称、协议版本号,具体参见表5。
Figure GSB00000353938400122
表5
对于发送APDU的命令,数据域中则携带的数据为APDU。其中,APDU中可携带用于与网络侧交互以实现增值应用的数据。应用程序接收到智能存储卡发送的数据域中携带有APDU的应答数据包后,可将该APDU透传至网络侧;在接收到网络侧的APDU后,可将该APDU携带于编码信息表示发送APDU的命令数据包中发送至智能存储卡。
如前所述,由于增值应用模块可以按照现有SIM卡的方式,经终端设备的透传与网络侧交互来实现增值应用,且SIM与网络侧的交互方式为本领域技术人员所能够实现,因而APDU中涉及所述交互的相关数据在本文中不再赘述。
对于读物理存储介质中普通区域和隐藏区域的命令,数据域中则携带有地址编号;对于写物理存储介质中普通区域和隐藏区域的命令,数据域中则携带有地址编号、以及待写入的数据,具体参见表6。
  字节偏移量   名称   含义
  0~3   地址   地址编号
  4~509   数据   待写入的数据
表6
对于身份认证的命令,可分为第一级认证请求命令、第二级认证请求命令、以及第三级认证请求命令。
这三种认证请求命令可以如表4所示采用相同的命令编码信息,但分别在数据域中携带不同的命令标识,当然,也可采用不同的命令编码信息,这样就无需在数据域中携带命令标识。
第一级认证也可称作简单认证,该流程包括:
1a、应用程序将命令数据包中的编码信息设置为认证请求命令的命令编码信息,并将包含有用于识别当前使用应用程序的用户身份的特征信息的第一级认证请求(SimAuthRequire)命令,携带于命令数据包的数据域中发送至智能存储卡;
1b、智能存储卡中的存储卡控制器对命令数据包中的特征信息与智能存储卡中存储的特征信息进行匹配,并将包含有匹配结果的认证结果(SimAuthResult)信息携带于应答数据包的数据域中返回给应用程序。当然,本步骤也可以将应答数据包的应答编码信息设置为表示成功的应答编码信息,而不在数据域中携带AuthResult信息。如果智能存储卡中存储的特征信息在物理存储介质中,则携带有SimAuthRequire命令的命令数据包的目标操作对象表示物理存储介质,否则,表示智能卡芯片中的增值应用模块。
其中,SimAuthRequire的格式如表7所示,其中包括:SimAuthRequire的命令标识、SimAuthRequire的长度、标识当前第一级认证交互的会话标识(SessionID)、特征信息(CharInfo)、以及特征信息的类型(CharInfoCat)。
  字段   长度   类型
  SimAuthRequire的命令标识   2字节   整型
  SimAuthRequire的长度   2字节   整型
  SessionID   2字节   整型
  保留字段   2字节   整型
  特征信息   1字节   整型
  特征信息的类型   变量   整型/字符串
表7
在表7中,特征信息类型至少可以包括:用户名和密码、智能存储卡的唯一标识,分别由0x00和0x01表示。特征信息为应用程序和智能存储卡间共享的信息,长度任意。
SimAuthResult的格式如表8所示,其中包括:SimAuthResult的应答标识、SimAuthResult的长度、标识当前第一级认证交互的SessionID、认证结果(VerifyResult)为失败时的失败原因、表示是否进行密钥协商的密钥协商标识(KAFlag)。
  字段   长度   类型
  应答标识   2字节   整型
  第一级认证结果的长度   2字节   整型
  SessionID   2字节   整型
  失败原因   2字节   整型
  认证结果   1字节   整型
  密钥协商标识   1字节   整型
  保留字段   2字节   整型
表8
第二级认证也可称作有限认证,该流程包括:
2a、应用程序将命令数据包中的编码信息设置为认证请求命令的编码信息,生成64bit的第一随机数,并将包含有第一随机数的第二级认证请求(LimAuthRequire)命令携带于命令数据包的数据域中发送至智能存储卡;
2b、智能存储卡中的存储卡控制器利用预设的密钥种子对第一随机数进行哈希(Hash)运算得到第一Hash运算结果,将包含有第一Hash运算结果的第二级认证应答(LimAuthResponse)携带于应答数据包数据域中返回给应用程序;如果预设的密钥种子存储于物理存储介质,则携带有LimAuthRequire命令的命令数据包的目标操作对象表示物理存储介质,否则表示智能卡芯片中的增值应用模块;
2c、应用程序利用与存储卡控制器相同的密钥种子对其生成的第一随机数进行Hash运算,并将得到的第二Hash运算结果与应答数据包中的第一Hash运算结果进行比较,如果二者相同,则将表示认证成功的第二级认证结果(LimAuthResult)携带于命令数据包的数据域发送至智能存储卡。
其中,LimAuthRequire的格式如表9所示,其中包括:LimAuthRequire的命令标识、LimAuthRequire的长度、标识当前第二级认证交互的SessionID、Hash算法类型标识(HashAlgorithm)、Hash算法密钥长度(HashKeyLen)、Hash算法的密钥(HashKey)、密钥种子标识(SeedID)、第一随机数。
  字段   长度   类型
  LimAuthRequire的命令标识   2字节   整型
  LimAuthRequire的长度   2字节   整型
  SessionID   2字节   整型
  HashAlgorithm   4字节   整型
  HashKeyLen   2字节   整型
  HashKey   变量   整型
  SeedID   2字节   整型
  第一随机数   8字节   整型
  保留字段   2字节   整型
表9
LimAuthResponse的格式如表10所示,包括:LimAuthResponse的应答标识、LimAuthResponse的长度、标识当前第二级认证交互的SessionID、Hash运算错误时的错误原因、第一Hash运算结果的长度、第一Hash运算结果(HashVal)。
 字段   长度   类型
 LimAuthResponse的应答标识   2字节   整型
 LimAuthResponse的长度   2字节   整型
 SessionID   2字节   整型
 错误原因   2字节   整型
 第一Hash运算结果的长度   2字节   整型
 HashVal   变量   整型
 保留字段   2字节   整型
表10
第三级认证也可称作增强认证,该流程包括:
3a、应用程序将命令数据包中的编码信息设置为认证请求命令的编码信息,并生成第二随机数与第三级认证请求(EnhAuthRequire)命令一起携带于命令数据包的数据域中发送至智能存储卡;
3b、智能存储卡中的存储卡控制器生成第三随机数,并对第三随机数与命令数据包中的第二随机数进行异或运算,然后利用智能存储卡中的预设公钥证书所对应的私钥对异或运算结果进行数字签名;将包含有公钥证书和数字签名的第三级应答(EnhAuthResponse)携带于应答数据包数据域中返回给应用程序;如果预设的公钥证书及其对应的私钥存储于物理存储介质,则携带有EnhAuthRequire命令的命令数据包的目标操作对象表示物理存储介质,否则表示智能卡芯片中的增值应用模块;
3c、应用程序利用应答数据包中的公钥证书对数字签名进行验证,如果验证通过,则将表示认证成功的第三级认证结果(EnhAuthResult)携带于命令数据包的数据域发送至智能存储卡。
其中,EnhAuthRequire的格式如表11所示,包括:EnhAuthRequire的命令标识、EnhAuthRequire的长度、标识当前第三级认证交互的SessionID、第二随机数。
  字段   长度   类型
  EnhAuthRequire的命令标识   2字节   整型
  EnhAuthRequire的长度   2字节   整型
  SessionID   2字节   整型
  第二随机数   8字节   整型
  保留字段   2字节   整型
表11
EnhAuthResponse的格式如表12所示,包括:EnhAuthResponse的应答标识、EnhAuthResponse的长度、标识当前第三级认证交互的SessionID、异或运算或签名处理错误时的错误原因、数字签名的算法类型标识(SignAlgorithm)、第三随机数、数字签名长度(SignLen)、数字签名(Signature)、公钥证书长度(PKCertificateLen)、公钥证书(PKCertificate)。
 字段   长度   类型
 EnhAuthResponse的应答标识   2字节   整型
 EnhAuthResponse的长度   2字节   整型
 SessionID   2字节   整型
 错误原因   2字节   整型
 SignAlgorithm   2字节   整型
 第三随机数   8字节   整型
 SignLen   2字节   整型
 Signature   变量   整型/字符串
 PKCertificateLen   2字节   整型
 PKCertificate   变量   整型/字符串
 保留字段   2字节   整型
表12
上述各级认证之间的关系可以如图4所示。智能存储卡开始与应用程序交互后,便可以使用第一类命令以实现普通应用;经过第一级认证后可使用第二类命令以实现高级应用,同时可以使用第一类命令以实现普通应用;经过第二级认证后可使用第三类命令以实现厂商内部应用并最终交由发卡商使用,同时可使用第二类命令以实现高级应用,也可以使用第一类命令以实现普通应用;经过第三级认证后可使用第四类命令以实现厂商内部应用并由厂商自己使用,同时可使用第三类命令以实现厂商内部应用并最终交由发卡商使用,也可使用第二类命令以实现高级应用,还可使用第一类命令以实现普通应用。
上述各级认证所涉及的加解密、Hash运算、以及密钥协商等过程均为本领域技术人员所能够实现,在本文中不再赘述。
在本实施例中,可以在智能存储卡中设置用于记录物理存储介质读写使能信息的控制寄存器。这样,在利用解码得到的命令对物理存储介质进行相应操作之前,可以根据控制寄存器中记录的读写使能信息,判断是否允许利用当前命令对物理存储介质进行读写操作。
控制寄存器中表示读写使能信息的各标志位可以如表13所示,包括:表示物理存储介质是否可访问的通用使能信息、表示物理存储介质的普通区域是否可写的写使能信息、表示物理存储介质的普通区域是否可读的读使能信息。
Figure GSB00000353938400181
表13
而本实施例中的第二类命令则主要是针对控制寄存器的,具体包括:读控制寄存器的命令、写控制寄存器的命令,第二类命令还可以包括表示同时发送多个APDU的命令。
第二类命令的命令编码信息参见表14。
Figure GSB00000353938400182
Figure GSB00000353938400191
表14
此外,在本实施例中,还可以在智能存储卡中设置用于记录下载和预个人化使能信息的特殊控制寄存器。这样,在利用解码得到的命令对选择的操作对象进行相应操作之前,可以根据特殊控制寄存器中记录的下载和预个人化使能信息,判断是否允许下载应用程序和/或是否允许预个人化。对于如何实现预个人化为本领域技术人员所能够实现,在此不再赘述。
特殊控制寄存器中表示读写使能信息的各标志位可以如表15所示。
Figure GSB00000353938400192
表15
而本实施例中的第三类命令则主要是针对特殊控制寄存器的,具体包括:读特殊控制寄存器的命令、写特殊控制寄存器的命令。第三类命令的命令编码信息参见表16。
表16
本实施例中的第四类命令包括:写智能存储卡版本信息的命令、测试智能存储卡的命令、初始化智能存储卡的命令、读智能存储卡中密钥的命令、写智能存储卡中密钥的命令。第四类命令的编码信息参见表17。
Figure GSB00000353938400201
表17
其中,测试智能存储卡的命令可针对不同的测试对象,对应不同对象的测试命令具有不同的测试命令标识,具体参见表18。
Figure GSB00000353938400202
表18
对于如何实现回环测试为本领域技术人员所能够实现,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (18)

1.一种智能存储卡的控制方法,所述智能存储卡中包括存储卡控制器和物理存储介质,其特征在于,所述智能存储卡中还承载有用于实现增值应用的增值应用模块,该方法包括:
应用程序发送命令数据包,其中携带有用于确定该命令数据包操作对象的目标类型、用于存储卡控制器获取命令的命令编码信息;
存储卡控制器根据所述目标类型选择物理存储介质或增值应用模块为操作对象,并对所述命令编码信息解码得到对应的命令,利用解码得到的命令对选择的操作对象进行相应操作,然后向应用程序发送应答数据包,该应答数据包中携带有表示所述相应操作是否成功的应答编码信息;
其中,所述命令分为四类,按照其使用权限级别由低至高依次为第一类命令、第二类命令、第三类命令、第四类命令;
利用第二类命令对选择的操作对象进行相应操作之前,该方法进一步包括:应用程序通过与智能存储卡的第一级认证;
利用第三类命令对选择的操作对象进行相应操作之前,该方法进一步包括:应用程序通过与智能存储卡的第一级和第二级认证;
利用第四类命令对选择的操作对象进行相应操作之前,该方法进一步包括:应用程序通过与智能存储卡的第一级、第二级和第三级认证。
2.如权利要求1所述的方法,其特征在于,所述命令数据包中进一步携带有:用于表示命令数据包的数据包类型标识、用于表示该命令数据包所对应的协议版本号、该命令数据包的序列号、该命令数据包用于携带数据的数据域、该命令数据包的数据域长度;
所述应答数据包中进一步携带有:用于表示应答数据包的数据包类型标识、用于表示该应答数据包所对应的协议版本号、该应答数据包的序列号、该应答数据包的数据域、该应答数据包的数据域长度。
3.如权利要求1所述的方法,其特征在于,在所述智能存储卡中设置用于记录已通过认证等级的权限寄存器;
利用第二类至第四类命令对选择的操作对象进行相应操作之前,该方法进一步包括:存储卡控制器根据权限寄存器中记录的认证等级判断是否有权限利用当前命令对选择的操作对象进行相应操作。
4.如权利要求3所述的方法,其特征在于,所述第一类命令包括:对智能存储卡进行复位的命令、读取智能存储卡版本信息的命令、发送应用协议数据单元APDU的命令、读物理存储介质中普通区域的命令、写物理存储介质中普通区域的命令、读物理存储介质中隐藏区域的命令、写物理存储介质中隐藏区域的命令、以及分别用于认证的认证请求命令。
5.如权利要求4所述的方法,其特征在于,所述智能存储卡版本信息包括:产品分类号、产品版本号、产品序列号、生产厂家名称的编码信息、生产厂家名称的长度、生产厂家名称、协议版本号。
6.如权利要求4所述的方法,其特征在于,在所述智能存储卡中设置控制寄存器,其中记录有物理存储介质是否可读写的使能信息。
7.如权利要求4所述的方法,其特征在于,所述认证请求命令中包括第一级认证请求命令,所述第一级认证包括:
应用程序将命令数据包中的编码信息设置为认证请求命令的命令编码信息,并将包含有用于识别当前使用应用程序的用户身份的特征信息的第一级认证请求命令,携带于命令数据包的数据域中发送至存储卡控制器;
存储卡控制器对命令数据包中的特征信息与智能存储卡中存储的特征信息进行匹配,并将包含有匹配结果的第一级认证结果携带于应答数据包的数据域中返回给应用程序。
8.如权利要求7所述的方法,其特征在于,
所述第一级认证请求命令中进一步包括:第一级认证请求命令的命令标识、第一级认证请求命令的长度、标识当前第一级认证交互的会话标识、以及特征信息的类型;
所述第一级认证结果中进一步包括:第一级认证结果的应答标识、第一级认证结果的长度、标识当前第一级认证交互的会话标识、认证结果为失败时的失败原因、表示是否进行密钥协商的密钥协商标识。
9.如权利要求5所述的方法,其特征在于,所述认证请求命令中包括第二级认证请求命令,所述第二级认证包括:
应用程序将命令数据包中的编码信息设置为认证请求命令的编码信息,生成第一随机数,并将包含有第一随机数的第二级认证请求命令携带于命令数据包的数据域中发送至存储卡控制器;
存储卡控制器利用预设的密钥种子对第一随机数进行哈希Hash运算得到第一Hash运算结果,将包含有第一Hash运算结果的第二级认证应答携带于应答数据包的数据域中返回给应用程序;
应用程序利用与存储卡控制器相同的密钥种子对其生成的第一随机数进行Hash运算,并将得到的第二Hash运算结果与应答数据包中的第一Hash运算结果进行比较,如果二者相同,则将表示认证成功的第二级认证结果携带于命令数据包的数据域发送至存储卡控制器。
10.如权利要求9所述的方法,其特征在于,
所述第二级认证请求命令中进一步包括:第二级认证请求命令的命令标识、第二级认证请求命令的长度、标识当前第二级认证交互的会话标识、Hash算法类型标识、Hash算法密钥长度、Hash算法的密钥、密钥种子标识;
所述第二级认证应答中进一步包括:第二级认证应答的应答标识、第二级认证应答的长度、标识当前第二级认证交互的会话标识、Hash运算错误时的错误原因、第一Hash运算结果的长度。
11.如权利要求4所述的方法,其特征在于,所述认证请求命令中包括第三级认证请求命令,所述第三级认证包括:
应用程序将命令数据包中的编码信息设置为认证请求命令的编码信息,并生成第二随机数与第三级认证请求命令一起携带于命令数据包的数据域中发送至存储卡控制器;
存储卡控制器生成第三随机数,并对第三随机数与命令数据包中的第二随机数进行异或运算,然后利用智能存储卡中的预设公钥证书所对应的私钥对异或运算结果进行数字签名;将包含有所述公钥证书和数字签名的第三级认证应答携带于应答数据包的数据域中返回给应用程序;
应用程序利用应答数据包中的公钥证书对数字签名进行验证,如果验证通过,则将表示认证成功的第三级认证结果携带于命令数据包的数据域发送至存储卡控制器。
12.如权利要求11所述的方法,其特征在于,
所述第三级认证请求命令中进一步包括:第三级认证请求命令的命令标识、第三级认证请求命令的长度、标识当前第三级认证交互的会话标识;
所述第三级认证应答中进一步包括:第三级认证应答的应答标识、第三级认证应答的长度、标识当前第三级认证交互的会话标识、异或运算或签名处理错误时的错误原因、数字签名的算法类型标识、第三随机数、数字签名长度、公钥证书长度。
13.如权利要求3所述的方法,其特征在于,在所述智能存储卡中设置用于记录物理存储介质读写使能信息的控制寄存器;
利用解码得到的命令对物理存储介质进行相应操作之前,该方法进一步包括:存储卡控制器根据控制寄存器中记录的读写使能信息,判断是否允许利用当前命令对物理存储介质进行读写操作。
14.如权利要求13所述的方法,其特征在于,所述使能信息包括:表示物理存储介质是否可访问的通用使能信息、表示物理存储介质的普通区域是否可写的写使能信息、表示物理存储介质的普通区域是否可读的读使能信息。
15.如权利要求13所述的方法,其特征在于,所述第二类命令包括:读控制寄存器的命令、写控制寄存器的命令、表示同时发送多个应用协议数据单元APDU的命令。
16.如权利要求3所述的方法,其特征在于,在所述智能存储卡中设置用于记录下载和预个人化使能信息的特殊控制寄存器;
利用解码得到的命令对选择的操作对象进行相应操作之前,该方法进一步包括:存储卡控制器根据特殊控制寄存器中记录的下载和预个人化使能信息,判断是否允许下载应用程序和/或是否允许预个人化。
17.如权利要求16所述的方法,其特征在于,所述第三类命令包括:读特殊控制寄存器的命令、写特殊控制寄存器的命令。
18.如权利要求3所述的方法,其特征在于,所述第四类命令包括:写智能存储卡版本信息的命令、测试智能存储卡的命令、初始化智能存储卡的命令、读智能存储卡中密钥的命令、写智能存储卡中密钥的命令。
CN2008101116245A 2008-05-15 2008-05-15 一种智能存储卡的控制方法 Expired - Fee Related CN101282347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101116245A CN101282347B (zh) 2008-05-15 2008-05-15 一种智能存储卡的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101116245A CN101282347B (zh) 2008-05-15 2008-05-15 一种智能存储卡的控制方法

Publications (2)

Publication Number Publication Date
CN101282347A CN101282347A (zh) 2008-10-08
CN101282347B true CN101282347B (zh) 2011-04-06

Family

ID=40014621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101116245A Expired - Fee Related CN101282347B (zh) 2008-05-15 2008-05-15 一种智能存储卡的控制方法

Country Status (1)

Country Link
CN (1) CN101282347B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009019982A1 (de) * 2009-05-05 2010-11-18 Giesecke & Devrient Gmbh Verfahren zum Zugriff auf einen tragbaren Speicherdatenträger mit Zusatzmodul und tragbarer Speicherdatenträger
CN101765101B (zh) * 2009-12-15 2013-08-21 大唐微电子技术有限公司 一种空中个人化写卡的方法和系统
CN102377570B (zh) * 2011-11-07 2014-03-12 飞天诚信科技股份有限公司 一种生成动态口令的方法和装置
CN103297849B (zh) * 2012-02-24 2018-02-27 北京四达时代软件技术股份有限公司 一种生成双向机顶盒mac地址的方法
CN105528291B (zh) * 2015-12-04 2018-05-15 中国联合网络通信集团有限公司 智能卡应用程序远程测试方法和装置
CN108985396B (zh) * 2018-06-12 2020-05-19 Oppo广东移动通信有限公司 射频芯片的匹配方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204092A1 (en) * 2004-03-11 2005-09-15 Taishi Masuyama Memory card device, and memory card control method for controlling the device
CN101105776A (zh) * 2007-01-10 2008-01-16 上海瀚银信息技术有限公司 一种内嵌cpu ic的标准扩展卡及实现电子支付的方法
CN101145141A (zh) * 2006-09-14 2008-03-19 北京欣网科科技有限公司 利用通用外部存储卡扩展的外设装置及其数据处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204092A1 (en) * 2004-03-11 2005-09-15 Taishi Masuyama Memory card device, and memory card control method for controlling the device
CN101145141A (zh) * 2006-09-14 2008-03-19 北京欣网科科技有限公司 利用通用外部存储卡扩展的外设装置及其数据处理方法
CN101105776A (zh) * 2007-01-10 2008-01-16 上海瀚银信息技术有限公司 一种内嵌cpu ic的标准扩展卡及实现电子支付的方法

Also Published As

Publication number Publication date
CN101282347A (zh) 2008-10-08

Similar Documents

Publication Publication Date Title
CN101340663B (zh) 智能存储卡系统以及该系统实现交互的方法
US8391837B2 (en) Method, system and trusted service manager for securely transmitting an application to a mobile phone
US8297520B1 (en) Secure application directory
CN101965597B (zh) 用于安装和取回已链接的mifare应用的方法和设备
CN101282347B (zh) 一种智能存储卡的控制方法
US20100330958A1 (en) Mobile communication device and method for disabling applications
EP2453398A1 (en) Product authentication system
EP1593098A1 (en) Semiconductor memory card, and program for controlling the same
MX2007014237A (es) Implementacion de almacenamiento seguro con integridad protegida.
CN104680389A (zh) 一种基于时间加密的nfc手机终端防伪系统及方法
EP2252934A1 (en) Mobile communication device and method for implementing mifare memory multiple sectors mechanisms
EP2174481B1 (en) Method, server and mobile communication device for managing unique memory device identifications
CN105723650A (zh) 通信系统和主装置
CN101266538B (zh) 一种智能存储卡的接口访问控制方法
CA2481852A1 (en) Semiconductor memory card and computer readable program
US7147167B2 (en) Update management for encoded data in memory
ES2306241T3 (es) Procedimiento, sistema y tarjeta de microcontrolador para la comunicacion de servicios de aplicacion desde una tarjeta de microcontrolador hacia un terminal.
CN101621803A (zh) 无线局域网鉴别和保密基础结构证书的管理方法及装置
CN101826035A (zh) 一种应用程序间的通讯方法
Noprianto et al. Smart card security mechanism with dynamic key
CN101196922A (zh) 信息安全设备中的文件存储和访问方法及信息安全设备
CN110276221A (zh) 基于区块链pki证书的多应用读卡器系统
TW202046150A (zh) 認證管理系統

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: CHINA POTEVIO CO., LTD.

Free format text: FORMER OWNER: PUTIAN IT TECH INST CO., LTD.

Effective date: 20130922

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130922

Address after: 100080, No. two, 2 street, Zhongguancun science and Technology Park, Beijing, Haidian District

Patentee after: China Potevio Information Industry Co., Ltd.

Address before: 100080 Beijing, Haidian, North Street, No. two, No. 6, No.

Patentee before: Putian IT Tech Inst Co., Ltd.

ASS Succession or assignment of patent right

Owner name: PUTIAN IT TECH INST CO., LTD.

Free format text: FORMER OWNER: CHINA POTEVIO CO., LTD.

Effective date: 20131211

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20131211

Address after: 100080 Beijing, Haidian, North Street, No. two, No. 6, No.

Patentee after: Putian IT Tech Inst Co., Ltd.

Address before: 100080, No. two, 2 street, Zhongguancun science and Technology Park, Beijing, Haidian District

Patentee before: China Potevio Information Industry Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110406

Termination date: 20210515

CF01 Termination of patent right due to non-payment of annual fee