使控制器之间的数据交换安全的制作方法

文档序号:6679425阅读:201来源:国知局
专利名称:使控制器之间的数据交换安全的制作方法
技术领域
本发明涉及两个控制器之间的数据交换的保护。
为了保护两个控制器之间的对话,一个已知的解决方案由以下组成在该第一控制器中,例如在销售终端点上的一个保密模块中预先存储一个母密钥,以及在用于诸如信用卡或电子购买卡这样的用户智能卡的第二控制器中预先存储子密钥。第二控制器的子密钥是通过将母密钥和该第二控制器(智能卡)的序列号应用于密钥变化算法而产生的。
不过,本发明更特别地涉及另一个情况,其中两个控制器来源于两个截然不同的合法实体,它们先验地并未联系到足以让一个实体将保密数据施加于另一个实体上。
依据下文将参照的一个实例,该合法实体中的一个是无线电话网络的运营商,它销售移动无线电话终端中使用的可拆卸标识智能卡或SIM(用户标识模块)卡,其中每一个都包括一个“第一”控制器。另一个合法实体是被称为附加卡的应用智能卡的一个发行商,该附加卡每一个都包括一个“第二”控制器,该控制器被引入到终端中的附加卡读取器。
在这种情形下,每一个终端的用户可以获取来源于各个卡发行商的各种附加卡,以及先验的每一个包括几种应用。
销售SIM卡的电话运营商在SIM卡被参数化时,不能够保证将所有母密钥引入到每一个SIM卡中,该母密钥涉及各种附加卡或涉及它们包含的应用。因此不可能在SIM标识卡中预先存储所有附加卡的母密钥。
除了在所有SIM卡中存储母密钥的实际情况外,向所有用户委托该母密钥也存在巨大风险。这是因为,对于保密性而言,如果一张卡被“破密”,也就是说如果它所包含的所有密钥均被获得的话,在任何情况下所有保密装置都不应被威胁到。而如果该SIM卡包括该母密钥的话,这个原则正好被违反了。获得与该SIM卡中的仅一张有关的这些母密钥中的仅一个密钥,就将使制造任何附加卡的克隆成为可能。
本发明的目标在于至少为前面的特定情况减少现有技术的不适当之处,从而保护任何卡和任何附加卡的控制器之间的一个数据交换。
为了这个目的,提供一种用于保护第一和第二控制器之间数据交换的方法,该第一控制器为该第二控制器中实现的应用管理到一个电信网络的通信,该第二控制器包括一个控制器标识符和衍生于一个母密钥的应用的密钥,其特征在于,为该第二控制器中选择的每一个应用执行以下步骤通过该第一控制器从该第二控制器向远程的保密装置传输该第二控制器的标识符和所选应用的一个标识符,使该保密装置中的一个母密钥对应于该第二控制器的标识符,依据传输的所选应用标识符、保密装置中的对应的母密钥和第二控制器的标识符来确定所选应用的密钥,依赖所确定的应用密钥从该远程保密装置向该第一控制器传输至少一个参数,以及在至少该第一控制器中使用该参数来保护该第一和第二控制器之间涉及所选应用的数据交换。
通过依赖所选应用的确定密钥的参数,该第一控制器(诸如一个SIM标识卡的控制器)为包括该第二控制器的附加卡的每一个用途,也就是说为每一个应用,而在线地个性化。该SIM卡并未为了与一个预定的初始卡交换数据而被个性化,以及并不提前包括一个预定的密钥,但为了与一个附加卡交换数据(其发行商在该保密装置被识别)而被临时个性化。
依据第一和第二实施方案,该参数是以加密后的形式从远程保密装置向该第一控制器传输的所确定的应用本身。即使在这些实施方案中,该密钥并不直接用于保护控制器之间的数据交换,而是在应用的每一个会话,或在每一个数据单元从一个控制器到另一个控制器的传输中变化,正如本发明的详述中所见的。
依据第一实施方案,该远程保密装置是该电信网络中的一个服务器以及包含一张表用于使第二控制器标识符集对应于母密钥。
依据该第二实施方案或第三实施方案,该远程保密装置包括一个包含在该电信网络中以及包含一张表用于使第二控制器标识符集对应于第二服务器地址的第一服务器,以及连接到该第一服务器并分别与对应母密钥的第二控制器标识符集相关的第二服务器。该第二服务器由该第一服务器响应于所传输的第二控制器的标识符而寻址,以及确定所选应用的密钥并通过该第一服务器向该第一控制器传输至少该参数。
依据一个第一变例,在第一控制器中使用该应用密钥,以便参与第一和第二控制器中一个控制器对另一个控制器的鉴权,以及接着响应于该另一个控制器的鉴权而参与由该另一个控制器对该一个控制器的鉴权,这是在只响应该一个控制器的鉴权而执行所选应用的一个会话之前。
依据一个第二变例,在第一控制器中使用该应用密钥,以便依据第一随机数和第二随机数来确定一个加密密钥,以便用该要从一个控制器传输到另一个控制器的加密密钥来加密和/或签署一个数据单元,该第一随机数由第二控制器向第一控制器提供,以及该第二随机数由第一控制器向第二控制器提供以确定第二控制器中的加密密钥。
依据该第三实施方案,替代所选的应用的密钥,由第二控制器向第一控制器传输依赖于所确定的密钥以及不包括后者的几个参数集。因此该密钥并不被传输到该第一控制器,这提高了保密性,以及它只是成对的一个数和依赖于这个数及所传输密钥的一个参数。
本发明的其他特征和优点从参照对应的附图阅读以下对本发明的几个优选实施方案的描述而会体现得更加明显,其中-

图1是一个用于从一个移动终端实现本发明的保护方法的一个网络系统的框图;-图2是一个配备一张附加智能卡的移动无线电话终端的详细的功能框图;-图3是一个依据本发明的一个第一实施方案的保密算法;-图4是一个用于本发明的第一或第二实施方案的相互卡鉴权算法;-图5是一个为本发明的第一和第二实施方案确定一个数据单元加密密钥的算法;-图6是一个依据本发明的第二实施方案的保密算法;-图7是一个依据本发明的第三实施方案的保密算法;-图8是一个用于本发明的第三实施方案的相互卡鉴权算法;以及-图9是一个为第三实施方案确定一个数据单元加密密钥的算法。
通过实例,参照图1所示的数字蜂窝式无线电话网络类型RR的一个电信网络的情况。该无线电话网络的一个移动无线电话终端TE包括第一智能卡SIM,它构成该终端的带有可拆卸微控制器的一个标识模块,以及一张被称作附加应用卡的第二智能卡CA。该CA卡可拆卸地包容在集成于该终端中的一个附加卡读卡器LE内,或可能独立于该终端但连接到该终端上。
在图1中,该无线电话网络RR由该移动终端TE在一个给定时间中所在的位置区域所用的一个移动服务交换MSC来动态表示,以及一个基站BTS由一个基站控制器BSC连接到该交换MSC和由无线链路连接到该终端TE上。该实体MSC,BSC和BTS主要组成一个固定网络,通过该网络可以特别地传输信令、控制、数据和语音消息。能够与终端TE中的SIM卡交互的网络RR的主要实体是与访问者位置寄存器VLR相关的移动服务交换MSC以及连接到该交换电话网络STN的至少一个自路由电话交换CAA上。该交换MSC管理用于访问移动终端的通信,包括在给定时刻位于由该交换MSC服务的定位区域的终端TE。该基站控制器BSC特别地管理到访问移动终端的信道分配,该基站BTS覆盖了给定时刻终端TS所位于的无线小区。
该无线电话网络RR也包括一个连接到该寄存器VLR和类似的数据库的标称位置寄存器HLR。该寄存器HLR为每一个无线电话终端特别地包括在终端TE中称为标识卡的SIM(用户标识模块)卡的国际标识IMSI(国际移动用户标识),也就是说拥有该SIM卡的用户的标识,该用户的预订简档和该移动终端临时隶属的寄存器VLR的编号。
图2详细表示的移动无线电话终端TE包括一个到无线电话网络RR的无线接口30,主要包括一个传输和接收信道双工器、变频电路、模数和数模转换器、一个调制器和一个解调器,以及一个信道编码和解码电路。该终端TE还包括一个连接到麦克风310和扬声器311的语音编码和解码电路31,一个与一个非易失性程序存储器EEPROM33和一个数据存储器RAM34关联的微处理器32,和一个服务于该智能卡SIM和CA的输入输出接口35,一个键盘36和一个图形显示器37。该微处理器32通过总线BU与该接口30、电路31、存储器33和34连接,通过另一个总线BS与输入输出接口35连接。该微处理器32管理所有终端发送和接收的、经过频率变换后特别是与ISO模型协议层1、2和3相关的基带上的数据处理,以及监督通过无线接口30与网络RR以及通过输入输出接口35与SIM卡之间的数据交换。
该智能卡SIM连接到包括至少一个终端中的读卡器LE的输入输出接口35和移动终端上的外设连接。在智能卡SIM中集成了一个主要包括一个微处理器10的第一控制器、一个包含了该卡操作系统以及通信与应用算法的ROM类型的存储器11、一个包含关于该用户所有特征,特别是该用户IMSI的国际标识的EEPROM类型的非易失性存储器12,以及一个基本预定用于处理要从包含在该终端和第二CA卡中的微控制器32接收到并向其发送的数据的RAM类型的存储器13。
根据本发明,一些软件项被预先包括在存储器ROM11和EEPROM12中以便管理附加CA卡中的应用。特别地,依据图3或6或7中所示的本发明的保护方法的算法实现于存储器11和12中。用于依据本发明的保护的鉴权算法AA1和AA2也在存储器11和12中实现。
类似SIM卡C1,该附加智能卡CA包括一个主要包括一个微处理器20的第二控制器、一个包含了该CA卡的操作系统和一个或多个AP应用以及对本发明特定的鉴权算法AA1和AA2的ROM存储器21、一个EEPROM类型的非易失性存储器22,以及一个用于处理要从微控制器32和处理器10接收的数据的RAM存储器13。依据本发明,该非易失性存储器22也包含了一个该CA卡的标识符,它由一个该CA卡供应商确定的序列号NS,以及用于每个应用的一个相应AID标识符和一个相应的密钥KA组成。
该CA卡可以是例如一个银行卡,一个电子购买卡或一个游戏卡。
SIM卡和CA卡中的ROM和EEPROM存储器11、12、21和22包括通信软件,用于首先与终端TE中的微处理器32对话以及其次通过终端TE,也就是说通过微处理器32和输入输出接口36,在处理器10与20之间对话。
为了与它们进行对话,该SIM卡和附加的CA卡主动行动以便通过依照ISO 7816-3协议“T=0”执行的指令和根据推荐GSM 11.14(SIM工具集)进行封装的方法来触发移动终端MS中的动作。例如,该终端TE周期性查询以便接收由该卡发送的要被显示的菜单。上述的建议扩展了包含在智能卡SIM和CA中存储器11,21中的操作系统的命令集,以便使其可用于由该智能卡CA、SIM发送的其它CA、SIM卡的数据。
如以下所见,根据本发明在保护方法的情况中该终端TE被认为对于SIM和CA卡之间的数据交换是透明。
典型地,附加CA卡中的控制器通过交换两张SIM和CA卡中控制器之间的命令和响应,既而通过SIM卡和终端的控制器之间的命令和响应交换被中继,而与终端TE通信。因此通过SIM卡完成了终端与CA卡之间所有典型的主动交换,对于该终端来说,SIM卡似乎是CA卡中所选的每个应用的执行器。
对于本发明方法的三个优选实施方案,提供了属于无线电话网络RR运营商的一个第一专用服务器SO。该服务器SO例如是一个通过例如一个综合业务数字网ISDN的接入网络RA连接到该无线电话网络RR的交换MSC上的短消息业务服务器(短消息服务中心)。该服务器SO的地址ASO被预先存储在SIM卡的非易失性存储器12中。在由该SIM卡建立的每一个短消息中,其中引进了该标识IMSI,使得不管该终端TE的移动性如何,服务器SO可以在标称的位置寄存器HLR中的该对VLR-MSC被找到之后传输该SIM卡的一个响应。
该SIM卡和短消息服务器SO通过一个双向短消息信道SMS(短消息服务)对话。因此该终端TE对SIM卡和服务器SO之间的短消息来说是透明的。
依据另一个变例,该服务器SO可以是通过互联网和一个具有移动性管理的分组交换网络连接到无线电话网络RR的基站控制器BSC上以及由GPRS(通用分组无线服务)无线信道访问的一个服务器。
依据图3所示的第一实施方案,本发明的保护方法包括主要步骤E0-E8。当无线电话网络RR的运营商和涉及附加CA卡应用的供应商之间存在信任关系时,该服务供应商已将一个母密钥KM委托给运营商,该母密钥已经预先存储在运营商的短消息服务器SO中,在步骤E0中最初已经假设,该终端TE已经通过按下一个停止-开始按钮来启动,以及已经证实该终端键盘上键入的秘密码从而在该终端TE的屏幕上显示一个主菜单。
在下面几乎与步骤E0同时发生的步骤E1中,该终端TE验证已经在终端的读卡器LE中引入了一张附加CA卡。如果该CA卡出现在读卡器中,则主菜单显示CA卡的名称和/或它的供应商,从而选择这个条目使得当CA卡中包括应用AP中的几项(这将在下文中进行假设,或直接就是在该卡中可得到的主动应用的列表)时,在下面的步骤E2中显示该CA卡中包含的应用名称列表。
在一个变例中,在SIM卡在一个中间步骤E101中已经证实在附加CA卡中读入以及可通过SIM卡和无线电话网络RR进行访问的、至少一个无线电话网络PLMN(公共陆地移动网络)的指示符之后显示该附加CA卡的上述特征。如果SIM卡没有识别出任何无线电话网络指示符(步骤E102),则在该终端的屏幕上显示“附加卡被拒绝”的消息以及该方法返回步骤E0处的主菜单。
如果,在步骤E1或E101之后,附加CA卡被认为是插入和/或证实的,它就传输CA卡中可得到的主动应用的一列标识符以便在步骤E2中显示它们。该终端TE的用户从CA卡中可得到的几个主动应用之中选择一个主动应用AP,例如通过滚动或导航键,以及证实这个选择。CA卡的“第二”控制器中所选的主动应用是在本说明的剩余部分中指定的AP。
既而该CA卡向SIM卡传输所选主动应用AP的标识符AID和该CA卡的一个序列号NS,该序列号构成用于在步骤E3中非易失性存储器22中读取的CA卡的控制器的一个标识符。CA卡中的处理器20通过匹配该标识符AID和该应用相应的密钥KA而在存储器22中标记所选的主动应用AP。
在步骤E4中,SIM卡建立一个包含接收到的参数NS和AID以及卡标识IMSI的短消息。
一旦接收到该短消息,该服务器SO就在步骤E5临时存储该标识IMSI,所选应用标识符AID和卡序列号NS,并在查找表中搜索一个母密钥KM,该KM要匹配于传输的序列号NS,或匹配于序列号中包含的前缀。该母密钥列举来自同一卡供应商的附加卡集合,一般它对应于一系列卡序列号。该母密钥变化为“子”密钥,分别关联于供应商的附加卡建议的应用。如果在步骤E5中,该服务器SO没有识别出该序列号NS,它就向SIM卡传输一个选择应用拒绝消息,以便在步骤E51中通过“所选应用拒绝”类型的显示消息向用户通告,以及中断SIM卡与该服务器SO的通信。
如果在步骤E5中,一个母密钥对应于该附加CA卡的序列号NS,该服务器SO在步骤E6中就通过将所选应用AP的标识符AID、对应的母密钥KM和CA卡的序列号NS应用到一个应用密钥确定算法AL,来确定对应所选应用AP的“子”密钥KA。这个程序保证对于每一张卡以及同一张卡的每个应用的应用密钥都是不同的。在一个变例中,在两个步骤中建立了子密钥,首先是关于该序列号NS和该母密钥的,以及然后是关于所选应用标识符AID的,或者反之亦然。因此确定的该“子”密钥KA在步骤E7中加密为加密密钥KA,依据先前存储的标识IMSI,该密钥在寻址到终端TE中的SIM卡的短消息中传输。SIM卡在步骤E8中将密钥KAC解密为密钥KA并进行存储,以便处理SIM卡和CA卡的相互鉴权,或者是SIM卡和CA卡中的一个加密密钥的确定,下面参照图4或5进行描述。
依据图4所说明的实施方案,由SIM卡触发的相互鉴权包括,由第二CA卡对第一SIM卡的第一鉴权A1,以及然后响应于对该SIM卡的鉴权,由该第一SIM卡对第二CA卡的第二鉴权A2。依据本发明的另一个变例,鉴权顺序被反过来,首先执行由该SIM卡对该CA卡的鉴权A2,以及然后响应于该第二卡的鉴权,接着执行由该CA卡对该SIM卡的鉴权A1。
依据还有其他的变例,该鉴权只是单独的该第一或第二鉴权A1或A2。
该第一鉴权A1向该附加卡C1保证所选应用AP的“子”密钥KA事实上已经由网络RR确定,也就是说由服务器SO确定。该第一鉴权A1包括步骤A11-A16。
步骤E8之后,该SIM卡在步骤A11向CA卡传输一个随机数请求消息。CA卡在步骤A12中读取其非易失性存储器22中的一个随机数NC,或依靠处理器20中包含的伪随机生成器提供这个随机数NC。随机数NC从CA卡传输到临时存储该数的SIM卡。并行地,在步骤A13和A14中,该SIM卡将一个第一鉴权算法AA1应用到服务器SO传输的所选应用密钥KA,以及应用到所接收到的随机数NC,以便提供传输到CA卡的一个签名SS=AA1(KA,NC);CA卡将随机数NC和从其存储器22中读取的密钥KA应用于鉴权算法AA1,从而提供一个结果RC=AA1(KA,NC)。在步骤A15中将CA卡接收到的签名SS与结果RC进行比较。如果该签名SS不同于结果RC,在步骤A151中拒绝该选择的应用AP以及该终端TE显示一个消息“拒绝所选的应用”。
如果该签名SS等于结果RC,则该CA卡请求SIM卡执行第二鉴权A2,这是通过在步骤A21中向其传输一个鉴权请求来进行的。
既而该第二鉴权A2给出的步骤A22-A25等同于第一鉴权A1中的步骤A12-A15,只是卡被互换了。
在步骤A21结束时,SIM卡在步骤22中选择在非易失性存储器12中读取的或由处理器10包含的伪随机数生成器提供的伪随机数NS,以及在一个命令中将其传输到该附加卡CA,后者在RAM存储器23中存储该随机数。附加卡CA的处理器20再一次读取存储器22中的选择的应用密钥KA,从而在步骤A23将其与接收到的随机数NS应用到第二鉴权算法AA2。该处理器20产生一个签名SC=AA1(KA,NS)。与步骤A24并行的是,该SIM卡的处理器10再一次读取存储器13中的密钥KA,从而将其与所提供的随机数NS应用于该第二鉴权算法AA2,以便产生一个结果RS=AA2(KA,NS)。
既而,在步骤A25,在SIM卡中,将步骤A24中确定的结果RS与步骤A23中CA卡传输的签名SC进行比较。如果结果RS不同于该签名SC,则在步骤A251中拒绝选择的应用以及在该终端中显示一个消息“拒绝所选的应用”。否则,响应于由RS=SC表示的SIM卡对附加卡CA的鉴权,在步骤A252中执行所选择的主动应用的一个会话。
尽管鉴权算法AA1和AA2在前面被认为是不同的,但作为一个变例它们可能是相同的。
依据该第一和第二实施方案的变例,图4所示的相互鉴权的方法为图5所示的数据单元加密密钥确定方法所替代。
这个方法包括的步骤A11-A14类似该第一鉴权A1中的第一鉴权的那些步骤,以及步骤A22-A24类似第二鉴权中的那些步骤。不过,在步骤A11中,该鉴权请求被一个保护请求所代替,使得该CA卡首先在步骤A12中向SIM卡传输该随机数NC以及其次该SIM卡在步骤A22中向CA卡传输该随机数NS。依据这个数据单元保护,既不交换SIM卡的签名SS也不交换附加卡CA的签名SE;从一个卡向另一个卡传输的随机数NC和NS分别在步骤A13和A23中存储。
在SIM卡中的结果和签名确定步骤A13和A24,以及CA卡中的步骤A14和A23之后,通过在SIM卡中的步骤A26以及在附加卡CA中的步骤A27中应用该随机数NC和NS、该签名SS和结果RS到一个加密密钥生成算法AG来确定一个加密密钥KC。
在步骤A28中使用该加密密钥,以便加密一个将从其中一张卡(例如SIM卡)传输到另一张CA卡的应用协议数据单元APDU,以及在步骤A29中使用,以便解密该另一张卡中的加密单元APDUC。
事实上,可以使用同一个加密密钥加密-解密第一数据单元,诸如从SIM卡到CA卡的一个命令,以及一个第二数据单元,诸如从CA卡到SIM卡的一个响应。每次将交换一个命令-响应对时,都这样确定一个相应的加密密钥。
在一个变例中,密钥KC用于签署每一个将被传输的数据单元APDU,或用于签署和加密每一个数据单元。该加密密钥/数据单元签名可以被使用比加密一个命令/响应对更长的时间,例如用于一个会话的整个持续时间。会话意味着在使用一个应用AID的开始和结束之间流过的时间。
当该附加卡供应商并未信任该无线电话网络RR的运营商到足以将该母密钥KM委托与他时,实现了本发明的方法的第二实施方法。响应用于SIM卡所选应用密钥的请求,不是运营商的服务器SO提供请求的密钥KA,而是一个属于发行该附加卡的服务供应商的第二服务器SP来提供。
如图1所示,该服务器SP(服务供应商)位于无线电话网络RR之外以及例如通过一个诸如互联网的高吞吐量网络RHD连接到该交换电话网络STN上。正如下文中对于本发明的第二实施方案以及第三实施方案所见的,该SIM卡并不直接与该服务供应商的服务器SP通信,而是通过运营商的服务器SO。该服务器SO也连接到高吞吐量网络RHD上以及包括一张用于附加卡提供者的地址表格,从而使各自服务器SP的一个地址ASP对应附加卡的各个序列号NS,或者对应这个序列号的前缀,也就是说对应附加卡的一个类目。
该服务器SO接收由该交换MSC(该终端TE被临时附接到它)传输的短消息,解释该消息,如下所见,以及在IP(互联网协议)消息中封装它们,以便通过网络RHD将该消息路由到该服务器SP上。在另一个传输方向上,该服务器SO恢复包含所选择应用密钥(它由该服务器SP传送)的数据消息IP,以及适当地对它们解除封装,以便优选地在解密和加密之后,通过网络RA和RR,将它们传送到包含SIM卡的终端TE。
如图6所示,依据这个第二实施方案的保护方法包括已经参照图3描述的步骤E0-E4以及,步骤E4之后的步骤E9-E15.
响应包含步骤E4中传输的SIM卡的标识IMSI、附加卡CA的序列号NS和所选应用AP的标识符AID的短消息,该服务器SO在步骤E9中存储该标识IMSI、该标识符AID和该序列号NS并查阅一张该附加卡的序列号和这些附加卡的供应商的服务器地址之间的查找表。如果在上述表格中没有找到CA卡的序列号NS,该服务器SO向该SIM卡传输一个拒绝所选应用的消息,该SIM卡在步骤E91中显示消息“所选应用被拒绝”,并中断与服务器SO的通信,。
如果一个服务器SP的地址ASP在查找表中通过接收到的NS序列号被找到,该服务器SO在步骤E10建立一个包含从表中读取的该供应商服务器地址ASP、该服务器SO的地址ASO、所选应用标识符AID和卡序列号NS的消息IP。
作为对这个IP消息的响应,在步骤E11,该服务器SP存储该数据ASO,AID,NS,并将该接收到的应用标识AID、接收的序列号NS以及附加CA卡所属卡分类的对应的母密钥KM应用到一个应用密钥确定算法AL中。变化的密钥算法AL的执行产生一个“子密钥”KA。在步骤E12,该密钥KA接着被加密为一个加密密钥KACH,封装在一个IP消息中以根据ASO地址通过网络RHD发送到短消息服务器SO。
该加密密钥KACH被解密为密钥KA,该密钥在步骤E13存储在服务器SO上。既而该服务器SO读取该标识IMSI以通过寄存器HLR找到该终端TE,并将接收到的密钥KA加密为另一个加密的密钥以C,在步骤E14将其封装在一个短消息中发送到该终端TE。
从SIM卡接收到的短消息中提取出加密的密钥KAC,在步骤E15将其解密为初始密钥KA。该密钥KA既而被存储在SIM卡的RAM存储器13中以便将它用于依据图4所示的算法对SIM卡和CA卡进行的相互鉴权,或用于根据图5所示的算法确定数据单元加密密钥。
应该指出的是加密的密钥KAC和KACI是先验不同的,服务器SP与SO之间的加密解密算法与服务器SO与SIM卡之间的加密解密算法是先验不同的。
在本发明的保护方法的第三实施方案中,该附加卡供应商甚至更不信任无线电话网络RR的运营商并且不希望向其传送与所选应用AP相关的密钥KA。该供应商仅向运营商传送由随机数和“会话密钥”组成的结合对。会话密钥是签名或某种意义上来自如参照图4所描述的鉴权A1和A2的结果,并且它们被存储在SIM卡中以便在所选应用AP会话期间使用。
本发明的第三实施方案包括参照图3所描述的步骤E0到E4和参照图6所描述的步骤E9到E11以及图7所示的步骤E11后的步骤E16到E20。
在步骤E11之后,当附加卡供应商的服务器SP已经依据该标识符AID、序列号NS和母密钥KM提供了所选应用AP的子密钥KA时,在步骤E16该服务器SP在四联组列表的表中搜索对应该应用密钥KA的一个列表。这个列表包括依赖所确定的密钥KA的几个参数集,诸如分别用于所选应用AP的I个会话SE1-SEI的I个四联组NC1,SS1,NS1,RS1NCI,SSI,NSI,RSI。该选择应用的一个会话是执行在SIM卡执行的两个任务之间的应用,例如在终端TE上交换之后或者在已经退出另一个应用之后。该整数I可以等于几十。
如同依据第一鉴权A1的签名SS一样,一个签名SSi,其中1≤i≤I,来自于将该密钥KA和确定的数NCi应用到该第一鉴权算法AA1,也就是说SSi=AA1(KA,NCi)。如以下所见,该数NCi不是随机的,而是通过应用该密钥KA和一个相应的整数到函数f而确定的,随着四联组的创建该整数递增一个单位。如同第二鉴权A2的结果RS一样,一个结果来自于将该密钥KA和随机数NSi应用到该第二鉴权算法AA1,也就是说RSi=AA2(KA,NSi)。
I个四联组的列表既而被封装进一个消息IP,该消息依据地址ASO从该服务器SP通过该网络RHD传输到短消息服务器SO。服务器SO解除对该消息IP的封装并存储该I四联组的列表。在步骤E17,在服务器SO中读入附带于SIM卡的标识IMSI,从而通过该寄存器HLR找到终端TE。既而将四联组的列表封装进通过网络RA和RR从服务器SO向SIM卡传输的短消息。最后,该I个四联组被从该接收到的短消息中提取出来并存储在SIM卡的非易失性存储器22中,以便为所选应用AP的紧接着的I个会话所用,其中每一个会话从SIM卡和CA卡的相互鉴权开始,如图8所示,或从按照图9所示算法的数据单元加密密钥确定开始。
当I个四联组的储存在所选应用的I个会话之后用完时,也就是说当I个四联组已经每一个都使用了不超过一次时,如图7的步骤E19所示,该方法返回到步骤19,紧接着步骤E20中由SIM卡通过服务器SO向服务器SP请求四联组列表。该服务器SP因而提供一个新的四联组列表。
依据第一变例,对每一个会话而言,SIM和CA卡以类似于如图8所示的鉴权A1和A2的方式,而彼此相互鉴权。在这张图中,由参考号a1和a2指出该第一和第二鉴权,这是因为下文中将出现少许不同。在第一鉴权a1之前,假设SIM卡已经存储至少四联组NCi,SSi,NSi,RSi,正常地预定用于在初始化步骤a10中激活的会话SEi。
与鉴权A1相比,SIM卡不能识别出所选应用密钥KA。附加卡CA不能随机地生成数NCi,这是因为对于传送到SIM卡的列表来说,可能包含了对应所有随机数的签名。因此,在步骤a11的随机数请求之后,在步骤a111,附加卡CA增加处理器10中所包括的会话数计数器NSE一个单位。该计数器具有足够高的最大计数,例如对应至少四个字节,以便其计数能够在CA卡的使用期限中每一个会话处递增一个单位。既而CA卡在步骤a112中确定数NCi,这是通过将整数NSE和存储器22中读取的应用密钥KA应用于ROM存储器21中所包含的函数f而进行的。该确定的数NCi既而被传输到SIM卡中的“第一”控制器,使得后者在步骤a13依据传输的确定数NCi在接收到的四联组表中选择所有参数NCi,SSi,NSi,RSi
虽然数NCi先验的对相应四联组中包含的数NCi是冗余的,但由传输的数NCi来定址接收到的四联组表补救了例如已经异常结束的鉴权阶段,例如这种异常是由于无线电话终端TE在这个阶段中被切断而引起的。这会引起当前会话SSi的数NSE的一个偏移。如果SIM卡发现自接受到四联组中的最后一个列表起该数NCi已经用于一个鉴权a1,那么它将在步骤a11中请求另一个数,如图8的步骤a13和a11之间的点线所示;SIM卡标记对应数NCi的未使用的四联组,所述数NCi已经在被发现对应两个连续会话的数NCi之间被跳过。
在步骤a13中,CA卡中的SIM卡的第一鉴权a1包括向CA卡传送SIM卡的签名SSi,以及如步骤A14,A15和A151一样执行步骤a14,a15和a151,用于计算应用所确定数NCi和密钥KA到该第一算法从1的结果RCi,以及将该结果RCi与所选择集合的签名结果SSi相比较。
同样,在步骤a22中,SIM卡中的CA卡的第二鉴权a2在步骤a21中以CA卡的一个请求以及所选择集合的随机数NSi的从SIM卡到CA卡的传送开始。既而执行类似步骤A22,A23,A25,A251和A252的步骤a23和a25,a251和a252,以便确定一个签名SCi,该签名通过将传送的随机数NSi和密钥KA应用于CA卡中的第二算法AA2而产生,以及因而以便比较所选择组合的结果RSi和CA卡向SIM卡传送的签名SCi。
在步骤a15或a25之后,当相应的比较结果是否定的时,拒绝所选应用的会话(步骤a151或a251)。另一方面,在步骤a25之后,当结果RSi等于签名SCi时,开始所选应用的会话SEi(步骤a252)。
依据图9所示的第二变例,通过类比于图5,SIM卡和CA卡并不相互向彼此传送签名SSi和SCi,而是只向彼此传送数NCi和NSi,以及图8中省略了用于确定一个加密密钥的比较步骤a15和a25,例如当SIM卡希望在步骤a10中传输一个单元APDU时。
在步骤a10之后,该加密密钥来自于以下步骤在步骤a111使整数NSE增加一个单位,以便在步骤a12中使用该应用密钥KA来确定数NCi,在步骤a12中向SIM卡中的“第一”控制器传输所确定的数NCi,以便在步骤a13在SIM卡中选择包含所确定数的参数集NCi,SSi,NSi,RSi,在步骤a14中依据应用该确定数NCi和密钥KA到附加卡CA的“第二”控制器中的第一算法AA1,来确定所选择参数集的结果RCi,在步骤a22中向CA卡传送所选择参数集的随机数NSi,在步骤a23中,通过将该传送的随机数NSi和密钥KA应用到卡CA的第二算法AA2,而确定所选择参数集的签名SCi,以及在步骤a26和a27中,依据SIM卡和CA卡中所选的参数集,确定一个加密密钥KC,从而使用将从一张卡向另一张卡传输的加密密钥KC来加密和/或签署一个数据单元APDU。
尽管本发明已经在前面关于两张智能卡SIM和CA的控制器之间数据交换的保护而被描述,但本发明一般地应用于必须相互通信的任何第一控制器与任何第二控制器之间的保护,术语控制器包括一个数据处理装置或单元,诸如一个微处理器,或者更全面地是一个实体,诸如一个终端、一个服务器等。例如,该第一控制器可能是销售点终端以及该第二控制器可能是一张信用卡,该终端连接的电信网络因而就是交换电话网络。依据另一个例子,该第一和第二控制器属于一个双模式无线电话终端。
权利要求
1.一种用于保护第一和第二控制器(SIM,CA)之间的数据交换的方法,该第一控制器(SIM)为该第二控制器中实现的应用管理到一个电信网络(RR)的通信,该第二控制器包括一个控制器标识符(NS)和衍生于一个母密钥(KM)的应用的密钥(KA),其特征在于,为该第二控制器(CA)中所选的每一个应用(AP)执行以下步骤通过该第一控制器(SIM)从该第二控制器(CA)向远程的保护装置(SO;SO,SP)传输(E3、E4)该第二控制器(CA)的标识符(NS)和所选应用(AP)的一个标识符(AID),使该保护装置中的一个母密钥(KM)对应(E5,E9)于该第二控制器的标识符(NS),依据传输的所选应用标识符(AID)、该保护装置中的对应的母密钥(KM)和第二控制器的标识符(NS)来确定(E6,E11)所选应用的密钥(KA),依赖所确定的应用密钥(KA)从该远程保护装置向该第一控制器(SIM)传输(E7,E8;E12-E15)至少一个参数(KA,SSi,RSi),以及在至少第一控制器(SIM)中使用(A11-A25;a10-a29)该参数,以便使得至少一个涉及该第一和第二控制器之间所选应用的数据交换安全。
2.依据权利要求1的方法,依据该方法,该参数是以加密后的形式(KACI,KAC)从远程保护装置(SO;SO,SP)向该第一控制器(SIM)传输的所确定的应用密钥本身(KA)。
3.依据权利要求1或2的方法,依据该方法,该远程保护装置是该电信网络(RR)中的一个服务器(SO)以及包含一张表(E5)用于使第二控制器标识符(NS)的集合对应于母密钥(KM)。
4.依据权利要求1或2的方法,依据该方法,该远程保护装置包括一个第一服务器(SO),它包含在该电信网络(RR)中以及包含一张表(E9)用于使第二控制器标识符(NS)的集合对应于第二服务器地址(ASP);以及连接到该第一服务器(SO)并分别与对应于母密钥的第二控制器标识符(NS)的集合相关联的第二服务器(SP),以及依据该方法,该第二服务器由该第一服务器(SO)响应于所传输的该第二控制器(SP)的标识符(NS)而寻址,以及确定(E11)所选应用的密钥(KA)并通过该第一服务器(SO)向该第一控制器(CA)传输(E12)至少该参数(KA)。
5.依据权利要求3或4的方法,依据该方法,该参数是所确定的应用密钥(KA)本身并用于该第一控制器(SIM)中,以便参与由第一和第二控制器中一个控制器对另一个控制器的鉴权(A1),以及在单独地响应该一个控制器的鉴权而执行所选应用会话之前,接着参与响应于该一个控制器的鉴权而由该另一个控制器对该一个控制器的鉴权(A2)。
6.依据权利要求3或4的方法,依据该方法,该参数是所选应用(AP)的所确定密钥(KA)本身并用于该第一控制器(SIM)中,以便依据由第二控制器(CA)向第一控制器(SIM)提供的第一随机数(NC)以及由第一控制器(SIM)向第二控制器(CA)提供、以便确定(A27)该第二控制器中的加密密钥的第二随机数(NS)来确定(A26)一个加密密钥(KC),从而使用从其中一个控制器传输到另一个控制器的加密密钥(KC)来加密和/或签署(A28,A29)一个数据单元(APDU)。
7.依据权利要求4的方法,依据该方法,由第二控制器(SP)向第一控制器(SIM)传输依赖所确定的密钥(KA)以及不包括此密钥的几个参数集(NCi,SSi,NSi,RSi),以及每一个参数集包括一个依据所确定的密钥(KA)和各自整数(NSE)确定的数(NCi),一个将所确定密钥(KA)和所确定的数(NCi)应用于第一算法(AA1)而得到的签名(SSi),一个随机数(NSi)以及一个将所确定密钥(KA)和该随机数应用于第二算法(AA2)而得到的结果(RSi)。
8.依据权利要求7的方法,在执行该第二控制器(CA)中的所选应用(AP)的每一部分之前,包括以下步骤使一个整数(NSE)增加(a111)一个单位,以参数集的数目为模以便使用该应用密钥(KA)来确定(a112)一个数(NCi),向该第一控制器(SIM)传输(a12)该确定的数(NCi),以便在该第一控制器(SIM)中选择(a13)包含该确定数的参数集(NCi,SSi,NSi,RSi),通过比较所选集的签名(SSi)与将该确定数(NCi)和密钥(KA)应用于第一算法(AA1)而得到的一个结果(RCi),在第二控制器(CA)中鉴权(a1)该第一控制器(SIM),向该第二控制器(CA)传送(a22)所选集的随机数(NSi),以及通过比较所选集的结果(RSi)与将该传送的随机数(NSi)和密钥(KA)应用于第二控制器(CA)中的第二算法(AA2)而得到的签名(SCi),在第一控制器(SIM)中鉴权(a2)该第二控制器(CA)。
9.依据权利要求7的方法,依据这种方法使一个整数(NSE)增加(a111)一个单位,以便使用该应用密钥(KA)来确定(a112)一个数(NCi),向该第一控制器(SIM)传输(a12)该确定的数(NCi),以便在该第一控制器(SIM)中选择(a13)包含该确定数的参数集(NCi,SSi,NSi,RSi),依据将该确定数(NCi)和密钥(KA)应用于第二控制器(CA)中的第一算法(AA1)而确定(a14)所选的参数集的结果(RCi),向该第二控制器(CA)传送(a22)所选参数集的随机数(NSi),通过将该传送的随机数(NSi)和密钥(KA)应用于第二控制器(CA)中的第二算法(AA2)而确定(a23)所选的参数集的签名(SCi),以及依据该第一和第二控制器(SIM,CA)中该所选参数集而确定(a26,a27)一个加密密钥(KCi),从而使用要从其中一个控制器传输到另一个控制器的加密密钥(KC)来加密和/或签署一个数据单元(APDU)。
10.依据权利要求1-9的任何一个权利要求的方法,依据这种方法,该第一控制器是一个移动无线电话终端(TE)中的一张标识卡(SIM)以及该第二控制器是能够插入该终端的一个读卡器(LE)的一张附加卡(CA)。
全文摘要
本发明涉及一种用于在第一和第二控制器(SIM,CA)之间进行安全的数据交换的方法,诸如一个无线电话终端(TE)的一张标识卡(SIM)为一张附加卡(CA)的应用来管理到一个电信网络(RR)的通信。该标识卡运营商的服务器(SO),或该附加卡传播者的一个服务器(SP)以一个母密钥匹配该标识符来确定该附加卡中所选的应用的密钥。向该标识卡(SIM)传输至少一个依赖于该密钥的参数来使一个数据交换安全。因此该标识卡被在线地为每一个应用而定制。
文档编号G07F7/10GK1444755SQ0181335
公开日2003年9月24日 申请日期2001年5月25日 优先权日2000年5月26日
发明者P·吉拉尔 申请人:格姆普拉斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1