一种终端与智能卡之间的相互认证方法、装置及系统的制作方法

文档序号:7753063阅读:124来源:国知局
专利名称:一种终端与智能卡之间的相互认证方法、装置及系统的制作方法
技术领域
本发明涉及数据安全技术领域,尤其涉及一种终端与智能卡之间的相互认证方 法、装置及系统。
背景技术
目前,常见的智能卡安全性表现在具有PIN(personal identification number, 个人标识号)保护功能的高安全加密算法DES、3DES、RSA等。其中,所述算法可以用于智能 卡对读取其数据的终端认证(即外部认证),从而实现智能卡检验终端的合法性。相应的, 终端也可以根据对应的算法对所述智能卡进行认证(即内部认证),判断这是否是一张伪 造出来的智能卡。这样,终端只有在通过所述外部认证和内部认证之后,才可以读取所述智 能卡内的信息。由于传统的认证过程中智能卡和终端很容易被黑客攻击,所以使得终端与智能卡 之间的认证过程安全性能不高。

发明内容
本发明实施例提供了一种终端与智能卡之间的相互认证方法、装置及系统,以实 现提高安全性能,简化认证流程的目的。为达到上述目的,本发明的实施例采用如下技术方案一方面,本发明实施例提供了一种终端与智能卡之间的相互认证方法,包括智能卡接收终端发送的第一认证请求;智能卡对终端进行认证,智能卡返回第一认证成功标志给终端,并同时返回第二 认证请求给终端,使得所述终端对所述智能卡进行认证。另一方面,本发明实施例提供了一种智能卡,该智能卡包括接收单元,用于接收终端发送的第一认证请求;认证单元,用于智能卡对终端进行认证,智能卡返回第一认证成功标志给终端,并 同时返回第二认证请求给终端,使得所述终端对所述智能卡进行认证。再一方面,本发明实施例提供了一种终端,该终端包括发送单元,用于向智能卡发送第一认证请求;接收单元,用于根据所述第一认证请求,接收所述智能卡返回的第二认证成功标 志;认证单元,用于对所述智能卡进行认证。再一方面,本发明实施例还提供了一种终端与智能卡之间的相互认证系统,该系 统包括智能卡和终端;所述智能卡,用于接收终端发送的第一认证请求;对终端进行认证,智能卡返回第 一认证成功标志给终端,并同时返回第二认证请求给终端;所述终端,用于向智能卡发送第一认证请求;根据所述第一认证请求,接收所述智能卡返回的第二认证成功标志;并对所述智能卡进行认证。本发明实施例提供的一种终端与智能卡之间的相互认证方法、装置及系统,通过 智能卡接收终端发送的第一认证请求;智能卡对终端进行认证,智能卡返回第一认证成功 标志给终端,并同时返回第二认证请求给终端,使得所述终端对所述智能卡进行认证。由于 所述智能卡始终返回第一认证成功标志给终端,所以终端能够进一步的完成终端对智能卡 的认证。与现有技术相比,本发明实施例中的终端与智能卡之间的相互认证过程只需要通 过终端发起的一次认证过程即可完成,从而简化了现有技术中终端与智能卡之间的相互认 证流程。


图1为本发明实施例提供的一种终端与智能卡之间的相互认证方法流程图;图2为本发明实施例提供的一种终端与智能卡之间的相互认证方法的具体实现 流程图;图3为本发明实施例提供的一种终端与智能卡之间的相互认证方法的具体实现 流程图;图4为本发明实施例提供的一种智能卡结构示意图;图5为本发明实施例提供的一种终端结构示意图;图6为本发明实施例提供的一种智能卡中CPU处理所述终端与智能卡之间的相互 认证的流程图;图7为本发明实施例提供的一种终端与智能卡之间的相互认证系统结构示意图。
具体实施例方式下面结合附图对本发明实施例提供的一种终端与智能卡之间的相互认证方法、装 置及系统进行详细的说明。如图1所示,为本发明实施例提供的一种终端与智能卡之间的相互认证方法,该 方法包括101 智能卡接收终端发送的第一认证请求;其中,所述认证请求中可以携带 有指定密钥参数;所述指定密钥参数可以为所述指定密钥序号,所述认证请求可以采用 APDU(Application Protocol Data Unit,应用协议数据单元)进行数据传输。102 智能卡对终端进行认证,智能卡始终返回第一认证成功标志给终端,并同时 返回第二认证请求给终端,使得所述终端对所述智能卡进行认证;其中,所述智能卡返回的 终端认证成功标志可以为智能卡对终端通过认证的状态码9000。需要注意的是,该方法还可以包括所述智能卡设置安全状态;如果所述智能卡通过对所述终端的认证,则所述智能卡记录所述终端为安全状 态;例如如果所述智能卡判断其解密后的随机数与其发送给终端的随机数相匹配,则所 述智能卡记录所述终端为安全状态;如果所述智能卡未通过对所述终端的认证,则所述智能卡记录所述终端为不安全 状态;例如如果所述智能卡判断其解密后的随机数与其发送给终端的随机数不相匹配,则所述智能卡记录所述终端为不安全状态。如图2所示,为本发明实施例提供的一种终端与智能卡之间的相互认证方法;该 方法的具体实现过程如下201 智能卡接收终端发送的第一认证请求;其中,所述认证请求中携带有指定密 钥参数;所述指定密钥参数可以为指定密钥序号,该序列号是智能卡与终端预先协商确定 的。202 所述智能卡向所述终端发送随机数一 A ;203 所述智能卡接收所述终端按照所述指定密钥参数加密的随机数一 K(A);204 按照所述指定密钥参数,所述智能卡对加密后的随机数一 K(A)进行解密;205 所述智能卡判断解密后的随机数一 A’是否与其发送给终端的随机数一 A相 匹配;206 如果所述智能卡判断解密后的随机数一 A’与其发送给终端的随机数一 A相 匹配,则记录所述终端为安全状态;207 如果所述智能卡判断解密后的随机数一 A’与其发送给终端的随机数一 A不 匹配,则记录所述终端为不安全状态。208 智能卡返回第一认证成功标志;需要注意的是,所述智能卡返回的第一认证成功标志可以为智能卡对终端通过认 证的状态码9000。209 所述终端向所述智能卡发送随机数二 B ;210 所述终端接收所述智能卡按照所述指定密钥参数加密的随机数二 K(B);211 按照所述指定密钥参数,所述终端对加密后的随机数二 K(B)进行解密;212:所述终端判断解密后的随机数二是否与其发送给所述智能卡的随机数二相 匹配;213:如果所述终端判断解密后的随机数二与其发送给所述智能卡的随机数二相 匹配,则所述终端确认智能卡的合法性,并向所述智能卡返回第二认证成功标志;214:如果所述终端判断解密后的随机数二与其发送给所述智能卡的随机数二不 匹配,则所述终端终止认证,或者所述终端再次返回认证请求给智能卡,并重复上述步骤。如图3所示,为本发明实施例提供的另一种终端与智能卡之间的相互认证方法, 该方法的具体实现过程如下301 智能卡接收终端发送的第一认证请求;其中,所述认证请求中携带有指定密 钥参数,所述的指定密钥参数可以为指定密钥序号。302 所述智能卡向所述终端发送随机数三C ;303 所述智能卡接收所述终端按照所述指定密钥参数加密的随机数三K(C)以及 所述终端产生的随机数四D ;304 按照所述指定密钥参数,所述智能卡对加密后的随机数三K(C)进行解密,并 对所述接收到的随机数四D进行加密;需要注意的是,所述智能卡在进行解密前,根据智能卡与终端的预协商可以进行 相应的操作,例如终端在完成加密的随机数三后,再对所述加密的随机数三进行左移操 作,得到K(C);这样,当智能卡接收到所述K(C)之后,首先应该将所述K(C)进行对应的右移操作,从而获取到加密的随机数三;然后,根据所述认证请求中携带的指定密钥序号,对 所述加密的随机数三进行解密。305 所述智能卡判断解密后的随机数三C’是否与其发送给终端的随机数三C相 匹配;306 如果所述智能卡判断解密后的随机数三C’与其发送给终端的随机数三C相 匹配,则记录所述终端为安全状态;307 如果所述智能卡判断解密后的随机数三C’与其发送给终端的随机数三C不 匹配,则记录所述终端为不安全状态。308:所述终端接收所述智能卡返回的第一认证成功标志和所述智能卡按照所述 指定密钥参数加密的随机数四K(D);需要注意的是,所述智能卡返回的第一认证成功标志可以为智能卡对终端通过认 证的状态码9000。309 按照所述指定密钥参数,所述终端对加密后的随机数四K(D)进行解密;310:所述终端判断解密后的随机数四是否与其发送给所述智能卡的随机数四相 匹配;311 如果所述终端判断解密后的随机数四与其发送给所述智能卡的随机数四相 匹配,则所述终端确认智能卡的合法性,并向所述智能卡返回第二认证成功标志;312:如果所述终端判断解密后的随机数四与其发送给所述智能卡的随机数四不 匹配,则所述终端终止认证,或者所述终端再次返回认证请求给智能卡,并重复上述步骤。如图4所示,为本发明实施例提供的一种智能卡,该智能卡包括接收单元401,用于接收终端发送的第一认证请求,其中所述认证请求中携带有指 定密钥参数;认证单元402,用于智能卡对终端进行认证,智能卡始终返回第一认证成功标志给 终端,并同时返回第二认证请求给终端,使得所述终端对所述智能卡进行认证。需要注意的是,所述认证单元402,具体可以包括发送子单元,用于向所述终端发送随机数一,或者,向所述终端发送随机数三;接收子单元,用于接收经过所述终端加密处理的随机数一;或者,接收经过所述终端加密处理的随机数三以及所述终端产生的随机数四;或 者,接收所述终端发送的随机数二 ;加/解密子单元,用于对加密处理的随机数一进行解密;或者,对加密后的随机数三进行解密,并对所述接收到的随机数四进行加密;或 者,加密所述随机数二 ;判断子单元,用于判断解密处理后的随机数一是否与其发送给终端的随机数一相 匹配;或者,判断解密后的随机数三是否与其发送给终端的随机数三相匹配;标识发送子单元,用于返回第一认证成功标志给终端;或者,将第一认证成功标志与加密处理后的随机数四一同返回给所述终端;或者, 发送经过所述智能卡加密处理后的随机数二给终端。还需要注意的是,所述智能卡还包括
安全状态设置单元,用于当所述智能卡判断其解密后的随机数与其发送给终端的 随机数相匹配时,记录所述终端为安全状态;或者,当所述智能卡判断其解密后的随机数与 其发送给终端的随机数不相匹配时,记录所述终端为不安全状态。如图5所示,为本发明实施例提供的一种终端,该终端包括发送单元501,用于向智能卡发送第一认证请求,所述认证请求中携带有指定密钥 参数;接收单元502,用于根据所述第一认证请求,接收所述智能卡返回的第二认证成功 标志;认证单元503,用于对所述智能卡进行认证。需要注意的是,所述认证单元503,具体可以包括发送子单元,用于向所述智能卡发送随机数二 ;或者,向所述智能卡发送随机数 四;接收子单元,用于接收经过所述智能卡加密处理的随机数二;或者,接收所述终端 认证成功标志和经过所述智能卡加密处理后的随机数四;或者,接收所述智能卡发送的随 机数一;或者,接收所述智能卡发送的第一认证成功标志;或者,接收所述智能卡发送的随 机数三;解/加密子单元,用于对加密后的随机数二进行解密;或者,所述终端对加密处理 后的随机数四进行解密;或者,用于对所述随机数一进行加密;或者,用于对所述随机数三 进行加密;判断子单元,用于判断解密后的随机数二是否与其发送给所述智能卡的随机数二 相匹配;或者,判断解密后的随机数四是否与其发送给所述智能卡的随机数四相匹配;处理子单元,用于如果所述终端判断解密后的随机数二与其发送给所述智能卡的 随机数二相匹配,则所述终端向所述智能卡返回第二认证成功标志;或者,如果所述终端判 断解密后的随机数二与其发送给所述智能卡的随机数二不匹配,则所述终端终止认证;或 者,如果所述终端判断解密后的随机数四与其发送给所述智能卡的随机数四相匹配,则所 述终端向所述智能卡返回第二认证成功标志;或者,如果所述终端判断解密后的随机数四 与其发送给所述智能卡的随机数四不匹配,则所述终端终止认证。还需要注意的是,所述发送单元,还用于再次返回认证请求给智能卡。如图6所示,为本发明实施例提供的一种智能卡中CPU处理所述终端与智能卡之 间的相互认证过程的具体实现流程;该流程具体为601、智能卡端接收终端发送的应用协议数据单元APDU。602、智能卡端判断其内部标识位Afflag是否为0 ;当所述Afflag为0时,执行步 骤603 ;当所述Afflag不为0时,执行步骤607。603、智能卡端查询所述应用协议数据单元APDU中所携带的指定密钥参数是否存 在?如果所述指定密钥参数存在,执行步骤604 ;如果所述指定密钥参数不存在,执行步骤 606。其中,所述指定密钥参数可以为指定密钥序号。604、智能卡端生成8个字节的随机数C,继续执行步骤605。605、智能卡端将Afflag置为1,并将生成的8个字节的随机数C发送给终端,继续 执行612。
606、返回错误码,继续执行步骤612。607、智能卡端从所述接收到的应用协议数据单元APDU中获取终端加密后的随 机数K(C)与终端自身生成的随机数D ;并对所述K(C)进行解密,同时加密随机数D,即为 K(D);继续执行步骤608。608、判断所述解密出来的K(C)与C是否一致;如果所述K (C)和C相匹配,继续执 行步骤609 ;如果不相匹配,则继续执行步骤610。609、生成SessionKey并把它作为其他后续加密的密钥,设置安全状态寄存器的 安全级别以及将AfTlag清0,继续执行步骤611。610、安全寄存器清0,不设置SessionKey,继续执行步骤611。611、返回加密后的K(D),返回9000。其中,所述的9000为智能卡对终端通过认证 的状态码。612、结束流程 return。如图7所示,为本发明实施例提供的一种终端与智能卡之间的相互认证系统;该 系统包括智能卡701和终端702 ;所述智能卡701,用于接收终端发送的第一认证请求;对终端进行认证,智能卡始 终返回第一认证成功标志给终端,并同时返回第二认证请求给终端;所述终端702,用于向智能卡发送第一认证请求;根据所述第一认证请求,接收所 述智能卡返回的第二认证成功标志;并对所述智能卡进行认证。本发明实施例提供的一种终端与智能卡之间的相互认证方法、装置及系统,通过 智能卡接收终端发送的第一认证请求,所述认证请求中携带有指定密钥参数;根据所述指 定密钥参数,智能卡对终端进行认证,并记录所述终端的安全状态;智能卡返回第一认证成 功标志给终端,以便所述终端对所述智能卡进行认证。由于所述智能卡记录了终端的安全 状态,所以智能卡本身能够知道终端是否安全;为了使得终端可以对所述智能卡进行认证, 无论智能卡对所述终端的认证的安全状态是否处于安全状态,都将返回终端认证成功标 志,从而防止黑客因为多次认证过程中,通过每次认证结果来攻击和监测秘密。从而当终端 认证成功,但智能卡记录所述终端的安全状态为不安全状态时,所述终端也无法与所述智 能卡进行信息交互,从而提高了终端与智能卡之间的认证安全性能。与现有技术相比,本发 明实施例中的终端与智能卡之间的相互认证过程只需要通过终端最终的一次认证过程结 果来完成,从而简化了现有技术中终端与智能卡之间的相互认证流程。通过以上的实施方式的描述,本领域普通技术人员可以理解实现上述实施例方 法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于 一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤,所述的存储 介质,如R0M/RAM、磁碟、光盘等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
权利要求
一种终端与智能卡之间的相互认证方法,其特征在于,包括智能卡接收终端发送的第一认证请求;智能卡对终端进行认证,智能卡返回第一认证成功标志给终端,并同时返回第二认证请求给终端,使得所述终端对所述智能卡进行认证。
2.根据权利要求1所述的终端与智能卡之间的相互认证方法,其特征在于,该方法还 包括所述终端再次返回第一认证请求给智能卡。
3.根据权利要求1所述的终端与智能卡之间的相互认证方法,其特征在于,所述智能 卡对终端进行认证,智能卡返回第一认证成功标志给终端的步骤,包括所述智能卡向所述终端发送随机数一;所述智能卡接收经过所述终端加密处理的随机数一;所述智能卡对经过所述终端加密处理的随机数一进行解密;所述智能卡判断解密处理后的随机数一是否与其发送给终端的随机数一相匹配;所述智能卡返回第一认证成功标志给终端。
4.根据权利要求1所述的终端与智能卡之间的相互认证方法,其特征在于,所述智能 卡对终端进行认证,智能卡返回第一认证成功标志给终端的步骤,包括所述智能卡向所述终端发送随机数三;所述智能卡接收经过所述终端加密处理的随机数三以及所述终端产生的随机数四; 所述智能卡对加密后的随机数三进行解密,并对所述接收到的随机数四进行加密; 所述智能卡判断解密后的随机数三是否与其发送给终端的随机数三相匹配; 所述智能卡将第一认证成功标志,以及加密处理后的随机数四一同返回给所述终端。
5.根据权利要求3或4所述的终端与智能卡之间的相互认证方法,其特征在于,该方法 还包括所述智能卡设置安全状态;如果所述智能卡判断其解密后的随机数与其发送给终端的随机数相匹配,则所述智能 卡记录所述终端为安全状态;如果所述智能卡判断其解密后的随机数与其发送给终端的随机数不相匹配,则所述智 能卡记录所述终端为不安全状态。
6.根据权利要求3所述的终端与智能卡之间的相互认证方法,其特征在于,所述终端 对所述智能卡进行认证,包括所述终端向所述智能卡发送随机数二; 所述终端接收经过所述智能卡加密处理的随机数二; 所述终端对加密后的随机数二进行解密;所述终端判断解密后的随机数二是否与其发送给所述智能卡的随机数二相匹配; 如果所述终端判断解密后的随机数二与其发送给所述智能卡的随机数二相匹配,则所 述终端向所述智能卡返回第二认证成功标志;如果所述终端判断解密后的随机数二与其发送给所述智能卡的随机数二不匹配,则所 述终端终止认证。
7.根据权利要求4所述的终端与智能卡之间的相互认证方法,其特征在于,所述终端对所述智能卡进行认证,包括所述终端接收所述第一认证成功标志和经过所述智能卡加密处理后的随机数四; 所述终端对加密处理后的随机数四进行解密;所述终端判断解密后的随机数四是否与其发送给所述智能卡的随机数四相匹配; 如果所述终端判断解密后的随机数四与其发送给所述智能卡的随机数四相匹配,则所 述终端向所述智能卡返回第二认证成功标志;如果所述终端判断解密后的随机数四与其发送给所述智能卡的随机数四不匹配,则所 述终端终止认证。
8.一种智能卡,其特征在于,包括接收单元,用于接收终端发送的第一认证请求;认证单元,用于智能卡对终端进行认证,智能卡返回第一认证成功标志给终端,并同时 返回第二认证请求给终端,使得所述终端对所述智能卡进行认证。
9.根据权利要求8所述的智能卡,其特征在于,所述认证单元,具体包括 发送子单元,用于向所述终端发送随机数一,或者,向所述终端发送随机数三; 接收子单元,用于接收经过所述终端加密处理的随机数一;或者,接收经过所述终端加密处理的随机数三以及所述终端产生的随机数四;或者,接 收所述终端发送的随机数二;加/解密子单元,用于对加密处理的随机数一进行解密;或者,对加密后的随机数三进行解密,并对所述接收到的随机数四进行加密;或者,加 密所述随机数二;判断子单元,用于判断解密处理后的随机数一是否与其发送给终端的随机数一相匹配;或者,判断解密后的随机数三是否与其发送给终端的随机数三相匹配; 标识发送子单元,用于返回第一认证成功标志给终端;或者,将第一认证成功标志与加密处理后的随机数四一同返回给所述终端;或者,发送 经过所述智能卡加密处理后的随机数二给终端。
10.根据权利要求8或9所述的智能卡,其特征在于,该智能卡还包括安全状态设置单元,用于当所述智能卡判断其解密后的随机数与其发送给终端的随机 数相匹配时,记录所述终端为安全状态;或者,当所述智能卡判断其解密后的随机数与其发 送给终端的随机数不相匹配时,记录所述终端为不安全状态。
11.一种终端,其特征在于,包括发送单元,用于向智能卡发送第一认证请求;接收单元,用于根据所述第一认证请求,接收所述智能卡返回的第二认证成功标志; 认证单元,用于对所述智能卡进行认证。
12.根据权利要求11所述的终端,其特征在于,所述认证单元,具体包括发送子单元,用于向所述智能卡发送随机数二 ;或者,向所述智能卡发送随机数四; 接收子单元,用于接收经过所述智能卡加密处理的随机数二 ;或者,接收所述终端认证 成功标志和经过所述智能卡加密处理后的随机数四;或者,接收所述智能卡发送的随机数 一;或者,接收所述智能卡发送的第一认证成功标志;或者,接收所述智能卡发送的随机数解/加密子单元,用于对加密后的随机数二进行解密;或者,所述终端对加密处理后的 随机数四进行解密;或者,用于对所述随机数一进行加密;或者,用于对所述随机数三进行 加密;判断子单元,用于判断解密后的随机数二是否与其发送给所述智能卡的随机数二相匹 配;或者,判断解密后的随机数四是否与其发送给所述智能卡的随机数四相匹配;处理子单元,用于如果所述终端判断解密后的随机数二与其发送给所述智能卡的随机 数二相匹配,则所述终端向所述智能卡返回第二认证成功标志;或者,如果所述终端判断解 密后的随机数二与其发送给所述智能卡的随机数二不匹配,则所述终端终止认证;或者,如 果所述终端判断解密后的随机数四与其发送给所述智能卡的随机数四相匹配,则所述终端 向所述智能卡返回第二认证成功标志;或者,如果所述终端判断解密后的随机数四与其发 送给所述智能卡的随机数四不匹配,则所述终端终止认证。
13.根据权利要求12所述的终端,其特征在于, 所述发送单元,还用于再次返回认证请求给智能卡。
14.一种终端与智能卡之间的相互认证系统,其特征在于,该系统包括智能卡和终端;所述智能卡,用于接收终端发送的第一认证请求;对终端进行认证,智能卡返回第一认 证成功标志给终端,并同时返回第二认证请求给终端;所述终端,用于向智能卡发送第一认证请求;根据所述第一认证请求,接收所述智能卡 返回的第二认证成功标志;并对所述智能卡进行认证。
全文摘要
本发明公开了一种终端与智能卡之间的相互认证方法、装置及系统,涉及数据安全技术领域。本发明实施例提供的一种终端与智能卡之间的相互认证方法,包括智能卡接收终端发送的第一认证请求;智能卡对终端进行认证,智能卡返回第一认证成功标志给终端,并同时返回第二认证请求给终端,使得所述终端对所述智能卡进行认证。采用本发明实施例能够实现提高安全性能,简化认证流程的目的。
文档编号H04W12/06GK101883357SQ201010215888
公开日2010年11月10日 申请日期2010年6月22日 优先权日2010年6月22日
发明者张宁, 潘雪, 高翔 申请人:北京握奇数据系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1