专利名称:一种通过密钥进行智能卡应用的方法和装置的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种通过密钥进行智能卡应用的方法和装置。
背景技术:
目前移动通信领域的增值业务不断发展,出现了大量的增值业务(如飞信、音乐 下载等),这些业务的交互主要是在终端客户端和业务平台间的交互。随着手机上用户卡 的发展如,SIM (Subscriber Identity Module,用户身份识别模块)卡、USIM (Universal Subscriber Identity Module,全球用户识别模块)卡,SIM卡上也可以承载很多卡应用, 这些卡应用于业务平台间交互,提供增值服务,例如手机票刷卡,用户卡空中下载应用,移 动签名卡应用等相关业务类型。卡应用与业务平台的交互主要通过数据短信、或者依赖于密钥创建设备提供的 BIP通道与平台建立PS(Packet Switching,分组交换)域连接的方式进行交互,例如 GPRS (General Packet Radio Service,通用分组无线服务技术)、EDGE (Enhanced Data Rate for Global System for Mobile Communications Evolution,il^M^SI^^^it 移动通信系统演进技术)等。为了保护卡应用于业务平台间的业务交互的安全,主要采用以下三种安全机制一、卡应用预共享密钥的机制即分别在卡应用和业务平台上预置共享密钥,卡应用与业务平台交互时,用该共 享密钥实现与业务平台的安全交互。二、卡应用采用非对称密钥即给卡应用颁发非对称密钥,卡应用于业务平台的交互采用非对称密码机制实 现。三、利用密钥创建设备的处理能力相比卡,密钥创建设备的处理能力要强的多,密钥创建设备接收业务平台发送的 密文消息,进行处理后明文转发给卡应用,卡应用的响应由密钥创建设备安全处理后再转 发给业务平台。针对现有技术方案,在实现本发明的过程中,发明人发现现有技术方案至少存在 以下问题对于第一种安全机制,由于运营商的用户基数较大,因此业务平台需要维护一个 非常庞大的卡应用密钥管理数据库,对于业务平台来说负担较重,而对于已发行的存量的 卡,无法安全的预置该共享密钥,因此无法保证卡应用的安全,并且若卡上有若干卡应用, 为了对各卡应用进行安全隔离,必然导致卡应用分别采用不同的共享密钥,那么网络上会 存在多个密钥管理系统,导致重复建设问题。对于第二种安全机制,由于卡的处理能力有限,执行非对称密码算法的效率较低, 因此会影响用户感受,采用非对称算法的密钥协商机制会导致交互数据较大,一般来说数据短信最长只有140字节,如果发送的数据较多,需要通过多个数据短信下发,如果通过多 个数据短信下发可能会出现较为严重的延迟,影响用户感受。对于第三种安全机制,密钥创建设备与卡的接口目前是没有任何安全保护的,因 此密钥创建设备成为安全瓶颈,并且该技术方案依赖于密钥创建设备的支持,影响卡应用 的开展。
发明内容
本发明实施例提供了一种通过密钥进行智能卡应用的方法和装置,引入密钥管理 设备(Key Management Function, KMF),并重用卡中的鉴权密钥Ki,进行安全交互后,使得 各卡应用与业务平台分别共享安全密钥。为达到上述目的,本发明实施例一方面提供了一种通过密钥进行智能卡应用的方 法,包括以下步骤密钥管理设备接收业务平台发送的智能卡应用的密钥生成请求,所述密钥生成请 求中包含所述智能卡应用所对应的用户标识信息和所述业务平台的标识信息;所述密钥管理设备根据所述密钥生成请求中所包含的所述智能卡应用所对应的 用户标识信息,向归属位置寄存器HLR获取所述智能卡的鉴权信息;所述密钥管理设备根据所述智能卡的鉴权信息,以及所述密钥生成请求中所包含 的所述智能卡应用所对应的用户标识信息和所述业务平台的标识信息,按照预设的密钥生 成算法计算所述智能卡应用所对应的密钥和相应的密钥更新参数;所述密钥管理设备将所述智能卡应用所对应的密钥和相应的密钥更新参数发送 给所述业务平台,并由所述业务平台将所述密钥更新参数发送给所述智能卡应用所对应的 智能卡,使所述智能卡根据所述密钥更新参数按照预设的密钥生成算法计算并验证所述智 能卡应用所对应的密钥,在所述密钥验证成功后,所述智能卡与所述业务平台根据所述密 钥实现所述智能卡应用。优选的,所述密钥管理设备所接收到的业务平台发送的智能卡应用的密钥生成请 求的触发方式,具体包括所述业务平台接收到所述智能卡应用所对应的终端发送的包含用户标识信息的 密钥生成请求,并在判断所述用户标识信息合法的情况下,向所述密钥管理设备发送所述 智能卡应用的密钥生成请求;或,当所述业务平台需要向智能卡应用发送消息时,所述业务平台直接向所述密钥管 理设备发送所述智能卡应用的密钥生成请求。优选的,所述业务平台向所述密钥管理设备发送所述智能卡应用的密钥生成请求 之前,还包括所述业务平台判断当前是否存在与所述智能卡应用相对应的可用密钥;如果所述业务平台判断当前存在与所述智能卡应用相对应的可用密钥,则直接根 据所述密钥实现所述智能卡业务;如果所述业务平台判断当前不存在与所述智能卡应用相对应的可用密钥,则向所 述密钥管理设备发送所述智能卡应用的密钥生成请求。优选的,所述密钥管理设备根据所述密钥生成请求中所包含的所述智能卡应用所对应的用户标识信息,向HLR获取的所述智能卡的鉴权信息,具体为当所述智能卡应用所对应的智能卡具体为用户识别卡SIM时,所述智能卡的鉴权 信息具体为包含随机数RAND、预期响应RES和加密密钥Kc的三元组信息;当所述智能卡应用所对应的智能卡具体为全球用户识别卡USIM时,所述智能卡 的鉴权信息具体为包含随机数RAND、鉴权标记AUTN、预期响应RES、加密密钥CK和完整性检 测密钥IK的五元组信息。优选的,所述密钥管理设备将所述智能卡应用所对应的密钥和相应的密钥更新参 数发送给所述业务平台,并由所述业务平台将所述密钥更新参数发送给所述智能卡应用所 对应的智能卡,具体包括所述密钥管理设备将所述智能卡应用所对应的密钥和相应的密钥更新参数通过 安全通道发送给所述业务平台,所述业务平台保存所述智能卡应用所对应的密钥;所述业务平台通过数据短信或GPRS的方式将所述密钥更新参数发送给所述智能 卡应用所对应的终端,所述终端直接将所述密钥更新参数发送给相应的智能卡。优选的,所述智能卡根据所述密钥更新参数按照预设的密钥生成算法计算并验证 所述智能卡应用所对应的密钥,具体为所述智能卡根据已有的鉴权密钥计算所述智能卡的鉴权信息;所述智能卡根据所述智能卡的鉴权信息、自身的用户标识信息和所述智能卡应用 所对应的业务平台标识信息,按照预设的密钥生成算法计算所述智能卡应用所对应的密 钥;所述智能卡根据所述密钥更新参数验证所述密钥。优选的,在所述密钥验证成功后,所述智能卡与所述业务平台根据所述密钥实现 所述智能卡应用,具体为所述智能卡与所述业务平台通过包含所述密钥的消息的交互,实现所述智能卡应用。另一方面,本发明实施例还提供了一种密钥管理设备,包括接收模块,用于接收业务平台发送的智能卡应用的密钥生成请求,所述密钥生成 请求中包含所述智能卡应用所对应的用户标识信息和所述业务平台的标识信息;获取模块,用于根据所述接收模块所接收到的密钥生成请求中所包含的所述智能 卡应用所对应的用户标识信息,向HLR获取所述智能卡的鉴权信息;计算模块,用于根据所述获取模块所获取的智能卡的鉴权信息,以及所述接收模 块所接收到的密钥生成请求中所包含的所述智能卡应用所对应的用户标识信息和所述业 务平台的标识信息,按照预设的密钥生成算法计算所述智能卡应用所对应的密钥和相应的 密钥更新参数;发送模块,用于将所述计算模块所生成的智能卡应用所对应的密钥和相应的密钥 更新参数发送给所述业务平台。优选的,所述接收模块所接收到的业务平台发送的智能卡应用的密钥生成请求的 触发方式,具体包括所述业务平台接收到所述智能卡应用所对应的终端发送的包含用户标识信息的 密钥生成请求,并在判断所述用户标识信息合法的情况下,向所述密钥管理设备发送所述智能卡应用的密钥生成请求;或,当所述业务平台需要向智能卡应用发送消息时,所述业务平台直接向所述密钥管 理设备发送所述智能卡应用的密钥生成请求。优选的,所述获取模块根据所述密钥生成请求中所包含的所述智能卡应用所对应 的用户标识信息,向HLR获取的所述智能卡的鉴权信息,具体为当所述智能卡应用所对应的智能卡具体为用户识别卡SIM时,所述智能卡的鉴权 信息具体为包含随机数RAND、预期响应RES和加密密钥Kc的三元组信息;当所述智能卡应用所对应的智能卡具体为全球用户识别卡USIM时,所述智能卡 的鉴权信息具体为包含随机数RAND、鉴权标记AUTN、预期响应RES、加密密钥CK和完整性检 测密钥IK的五元组信息。优选的,所述发送模块将所述智能卡应用所对应的密钥和相应的密钥更新参数发 送给所述业务平台,具体为所述发送模块将所述智能卡应用所对应的密钥和相应的密钥更新参数通过安全 通道发送给所述业务平台。另一方面,本发明实施例还提供了一种智能卡,包括接收模块,用于接收业务平台所发送的智能卡应用所对应的密钥更新参数;计算模块,用于根据所述接收模块所接收的密钥更新参数,按照预设的密钥生成 算法计算并验证所述智能卡应用所对应的密钥;通信模块,用于与所述业务平台通过包含所述计算模块所计算的密钥的消息的交 互,实现所述智能卡应用。优选的,所述接收模块接收业务平台所发送的智能卡应用所对应的密钥更新参 数,具体为所述接收模块通过数据短信或GPRS的方式接收业务平台所发送的智能卡应用所 对应的密钥更新参数。优选的,所述计算模块根据所述密钥更新参数按照预设的密钥生成算法计算并验 证所述智能卡应用所对应的密钥,具体为所述计算模块根据已有的鉴权密钥计算所述智能卡的鉴权信息;所述计算模块根据所述智能卡的鉴权信息、自身的用户标识信息和所述智能卡应 用所对应的业务平台标识信息,按照预设的密钥生成算法计算所述智能卡应用所对应的密 钥;所述计算模块根据所述密钥更新参数验证所述密钥。与现有技术相比,本发明实施例具有以下优点通过应用本发明实施例所提出的技术方案,引入密钥管理设备,并重用卡中的鉴 权密钥,进行安全交互后,使得各卡应用与业务平台分别共享安全密钥,从而保护卡应用交 互的安全。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1为本发明实施例所提出的一种通过密钥进行智能卡应用的方法的流程示意 图;图2为本发明实施例所提出的一种具体应用场景下的通过密钥进行智能卡应用 的方法的流程示意图;图3为本发明实施例所提出的一种具体应用场景下的通过密钥进行智能卡应用 的方法的流程示意图;图4为本发明实施例所提供的一种密码管理设备的结构示意图;图5为本发明实施例所提供的一种智能卡的结构示意图;图6A至6C为本发明实施例所提供的三种智能卡的结构示意具体实施例方式如背景技术所述,由于运营商的用户基数较大,因此业务平台需要维护一个非常 庞大的卡应用密钥管理数据库,对于业务平台来说负担较重,而对于已发行的存量的卡,无 法安全的预置该共享密钥,因此无法保证卡应用的安全,并且若卡上有若干卡应用,为了对 各卡应用进行安全隔离,必然导致卡应用分别采用不同的共享密钥,那么网络上会存在多 个密钥管理系统,导致重复建设问题。为了解决上述问题,本专利不需要卡应用中预置密钥,引入密钥管理设备,是重用 卡中的鉴权密钥Ki,进行安全交互后,使得各卡应用与业务平台分别共享安全密钥,从而保 护卡应用交互的安全。如图1所示,为本发明实施例所提出的一种通过密钥进行智能卡应用的方法的流 程示意图,包括以下步骤步骤S101、密钥管理设备接收业务平台发送的智能卡应用的密钥生成请求,密钥 生成请求中包含智能卡应用所对应的用户标识信息和业务平台的标识信息。其中,密钥管理设备所接收到的业务平台发送的智能卡应用的密钥生成请求的触 发方式,具体包括方式一、业务平台接收到智能卡应用所对应的终端发送的包含用户标识信息的密 钥生成请求,并在判断用户标识信息合法的情况下,向密钥管理设备发送智能卡应用的密 钥生成请求。方式二、当业务平台需要向智能卡应用发送消息时,业务平台直接向密钥管理设 备发送智能卡应用的密钥生成请求。其中,业务平台向密钥管理设备发送智能卡应用的密钥生成请求之前,还包括业务平台判断当前是否存在与智能卡应用相对应的可用密钥;如果业务平台判断当前存在与智能卡应用相对应的可用密钥,则直接根据密钥实 现智能卡业务;如果业务平台判断当前不存在与智能卡应用相对应的可用密钥,则向密钥管理设 备发送智能卡应用的密钥生成请求。步骤S102、密钥管理设备根据密钥生成请求中所包含的智能卡应用所对应的用户标识信息,向归属位置寄存器(Home Location Register, HLR)获取智能卡的鉴权信息。当智能卡应用所对应的智能卡具体为SIM时,智能卡的鉴权信息具体为包含随机 数(RAND)、预期响应(RES)和加密密钥(Kc)的三元组信息;当智能卡应用所对应的智能卡具体为全球用户识别卡USIM时,智能卡的鉴权信 息具体为包含随机数(RAND)、鉴权标记(AUTN)、预期响应(REQ、加密密钥(CK)和完整性检 测密钥(IK)的五元组信息。上述的各鉴权信息元素所对应的字符称谓的具体内容可以根据需要进行调整,具 体形式的变化并不影响本发明的保护范围。步骤S103、密钥管理设备根据智能卡的鉴权信息,以及密钥生成请求中所包含的 智能卡应用所对应的用户标识信息和业务平台的标识信息,按照预设的密钥生成算法计算 智能卡应用所对应的密钥和相应的密钥更新参数。步骤S104、密钥管理设备将智能卡应用所对应的密钥和相应的密钥更新参数发送 给业务平台,并由业务平台将密钥更新参数发送给智能卡应用所对应的智能卡,使智能卡 根据密钥更新参数按照预设的密钥生成算法计算并验证智能卡应用所对应的密钥,在密钥 验证成功后,智能卡与业务平台根据密钥实现智能卡应用。在具体的应用场景中,密钥管理设备将智能卡应用所对应的密钥和相应的密钥更 新参数发送给业务平台,并由业务平台将密钥更新参数发送给智能卡应用所对应的智能 卡,具体包括密钥管理设备将智能卡应用所对应的密钥和相应的密钥更新参数通过安全通道 发送给业务平台,业务平台保存智能卡应用所对应的密钥;业务平台通过数据短信或GPRS的方式将密钥更新参数发送给智能卡应用所对应 的终端,终端直接将密钥更新参数发送给相应的智能卡。进一步的,智能卡根据密钥更新参数按照预设的密钥生成算法计算并验证智能卡 应用所对应的密钥,具体为智能卡根据已有的鉴权密钥计算智能卡的鉴权信息;智能卡根据智能卡的鉴权信息、自身的用户标识信息和智能卡应用所对应的业务 平台标识信息,按照预设的密钥生成算法计算智能卡应用所对应的密钥;智能卡根据密钥更新参数验证密钥。需要进一步说明的是,在密钥验证成功后,智能卡与业务平台根据密钥实现智能 卡应用,具体为智能卡与业务平台通过包含密钥的消息的交互,实现智能卡应用。通过应用本发明实施例所提出的技术方案,引入密钥管理设备,并重用卡中的鉴 权密钥,进行安全交互后,使得各卡应用与业务平台分别共享安全密钥,从而保护卡应用交 互的安全。下面将结合具体应用场景的实施例,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明实施例保护的范围。如图2所示,为本发明实施例所提出的一种通过密钥进行智能卡应用的方法的流程示意图,在该应用场景中,终端侧的卡应用主动发起密钥生成流程,相应的卡应用密钥的 初始化和更新流程如下步骤S201、终端侧发起密钥生成请求。当卡应用需要初始化时可以主动发起密钥生成请求;当卡应用根据安全策略需要更新密钥时可以主动发起密钥更新请求。密钥生成和 更新请求发送给业务平台AS,其中包含IMSI。步骤S202、业务平台判断终端侧卡应用是否合法。AS首先查询一下该IMSI对应的用户是否在合法的用户列表中,如果不在返回错 误消息,流程终止;若存在,则发送密钥生成请求给KMF,包括IMSI,APP_ID(即业务平台的 ID)。步骤S203、密钥管理设备获取鉴权信息。KMF从HLR获取IMSI用户对应的鉴权数据,其中SIM 卡用户获得 3 元组(RAND,Kc, RES);USIM 卡用户获得 5 元组(RAND, AUTN,CK, IK, RES)。步骤S204、KMF计算密钥更新参数KUP。其中f是密钥推演函数(如SHAl算法等)。情况一、对于SIM卡计算卡应用密钥K_AS = f (Kc, RES, IMSI, APP_ID, “app-sim”);计算MAC 密钥 K_MAC = f (Kc, RES, IMSI, APP_ID, “app-sim-mac”);计算密钥更新参数KUP =以冊,六 _10,1(8_六5有效期,嫩0(1(_獻(,1^冊,六 _10), 其中MAC是对RAND,APP_ID等参数做完整性保护。情况二、对于USIM卡计算卡应用密钥K_AS = f (CK, IK, RES, IMSI, APP_ID,“app-usim”);计算MAC 密钥 K_MAC = f (CK, IK, RES, IMSI, APP_ID, “app-usim-mac”);计算密钥更新参数KUP = RAND, AUTN, APP_ID, Ks_AS 有效期,MAC (K_MAC, RAND, AUTN, APP_ID),其中MAC是对RAND,APP_ID等参数做完整性保护。步骤S205、将密钥更新参数KUP和K_AS通过安全通道发送给AS。步骤S206、AS 保存 K_AS。步骤S207、AS通过数据短信或GPRS的方式将KUP发送给终端,终端直接将KUP转 发给用户卡。步骤S208、用户卡中的应用密码管理模块(Application Key Management Function, AKM)做以下计算,其中f是密钥推演函数,如SHAl算法等。情况一、SIM卡计算Kc I I RES = A3A8 (RAND, Ki);计算卡应用密钥K_AS = f (Kc, RES, IMSI, APP_ID, "app-sim");计算完整性密钥K_MAC = f (Kc, RES, IMSI,APP_ID,“app-sim-mac”),验证 KUP 完整性。情况二、USIM卡计算CK IIK RES = milenage (RAND, AUTN, K);
卡应用密钥K_AS = f (CK, IK, RES, IMSI,APP_ID,“app-usim”);计算完整性密钥K_MAC = f (CK, IK, RES, IMSI, APP_ID,“app-usim-mac”),验证 KUP完整性。步骤S209、AKM验证KUP成功后,根据KUP中的APP_ID判断属于哪个卡应用,将卡 应用密钥K_AS和Ks_AS有效期传递给对应的卡应用。步骤S210、卡应用与业务平台间共享了 K_AS,后续业务交互可以直接采用该密钥 进行安全保护。如图3所示,为本发明实施例所提出的一种通过密钥进行智能卡应用的方法的流 程示意图,在该应用场景中,业务平台主动发起密钥生成流程,相应的卡应用密钥的初始化 和更新流程如下步骤S301、业务平台请求生成密钥。当业务平台需要发送消息给卡应用,也可以主动发起密钥生成请求;当业务平台根据安全策略需要更新密钥时可以主动发起密钥更新请求;在此过程中,业务平台确定该卡应用所对应的IMSI信息。步骤S302、业务平台判断终端侧卡应用是否合法。AS首先查询一下该IMSI对应的用户是否在合法的用户列表中,如果不在返回错 误消息,流程终止;若存在,则发送密钥生成请求给KMF,包括IMSI,APP_ID(即业务平台的 ID)。步骤S303、密钥管理设备获取鉴权信息。KMF从HLR获取IMSI用户对应的鉴权数据,其中SIM 卡用户获得 3 元组(RAND, Kc, RES);USIM 卡用户获得 5 元组(RAND, AUTN,CK, IK, RES)。步骤S304、KMF计算密钥更新参数KUP。其中f是密钥推演函数(如SHAl算法等)。情况一、对于SIM卡计算卡应用密钥K_AS = f (Kc, RES, IMSI, APP_ID, “app-sim”);计算MAC 密钥 K_MAC = f (Kc, RES, IMSI, APP_ID, “app-sim-mac”);计算密钥更新参数KUP= RAND,APP_ID,Ks_AS 有效期,MAC(K_MAC, RAND,APP_ID), 其中MAC是对RAND,APP_ID等参数做完整性保护。情况二、对于USIM卡计算卡应用密钥K_AS = f (CK, IK, RES, IMSI, APP_ID, "app-usim");计算MAC 密钥 K_MAC = f (CK, IK, RES, IMSI, APP_ID, "app-usim-mac");计算密钥更新参数KUP = RAND, AUTN, APP_ID, Ks_AS 有效期,MAC (K_MAC, RAND, AUTN, APP_ID),其中MAC是对RAND,APP_ID等参数做完整性保护。步骤S305、将密钥更新参数KUP和K_AS通过安全通道发送给AS。步骤S306、AS 保存 K_AS。步骤S307、AS通过数据短信或GPRS的方式将KUP发送给终端,终端直接将KUP转 发给用户卡。步骤S308、用户卡中的应用密码管理模块做以下计算,其中f是密钥推演函数(如SHAl算法等)。情况一、SIM卡计算Kc I I RES = A3A8 (RAND, Ki)计算卡应用密钥K_AS = f (Kc, RES, IMSI,APP_ID, “app-sim”);计算完整性密钥K_MAC = f (Kc, RES, IMSI,APP_ID,“app-sim-mac”),验证 KUP 完整性。情况二、USIM卡计算CK IIK RES = milenage (RAND, AUTN,K);卡应用密钥K_AS = f (CK, IK, RES, IMSI, APP_ID,“app-usim”);计算完整性密_K_MAC= f (CK, IK, RES, IMSI, APP_ID,“app-usim-mac”),验证 KUP完整性。步骤S309、AKM验证KUP成功后,根据KUP中的APP_ID判断属于哪个卡应用,将卡 应用密钥K_AS和Ks_AS有效期传递给对应的卡应用。步骤S310、卡应用与业务平台间共享了 K_AS,后续业务交互可以直接采用该密钥 进行安全保护。与现有技术相比,本发明实施例具有以下优点通过应用本发明实施例所提出的技术方案,引入密钥管理设备,并重用卡中的鉴 权密钥,进行安全交互后,使得各卡应用与业务平台分别共享安全密钥,从而保护卡应用交 互的安全。为了实现上述的技术方案,如图4所示,本发明实施例还提供了一种密钥管理设 备的结构示意图,具体包括接收模块41,用于接收业务平台发送的智能卡应用的密钥生成请求,密钥生成请 求中包含智能卡应用所对应的用户标识信息和业务平台的标识信息;其中,接收模块41所接收到的业务平台发送的智能卡应用的密钥生成请求的触 发方式,具体包括业务平台接收到智能卡应用所对应的终端发送的包含用户标识信息的密钥生成 请求,并在判断用户标识信息合法的情况下,向密钥管理设备发送智能卡应用的密钥生成 请求;或,当业务平台需要向智能卡应用发送消息时,业务平台直接向密钥管理设备发送智 能卡应用的密钥生成请求。获取模块42,用于根据接收模块41所接收到的密钥生成请求中所包含的智能卡 应用所对应的用户标识信息,向HLR获取智能卡的鉴权信息;当智能卡应用所对应的智能卡具体为用户识别卡SIM时,智能卡的鉴权信息具体 为包含随机数RAND、预期响应RES和加密密钥Kc的三元组信息;当智能卡应用所对应的智能卡具体为全球用户识别卡USIM时,智能卡的鉴权信 息具体为包含随机数RAND、鉴权标记AUTN、预期响应RES、加密密钥CK和完整性检测密钥 IK的五元组信息。计算模块43,用于根据获取模块42所获取的智能卡的鉴权信息,以及接收模块41 所接收到的密钥生成请求中所包含的智能卡应用所对应的用户标识信息和业务平台的标识信息,按照预设的密钥生成算法计算智能卡应用所对应的密钥和相应的密钥更新参数;发送模块44,用于将计算模块43所生成的智能卡应用所对应的密钥和相应的密 钥更新参数发送给业务平台,具体为发送模块44将智能卡应用所对应的密钥和相应的密钥更新参数通过安全通道发 送给业务平台。通过应用本发明实施例所提出的技术方案,引入密钥管理设备(KMF),并重用卡中 的鉴权密钥Ki,进行安全交互后,使得各卡应用与业务平台分别共享安全密钥,从而保护卡 应用交互的安全。另一方面,本发明实施例还提供了一种智能卡,其结构示意图如图5所示,具体包 括接收模块51,用于接收业务平台所发送的智能卡应用所对应的密钥更新参数。其中,接收模块51接收业务平台所发送的智能卡应用所对应的密钥更新参数,具 体为接收模块51通过数据短信或GPRS的方式接收业务平台所发送的智能卡应用所对 应的密钥更新参数。计算模块52,用于根据接收模块51所接收的密钥更新参数,按照预设的密钥生成 算法计算并验证智能卡应用所对应的密钥,具体为计算模块52根据已有的鉴权密钥计算智能卡的鉴权信息;计算模块52根据智能卡的鉴权信息、自身的用户标识信息和智能卡应用所对应 的业务平台标识信息,按照预设的密钥生成算法计算智能卡应用所对应的密钥;计算模块52根据密钥更新参数验证密钥。通信模块53,用于与业务平台通过包含计算模块所计算的密钥的消息的交互,实 现智能卡应用。在具体的应用场景中,智能卡的具体构成方式包括如图6A至6C所示。通过应用本发明实施例所提出的技术方案,引入密钥管理设备(KMF),并重用卡中 的鉴权密钥Ki,进行安全交互后,使得各卡应用与业务平台分别共享安全密钥,从而保护卡 应用交互的安全。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通 过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发 明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储 介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机装置(可 以是个人计算机,服务器,或者网络装置等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流 程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分 布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1.一种通过密钥进行智能卡应用的方法,其特征在于,包括以下步骤密钥管理设备接收业务平台发送的智能卡应用的密钥生成请求,所述密钥生成请求中 包含所述智能卡应用所对应的用户标识信息和所述业务平台的标识信息;所述密钥管理设备根据所述密钥生成请求中所包含的所述智能卡应用所对应的用户 标识信息,向归属位置寄存器HLR获取所述智能卡的鉴权信息;所述密钥管理设备根据所述智能卡的鉴权信息,以及所述密钥生成请求中所包含的所 述智能卡应用所对应的用户标识信息和所述业务平台的标识信息,按照预设的密钥生成算 法计算所述智能卡应用所对应的密钥和相应的密钥更新参数;所述密钥管理设备将所述智能卡应用所对应的密钥和相应的密钥更新参数发送给所 述业务平台,并由所述业务平台将所述密钥更新参数发送给所述智能卡应用所对应的智能 卡,使所述智能卡根据所述密钥更新参数按照预设的密钥生成算法计算并验证所述智能卡 应用所对应的密钥,在所述密钥验证成功后,所述智能卡与所述业务平台根据所述密钥实 现所述智能卡应用。
2.如权利要求1所述的方法,其特征在于,所述密钥管理设备所接收到的业务平台发 送的智能卡应用的密钥生成请求的触发方式,具体包括所述业务平台接收到所述智能卡应用所对应的终端发送的包含用户标识信息的密钥 生成请求,并在判断所述用户标识信息合法的情况下,向所述密钥管理设备发送所述智能 卡应用的密钥生成请求;或,当所述业务平台需要向智能卡应用发送消息时,所述业务平台直接向所述密钥管理设 备发送所述智能卡应用的密钥生成请求。
3.如权利要求2所述的方法,其特征在于,所述业务平台向所述密钥管理设备发送所 述智能卡应用的密钥生成请求之前,还包括所述业务平台判断当前是否存在与所述智能卡应用相对应的可用密钥; 如果所述业务平台判断当前存在与所述智能卡应用相对应的可用密钥,则直接根据所 述密钥实现所述智能卡业务;如果所述业务平台判断当前不存在与所述智能卡应用相对应的可用密钥,则向所述密 钥管理设备发送所述智能卡应用的密钥生成请求。
4.如权利要求1所述的方法,其特征在于,所述密钥管理设备根据所述密钥生成请求 中所包含的所述智能卡应用所对应的用户标识信息,向HLR获取的所述智能卡的鉴权信 息,具体为当所述智能卡应用所对应的智能卡具体为用户识别卡SIM时,所述智能卡的鉴权信息 具体为包含随机数RAND、预期响应RES和加密密钥Kc的三元组信息;当所述智能卡应用所对应的智能卡具体为全球用户识别卡USIM时,所述智能卡的鉴 权信息具体为包含随机数RAND、鉴权标记AUTN、预期响应RES、加密密钥CK和完整性检测密 钥IK的五元组信息。
5.如权利要求1所述的方法,其特征在于,所述密钥管理设备将所述智能卡应用所对 应的密钥和相应的密钥更新参数发送给所述业务平台,并由所述业务平台将所述密钥更新 参数发送给所述智能卡应用所对应的智能卡,具体包括所述密钥管理设备将所述智能卡应用所对应的密钥和相应的密钥更新参数通过安全通道发送给所述业务平台,所述业务平台保存所述智能卡应用所对应的密钥;所述业务平台通过数据短信或GPRS的方式将所述密钥更新参数发送给所述智能卡应 用所对应的终端,所述终端直接将所述密钥更新参数发送给相应的智能卡。
6.如权利要求5所述的方法,其特征在于,所述智能卡根据所述密钥更新参数按照预 设的密钥生成算法计算并验证所述智能卡应用所对应的密钥,具体为所述智能卡根据已有的鉴权密钥计算所述智能卡的鉴权信息; 所述智能卡根据所述智能卡的鉴权信息、自身的用户标识信息和所述智能卡应用所对 应的业务平台标识信息,按照预设的密钥生成算法计算所述智能卡应用所对应的密钥; 所述智能卡根据所述密钥更新参数验证所述密钥。
7.如权利要求6所述的方法,其特征在于,在所述密钥验证成功后,所述智能卡与所述 业务平台根据所述密钥实现所述智能卡应用,具体为所述智能卡与所述业务平台通过包含所述密钥的消息的交互,实现所述智能卡应用。
8.—种密钥管理设备,其特征在于,包括接收模块,用于接收业务平台发送的智能卡应用的密钥生成请求,所述密钥生成请求 中包含所述智能卡应用所对应的用户标识信息和所述业务平台的标识信息;获取模块,用于根据所述接收模块所接收到的密钥生成请求中所包含的所述智能卡应 用所对应的用户标识信息,向HLR获取所述智能卡的鉴权信息;计算模块,用于根据所述获取模块所获取的智能卡的鉴权信息,以及所述接收模块所 接收到的密钥生成请求中所包含的所述智能卡应用所对应的用户标识信息和所述业务平 台的标识信息,按照预设的密钥生成算法计算所述智能卡应用所对应的密钥和相应的密钥 更新参数;发送模块,用于将所述计算模块所生成的智能卡应用所对应的密钥和相应的密钥更新 参数发送给所述业务平台。
9.如权利要求8所述的密钥管理设备,其特征在于,所述接收模块所接收到的业务平 台发送的智能卡应用的密钥生成请求的触发方式,具体包括所述业务平台接收到所述智能卡应用所对应的终端发送的包含用户标识信息的密钥 生成请求,并在判断所述用户标识信息合法的情况下,向所述密钥管理设备发送所述智能 卡应用的密钥生成请求;或,当所述业务平台需要向智能卡应用发送消息时,所述业务平台直接向所述密钥管理设 备发送所述智能卡应用的密钥生成请求。
10.如权利要求8所述的密钥管理设备,其特征在于,所述获取模块根据所述密钥生成 请求中所包含的所述智能卡应用所对应的用户标识信息,向HLR获取的所述智能卡的鉴权 信息,具体为当所述智能卡应用所对应的智能卡具体为用户识别卡SIM时,所述智能卡的鉴权信息 具体为包含随机数RAND、预期响应RES和加密密钥Kc的三元组信息;当所述智能卡应用所对应的智能卡具体为全球用户识别卡USIM时,所述智能卡的鉴 权信息具体为包含随机数RAND、鉴权标记AUTN、预期响应RES、加密密钥CK和完整性检测密 钥IK的五元组信息。
11.如权利要求8所述的密钥管理设备,其特征在于,所述发送模块将所述智能卡应用所对应的密钥和相应的密钥更新参数发送给所述业务平台,具体为所述发送模块将所述智能卡应用所对应的密钥和相应的密钥更新参数通过安全通道 发送给所述业务平台。
12.—种智能卡,其特征在于,包括接收模块,用于接收业务平台所发送的智能卡应用所对应的密钥更新参数;计算模块,用于根据所述接收模块所接收的密钥更新参数,按照预设的密钥生成算法 计算并验证所述智能卡应用所对应的密钥;通信模块,用于与所述业务平台通过包含所述计算模块所计算的密钥的消息的交互, 实现所述智能卡应用。
13.如权利要求12所述的智能卡,其特征在于,所述接收模块接收业务平台所发送的 智能卡应用所对应的密钥更新参数,具体为所述接收模块通过数据短信或GPRS的方式接收业务平台所发送的智能卡应用所对应 的密钥更新参数。
14.如权利要求12所述的智能卡,其特征在于,所述计算模块根据所述密钥更新参数 按照预设的密钥生成算法计算并验证所述智能卡应用所对应的密钥,具体为所述计算模块根据已有的鉴权密钥计算所述智能卡的鉴权信息;所述计算模块根据所述智能卡的鉴权信息、自身的用户标识信息和所述智能卡应用所 对应的业务平台标识信息,按照预设的密钥生成算法计算所述智能卡应用所对应的密钥;所述计算模块根据所述密钥更新参数验证所述密钥。
全文摘要
本发明实施例公开了一种通过密钥进行智能卡应用的方法和装置,引入密钥管理设备(KMF),根据相应的鉴权信息及密钥算法生成相应的业务密钥,并发送给业务平台,在终端侧通过鉴权密钥Ki进行密钥验证,从而,在终端与业务平台进行安全交互后,使得各卡应用与业务平台分别共享安全密钥,达到保护卡应用交互安全,提高密钥处理效率的效果。
文档编号H04W4/00GK102056077SQ20091023694
公开日2011年5月11日 申请日期2009年10月29日 优先权日2009年10月29日
发明者彭华熹 申请人:中国移动通信集团公司