一种支持鉴权算法更新的智能卡及方法转让专利

申请号 : CN201010198229.2

文献号 : CN101895883B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张智江顾旻霞严斌峰郭达

申请人 : 中国联合网络通信集团有限公司

摘要 :

本发明涉及更新智能卡中鉴权算法的方法及支持鉴权算法更新的智能卡,所述方法包括:步骤1,加载新的鉴权应用到智能卡中,并在所述智能卡的记录文件中记录新增的鉴权应用所需的鉴权参数;步骤2,智能卡根据所述记录文件更新鉴权参数对应于鉴权应用的映射表;步骤3,智能卡在接收到鉴权指令时,根据鉴权指令中的参数从所述映射表中查找到所述参数对应的鉴权应用,执行所述鉴权应用对应的鉴权算法,返回鉴权结果。本发明能够提供对于新增的鉴权逻辑进行下载和运行,在多种鉴权逻辑间进行切换,以实现在电信的智能卡环境下的鉴权算法更新机制。

权利要求 :

1.一种更新智能卡中鉴权算法的方法,其特征在于,包括:步骤1,建立安全信道,通过应用层报文进行信息交互,加载新的鉴权应用到智能卡中,并在所述智能卡的记录文件中记录新增的鉴权应用所需的鉴权参数;其中,智能卡拒绝没有建立安全信道而直接发送的用于加载的安装指令;

步骤2,智能卡根据所述记录文件更新鉴权参数对应于鉴权应用的映射表;

步骤3,智能卡在接收到鉴权指令时,根据鉴权指令中的参数从所述映射表中查找到所述参数对应的鉴权应用,执行所述鉴权应用对应的鉴权算法,返回鉴权结果。

2.如权利要求1所述的更新智能卡中鉴权算法的方法,其特征在于,所述智能卡中存储有预设的固有鉴权算法。

3.如权利要求2所述的更新智能卡中鉴权算法的方法,其特征在于,所述步骤3前还包括,

步骤31,接收鉴权指令,获得鉴权指令中参数;

步骤32,根据所述参数判断所述鉴权指令所要求执行的是否为固有鉴权算法,如果是,则执行所述智能卡中固有鉴权算法,返回鉴权结果;否则,执行所述步骤3;

所述步骤3进一步为,

步骤33,从所述映射表中查找所述参数对应的鉴权应用,如果查找到,则执行所述鉴权应用对应的鉴权算法,返回鉴权结果,否则,按参数错误处理。

4.一种支持鉴权算法更新的智能卡,其特征在于,包括:加载模块,用于建立安全信道,通过应用层报文进行信息交互,接收新的鉴权应用,安装所述鉴权应用,并接收鉴权应用所需的鉴权参数,记录所述鉴权参数到记录文件中;其中,拒绝没有建立安全信道而直接发送的用于下载的安装指令;

映射建立模块,用于根据所述记录文件更新鉴权参数对应于鉴权应用的映射表;

接收模块,用于接收鉴权指令;

鉴权应用执行模块,用于根据所述鉴权指令中的参数从所述映射表中查找到所述参数对应的鉴权应用,执行所述鉴权应用对应的鉴权算法,返回鉴权结果。

5.如权利要求4所述的支持鉴权算法更新的智能卡,其特征在于,所述智能卡中存储有预设的固有鉴权算法。

6.如权利要求5所述的支持鉴权算法更新的智能卡,其特征在于,所述智能卡还包括,

固有鉴权执行模块,用于在所述接收模块接收到鉴权指令后,根据鉴权指令中的参数判断所述鉴权指令所要求执行的是否为固有鉴权算法,如果是,则执行所述智能卡中固有鉴权算法,返回鉴权结果;否则,启动所述鉴权应用执行模块;

所述鉴权应用执行模块进一步用于从所述映射表中查找所述参数对应的鉴权应用,如果查找到,则执行所述鉴权应用对应的鉴权算法,返回鉴权结果,否则,按参数错误处理。

说明书 :

一种支持鉴权算法更新的智能卡及方法

技术领域

[0001] 本发明涉及通信领域,尤其涉及一种支持鉴权算法更新的智能卡及方法。

背景技术

[0002] 目前的移动通信都是用智能卡作为用户识别模块,第二代移动通信系统GSM使用SIM(Subscriber Identity Module,用户识别模块)卡,遵循GSM11.11规范,认证鉴权使用2G AKA算法;第三代移动通信UMTS系统,包括WCDMA和TD-SCDMA使用3G AKA算法;第三代移动通信向后发展到EPS(EvolvedPacket System,演进的分组系统),使用USIM(Universal SIM,通用用户识别模块)卡,算法仍然使用UMTS的算法,但密钥体系更为复杂。
[0003] 自从第三代移动通信UMTS之后,使用的智能卡符合UICC(Universal ICCard,通用集成电路卡)架构,UICC架构的特点是上面可以承载多个应用。网络认证鉴权一般使用USIM应用,USIM应用支持网络认证鉴权主要是通过在智能卡中的文件存储相应的内容,以及智能卡的命令支持认证鉴权的算法和参数传递。
[0004] 除了USIM应用之外,ISIM应用用于IMS(因特网多媒体子系统)网络的认证鉴权,遵循的规范为3GPP TS 31.103。此外,许多业务通过GBA(通用引导框架,Generic Bootstrapping Architecture)来实现其安全性,GBA也使用USIM应用,通过鉴权指令(AUTHENTICATE)来实现。
[0005] 现有技术中智能卡鉴权逻辑交互如图1所示,终端发给智能卡鉴权指令,由智能卡内的固定的鉴权逻辑模块来处理,该鉴权逻辑模块只能支持预定的鉴权算法校验流程并向终端返回鉴权响应,其中鉴权算法不可更新。
[0006] 智能卡不支持鉴权算法更新,因而在智能卡发行之后,当需要新的鉴权算法的时候,需要开发和发行新的智能卡,以支持新的鉴权算法。以智能卡中的USIM卡的规范3GPP TS 31.102为例,如果使用较旧版本的规范,智能卡不支持GBA,已经发行的不支持GBA的智能卡无法通过升级更新的方法来支持GBA。根据3GPP TS 31.102,支持新的鉴权算法,体现在鉴权指令支持新的鉴权算法的算法和参数传递。不同的电信应用对鉴权指令的输入输出的参数都不一样。导致每次要更新同一个标准的不同版本,都需要重新更换卡片。
[0007] 在中国专利申请,申请号200910161459.9,一种可更新的通用智能卡及其系统和方法,中提供的身份认证方法为,在智能卡收到来自用户的需要使用某一应用的用户密码指令时,识别相应的应用,并基于所存储的相应的用户密钥和算法,计算所述用户的密码并将其提供给用户;用户将收到的密码提供给该应用的用于验证用户的服务器;服务器对所述密码进行验证;其中,所述智能卡在接收到更新信息时,能够进行相应的更新。该方法中没有提供对于新增的鉴权逻辑的下载和运行,也没有提供具体的多种鉴权逻辑切换的方法和方式,缺少在电信的智能卡环境下具体实现鉴权算法更新的机制。

发明内容

[0008] 为解决上述问题,本发明提供了一种支持鉴权算法更新的智能卡及方法,能够提供对于新增的鉴权逻辑进行下载和运行,在多种鉴权逻辑间进行切换,以实现在电信的智能卡环境下的鉴权算法更新机制。
[0009] 本发明涉及一种更新智能卡中鉴权算法的方法,包括:
[0010] 步骤1,加载新的鉴权应用到智能卡中,并在所述智能卡的记录文件中记录新增的鉴权应用所需的鉴权参数;
[0011] 步骤2,智能卡根据所述记录文件更新鉴权参数对应于鉴权应用的映射表;
[0012] 步骤3,智能卡在接收到鉴权指令时,根据鉴权指令中的参数从所述映射表中查找到所述参数对应的鉴权应用,执行所述鉴权应用对应的鉴权算法,返回鉴权结果。
[0013] 所述智能卡中存储有预设的固有鉴权算法。
[0014] 所述步骤3前还包括,
[0015] 步骤31,接收鉴权指令,获得鉴权指令中参数;
[0016] 步骤32,根据所述参数判断所述鉴权指令所要求执行的是否为固有鉴权算法,如果是,则执行所述智能卡中固有鉴权算法,返回鉴权结果;否则,执行所述步骤3;
[0017] 所述步骤3进一步为,
[0018] 步骤33,从所述映射表中查找所述参数对应的鉴权应用,如果查找到,则执行所述鉴权应用对应的鉴权算法,返回鉴权结果,否则,按参数错误处理。
[0019] 所述步骤1进一步为,
[0020] 步骤41,建立安全信道,通过应用层报文进行信息交互,完成加载新的鉴权应用到智能卡中,并在所述智能卡的记录文件中记录新增的鉴权应用所需的鉴权参数的操作。
[0021] 所述步骤1还包括,智能卡拒绝没有建立安全信道而直接发送的用于加载的安装指令。
[0022] 本发明还涉及一种支持鉴权算法更新的智能卡,包括:
[0023] 加载模块,用于接收新的鉴权应用,安装所述鉴权应用,并接收鉴权应用所需的鉴权参数,记录所述鉴权参数到记录文件中;
[0024] 映射建立模块,用于根据所述记录文件更新鉴权参数对应于鉴权应用的映射表;
[0025] 接收模块,用于接收鉴权指令;
[0026] 鉴权应用执行模块,用于根据所述鉴权指令中的参数从所述映射表中查找到所述参数对应的鉴权应用,执行所述鉴权应用对应的鉴权算法,返回鉴权结果。
[0027] 所述智能卡中存储有预设的固有鉴权算法。
[0028] 所述智能卡还包括,
[0029] 固有鉴权执行模块,用于在所述接收模块接收到鉴权指令后,根据鉴权指令中的参数判断所述鉴权指令所要求执行的是否为固有鉴权算法,如果是,则执行所述智能卡中固有鉴权算法,返回鉴权结果;否则,启动所述鉴权应用执行模块;
[0030] 所述鉴权应用执行模块进一步用于从所述映射表中查找所述参数对应的鉴权应用,如果查找到,则执行所述鉴权应用对应的鉴权算法,返回鉴权结果,否则,按参数错误处理。
[0031] 所述加载模块进一步用于建立安全信道,通过应用层报文进行信息交互,完成加载新的鉴权应用到智能卡中,并在所述智能卡的记录文件中记录新增的鉴权应用所需的鉴权参数的操作。
[0032] 所述加载模块还用于拒绝没有建立安全信道而直接发送的用于下载的安装指令。
[0033] 本发明的有益效果在于,通过发行后加载能够提供对于新增的鉴权逻辑进行下载和运行;通过建立映射表能够在多种鉴权逻辑间进行切换,以实现在电信的智能卡环境下的鉴权算法更新机制;通过在智能卡中存储固有鉴权算法,实现对原有智能卡功能的保留;通过建立安全信道,实现下载的安全保障;通过拒绝没有建立安全信道而直接发送的安装指令,不允许未经过授权的角色进行加载,提高安全性。

附图说明

[0034] 图1是现有技术中智能卡鉴权逻辑交互示意图;
[0035] 图2是本发明更新智能卡中鉴权算法的方法的流程图;
[0036] 图3是本发明优选实施方式的更新智能卡中鉴权算法的方法的流程图;
[0037] 图4是本发明一具体实施例中映射表的示意图;
[0038] 图5是应用安全信道进行智能卡新的鉴权方法下载的示意图;
[0039] 图6是本发明的支持鉴权算法更新的智能卡的结构图。

具体实施方式

[0040] 下面结合附图,对本发明做进一步的详细描述。
[0041] 本发明更新智能卡中鉴权算法的方法的流程如图2所示。
[0042] 步骤S100,加载新的鉴权应用到智能卡中,并在智能卡的记录文件中记录新增的鉴权应用所需的鉴权参数。
[0043] 将通过下载获得的新鉴权逻辑作为独立的应用,称为鉴权应用。
[0044] 步骤S200,智能卡根据记录文件更新鉴权参数对应于鉴权应用的映射表。
[0045] 步骤S300,智能卡在接收到鉴权指令时,根据鉴权指令中的参数从映射表中查找到该参数对应的鉴权应用,执行该鉴权应用对应的鉴权算法,返回鉴权结果。
[0046] 在一个较佳的方法中,还支持智能卡中不可升级的固有鉴权逻辑,该固有鉴权逻辑称为固有鉴权算法。智能卡中存储有预设的固有鉴权算法。
[0047] 在智能卡中存储有预设的固有鉴权算法时,更新智能卡中鉴权算法的方法如图3所示。
[0048] 步骤S501,加载新的鉴权应用到智能卡中,并在智能卡的记录文件中记录新增的鉴权应用所需的鉴权参数。
[0049] 步骤S502,智能卡根据记录文件更新鉴权参数对应于鉴权应用的映射表。
[0050] 在一具体实施例中,映射表如图4所示。其中的鉴权应用用AID进行标识,表中每一项记录为鉴权参数和对应的鉴权应用。
[0051] 步骤S503,接收鉴权指令,获得鉴权指令中参数。
[0052] 步骤S504,根据接收的参数判断鉴权指令所要求执行的是否为固有鉴权算法,如果是,则执行步骤S505,否则,执行步骤S506。
[0053] 步骤S505,执行智能卡中固有鉴权算法,返回鉴权结果。
[0054] 步骤S506,从映射表中查找接收的参数对应的鉴权应用,如果查找到,则执行步骤S507,否则,执行步骤S508。
[0055] 步骤S507,执行鉴权应用对应的鉴权算法,返回鉴权结果。
[0056] 步骤S508,按参数错误处理。
[0057] 在一较佳的方法中,建立安全信道,通过APDU(应用层报文)进行信息交互,完成加载新的鉴权应用到智能卡中,并在智能卡的记录文件中记录新增的鉴权应用所需的鉴权参数的操作。应用安全信道进行智能卡新的鉴权方法下载如图5所示。
[0058] 本发明的一具体实施例如下所述。
[0059] 电信领域的智能卡的鉴权通过终端发送鉴权指令(AUTHENTICATE)表现,鉴权指令中INS(指令字段)为0x88,终端通过该鉴权指令通知智能卡本次鉴权的环境参数及鉴权参数,环境参数用于区分本次鉴权的类型,如是否为3G环境、是否为GBA环境;鉴权参数用于鉴权算法的输入,直接影响鉴权输出结果。
[0060] 现有技术中,智能卡通过鉴权指令的环境参数,获得当前鉴权的类型,如果是3G环境,智能卡则调用预置的3G鉴权算法及流程,如果是2G环境,智能卡则调用预置的2G鉴权算法流程,对于其他类型,智能卡认为参数非法而拒绝执行。
[0061] 本发明一方面,使智能卡在支持预置的鉴权逻辑的前提下,还要能够支持新增的鉴权应用,通过加载在智能卡中安装鉴权应用;另一方面,修改对鉴权指令的处理流程以支持不同鉴权逻辑间的切换。
[0062] 本方案发明在智能卡片发行之后下载新的鉴权逻辑。现有智能卡片功能不被破坏,并把新的鉴权逻辑安全部署到卡上,而且这部分内容要在智能卡中正常运行。
[0063] 现有技术中智能卡多为单应用卡片,通常只能进行文件的访问操作,并基于文件做一些应用扩展,并不能实现较复杂功能逻辑的扩充和变更。
[0064] 本发明把新的鉴权逻辑以独立的应用来实现,称为鉴权应用。本实施例选择在多应用卡片平台上实现本发明。多应用卡平台有多种解决方案,例如Java Card(Java卡),Windows Powered Smart Cards(Windows支持的智能卡)。
[0065] 本实施例采用Java Card作为多应用卡片平台。Java Card提供了一种多应用技术,用以实现应用的二次开发机制和后下载并链接的平台,并支持后下载应用的安全运行。Java Card充分利用了Java技术在安全、平台兼容等方面的特性。安全方面,应用之间建立防火墙机制,限制未经授权的访问。平台兼容方面,智能卡按照Java Card规范实现符合要求的虚拟机平台,使二次开发的应用不需要关心智能卡软硬件内部实现细节,按照统一的API(Application Programming Interface,应用程序接口)文档实现鉴权逻辑功能。Java Card里面,应用称为Applet,应用靠AID来标识,AID一般为5到16个字节。智能卡上的应用的AID不能重复。本实施例中鉴权应用以JavaCard的Applet表现,用一个AID来标识这个鉴权算法。鉴权应用的升级就为下载一个Applet的过程。鉴权应用的部署过程为Java Card Applet的部署过程。本发明用Java Card多应用平台但不限于该平台。
[0066] 鉴权应用开发完毕,下载到智能卡的过程必须是安全的。
[0067] GlobalPlatform(全球平台)技术为具有多应用的智能卡提供了一种安全的应用下载机制。GlobalPlatform提供一种逻辑上的管理框架,将针对特定平台,不局限为Java Card平台,的虚拟机专用字节码以统一的指令和流程部署到智能卡上,并用统一的指令来进行应用生命周期管理,如下载/安装/删除应用等。Java Card平台本身支持应用后下载,但是从安全性和智能卡资源受控角度考虑,不能允许任意角色都能进行应用后下载过程。应用下载操作应该定位成一个高安全级别的操作。如果要在智能卡上部署一个鉴权应用,要先建立安全信道以安全的APDU报文交互,没有建立安全信道的方式直接发给主安全域的安装指令就会被拒绝。鉴权应用的部署过程在GlobalPlatform控制之下,不允许未经过授权的角色进行这个过程。保证了部署过程的安全。本实施例中应用Java Card技术实现多鉴权应用执行和后下载,应用GlobalPlatform技术实现鉴权应用安全下载。
[0068] 可以通过空中下载方法或者POS机完成新的鉴权应用的下载。
[0069] 本实施例总智能卡通过一个记录文件来建立一个鉴权参数—鉴权应用的映射表,如果参数指定的鉴权类型不为卡片预置的固有鉴权算法,智能卡检索映射表判断是否有某个后下载的新的鉴权应用能够处理本次鉴权,如果没有,智能卡片拒绝本次鉴权操作并提示参数错,如果在映射表内已经有某个鉴权应用和当前参数映射,则将本次鉴权操作交给这个鉴权应用处理。
[0070] 本发明的支持鉴权算法更新的智能卡的结构如图6所示。
[0071] 加载模块100,用于接收新的鉴权应用,安装该鉴权应用,并接收鉴权应用所需的鉴权参数,记录该鉴权参数到记录文件中。
[0072] 映射建立模块200,用于根据记录文件更新鉴权参数对应于鉴权应用的映射表。
[0073] 接收模块300,用于接收鉴权指令。
[0074] 鉴权应用执行模块400,用于根据该鉴权指令中的参数从映射表中查找到参数对应的鉴权应用,执行该鉴权应用对应的鉴权算法,返回鉴权结果。
[0075] 较佳的方式中,智能卡中存储有预设的固有鉴权算法。
[0076] 进一步的,智能卡还包括,固有鉴权执行模块,用于在接收模块300接收到鉴权指令后,根据鉴权指令中的参数判断鉴权指令所要求执行的是否为固有鉴权算法,如果是,则执行智能卡中固有鉴权算法,返回鉴权结果;否则,启动鉴权应用执行模块400;
[0077] 鉴权应用执行模块400进一步用于从映射表中查找参数对应的鉴权应用,如果查找到,则执行鉴权应用对应的鉴权算法,返回鉴权结果,否则,按参数错误处理。
[0078] 较佳的方式中,加载模块100进一步用于建立安全信道,通过应用层报文进行信息交互,完成加载新的鉴权应用到智能卡中,并在智能卡的记录文件中记录新增的鉴权应用所需的鉴权参数的操作。
[0079] 进一步的,加载模块100还用于拒绝没有建立安全信道而直接发送的用于下载的安装指令。
[0080] 本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。