一种授权方法及系统转让专利

申请号 : CN201610816023.9

文献号 : CN107346383B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李东声

申请人 : 天地融科技股份有限公司

摘要 :

本发明公开了一种授权方法及系统,其中,授权方法包括:卡片接收第一读卡器发送的携带有第一计算因子和第一认证信息的认证指令;卡片对第一认证信息进行认证,在认证通过的情况下,至少根据所述卡片存储的第三计算因子得到第二计算因子,其中,所述第三计算因子包括:所述卡片成功获得读卡器的授权时得到的计算因子;卡片至少根据第二计算因子生成第二认证信息,将第二认证信息发送给第一读卡器;第一读卡器将第二认证信息发送至后台;后台获取第一读卡器对应的第四计算因子,其中,第四计算因子为根据第一读卡器给予授权的前提条件得到的;后台至少根据获取的第四计算因子对第二认证信息进行认证,并至少根据认证结果判断是否对卡片进行授权。

权利要求 :

1.一种授权方法,其特征在于,包括:

卡片接收第一读卡器发送的认证指令,其中,所述认证指令中携带有第一计算因子和第一认证信息;

所述卡片对所述第一认证信息进行认证,在认证通过的情况下,至少根据所述卡片存储的第三计算因子得到第二计算因子,其中,所述第三计算因子包括:所述卡片成功获得读卡器的授权时得到的计算因子;

所述卡片至少根据所述第二计算因子生成第二认证信息,将所述第二认证信息发送给所述第一读卡器;

所述第一读卡器接收所述第二认证信息,并将所述第二认证信息发送至后台;

所述后台获取所述第一读卡器对应的第四计算因子,其中,所述第四计算因子为根据所述第一读卡器给予授权的前提条件得到的,所述第一读卡器给予授权的前提条件包括:是否需要第二读卡器对同一卡片进行授权,和/或,一组所述第二读卡器已对同一卡片进行授权;

所述后台至少根据获取的所述第四计算因子对所述第二认证信息进行认证,并至少根据认证结果判断是否对所述卡片进行授权。

2.根据权利要求1所述的方法,其特征在于,

所述第三计算因子为所述卡片最近一次成功获得读卡器的授权时得到的计算因子;

在将所述第二认证信息发送给所述第一读卡器之后,所述方法还包括:卡片根据所述第一计算因子和/或所述第三计算因子,更新存储的所述第三计算因子;

所述后台获取所述第一读卡器对应的第四计算因子,包括:所述后台获取所述第二读卡器对所述卡片进行授权时得到的所述第四计算因子或与所述第一读卡器给予授权的前提条件相同的第三读卡器最近一次对所述卡片进行授权时得到的所述第四计算因子;

在至少根据认证结果判断对所述卡片进行授权之后,所述方法还包括:根据所述第四计算因子和/或所述第一计算因子,得到所述第一读卡器对所述卡片进行授权时得到的第五计算因子。

3.根据权利要求1所述的方法,其特征在于,

所述卡片根据卡片存储的第三计算因子得到第二计算因子,包括:根据所述卡片存储的一个或多个所述第三计算因子,获取第二计算因子,其中,所述第三计算因子包括所述卡片在成功获得第四读卡器的授权时从所述第四读卡器获得的计算因子;

在生成第二认证信息之后,所述方法还包括:所述卡片将所述第一计算因子作为从所述第一读卡器获得的计算因子存储;

所述后台获取所述第一读卡器对应的第四计算因子,包括:所述后台获取第二计算因子列表,其中,所述第二计算因子列表至少包括所述卡片在成功获得各个读卡器授权时每个读卡器发送给所述卡片的第六计算因子;所述后台根据所述第二计算因子列表判断所述卡片是否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从所述第二计算因子列表中获取与所述前提条件中的各个所述第二读卡器对应的所述第四计算因子;

在至少根据认证结果判断对所述卡片进行授权之后,所述方法还包括:所述后台将所述第一计算因子记录到所述第二计算因子列表中。

4.根据权利要求3所述的方法,其特征在于,所述认证指令还携带有标识信息;

根据所述卡片存储的一个或多个所述第三计算因子,获取第二计算因子,包括:所述卡片根据所述标识信息确定所述第一读卡器给予授权的前提条件;

所述卡片判断所述卡片是否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从存储的一个或多个所述第三计算因子中获取从所述前提条件中的各个所述第二读卡器中获取的第二计算因子。

5.根据权利要求1至4任一项所述的方法,其特征在于,在至少根据认证结果判断不对所述卡片进行授权的情况下,所述方法还包括:所述后台清空与所述卡片相关的所有计算因子。

6.根据权利要求1至4任一项所述的方法,其特征在于,所述后台至少根据认证结果判断是否对所述卡片进行授权,包括:在所述第二认证信息认证通过的情况下,所述后台获取所述第一读卡器授权的权限列表,根据所述权限列表判断是否对所述卡片进行授权,将判断结果发送给所述第一读卡器,其中,所述第一读卡器授权的权限列表至少记录了允许第一读卡器授权的卡片的标识信息。

7.根据权利要求1至4任一项所述的方法,其特征在于,

在所述卡片接收到所述第一读卡器发送的认证指令之后,所述方法还包括:所述卡片获取本次认证的属性信息,对所述属性信息进行加密后存储;

在卡片接收第一读卡器发送的认证指令之前,所述方法还包括:所述第一读卡器获取所述卡片的标识信息;所述第一读卡器向所述卡片发送所述认证指令;所述第一读卡器向后台发送至少包括所述卡片的标识信息的通知;所述后台根据所述通知,获取并存储所述卡片的本次认证的所述属性信息;

在所述卡片对所述属性信息进行加密后存储之后,所述方法还包括:获取所述卡片存储的加密的所述属性信息;对所述加密的属性信息进行解密;将解密得到的所述属性信息与所述后台存储的所述卡片的所述属性信息进行对比,如果不匹配,标识所述卡片为非法卡片。

8.一种授权系统,其特征在于,包括:卡片,第一读卡器和后台;

所述卡片,用于:

接收所述第一读卡器发送的认证指令,其中,所述认证指令中携带有第一计算因子和第一认证信息;

对所述第一认证信息进行认证,在认证通过的情况下,至少根据所述卡片存储的第三计算因子得到第二计算因子,其中,所述第三计算因子包括:所述卡片成功获得读卡器的授权时得到的计算因子;

至少根据所述第二计算因子生成第二认证信息,将所述第二认证信息发送给所述第一读卡器;

所述第一读卡器,用于:

接收所述第二认证信息,并将所述第二认证信息发送至所述后台;

所述后台,用于:

获取所述第一读卡器对应的第四计算因子,其中,所述第四计算因子为根据所述第一读卡器给予授权的前提条件得到的,所述第一读卡器给予授权的前提条件包括:是否需要第二读卡器对同一卡片进行授权,和/或,一组所述第二读卡器已对同一卡片进行授权;

至少根据获取的所述第四计算因子对所述第二认证信息进行认证,并至少根据认证结果判断是否对所述卡片进行授权。

9.根据权利要求8所述的授权系统,其特征在于,

所述第三计算因子为所述卡片最近一次成功获得读卡器的授权时得到的计算因子;

所述卡片,还用于在将所述第二认证信息发送给所述第一读卡器之后,根据所述第一计算因子和/或所述第三计算因子,更新存储的所述第三计算因子;

所述后台通过以下方式获取所述第一读卡器对应的第四计算因子:获取所述第二读卡器对所述卡片进行授权时得到的所述第四计算因子或与所述第一读卡器给予授权的前提条件相同的第三读卡器最近一次对所述卡片进行授权时得到的所述第四计算因子;

所述后台,还用于在至少根据认证结果判断对所述卡片进行授权之后,根据所述第四计算因子和/或所述第一计算因子,得到所述第一读卡器对所述卡片进行授权时得到的第五计算因子。

10.根据权利要求8所述的授权系统,其特征在于,

所述卡片通过以下方式根据所述卡片存储的第三计算因子得到第二计算因子:根据所述卡片存储的一个或多个所述第三计算因子,获取第二计算因子,其中,所述第三计算因子包括所述卡片在成功获得第四读卡器的授权时从所述第四读卡器获得的计算因子;

所述卡片,还用于在生成第二认证信息之后,将所述第一计算因子作为从所述第一读卡器获得的计算因子存储;

所述后台通过以下方式获取所述第一读卡器对应的第四计算因子:获取第二计算因子列表,其中,所述第二计算因子列表至少包括所述卡片在成功获得各个读卡器授权时每个读卡器发送给所述卡片的第六计算因子;根据所述第二计算因子列表判断所述卡片是否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从所述第二计算因子列表中获取与所述前提条件中的各个所述第二读卡器对应的所述第四计算因子;

所述后台,还用于在至少根据认证结果判断对所述卡片进行授权之后,将所述第一计算因子记录到所述第二计算因子列表中。

11.根据权利要求10所述的授权系统,其特征在于,所述认证指令还携带有标识信息;

所述卡片通过以下方式根据所述卡片存储的一个或多个所述第三计算因子,获取第二计算因子:根据所述标识信息确定所述第一读卡器给予授权的前提条件,判断所述卡片是否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从存储的一个或多个所述第三计算因子中获取从所述前提条件中的各个所述第二读卡器中获取的第二计算因子。

12.根据权利要求9至11任一项所述的授权系统,其特征在于,

所述后台,还用于在至少根据认证结果判断不对所述卡片进行授权的情况下,清空与所述卡片相关的所有计算因子。

13.根据权利要求8至11任一项所述的授权系统,其特征在于,

所述后台通过以下方式判断是否对所述卡片进行授权:在所述第二认证信息认证通过的情况下,获取所述第一读卡器授权的权限列表,根据所述权限列表判断是否对所述卡片进行授权,将判断结果发送给所述第一读卡器,其中,所述第一读卡器授权的权限列表至少记录了允许第一读卡器授权的卡片的标识信息。

14.根据权利要求8至11任一项所述的授权系统,其特征在于,所述系统还包括:验证装置;

所述卡片,还用于在接收到所述第一读卡器发送的认证指令之后,获取本次认证的属性信息,对所述属性信息进行加密后存储;

所述第一读卡器,还用于获取所述卡片的标识信息;向所述卡片发送所述认证指令,向后台发送至少包括所述卡片的标识信息的通知;

所述后台,还用于根据所述通知,获取并存储所述卡片的本次认证的所述属性信息;

所述验证装置,用于在所述卡片对所述属性信息进行加密后存储之后,获取所述卡片存储的加密的所述属性信息,对所述加密的属性信息进行解密,将解密得到的所述属性信息与所述后台存储的所述卡片的所述属性信息进行对比,如果不匹配,标识所述卡片为非法卡片。

说明书 :

一种授权方法及系统

技术领域

[0001] 本发明涉及一种电子技术领域,尤其涉及一种授权方法及系统。

背景技术

[0002] 在授权系统中,为了实现不同等级的授权,往往需要设置多个读卡器,每一个读卡器能够实现特定等级的授权。然而,现有的授权系统中,每个读卡器都是相互独立的,与其
他读卡器之间没有关联。因此,不法分子只需要攻破一个读卡器,就能够获取该读卡器能够
实现的授权。然而,不法分子攻破每一个读卡器所需的时间都是差不多的,即现有技术中对
于更高等级授权的读卡器并没有实现更高的安全保证。

发明内容

[0003] 本发明旨在解决上述问题/之一。
[0004] 本发明的主要目的在于提供一种授权方法;
[0005] 本发明的另一目的在于提供一种授权系统。
[0006] 为达到上述目的,本发明的技术方案具体是这样实现的:
[0007] 方案1、一种授权方法,其特征在于,包括:
[0008] 卡片接收第一读卡器发送的认证指令,其中,所述认证指令中携带有第一计算因子和第一认证信息;
[0009] 所述卡片对所述第一认证信息进行认证,在认证通过的情况下,至少根据所述卡片存储的第三计算因子得到第二计算因子,其中,所述第三计算因子包括:所述卡片成功获
得读卡器的授权时得到的计算因子;
[0010] 所述卡片至少根据所述第二计算因子生成第二认证信息,将所述第二认证信息发送给所述第一读卡器;
[0011] 所述第一读卡器接收所述第二认证信息,并将所述第二认证信息发送至后台;
[0012] 所述后台获取所述第一读卡器对应的第四计算因子,其中,所述第四计算因子为根据所述第一读卡器给予授权的前提条件得到的,所述第一读卡器给予授权的前提条件包
括:是否需要第二读卡器对同一卡片进行授权,和/或,一组所述第二读卡器已对同一卡片
进行授权;
[0013] 所述后台至少根据获取的所述第四计算因子对所述第二认证信息进行认证,并至少根据认证结果判断是否对所述卡片进行授权。
[0014] 方案2、根据方案1所述的方法,其特征在于,
[0015] 所述第三计算因子为所述卡片最近一次成功获得读卡器的授权时得到的计算因子;
[0016] 在将所述第二认证信息发送给所述第一读卡器之后,所述方法还包括:卡片根据所述第一计算因子和/或所述第三计算因子,更新存储的所述第三计算因子;
[0017] 所述后台获取所述第一读卡器对应的第四计算因子,包括:所述后台获取所述第二读卡器对所述卡片进行授权时得到的所述第四计算因子或与所述第一读卡器给予授权
的前提条件相同的第三读卡器最近一次对所述卡片进行授权时得到的所述第四计算因子;
[0018] 在至少根据认证结果判断对所述卡片进行授权之后,所述方法还包括:根据所述第四计算因子和/或所述第一计算因子,得到所述第一读卡器对所述卡片进行授权时得到
的第五计算因子。
[0019] 方案3、根据方案1所述的方法,其特征在于,
[0020] 所述卡片根据卡片存储的第三计算因子得到第二计算因子,包括:根据所述卡片存储的一个或多个所述第三计算因子,获取第二计算因子,其中,所述第三计算因子包括所
述卡片在成功获得第四读卡器的授权时从所述第四读卡器获得的计算因子;
[0021] 在生成第二认证信息之后,所述方法还包括:所述卡片将所述第一计算因子作为从所述第一读卡器获得的计算因子存储;
[0022] 所述后台获取所述第一读卡器对应的第四计算因子,包括:所述后台获取第二计算因子列表,其中,所述第二计算因子列表至少包括所述卡片在成功获得各个读卡器授权
时每个读卡器发送给所述卡片的第六计算因子;所述后台根据所述第二计算因子列表判断
所述卡片是否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从所
述第二计算因子列表中获取与所述前提条件中的各个所述第二读卡器对应的所述第四计
算因子;
[0023] 在至少根据认证结果判断对所述卡片进行授权之后,所述方法还包括:所述后台将所述第一计算因子记录到所述第二计算因子列表中。
[0024] 方案4、根据方案3所述的方法,其特征在于,所述认证指令还携带有标识信息;
[0025] 根据所述卡片存储的一个或多个所述第三计算因子,获取第二计算因子,包括:
[0026] 所述卡片根据所述标识信息确定所述第一读卡器给予授权的前提条件;
[0027] 所述卡片判断所述卡片是否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从存储的一个或多个所述第三计算因子中获取从所述前提条件中的各
个所述第二读卡器中获取的第二计算因子。
[0028] 方案5、根据方案1至4任一项所述的方法,其特征在于,在至少根据认证结果判断不对所述卡片进行授权的情况下,所述方法还包括:所述后台清空与所述卡片相关的所有
计算因子。
[0029] 方案6、根据方案1至5任一项所述的方法,其特征在于,所述后台至少根据认证结果判断是否对所述卡片进行授权,包括:
[0030] 在所述第二认证信息认证通过的情况下,所述后台获取所述第一读卡器授权的权限列表,根据所述权限列表判断是否对所述卡片进行授权,将判断结果发送给所述第一读
卡器,其中,所述第一读卡器授权的权限列表至少记录了允许第一读卡器授权的卡片的标
识信息。
[0031] 方案7、根据方案1至6任一项所述的方法,其特征在于,
[0032] 在所述卡片接收到所述第一读卡器发送的认证指令之后,所述方法还包括:所述卡片获取本次认证的属性信息,对所述属性信息进行加密后存储;
[0033] 在卡片接收第一读卡器发送的认证指令之前,所述方法还包括:所述第一读卡器获取所述卡片的标识信息;所述第一读卡器向所述卡片发送所述认证指令;所述第一读卡
器向后台发送至少包括所述卡片的标识信息的通知;所述后台根据所述通知,获取并存储
所述卡片的本次认证的所述属性信息;
[0034] 在所述卡片对所述属性信息进行加密后存储之后,所述方法还包括:获取所述卡片存储的加密的所述属性信息;对所述加密的属性信息进行解密;将解密得到的所述属性
信息与所述后台存储的所述卡片的所述属性信息进行对比,如果不匹配,标识所述卡片为
非法卡片。
[0035] 方案8、一种授权系统,其特征在于,包括:卡片,第一读卡器和后台;
[0036] 所述卡片,用于:
[0037] 接收所述第一读卡器发送的认证指令,其中,所述认证指令中携带有第一计算因子和第一认证信息;
[0038] 对所述第一认证信息进行认证,在认证通过的情况下,至少根据所述卡片存储的第三计算因子得到第二计算因子,其中,所述第三计算因子包括:所述卡片成功获得读卡器
的授权时得到的计算因子;
[0039] 至少根据所述第二计算因子生成第二认证信息,将所述第二认证信息发送给所述第一读卡器;
[0040] 所述第一读卡器,用于:
[0041] 接收所述第二认证信息,并将所述第二认证信息发送至所述后台;
[0042] 所述后台,用于:
[0043] 获取所述第一读卡器对应的第四计算因子,其中,所述第四计算因子为根据所述第一读卡器给予授权的前提条件得到的,所述第一读卡器给予授权的前提条件包括:是否
需要第二读卡器对同一卡片进行授权,和/或,一组所述第二读卡器已对同一卡片进行授
权;
[0044] 至少根据获取的所述第四计算因子对所述第二认证信息进行认证,并至少根据认证结果判断是否对所述卡片进行授权。
[0045] 方案9、根据方案8所述的授权系统,其特征在于,
[0046] 所述第三计算因子为所述卡片最近一次成功获得读卡器的授权时得到的计算因子;
[0047] 所述卡片,还用于在将所述第二认证信息发送给所述第一读卡器之后,根据所述第一计算因子和/或所述第三计算因子,更新存储的所述第三计算因子;
[0048] 所述后台通过以下方式获取所述第一读卡器对应的第四计算因子:获取所述第二读卡器对所述卡片进行授权时得到的所述第四计算因子或与所述第一读卡器给予授权的
前提条件相同的第三读卡器最近一次对所述卡片进行授权时得到的所述第四计算因子;
[0049] 所述后台,还用于在至少根据认证结果判断对所述卡片进行授权之后,根据所述第四计算因子和/或所述第一计算因子,得到所述第一读卡器对所述卡片进行授权时得到
的第五计算因子。
[0050] 方案10、根据方案8所述的授权系统,其特征在于,
[0051] 所述卡片通过以下方式根据所述卡片存储的第三计算因子得到第二计算因子:根据所述卡片存储的一个或多个所述第三计算因子,获取第二计算因子,其中,所述第三计算
因子包括所述卡片在成功获得第四读卡器的授权时从所述第四读卡器获得的计算因子;
[0052] 所述卡片,还用于在生成第二认证信息之后,将所述第一计算因子作为从所述第一读卡器获得的计算因子存储;
[0053] 所述后台通过以下方式获取所述第一读卡器对应的第四计算因子:获取第二计算因子列表,其中,所述第二计算因子列表至少包括所述卡片在成功获得各个读卡器授权时
每个读卡器发送给所述卡片的第六计算因子;根据所述第二计算因子列表判断所述卡片是
否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从所述第二计算
因子列表中获取与所述前提条件中的各个所述第二读卡器对应的所述第四计算因子;
[0054] 所述后台,还用于在至少根据认证结果判断对所述卡片进行授权之后,将所述第一计算因子记录到所述第二计算因子列表中。
[0055] 方案11、根据方案10所述的授权系统,其特征在于,所述认证指令还携带有标识信息;
[0056] 所述卡片通过以下方式根据所述卡片存储的一个或多个所述第三计算因子,获取第二计算因子:根据所述标识信息确定所述第一读卡器给予授权的前提条件,,判断所述卡
片是否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从存储的一
个或多个所述第三计算因子中获取从所述前提条件中的各个所述第二读卡器中获取的第
二计算因子。
[0057] 方案12、根据方案9至11任一项所述的授权系统,其特征在于,
[0058] 所述后台,还用于在至少根据认证结果判断不对所述卡片进行授权的情况下,清空与所述卡片相关的所有计算因子。
[0059] 方案13、根据方案8至12任一项所述的授权系统,其特征在于,
[0060] 所述后台通过以下方式判断是否对所述卡片进行授权:在所述第二认证信息认证通过的情况下,获取所述第一读卡器授权的权限列表,根据所述权限列表判断是否对所述
卡片进行授权,将判断结果发送给所述第一读卡器,其中,所述第一读卡器授权的权限列表
至少记录了允许第一读卡器授权的卡片的标识信息。
[0061] 方案14、根据方案8至13任一项所述的授权系统,其特征在于,所述系统还包括:验证装置;
[0062] 所述卡片,还用于在接收到所述第一读卡器发送的认证指令之后,获取本次认证的属性信息,对所述属性信息进行加密后存储;
[0063] 所述第一读卡器,还用于获取所述卡片的标识信息;向所述卡片发送所述认证指令,向后台发送至少包括所述卡片的标识信息的通知;
[0064] 所述后台,还用于根据所述通知,获取并存储所述卡片的本次认证的所述属性信息;
[0065] 所述验证装置,用于在所述卡片对所述属性信息进行加密后存储之后,获取所述卡片存储的加密的所述属性信息,对所述加密的属性信息进行解密,将解密得到的所述属
性信息与所述后台存储的所述卡片的所述属性信息进行对比,如果不匹配,标识所述卡片
为非法卡片。
[0066] 由上述本发明提供的技术方案可以看出,本发明提供了一种授权方法,卡片在响应第一读卡器发送的认证指令时,根据存储的第三计算因子生成第二认证信息发送给第一
读卡器,由第一读卡器发送给后台认证,后台接收卡片发送的第二认证信息后,后台根据第
一读卡器给予授权的前提条件,获取第一读卡器对应的第四计算因子,至少利用第四计算
因子对卡片发送的第二认证信息认证,如果卡片没有获取到第一读卡器给予授权的前提条
件中的读卡器的授权,则卡片没有存储有与第四计算因子对应计算因子,后台对第二认证
信息的认证不通过,从而无法对卡片进行授权,因此,对于安全级别较高的读卡器,可以设
置对应的控制权限,例如,需要一张卡片已经获得其它一个或多个读卡器的授权,非法用户
如果想攻破一个读卡器,获得该读卡器的授权,必须先获得其它一个或多个读卡器的授权,
才有由可能获取到该读卡器的授权,实现了多个读卡器给予授权的联动效果。

附图说明

[0067] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本
领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
附图。
[0068] 图1为本发明实施例1提供的授权方法的流程图;
[0069] 图2为本发明实施例2提供的一种授权系统的结构示意图;
[0070] 图3为本发明实施例2提供的另一种授权系统的结构示意图。

具体实施方式

[0071] 下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本
发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施
例,都属于本发明的保护范围。
[0072] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对
本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
[0073] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本
发明中的具体含义。
[0074] 下面将结合附图对本发明实施例作进一步地详细描述。
[0075] 实施例1
[0076] 本实施例提供了一种授权方法,如图1所示,该方法包括以下步骤(S101-S106):
[0077] S101:卡片接收第一读卡器发送的认证指令,其中,认证指令中携带有第一计算因子和第一认证信息。
[0078] S102:卡片对第一认证信息进行认证,在认证通过的情况下,至少根据存储的第三计算因子得到第二计算因子,其中,第三计算因子包括:所述卡片成功获得读卡器的授权时
得到计算因子。
[0079] S103:卡片至少根据第二计算因子生成第二认证信息,将第二认证信息发送给第一读卡器。
[0080] S104:第一读卡器接收第二认证信息,并将第二认证信息发送至后台。
[0081] S105:后台获取第一读卡器对应的第四计算因子,其中,第四计算因子为根据第一读卡器给予授权的前提条件得到的,其中,第一读卡器给予授权的前提条件包括:是否需要
第二读卡器对同一卡片进行授权,和/或,一组第二读卡器已对同一卡片进行授权。
[0082] S106:后台至少根据获取的第四计算因子对第二认证信息进行认证,并至少根据认证结果判断是否对卡片进行授权。
[0083] 通过本实施例提供的授权方法,卡片在响应第一读卡器发送的认证指令时,根据存储的第三计算因子生成第二认证信息发送给第一读卡器,由第一读卡器发送给后台,后
台接收卡片发送的第二认证信息后,后台根据第一读卡器给予授权的前提条件,获取第一
读卡器对应的第四计算因子,利用第四计算因子对卡片发送的第二认证信息认证,如果卡
片没有获取到第一读卡器给予授权的前提条件中的读卡器的授权,则卡片中没有存储有与
第四计算因子对应的计算因子,后台对第二认证信息的认证不通过,从而无法对卡片进行
授权,因此,对于安全级别较高的读卡器,可以设置对应的控制权限,例如,需要一张卡片已
经获得其它一个或多个读卡器的授权,非法用户如果想攻破一个读卡器,获得该读卡器的
授权,必须先获得其它一个或多个读卡器的授权,才有由可能获取到该读卡器的授权,实现
了多个读卡器给予授权的联动效果。
[0084] 在本实施例中,卡片可以为磁条卡、集成电路卡(Integrated Circuit Card,简称IC卡)、智能卡等类型的卡片,在本实施例中不作具体限定,只要能够被第一读卡器读取的
卡片,均在本实施例的保护范围之内。第一读卡器为当前与卡片交互的读卡器,第一读卡器
的类型与卡片的类型相对应,例如:当卡片为磁条卡时,第一读卡器为磁卡读卡器;当卡片
为IC卡时,第一读卡器为IC卡读卡器,在本实施例中对第一读卡器的类型不作具体限定。
[0085] 另外,在本实施例中,卡片可以为接触型,也可以为非接触型。如果卡片为非接触型,当卡片位于第一读卡器的工作距离以内时,卡片与第一读卡器可以进行通信,实现无需
插卡即可进行通信。当卡片为接触型时,只有卡片的触点与第一读卡器的接口正确连接时,
卡片与第一读卡器才能进行通信。在本实施例中,当卡片为非接触型时,第一读卡器可以周
期性的广播寻卡指令,卡片如果位于第一读卡器的读卡范围,则卡片可以响应第一读卡器
的寻卡指令,向第一读卡器发送寻卡响应,第一读卡器在接收到寻卡响应后,可以确定当前
读取的卡片,进而向卡片发送认证指令。
[0086] 在本实施例中,第一计算因子可以是第一读卡器生成的随机数,也可以为第一读卡器给予授权的次数,还可以是该卡片请求授权的总次数,具体本实施例不作限定,第一读
卡器利用认证密钥,按照预设的校验算法对第一计算因子进行计算,得到校验值,将该校验
值作为第一认证信息携带在认证指令中发送给卡片。其中,预设的校验算法可以为MAC算
法,也可以为其它校验算法,例如,签名算法,具体本实施例不作限定。
[0087] 而卡片在对第一认证信息进行认证时,首先获取第一读卡器的认证密钥,再采用与第一读卡器相同的校验算法,对第一计算因子进行计算生成校验值,比较计算得到的校
验值和接收的认证指令中的校验值是否相同,如果相同,则第一认证信息认证通过,如果不
相同,则第一认证信息认证不通过。如果第一认证信息认证通过,则表明第一认证信息没有
被篡改且第一读卡器的身份合法,如果认证不通过,则表明第一认证信息被篡改和/或第一
读卡器的身份不合法。
[0088] 其中,在认证指令中还可以携带有与第一读卡器对应的唯一标识,例如,该标识信息可以是第一读卡器的序列号,也可以是第一读卡器对应的认证密钥(即用于对第一认证
信息进行认证的认证密钥)的标识信息。卡片根据该标识信息可以确定第一读卡器的认证
密钥。
[0089] 在本实施例中,卡片在第一认证信息认证通过的情况下,向第一读卡器发送第二认证信息,其中,第二认证信息可以是卡片利用认证密钥对第二计算因子按照预设的校验
算法进行计算生成的校验值。卡片利用卡片自身的认证密钥,按照预设的校验算法对第二
计算因子进行计算,得到校验值,将该校验值携带在第二认证信息中发送给第一读卡器。其
中,预设的校验算法可以为MAC算法,也可以为其它校验算法,例如,签名算法,具体本实施
例不作限定。
[0090] 在本实施例中,第一读卡器接收第二认证信息后,与后台联合判断是否为卡片授权。第一读卡器接收第二认证信息后,将第二认证信息发送至后台,后台至少对第二认证信
息进行认证,将认证结果返回给第一读卡器,然后第一读卡器至少根据认证结果判断是否
为卡片授权。后台对第二认证信息进行认证时,首先获取卡片的认证密钥和第一读卡器对
应的第四计算因子,再采用与卡片相同的校验算法,至少对第四计算因子进行计算生成校
验值,比较计算得到的校验值和接收的第二认证信息中的校验值是否相同,如果相同,则第
二认证信息认证通过,如果不相同,则第二认证信息认证不通过。如果第二认证信息认证通
过,则表明卡片中存储有与第四计算因子对应的计算因子,且第二认证信息没有被篡改且
卡片的身份合法,如果认证不通过,则表明卡片中没有存储与第四计算因子对应的计算因
子,或者第二认证信息被篡改和/或卡片的身份不合法。
[0091] 在本实施例中,第一读卡器除了可以根据第二认证信息判断是否为卡片授权之外,还可以根据其他信息判断是否为卡片授权,因此,作为本发明实施例的一个可选实施方
式,在第二认证信息认证通过的情况下,后台获取第一读卡器授权的权限列表,根据权限列
表判断是否对卡片进行授权,将判断结果发送给第一读卡器,其中,第一读卡器授权的权限
列表至少记录了允许第一读卡器授权的卡片的标识信息。根据卡片是否在第一读卡器的授
权权限列表中判断是否为卡片授权,即判断卡片是否为第一读卡器的授权用户。在具体应
用中,第一读卡器的授权权限列表可以存储在后台,也可以存储在第一读卡器本地,如果是
存储在第一读卡器本地,则由第一读卡器进行判断,如果是存储在后台,则由后台进行判
断,最后结合对第二认证信息进行认证的认证结果判断是否为卡片授权。例如,如果授权权
限列表存储在后台,则后台对第二认证信息进行认证通过之后,进一步判断卡片是否在第
一读卡器的授权权限列表中,如果是,则向第一读卡器认证通过的认证结果,第一读卡器根
据该认证结果,确定对该卡片进行授权;如果授权权限列表存储在第一读卡器,则后台对第
二认证信息进行认证通过之后,向第一读卡器返回指示第二认证信息是否认证通过的认证
结果,如果该认证结果指示第二认证信息认证通过,则第一读卡器进一步判断卡片是否在
第一读卡器的授权权限列表中,如果是,则确定对该卡片进行授权,否则确定不对卡片进行
授权。
[0092] 作为本发明实施例的一个可选实施方式,存储的第三计算因子可以是卡片在获得某个读卡器的授权时获取到的,例如,第三计算因子可以为卡片在最近一次获得某个读卡
器的授权时该读卡器发送给卡片的计算因子(例如,可以伴随上述第一认证信息一起发
送),或者,最近一次获得某个读卡器的授权时卡片根据本地存储的计算因子进行计算得到
的,或者,也可以是卡片之前获得每个读卡器的授权时该读卡器发送给卡片的计算因子,具
体可以根据具体应用进行设置。在本实施例中,卡片通过将之前读卡器给予授权时获取的
计算因子作为计算第二认证信息的参数,从而使得后台可以根据该第二认证信息确定卡片
是否已获得某个读卡器的授权,以实现读卡器之间的联动授权。
[0093] 在本发明实施例的一个可选实施方式中,卡片可以通过以下两种方式实现读卡器之间的联动授权:
[0094] 方式一:第三计算因子为卡片最近一次成功获得读卡器的授权时得到的计算因子。
[0095] 例如,第三计算因子可以是卡片最近一次成功获得读卡器的授权时,读卡器通过认证指令发送给卡片的计算因子,即卡片接收到读卡器发送的认证指令后,在对认证指令
中的认证信息进行认证通过之后,卡片可以认为已成功获得该读卡器的授权,将认证指令
中的计算因子作为第三计算因子存储;或者,第三计算因子可以是卡片最近一次成功获得
读卡器的授权时,对读卡器通过认证指令发送给卡片的计算因子进行运算得到的,即卡片
接收到读卡器发送的认证指令后,在对认证指令中的认证信息进行认证通过之后,卡片可
以认为已成功获得该读卡器的授权,则按照预定的算法对认证指令中的计算因子进行计
算,将计算结果作为第三计算因子存储;或者,第三计算因子可以是卡片最近一次成功获得
读卡器的授权时,对本地存储的第三计算因子进行运算得到的,即卡片接收到读卡器发送
的认证指令后,在对认证指令中的认证信息进行认证通过之后,卡片可以认为已成功获得
该读卡器的授权,则按照预定的算法对本地存储的第三计算因子进行计算,使用计算结果
更新存储的第三计算因子;或者,第三计算因子可以是卡片最近一次成功获得读卡器的授
权时,对本地存储的第三计算因子与读卡器通过认证指令发送给卡片的计算因子进行运算
得到的,即卡片接收到读卡器发送的认证指令后,在对认证指令中的认证信息进行认证通
过之后,卡片可以认为已成功获得该读卡器的授权,则按照预定的算法对本地存储的第三
计算因子以及认证指令中的计算因子进行计算,使用计算结果更新存储的第三计算因子,
采用这种方式,可以使得后台可以根据第二认证信息的计算参数追溯卡片获取授权的轨
迹,进而可以判断出卡片是否满足第一读卡器给予授权的前提条件。
[0096] 对应地,在该实施方式中,卡片在将第二认证信息发送给第一读卡器之后,卡片根据第一计算因子和/或第三计算因子,更新存储的第三计算因子。
[0097] 例如,在存储的第三计算因子是卡片最近一次成功获得读卡器的授权时,读卡器通过认证指令发送给卡片的计算因子的情况下,卡片在将第二认证信息发送给第一读卡器
之后,使用第一计算因子更新存储的第三计算因子;在第三计算因子为卡片最近一次成功
获得读卡器的授权时,对读卡器通过认证指令发送给卡片的计算因子进行运算得到的情况
下,卡片在将第二认证信息发送给第一读卡器之后,对第一计算因子进行运算,使用运算结
果更新存储的第三计算因子;在第三计算因子是卡片最近一次成功获得读卡器的授权时,
对本地存储的第三计算因子进行运算得到的情况下,卡片在将第二认证信息发送给第一读
卡器之后,对本地存储的第三计算因子进行运算,使用运算结果更新存储的第三计算因子;
在第三计算因子是卡片最近一次成功获得读卡器的授权时,对本地存储的第三计算因子与
读卡器通过认证指令发送给卡片的计算因子进行运算得到的情况下,卡片在将第二认证信
息发送给第一读卡器之后,对本地存储的第三计算因子和第一计算因子进行运算,使用运
算结果更新存储的第三计算因子,例如,卡片可以将存储的第三计算因子和第一计算因子
拼接后得到一个拼接值,对得到的拼接值进行自运算(例如,自加运算,自减运算等)或者
MAC运算,然后更新存储的第三计算因子,置第三计算因子=运算结果。采用这种方式存储
和更新第三计算因子时,在卡片中只需要存储一个计算因子,有效地节省了卡片的存储空
间。
[0098] 对应地,在对第二认证信息进行认证时,后台可以通过如下方式获取第一读卡器对应的第四计算因子:后台获取第二读卡器对卡片进行授权时或与第一读卡器给予授权的
前提条件相同的第三读卡器最近一次对卡片进行授权时得到的第四计算因子。
[0099] 在具体应用中,后台可以对每张卡片维护一张表,记录该卡片每次获得到授权时得到的第四计算因子,以体现同一卡片已经获得了哪些读卡器的授权。与第三计算因子对
应,第四计算因子可以是读卡器对卡片进行授权时,读卡器通过认证指令发送给卡片的计
算因子,也可以是读卡器对卡片进行授权时,对读卡器通过认证指令发送给卡片的计算因
子进行运算得到的,还可以是对上一个读卡器对该卡片进行授权时得到的第四计算因子进
行运算得到的,或者,也可以是对上一个读卡器对该卡片进行授权时得到的第四计算因子
与本读卡器通过认证指令发送给卡片的计算因子进行运算得到的。
[0100] 在本实施例中,由于卡片侧只存储一个第三计算因子,因此,在实际应用中,卡片在获取第二读卡器的授权之后,还可能又获得了其它读卡器的授权,从而使得卡片中存储
的第三计算因子可能并不是第一读卡器给予授权的前提条件中的第二读卡器对应的第四
计算因子。因此,在本实施例的一个可选实施方式中,后台在验证第二认证信息时,如果采
用第二读卡器对卡片进行授权时得到的第四计算因子认证不通过,则还可以再次采用与第
一读卡器给予授权的前提条件相同的第三读卡器最近一次对卡片进行授权时得到的第四
计算因子进行验证,以减少误判。
[0101] 在具体应用中,可以根据具体的授权前提条件来确定是否采用与第一读卡器给予授权的前提条件相同的第三读卡器最近一次对卡片进行授权时得到的第四计算因子对第
二认证信息进行认证。例如,如果第一读卡器给予授权的前提条件只是卡片已获得第二读
卡器的授权,则可以采用与第一读卡器给予授权的前提条件相同的第三读卡器最近一次对
卡片进行授权时得到的第四计算因子对第二认证信息进行认证;如果第一读卡器给予授权
的前提条件是卡片必须在获得第二读卡器的授权之后,紧接着第一读卡器可以授权,即卡
片在请求第二读卡器和第一读卡器的授权之间,没有再获得其它读卡器的授权,后台不能
采用与第一读卡器给予授权的前提条件相同的第三读卡器最近一次对卡片进行授权时得
到的第四计算因子对第二认证信息进行认证。
[0102] 在本实施例中,在卡片没有成功获取第二读卡器的授权或与第一读卡器给予授权的前提条件相同的第三读卡器的授权的情况下,后台不能获取到与卡片中存储的第三计算
因子对应的第四计算因子,因此不能对第二认证信息进行认证,第二认证信息认证不通过;
在卡片已经成功获取第二读卡器的授权或与第一读卡器给予授权的前提条件相同的第三
读卡器的授权的情况下,后台能够获取到与卡片中存储的第三计算因子对应的第四计算因
子,此时,第四计算因子和第三计算因子相同,因此,第二认证信息认证通过。从而可以保证
卡片只有在满足第一读卡器给予授权的前提条件,才能获得第一读卡器的授权,实现了多
个读卡器之间的联动授权。
[0103] 在本实施例的一个可选实施方式中,为了使以第一读卡器已成功对卡片进行授权为给予授权的前提条件的其它读卡器在给予卡片进行授权时,可以获取第一读卡器对卡片
进行授权时得到的第五计算因子,在后台对第二认证信息进行认证通过之后,或者,在确定
第一读卡器可以对卡片进行授权之后,后台可以根据上述第一计算因子和/或第四计算因
子,得到并存储第五计算因子。在具体应用中,第五计算因子是根据第一计算因子、第四计
算因子、或第一计算因子与第四计算因子的组合来得到的,可以采用与第三计算因子对应
的方式确定。
[0104] 例如,在存储的第三计算因子是卡片最近一次成功获得读卡器的授权时,将第一计算因子存储为第五计算因子;在第三计算因子为卡片最近一次成功获得读卡器的授权
时,对读卡器通过认证指令发送给卡片的计算因子进行运算得到的情况下,则后台对第一
计算因子进行运算,将运算结果存储为第五计算因子;在第三计算因子是卡片最近一次成
功获得读卡器的授权时,对本地存储的第三计算因子进行运算得到的情况下,则后台对第
四计算因子进行运算,将运算结果存储为第三计算因子;在第三计算因子是卡片最近一次
成功获得读卡器的授权时,对本地存储的第三计算因子与读卡器通过认证指令发送给卡片
的计算因子进行运算得到的情况下,后台对第四计算因子和第一计算因子进行运算,将运
算结果存储为第五计算因子,例如,后台可以采用与卡片相同的算法对第四计算因子和第
一计算因子进行运算,例如,将第四计算因子和第一计算因子拼接后得到一个拼接值,对得
到的拼接值进行自运算(例如,自加运算,自减运算等)或者MAC运算,将运算结果存储为第
五计算因子。
[0105] 以在一个包含三个读卡器的系统为例,假设三个读卡器的编号分别为一号读卡器、二号读卡器和三号读卡器。一号读卡器给予授权的前提条件可以为同一卡片不需要获
得任何读卡器的授权,二号读卡器给予授权的前提条件可以为同一卡片已成功获得一号读
卡器的授权,三号读卡器给予授权的前提条件可以为同一卡片已成功获得一号读卡器和二
号读卡器的授权,生成第三计算因子和第五计算因子的预定的算法用M表示。在本实施例的
一个可选实施方式中,在初始状态下,卡片中的第二计算因子的值为空(NULL),后台记录该
卡片未获得任一读卡器的授权。
[0106] 步骤1,卡片请求获得一号读卡器的授权,过程如下:卡片接收一号读卡器发送的认证指令,认证指令中携带有第一计算因子r1和第一认证信息D1;卡片对第一认证信息D1
进行认证,在认证通过的情况下,获取一个为空的第二计算因子,卡片至少根据第一计算因
子r1和第二计算因子生成第二认证信息D2,将第二认证信息D2发送给一号读卡器,卡片按
照预定算法对第一计算因子r1进行运算,得到第三计算因子M(r1),使用第三计算因子替换
为空的第二计算因子,卡片中的第二计算因子更新为M(r1);第一读卡器接收第二认证信息
D2,并将第一计算因子r1和第二认证信息D2发送至后台;后台根据一号读卡器给予授权的
前提条件获取一号读卡器对应的为空的第四计算因子,后台根据第一计算因子r1和获取的
第四计算因子对第二认证信息D2进行认证,认证通过,一号读卡器为卡片进行授权,后台对
第一计算因子r1进行运算,得到一号读卡器对卡片进行授权时得到的第五计算因子M(r1)。
[0107] 步骤2,该卡片再请求获得二号读卡器的授权,过程如下:卡片接收二号读卡器发送的认证指令,认证指令中携带有第一计算因子r2和第一认证信息D3;卡片对第一认证信
息D3进行认证,在认证通过的情况下,获取第二计算因子M(r1),卡片至少根据第一计算因
子r2和第二计算因子M(r1)生成第二认证信息D4,将第二认证信息D4发送给二号读卡器,卡
片按照预定算法对第一计算因子r2和第二计算因子M(r1)进行计算,得到第三计算因子M
(r2+M(r1)),使用第三计算因子M(r2+M(r1))替换第二计算因子M(r1),卡片中的第二计算
因子更新为M(r2+M(r1));二号读卡器接收第二认证信息D4,并将第一计算因子r2和第二认
证信息D4发送至后台;后台根据二号读卡器给予授权的前提条件,获取一号读卡器授权时
得到的第四计算因子M(r1),后台根据第一计算因子r2和第四计算因子M(r1)对第二认证信
息D4进行认证,认证通过,二号读卡器为卡片进行授权,后台对第一计算因子r2和第四计算
因子M(r1)进行计算,生成二号读卡器对卡片进行授权时得到的第五计算因子M(r2+M
(r1))。
[0108] 步骤3,该卡片继续请求获得三号读卡器的授权,过程如下:卡片接收三号读卡器发送的认证指令,认证指令中携带有第一计算因子r3和第一认证信息D5;卡片对第一认证
信息D5进行认证,在认证通过的情况下,获取第二计算因子M(r2+M(r1)),卡片至少根据第
一计算因子r3和第二计算因子M(r2+M(r1))生成第二认证信息D6,将第二认证信息D6发送
给三号读卡器,卡片按照预定算法对第一计算因子r3和第二计算因子M(r2+M(r1))进行计
算,得到第三计算因子M(r3+M(r2+M(r1))),使用第三计算因子M(r3+M(r2+M(r1)))替换第
二计算因子M(r2+M(r1)),卡片中的第二计算因子更新为M(r3+M(r2+M(r1)));三号读卡器
接收第二认证信息D6,并将第一计算因子r3和第二认证信息D6发送至后台;后台根据三号
读卡器给予授权的前提条件,获得二号读卡器给予卡片授权时得到的第四计算因子M(r2+M
(r1)),后台根据第一计算因子r3和第四计算因子M(r2+M(r1))对第二认证信息D6进行认
证,认证通过,三号读卡器为卡片进行授权,后台对第一计算因子r3和第四计算因子M(r2+M
(r1))进行计算,生成三号读卡器对卡片进行授权时得到的第五计算因子M(r3+M(r2+M
(r1)))。
[0109] 方式二:第三计算因子包括卡片在成功获得读卡器的授权时从读卡器得到的计算因子,其中,第三计算因子可以为一个也可以为多个。
[0110] 在该实施方式中,卡片根据卡片存储的第三计算因子得到第二计算因子时,可以根据卡片存储的一个或多个第三计算因子,获取第二计算因子,其中,第三计算因子包括卡
片在成功获得第四读卡器的授权时从第四读卡器获得的计算因子。在具体应用中,卡片可
以从一个或多个第三计算因子中选择一个或多个计算因子作为第二计算因子。
[0111] 在该实施方式中,第三计算因子可以为卡片在请求第四读卡器的授权时,第四读卡器携带在认证指令中第一计算因子。
[0112] 相应地,后台可以采用如下方式获取第一读卡器对应的第四计算因子:后台获取第二计算因子列表,其中,第二计算因子列表至少包括卡片在成功获得各个读卡器授权时
每个读卡器发送给卡片的第六计算因子;后台根据第二计算因子列表判断卡片是否已成功
获得前提条件中的所有第二读卡器的授权,如果是,则从第二计算因子列表中获取与前提
条件中的各个第二读卡器对应的第四计算因子。在本实施方式中,如果第二计算因子列表
中包含第六计算因子,则表示卡片已成功获得该第六计算因子对应的读卡器的授权。
[0113] 作为本发明实施例的一个可选实施方式,在判断对卡片进行授权的情况下,为了便于判断以第一读卡器给予授权为前提的其它读卡器是否可以对卡片进行授权,后台对第
二计算因子列表进行更新,将第一计算因子记录到第二计算因子列表中。后台在判断对卡
片进行授权的情况下,才将卡片获取第一读卡器授权时的第一计算因子记录到第二计算因
子列表中,因此,通过判断第二计算因子列表中是否有第一计算因子,能够判断卡片是否已
经成功获得了第一读卡器的授权。如果第二计算因子列表中记录了第一计算因子,则表明
卡片已经成功获得第一读卡器的授权;如果第二计算因子列表中没有记录第一计算因子,
则表明卡片没有获得第一读卡器的授权。
[0114] 在本实施例的一个可选实施方式中,卡片根据卡片存储的一个或多个第三计算因子,获取第二计算因子时,可以根据第一读卡器给予卡片授权的前提条件确定。在该实施方
式中,认证指令中还可以携带有标识信息,卡片根据该标识信息确定第一读卡器给予授权
的前提条件;卡片可以根据存储的第三计算因子判断卡片是否已成功获得前提条件中的所
有第二读卡器的授权,如果是,则从存储的一个或多个第三计算因子中获取从前提条件中
的各个第二读卡器获取的第二计算因子,并根据获取的第二计算因子向第一读卡器返回第
二认证信息。如果卡片判断卡片未成功获得前提条件中的所有第二读卡器的授权,则卡片
可以拒绝响应第一读卡器发送的认证指令,并删除本地存储的所有第三计算因子。通过该
实施方式,卡片只有在确定满足第一读卡器给予授权的前提条件的情况下,才对第一读卡
器的认证指令进行响应,向第一读卡器发送认证信息,以期获得第一读卡器的授权,因而,
对于安全级别较高的读卡器,可以设置对应的授权前提条件,例如,需要一张卡片已经获得
其它一个或多个读卡器的授权,非法用户如果想攻破一个读卡器,获得该读卡器的授权,必
须先获得其它一个或多个读卡器的授权,才能响应该读卡器的认证指令,进而才有可能获
取到该读卡器的授权。
[0115] 在本实施例中,第一读卡器发送的认证指令中携带的标识信息可以是与第一读卡器对应的唯一标识,例如,该标识信息可以是第一读卡器的序列号,也可以是第一读卡器对
应的认证密钥(即用于对第一认证信息进行认证的认证密钥)的标识信息。在本实施例中,
卡片通过该标识信息来确定第一读卡器给予授权的前提条件,从而判断卡片是否满足第一
读卡器给予授权的前提条件。卡片可以通过判断卡片中是否存储了卡片在成功获得前提条
件中的各个第二读卡器的授权时获取的第三计算因子,从而判断卡片是否已成功获得前提
条件中的所有第二读卡器的授权。如果卡片中存储了前提条件中的各个第二读卡器对应的
第三计算因子,则卡片满足第一读卡器给予授权的前提条件,获取与第二读卡器对应的第
二计算因子。
[0116] 以一个包含三个读卡器的系统为例,假设三个读卡器的编号分别为一号读卡器、二号读卡器和三号读卡器。一号读卡器给予授权的前提条件可以为同一卡片不需要获得任
何读卡器的授权,二号读卡器给予授权的前提条件可以为同一卡片已成功获得一号读卡器
的授权,三号读卡器给予授权的前提条件可以为同一卡片已成功获得一号读卡器的授权。
在本实施例的一个可选实施方式中,在初始状态下,卡片中存储的第三计算因子的值为空
(NULL),后台记录该卡片未获得任一读卡器的授权。
[0117] 步骤1,卡片请求获得一号读卡器的授权,过程如下:卡片接收一号读卡器发送的认证指令,认证指令中携带有第一计算因子r1和第一认证信息D1;卡片对第一认证信息D1
进行认证,在认证通过的情况下,获取卡片中存储的第二计算因子,由于一号读卡器给予授
权的前提条件为同一卡片不需要获得任何读卡器的授权,因此卡片获取一个为空的第二计
算因子,卡片至少根据第一计算因子r1和第二计算因子生成第二认证信息D2,将第二认证
信息D2发送给一号读卡器,卡片将第一计算因子r1作为第三计算因子存储;一号读卡器接
收第二认证信息D2,并将第一计算因子r1和第二认证信息D2发送至后台;后台获取第二计
算因子列表,由于此时卡片没有获得任何读卡器的授权,因此,第二计算因子列表为空,第
六计算因子也为空;由于一号读卡器给予授权的前提条件为同一卡片不需要获得任何读卡
器的授权,因此,后台根据第二计算因子列表判断卡片已获得一号读卡器给予授权的前提
条件中的所有第二读卡器的授权,后台获取一个为空的第四计算因子,根据第一计算因子
r1和第四计算因子对第二认证信息D2进行认证,认证通过,一号读卡器为卡片进行授权,后
台将第一计算因子r1记录到第二计算因子列表中。
[0118] 步骤2,卡片请求获得二号读卡器的授权,过程如下:卡片接收二号读卡器发送的认证指令,认证指令中携带有第一计算因子r2和第一认证信息D3;卡片对第一认证信息D3
进行认证,在认证通过的情况下,获取卡片中存储的第二计算因子,由于二号读卡器给予授
权的前提条件为同一卡片已成功获得一号读卡器的授权,因此卡片获取的第二计算因子为
卡片获得一号读卡器授权时获得的第三计算因子r1,卡片至少根据第一计算因子r2和第三
计算因子r1生成第二认证信息D4,将第二认证信息D4发送给二号读卡器,将第一计算因子
r2作为第二个第三计算因子存储;二号读卡器接收第二认证信息D4,并将第一计算因子r2
和第二认证信息D4发送至后台;后台获取第二计算因子列表,由于此时卡片已成功获得一
号读卡器的授权,因此,第二计算因子列表包含卡片成功获得一号读卡器授权时一号读卡
器发送给卡片的第六计算因子r1;由于二号读卡器给予授权的前提条件为同一卡片已成功
获得一号读卡器的授权,因此,后台根据第二计算因子列表判断卡片已获得二号读卡器给
予授权的前提条件中的一号读卡器的授权,后台获取的第四计算因子r1,根据第一计算因
子r2和第四计算因子r1对第二认证信息D4进行认证,认证通过,二号读卡器对卡片进行授
权,后台将r2记录到第二计算因子列表中。
[0119] 步骤3,卡片请求获得三号读卡器的授权,其过程与卡片获得二号读卡器授权的过程类似,在此不再赘述。卡片获得三号读卡器授权后,卡片将三号读卡器发送给卡片的第一
计算因子r3作为第三个第三计算因子存储,后台的第二计算因子列表中记录了三号读卡器
发送给卡片的第一计算因子r3。
[0120] 作为本发明实施例的一个可选实施方式,无论卡片具体通过何种方式实现读卡器之间的联动授权,在判断不对卡片进行授权的情况下,本实施例提供的方法还包括:后台清
空记录的与卡片相关的所有计算因子。例如:按照方式一,后台在判断不对卡片进行授权的
情况下,后台清空与该卡片对应的计算因子列表,即清空各个读卡器在对该卡片进行授权
时得到的计算因子;按照方式二,在判断不对卡片进行授权的情况下,后台清空与该卡片对
应的第二计算因子列表。在判断不对卡片进行授权的情况下,表明卡片可能正在试图非法
获取第一读卡器的授权,因此,后台清空记录的与卡片相关的所有计算因子,可以避免卡片
利用后台存储的计算因子进行凑单从而非法获得其他读卡器的授权。另外,也能节省后台
的存储空间。作为本发明实施例的一个可选实施方式,在卡片接收到第一读卡器发送的认
证指令之后,该方法还可以包括:卡片获取本次认证的属性信息,对属性信息进行加密后存
储;在卡片接收第一读卡器发送的认证指令之前,该方法还可以包括:第一读卡器获取卡片
的标识信息,第一读卡器向卡片发送认证指令;第一读卡器向后台发送至少包括卡片的标
识信息的通知;后台根据通知,获取并存储卡片的本次认证的属性信息,例如,第一读卡器
可以发送寻卡指令,卡片响应寻卡指令,向第一读卡器发送寻卡响应,第一读卡器接收寻卡
响应,从寻卡响应中获取卡片的标识信息。在卡片对属性信息进行加密后存储之后,该方法
还可以包括:获取卡片存储的加密的属性信息;对加密的属性信息进行解密;将解密得到的
属性信息与后台存储的卡片的属性信息进行对比,如果不匹配,标识卡片为非法卡片。在标
识该卡片为非法卡片之后,可以指示卡片删除内部存储的各个计算因子,指示后台删除与
该卡片相关的计算因子。从而可以避免后台不能获知卡片被非法读取的情况。
[0121] 在本实施例中,卡片的本次认证的属性信息可以是第一读卡器对卡片进行认证的属性信息,例如,第一读卡器对卡片进行认证的时间、地点和次数等信息。具体的,地点的记
录方式可以为第一读卡器的序列号,根据第一读卡器的序列号可以与第一读卡器的位置进
行关联,根据第一读卡器的序列号可以确定第一读卡器的地点;此外,也可以在第一读卡器
内部设置具有定位功能的芯片,根据该定位芯片可以获取第一读卡器对卡片进行认证的地
点信息。将属性信息加密后存储在卡片内部,可以防止卡片内部的属性信息被其他非法设
备获取,保证属性信息的安全。
[0122] 在本实施例中,后台获取至少包括卡片的标识信息的通知后,将本次认证的属性信息与卡片的标识信息关联并存储。在卡片对属性信息进行加密后存储之后,可以由后台
获取或者由能够读取卡片内部的属性信息的验证装置读取卡片存储的加密的属性信息,对
加密的属性信息进行解密,将解密得到的属性信息与后台记录的卡片的属性信息进行比
对,如果比对不一致,则卡片存在被不法设备非法读取的风险,此时将卡片标识为非法卡
片。通过本可选实施方式,可以防止不法设备对卡片进行攻击,发起非法认证指令,获取卡
片内部的数据,从而攻破卡片。
[0123] 实施例2
[0124] 本实施例提供了一种授权系统,如图2所示,该授权系统包括卡片21、第一读卡器22和后台23。
[0125] 卡片21,用于:接收第一读卡器22发送的认证指令,其中,认证指令中携带有第一计算因子和第一认证信息;对第一认证信息进行认证,在认证通过的情况下,至少根据卡片
21存储的第三计算因子得到第二计算因子,其中,第三计算因子包括:卡片21成功获得读卡
器的授权时得到的计算因子;至少根据第二计算因子生成第二认证信息,将第二认证信息
发送给第一读卡器22;第一读卡器22,用于:接收第二认证信息,并将第二认证信息发送至
后台23;后台23,用于:获取第一读卡器22对应的第四计算因子,其中,第四计算因子为根据
第一读卡器22给予授权的前提条件得到的,第一读卡器22给予授权的前提条件包括:是否
需要第二读卡器对同一卡片21进行授权,和/或,一组第二读卡器已对同一卡片21进行授
权;至少根据获取的第四计算因子对第二认证信息进行认证,并至少根据认证结果判断是
否对卡片21进行授权。
[0126] 通过本实施例提供的授权系统,卡片用于响应第一读卡器发送的认证指令,根据存储的第三计算因子生成第二认证信息发送给第一读卡器,第一读卡器用于接收第二认证
信息并发送给后台,后台用于在接收第二认证信息后,根据第一读卡器给予授权的前提条
件,获取第一读卡器对应的第四计算因子,利用第四计算因子对卡片发送的第二认证信息
认证,如果卡片没有获取到第一读卡器给予授权的前提条件中的读卡器的授权,则卡片中
没有存储有与第四计算因子对应的计算因子,后台对第二认证信息的认证不通过,从而无
法对卡片进行授权,因此,对于安全级别较高的读卡器,可以设置对应的控制权限,例如,需
要一张卡片已经获得其它一个或多个读卡器的授权,非法用户如果想攻破一个读卡器,获
得该读卡器的授权,必须先获得其它一个或多个读卡器的授权,才有由可能获取到该读卡
器的授权,实现了多个读卡器给予授权的联动效果。
[0127] 在本实施例中,在本实施例中,卡片21可以为磁条卡、集成电路卡(Integrated Circuit Card,简称IC卡)、智能卡等类型的卡片21,在本实施例中不作具体限定,只要能够
被第一读卡器22读取的卡片21,均在本实施例的保护范围之内。第一读卡器22为当前与卡
片21交互的读卡器,第一读卡器22的类型与卡片21的类型相对应,例如:当卡片21为磁条卡
时,第一读卡器22为磁卡读卡器;当卡片21为IC卡时,第一读卡器22为IC卡读卡器,在本实
施例中对第一读卡器22的类型不作具体限定。
[0128] 另外,在本实施例中,卡片21可以为接触型,也可以为非接触型。如果卡片21为非接触型,当卡片21位于第一读卡器22的工作距离以内时,卡片21与第一读卡器22可以进行
通信,实现无需插卡即可进行通信。当卡片21为接触型时,只有卡片21的触点与第一读卡器
22的接口正确连接时,卡片21与第一读卡器22才能进行通信。在本实施例中,当卡片21为非
接触型时,第一读卡器22还可以用于周期性的广播寻卡指令,卡片21如果位于第一读卡器
22的读卡范围以内,则卡片21还可以用于响应第一读卡器22的寻卡指令,向第一读卡器22
发送寻卡响应,第一读卡器22还可以用于在接收到寻卡响应后,确定当前读取的卡片21,进
而向卡片21发送认证指令。
[0129] 在本实施例中,第一计算因子可以是第一读卡器22生成的随机数,也可以为第一读卡器22给予授权的次数,还可以是该卡片21请求授权的总次数,具体本实施例不作限定。
第一读卡器22用于按照以下方式生成第一认证信息:利用认证密钥,按照预设的校验算法
对第一计算因子进行计算,得到校验值,将该校验值作为第一认证信息携带在认证指令中
发送给卡片21。其中,预设的校验算法可以为MAC算法,也可以为其它校验算法,例如,签名
算法,具体本实施例不作限定。
[0130] 而卡片21用于按照以下方式对第一认证信息进行认证:首先获取第一读卡器22的认证密钥,再采用与第一读卡器22相同的校验算法,对第一计算因子进行计算生成校验值,
比较计算得到的校验值和接收的认证指令中的校验值是否相同,如果相同,则第一认证信
息认证通过,如果不相同,则第一认证信息认证不通过。如果第一认证信息认证通过,则表
明第一认证信息没有被篡改且第一读卡器22的身份合法,如果认证不通过,则表明第一认
证信息被篡改和/或第一读卡器22的身份不合法。
[0131] 其中,在认证指令中还可以携带有与第一读卡器22对应的唯一标识,卡片21根据该标识信息来确定第一读卡器22的认证密钥,该标识信息可以是第一读卡器22的序列号,
也可以是第一读卡器22对应的认证密钥(即用于对第一认证信息进行认证的认证密钥)的
标识信息。卡片21可以用于根据该标识信息确定第一读卡器22的认证密钥。
[0132] 在本实施例中,卡片21用于在第一认证信息认证通过的情况下,向第一读卡器22发送第二认证信息,其中,第二认证信息可以是卡片21利用认证密钥对第二计算因子按照
预设的校验算法进行计算生成的校验值。卡片21可以用于通过以下方式生成第二认证信
息:利用卡片21自身的认证密钥,按照预设的校验算法对第二计算因子进行计算,得到校验
值,将该校验值携带在第二认证信息中发送给第一读卡器22。其中,预设的校验算法可以为
MAC算法,也可以为其它校验算法,例如,签名算法,具体本实施例不作限定。
[0133] 在本实施例中,第一读卡器22用于在接收第二认证信息后,与后台23联合判断是否为卡片21授权。第一读卡器22接收第二认证信息,将第二认证信息发送至后台23,后台23
至少对第二认证信息进行认证,将认证结果返回给第一读卡器22,然后第一读卡器22至少
根据认证结果判断是否为卡片21授权。后台23用于按照以下方式对第二认证信息进行认
证:首先获取卡片21的认证密钥和第一读卡器22对应的第四计算因子,再采用与卡片21相
同的校验算法,至少对第四计算因子进行计算生成校验值,比较计算得到的校验值和接收
的第二认证信息中的校验值是否相同,如果相同,则第二认证信息认证通过,如果不相同,
则第二认证信息认证不通过。如果第二认证信息认证通过,则表明卡片21中存储有与第四
计算因子对应的计算因子,且第二认证信息没有被篡改且卡片21的身份合法,如果认证不
通过,则表明卡片21中没有存储与第四计算因子对应的计算因子,或者第二认证信息被篡
改和/或卡片21的身份不合法。
[0134] 在本实施例中,第一读卡器22除了用于根据第二认证信息判断是否为卡片21授权之外,还可以用于根据其他信息判断是否为卡片21授权,因此,作为本发明实施例的一个可
选实施方式,后台23通过以下方式判断是否对卡片21进行授权:在第二认证信息认证通过
的情况下,获取第一读卡器22授权的权限列表,根据权限列表判断是否对卡片21进行授权,
将判断结果发送给第一读卡器22,其中,第一读卡器22授权的权限列表至少记录了允许第
一读卡器22授权的卡片的标识信息。后台23根据卡片21是否在第一读卡器22的授权权限列
表中判断是否为卡片21授权,即判断卡片21是否为第一读卡器22的授权用户。在具体应用
中,第一读卡器22的授权权限列表可以存储在后台23,如果是存储在后台23,则由后台23进
行判断,最后结合对第二认证信息进行认证的认证结果判断是否为卡片21授权。例如,授权
权限列表存储在后台23,则后台23对第二认证信息进行认证通过之后,进一步判断卡片21
是否在第一读卡器22的授权权限列表中,如果是,则向第一读卡器22认证通过的认证结果,
第一读卡器22根据该认证结果,确定对该卡片21进行授权;如果授权权限列表存储在第一
读卡器22,则后台23对第二认证信息进行认证通过之后,向第一读卡器22返回指示第二认
证信息是否认证通过的认证结果,如果该认证结果指示第二认证信息认证通过,则第一读
卡器22进一步判断卡片21是否在第一读卡器22的授权权限列表中,如果是,则确定对该卡
片21进行授权,否则确定不对卡片21进行授权。
[0135] 作为本发明实施例的一个可选实施方式,存储的第三计算因子可以是卡片21在获得某个读卡器的授权时获取到的,例如,第三计算因子可以为卡片21在最近一次获得某个
读卡器的授权时该读卡器发送给卡片21的计算因子(例如,可以伴随上述第一认证信息一
起发送),或者,最近一次获得某个读卡器的授权时卡片21根据本地存储的计算因子进行计
算得到的,或者,也可以是卡片21之前获得每个读卡器的授权时该读卡器发送给卡片21的
计算因子,具体可以根据具体应用进行设置。在本实施例中,卡片21通过将之前读卡器给予
授权时获取的计算因子作为计算第二认证信息的参数,从而使得后台23可以根据该第二认
证信息确定卡片21是否已获得某个读卡器的授权,以实现读卡器之间的联动授权。
[0136] 在本发明实施例的一个可选实施方式中,卡片21可以通过以下两种方式实现读卡器之间的联动授权:
[0137] 方式一:第三计算因子为卡片21最近一次成功获得读卡器的授权时得到的计算因子。
[0138] 例如,第三计算因子可以是卡片21最近一次成功获得读卡器的授权时,读卡器通过认证指令发送给卡片21的计算因子,即卡片21接收到读卡器发送的认证指令后,在对认
证指令中的认证信息进行认证通过之后,卡片21可以认为已成功获得该读卡器的授权,将
认证指令中的计算因子作为第三计算因子存储;或者,第三计算因子可以是卡片21最近一
次成功获得读卡器的授权时,对读卡器通过认证指令发送给卡片21的计算因子进行运算得
到的,即卡片21接收到读卡器发送的认证指令后,在对认证指令中的认证信息进行认证通
过之后,卡片21可以认为已成功获得该读卡器的授权,则按照预定的算法对认证指令中的
计算因子进行计算,将计算结果作为第三计算因子存储;或者,第三计算因子可以是卡片21
最近一次成功获得读卡器的授权时,对本地存储的第三计算因子进行运算得到的,即卡片
21接收到读卡器发送的认证指令后,在对认证指令中的认证信息进行认证通过之后,卡片
21可以认为已成功获得该读卡器的授权,则按照预定的算法对本地存储的第三计算因子进
行计算,使用计算结果更新存储的第三计算因子;或者,第三计算因子可以是卡片21最近一
次成功获得读卡器的授权时,对本地存储的第三计算因子与读卡器通过认证指令发送给卡
片21的计算因子进行运算得到的,即卡片21接收到读卡器发送的认证指令后,在对认证指
令中的认证信息进行认证通过之后,卡片21可以认为已成功获得该读卡器的授权,则按照
预定的算法对本地存储的第三计算因子以及认证指令中的计算因子进行计算,使用计算结
果更新存储的第三计算因子,采用这种方式,可以使得后台23可以根据第二认证信息的计
算参数追溯卡片21获取授权的轨迹,进而可以判断出卡片21是否满足第一读卡器22给予授
权的前提条件。
[0139] 对应地,在该实施方式中,卡片21还用于在将第二认证信息发送给第一读卡器22之后,根据第一计算因子和/或第三计算因子,更新存储的第三计算因子。
[0140] 例如,在存储的第三计算因子是卡片21最近一次成功获得读卡器的授权时,读卡器通过认证指令发送给卡片21的计算因子的情况下,卡片21在将第二认证信息发送给第一
读卡器22之后,使用第一计算因子更新存储的第三计算因子;在第三计算因子为卡片21最
近一次成功获得读卡器的授权时,对读卡器通过认证指令发送给卡片21的计算因子进行运
算得到的情况下,卡片21在将第二认证信息发送给第一读卡器22之后,对第一计算因子进
行运算,使用运算结果更新存储的第三计算因子;在第三计算因子是卡片21最近一次成功
获得读卡器的授权时,对本地存储的第三计算因子进行运算得到的情况下,卡片21在将第
二认证信息发送给第一读卡器22之后,对本地存储的第三计算因子进行运算,使用运算结
果更新存储的第三计算因子;在第三计算因子是卡片21最近一次成功获得读卡器的授权
时,对本地存储的第三计算因子与读卡器通过认证指令发送给卡片21的计算因子进行运算
得到的情况下,卡片21在将第二认证信息发送给第一读卡器22之后,对本地存储的第三计
算因子和第一计算因子进行运算,使用运算结果更新存储的第三计算因子,例如,卡片21可
以用于将存储的第三计算因子和第一计算因子拼接后得到一个拼接值,对得到的拼接值进
行自运算(例如,自加运算,自减运算等)或者MAC运算,然后更新存储的第三计算因子,置第
三计算因子=运算结果。采用这种方式存储和更新第三计算因子时,在卡片21中只需要存
储一个计算因子,有效地节省了卡片21的存储空间。
[0141] 对应地,在对第二认证信息进行认证时,后台23可以通过以下方式获取第一读卡器22对应的第四计算因子:后台23获取第二读卡器对卡片进行授权时或与第一读卡器22给
予授权的前提条件相同的第三读卡器最近一次对卡片21进行授权时得到的第四计算因子。
[0142] 在具体应用中,后台23可以对每张卡片维护一张表,记录该卡片每次获得到授权时得到的第四计算因子,以体现同一卡片已经获得了哪些读卡器的授权。与第三计算因子
对应,第四计算因子可以是读卡器对卡片21进行授权时,读卡器通过认证指令发送给卡片
21的计算因子,也可以是读卡器对卡片21进行授权时,对读卡器通过认证指令发送给卡片
21的计算因子进行运算得到的,还可以是对上一个读卡器对该卡片21进行授权时得到的第
四计算因子进行运算得到的,或者,也可以是对上一个读卡器对该卡片21进行授权时得到
的第四计算因子与本读卡器通过认证指令发送给卡片21的计算因子进行运算得到的。
[0143] 在本实施例中,由于卡片21侧只存储一个第三计算因子,因此,在实际应用中,卡片21在获取第二读卡器的授权之后,还可能又获得了其它读卡器的授权,从而使得卡片21
中存储的第三计算因子可能并不是第一读卡器22给予授权的前提条件中的第二读卡器对
应的第四计算因子。因此,在本实施例的一个可选实施方式中,后台23在验证第二认证信息
时,如果采用第二读卡器对卡片21进行授权时得到的第四计算因子认证不通过,则还可以
再次采用与第一读卡器22给予授权的前提条件相同的第三读卡器最近一次对卡片21进行
授权时得到的第四计算因子进行验证,以减少误判。
[0144] 在具体应用中,可以根据具体的授权前提条件来确定是否采用与第一读卡器22给予授权的前提条件相同的第三读卡器最近一次对卡片21进行授权时得到的第四计算因子
对第二认证信息进行认证。例如,如果第一读卡器22给予授权的前提条件只是卡片21已获
得第二读卡器的授权,则可以采用与第一读卡器22给予授权的前提条件相同的第三读卡器
最近一次对卡片21进行授权时得到的第四计算因子对第二认证信息进行认证;如果第一读
卡器22给予授权的前提条件是卡片21必须在获得第二读卡器的授权之后,紧接着第一读卡
器22可以授权,即卡片21在请求第二读卡器和第一读卡器22的授权之间,没有再获得其它
读卡器的授权,后台23不能采用与第一读卡器22给予授权的前提条件相同的第三读卡器最
近一次对卡片21进行授权时得到的第四计算因子对第二认证信息进行认证。
[0145] 在本实施例中,在卡片21没有成功获取第二读卡器的授权或与第一读卡器22给予授权的前提条件相同的第三读卡器的授权的情况下,后台23不能获取到与卡片21中存储的
第三计算因子对应的第四计算因子,因此不能对第二认证信息进行认证,第二认证信息认
证不通过;在卡片21已经成功获取第二读卡器的授权或与第一读卡器22给予授权的前提条
件相同的第三读卡器的授权的情况下,后台23能够获取到与卡片21中存储的第三计算因子
对应的第四计算因子,此时,第四计算因子和第三计算因子相同,因此,第二认证信息认证
通过。从而可以保证卡片21只有在满足第一读卡器22给予授权的前提条件,才能获得第一
读卡器22的授权,实现了多个读卡器之间的联动授权。
[0146] 在本实施例的一个可选实施方式中,为了使以第一读卡器22已成功对卡片21进行授权为给予授权的前提条件的其它读卡器在给予卡片21进行授权时,可以获取第一读卡器
22对卡片21进行授权时得到的第五计算因子,后台23还可以用于在对第二认证信息进行认
证通过之后,或者,在确定第一读卡器22可以对卡片21进行授权之后,根据上述第一计算因
子和/或第四计算因子,得到并存储第五计算因子。在具体应用中,第五计算因子是根据第
一计算因子、第四计算因子、或第一计算因子与第四计算因子的组合来得到的,可以采用与
第三计算因子对应的方式确定。
[0147] 例如,在存储的第三计算因子是卡片21最近一次成功获得读卡器的授权时,将第一计算因子存储为第五计算因子;在第三计算因子为卡片21最近一次成功获得读卡器的授
权时,对读卡器通过认证指令发送给卡片21的计算因子进行运算得到的情况下,则后台23
对第一计算因子进行运算,将运算结果存储为第五计算因子;在第三计算因子是卡片21最
近一次成功获得读卡器的授权时,对本地存储的第三计算因子进行运算得到的情况下,则
后台23对第四计算因子进行运算,将运算结果存储为第三计算因子;在第三计算因子是卡
片21最近一次成功获得读卡器的授权时,对本地存储的第三计算因子与读卡器通过认证指
令发送给卡片21的计算因子进行运算得到的情况下,后台23对第四计算因子和第一计算因
子进行运算,将运算结果存储为第五计算因子,例如,后台23可以采用与卡片21相同的算法
对第四计算因子和第一计算因子进行运算,例如,将第四计算因子和第一计算因子拼接后
得到一个拼接值,对得到的拼接值进行自运算(例如,自加运算,自减运算等)或者MAC运算,
将运算结果存储为第五计算因子。
[0148] 以一个包含三个读卡器的系统为例,假设三个读卡器的编号分别为一号读卡器、二号读卡器和三号读卡器。一号读卡器给予授权的前提条件可以为同一卡片21不需要获得
任何读卡器的授权,二号读卡器给予授权的前提条件可以为同一卡片21已成功获得一号读
卡器的授权,三号读卡器给予授权的前提条件可以为同一卡片21已成功获得一号读卡器和
二号读卡器的授权,生成第三计算因子和第五计算因子的预定的算法用M表示。在本实施例
的一个可选实施方式中,在初始状态下,卡片21中的第二计算因子的值为空(NULL),后台23
记录该卡片21未获得任一读卡器的授权。
[0149] 卡片21通过以下方式请求获得一号读卡器的授权:卡片21,用于接收一号读卡器发送的认证指令,认证指令中携带有第一计算因子r1和第一认证信息D1;对第一认证信息
D1进行认证,在认证通过的情况下,获取一个为空的第二计算因子;至少根据第一计算因子
r1和第二计算因子生成第二认证信息D2,将第二认证信息D2发送给一号读卡器;按照预定
算法对第一计算因子r1进行运算,得到第三计算因子M(r1),使用第三计算因子M(r1)替换
为空的第二计算因子,卡片21中的第二计算因子更新为M(r1)。第一读卡器22,用于接收第
二认证信息D2,并将第一计算因子r1和第二认证信息D2发送至后台23。后台23,用于根据一
号读卡器给予授权的前提条件获取一号读卡器对应的为空的第四计算因子,根据第一计算
因子r1和获取的第四计算因子对第二认证信息D2进行认证,认证通过,一号读卡器为卡片
21进行授权,后台23对第一计算因子r1进行运算,得到一号读卡器对卡片21进行授权时得
到的第五计算因子M(r1)。
[0150] 该卡片21通过以下方式再请求获得二号读卡器的授权:卡片21,用于接收二号读卡器发送的认证指令,认证指令中携带有第一计算因子r2和第一认证信息D3;对第一认证
信息D3进行认证,在认证通过的情况下,获取第二计算因子M(r1),至少根据第一计算因子
r2和第二计算因子M(r1)生成第二认证信息D4,将第二认证信息D4发送给二号读卡器,卡片
21按照预定算法对第一计算因子r2和第二计算因子M(r1)进行计算,得到第三计算因子M
(r2+M(r1)),使用第三计算因子M(r2+M(r1))替换第二计算因子M(r1),卡片21中的第二计
算因子更新为M(r2+M(r1));二号读卡器,用于接收第二认证信息D4,并将第一计算因子r2
和第二认证信息D4发送至后台23;后台23,用于根据二号读卡器给予授权的前提条件,获取
一号号读卡器授权时得到的的第四计算因子M(r1),根据第一计算因子r2和第四计算因子M
(r1)对第二认证信息D4进行认证,认证通过,二号读卡器为卡片21进行授权,后台23对第一
计算因子r2和第四计算因子M(r1)进行计算,生成二号读卡器对卡片21进行授权时得到的
第五计算因子M(r2+M(r1))。
[0151] 该卡片21通过以下方式继续请求获得三号读卡器的授权:卡片21,用于接收三号读卡器发送的认证指令,认证指令中携带有第一计算因子r3和第一认证信息D5;对第一认
证信息D5进行认证,在认证通过的情况下,获取第二计算因子M(r2+M(r1)),至少根据第一
计算因子r3和第二计算因子M(r2+M(r1))生成第二认证信息D6,将第二认证信息D6发送给
三号读卡器;按照预定算法对第一计算因子r3和第二计算因子M(r2+M(r1))进行计算,得到
第三计算因子M(r3+M(r2+M(r1))),使用第三计算因子M(r3+M(r2+M(r1)))替换第二计算因
子M(r2+M(r1)),卡片21中的第二计算因子更新为M(r3+M(r2+M(r1)))。三号读卡器,用于接
收第二认证信息D6,并将第一计算因子r3和第二认证信息D6发送至后台23;后台23,用于根
据三号读卡器给予授权的前提条件,获得二号读卡器给予卡片授权时得到的第四计算因子
M(r2+M(r1)),根据第一计算因子r3和第四计算因子M(r2+M(r1))对第二认证信息D6进行认
证,认证通过,三号读卡器为卡片21进行授权,对第一计算因子r3和第四计算因子M(r2+M
(r1))进行计算,生成三号读卡器对卡片21进行授权时得到的第五计算因子M(r3+M(r2+M
(r1)))。
[0152] 方式二:第三计算因子包括卡片21在成功获得读卡器的授权时从读卡器得到的计算因子,其中,第三计算因子可以为一个也可以为多个。
[0153] 在该实施方式中,卡片21通过以下方式根据卡片21存储的第三计算因子得到第二计算因子:根据卡片21存储的一个或多个第三计算因子,获取第二计算因子,其中,第三计
算因子包括卡片21在成功获得第四读卡器的授权时从第四读卡器获得的计算因子。在具体
应用中,卡片21可以从一个或多个第三计算因子中选择一个或多个计算因子作为第二计算
因子。
[0154] 在该实施方式中,第三计算因子可以为卡片21在请求第四读卡器的授权时,第四读卡器携带在认证指令中第一计算因子。
[0155] 相应地,后台23可以通过以下方式获取第一读卡器22对应的第四计算因子:获取第二计算因子列表,其中,第二计算因子列表至少包括卡片21在成功获得各个读卡器授权
时每个读卡器发送给卡片21的第六计算因子;根据第二计算因子列表判断卡片21是否已成
功获得前提条件中的所有第二读卡器的授权,如果是,则从第二计算因子列表中获取与前
提条件中的各个第二读卡器对应的第四计算因子。在本实施方式中,如果第二计算因子列
表中包含第六计算因子,则表示卡片21已成功获得该第六计算因子对应的读卡器的授权。
[0156] 作为本发明实施例的一个可选实施方式,为了便于判断以第一读卡器22给予授权为前提的其它读卡器是否可以对卡片21进行授权,后台23,还用于在判断对卡片21进行授
权的情况下,对第二计算因子列表进行更新,将第一计算因子记录到第二计算因子列表中。
后台23在判断对卡片21进行授权的情况下,才将卡片21获取第一读卡器22授权时的第一计
算因子记录到第二计算因子列表中,因此,后台23通过判断第二计算因子列表中是否有第
一计算因子,能够判断卡片21是否已经成功获得了第一读卡器22的授权。如果第二计算因
子列表中记录了第一计算因子,则表明卡片21已经成功获得第一读卡器22的授权;如果第
二计算因子列表中没有记录第一计算因子,则表明卡片21没有获得第一读卡器22的授权。
[0157] 在本实施例的一个可选实施方式中,卡片21可以通过以下方式根据卡片21存储的一个或多个第三计算因子,获取第二计算因子:根据第一读卡器22给予卡片21授权的前提
条件确定。在该实施方式中,认证指令中还可以携带有标识信息,卡片21根据该标识信息确
定第一读卡器22给予授权的前提条件;卡片21可以根据存储的第三计算因子判断卡片21是
否已成功获得前提条件中的所有第二读卡器的授权,如果是,则从存储的一个或多个第三
计算因子中获取从前提条件中的各个第二读卡器获取的第二计算因子,并根据获取的第二
计算因子向第一读卡器22返回第二认证信息。如果卡片21判断卡片21未成功获得前提条件
中的所有第二读卡器的授权,则卡片21可以拒绝响应第一读卡器22发送的认证指令,并删
除本地存储的所有第三计算因子。通过该实施方式,卡片21只有在确定满足第一读卡器22
给予授权的前提条件的情况下,才对第一读卡器22的认证指令进行响应,向第一读卡器22
发送认证信息,以期获得第一读卡器22的授权,因而,对于安全级别较高的读卡器,可以设
置对应的授权前提条件,例如,需要一张卡片21已经获得其它一个或多个读卡器的授权,非
法用户如果想攻破一个读卡器,获得该读卡器的授权,必须先获得其它一个或多个读卡器
的授权,才能响应该读卡器的认证指令,进而才有可能获取到该读卡器的授权。
[0158] 在本实施例中,第一读卡器22发送的认证指令中携带的标识信息可以是与第一读卡器22对应的唯一标识,例如,该标识信息可以是第一读卡器22的序列号,也可以是第一读
卡器22对应的认证密钥(即用于对第一认证信息进行认证的认证密钥)的标识信息。在本实
施例中,卡片21通过该标识信息来确定第一读卡器22给予授权的前提条件,从而判断卡片
21是否满足第一读卡器22给予授权的前提条件。卡片21可以通过判断卡片21中是否存储了
卡片21在成功获得前提条件中的各个第二读卡器的授权时获取的第三计算因子,从而判断
卡片21是否已成功获得前提条件中的所有第二读卡器的授权。如果卡片21中存储了前提条
件中的各个第二读卡器对应的第三计算因子,则卡片21满足第一读卡器22给予授权的前提
条件,获取与第二读卡器对应的第二计算因子。
[0159] 以一个包含三个读卡器的系统为例,假设三个读卡器的编号分别为一号读卡器、二号读卡器和三号读卡器。一号读卡器给予授权的前提条件可以为同一卡片21不需要获得
任何读卡器的授权,二号读卡器给予授权的前提条件可以为同一卡片21已成功获得一号读
卡器的授权,三号读卡器给予授权的前提条件可以为同一卡片21已成功获得一号读卡器的
授权。在本实施例的一个可选实施方式中,在初始状态下,卡片21中存储的第三计算因子的
值为空(NULL),后台23记录该卡片21未获得任一读卡器的授权。
[0160] 卡片21通过以下方式请求获得一号读卡器的授权:卡片21,用于接收一号读卡器发送的认证指令,认证指令中携带有第一计算因子r1和第一认证信息D1;对第一认证信息
D1进行认证,在认证通过的情况下,获取卡片21中存储的第二计算因子,由于一号读卡器给
予授权的前提条件为同一卡片21不需要获得任何读卡器的授权,因此卡片21获取一个为空
的第二计算因子,卡片21至少根据第一计算因子r1和第二计算因子生成第二认证信息D2,
将第二认证信息D2发送给一号读卡器,卡片21将第一计算因子r1作为第三计算因子存储。
一号读卡器,用于接收第二认证信息D2,并将第一计算因子r1和第二认证信息D2发送至后
台23;后台23获取第二计算因子列表,由于此时卡片21没有获得任何读卡器的授权,因此,
第二计算因子列表为空,第六计算因子也为空;且由于一号读卡器给予授权的前提条件为
同一卡片21不需要获得任何读卡器的授权,因此,后台23根据第二计算因子列表判断卡片
21已获得一号读卡器给予授权的前提条件中的所有第二读卡器的授权,后台23获取一个为
空的第四计算因子,根据第一计算因子r1和第四计算因子对第二认证信息D2进行认证,认
证通过,一号读卡器为卡片21进行授权,后台23将第一计算因子r1记录到第二计算因子列
表中。
[0161] 该卡片21通过以下方式再请求获得二号读卡器的授权:卡片21,用于接收二号读卡器发送的认证指令,认证指令中携带有第一计算因子r2和第一认证信息D3;对第一认证
信息D3进行认证,在认证通过的情况下,获取卡片21中存储的第二计算因子,由于二号读卡
器给予授权的前提条件为同一卡片21已成功获得一号读卡器的授权,因此卡片21获取的第
二计算因子为卡片21获得一号读卡器授权时获得的第三计算因子r1;至少根据第一计算因
子r2和第三计算因子r1生成第二认证信息D4,将第二认证信息D4发送给二号读卡器,将第
一计算因子r2作为第二个第三计算因子存储;二号读卡器接收第二认证信息D4,并将第一
计算因子r2和第二认证信息D4发送至后台23;后台23获取第二计算因子列表,由于此时卡
片21已成功获得一号读卡器的授权,因此,第二计算因子列表包含卡片21成功获得一号读
卡器授权时一号读卡器发送给卡片21的第六计算因子r1;由于二号读卡器给予授权的前提
条件为同一卡片21已成功获得一号读卡器的授权,因此,后台23根据第二计算因子列表判
断卡片21已获得二号读卡器给予授权的前提条件中的一号读卡器的授权,后台23获取的第
四计算因子r1,根据第一计算因子r2和第四计算因子r1对第二认证信息D4进行认证,认证
通过,二号读卡器对卡片21进行授权,后台23将r2记录到第二计算因子列表中。
[0162] 该卡片21继续请求获得三号读卡器的授权的方式与卡片21获得二号读卡器授权的过程类似,在此不再赘述。卡片21获得三号读卡器授权后,卡片21将三号读卡器发送给卡
片21的第一计算因子r3作为第三个第三计算因子存储,后台23的第二计算因子列表中记录
了三号读卡器发送给卡片21的第一计算因子r3。
[0163] 作为本发明实施例的一个可选实施方式,无论卡片21、后台23具体通过何种方式实现读卡器之间的联动授权,后台23,还可以用于在判断不对卡片21进行授权的情况下,清
空记录的与卡片21相关的所有计算因子。例如:按照方式一,后台23在判断不对卡片21进行
授权的情况下,后台23,用于清空与该卡片21对应的计算因子列表,即清空各个读卡器在对
该卡片21进行授权时得到的计算因子;按照方式二,在判断不对卡片21进行授权的情况下,
后台23,用于清空与该卡片对应的第二计算因子列表。在判断不对卡片21进行授权的情况
下,表明卡片21可能正在试图非法获取第一读卡器22的授权,因此,后台23清空记录的与卡
片21相关的所有计算因子,可以避免卡片21利用后台23存储的计算因子进行凑单从而非法
获得其他读卡器的授权。另外,也能节省后台23的存储空间。
[0164] 作为本发明实施例的一个可选实施方式,如图3所示,本实施例提供的授权系统还可以包括:验证装置24;卡片21,还用于在接收到第一读卡器22发送的认证指令之后,获取
本次认证的属性信息,对属性信息进行加密后存储;第一读卡器22,还用于获取卡片21的标
识信息,在向卡片21发送认证指令之后,向后台23发送至少包括卡片21的标识信息的通知;
后台23,还用于根据通知,获取并存储卡片21的本次认证的属性信息,例如,第一读卡器22
可以用于发送寻卡指令,卡片21还可以用于响应寻卡指令,向第一读卡器22发送寻卡响应,
第一读卡器22接收寻卡响应,从寻卡响应中获取卡片21的标识信息。在卡片21对属性信息
进行加密后存储之后,验证装置24用于获取卡片21存储的加密的属性信息,对加密的属性
信息进行解密,将解密得到的属性信息与后台23存储的卡片21的属性信息进行对比,如果
不匹配,标识卡片21为非法卡片21。在标识该卡片21为非法卡片之后,可以指示卡片21删除
内部存储的各个计算因子,指示后台23删除与该卡片21相关的计算因子。从而可以避免后
台23不能获知卡片21被非法读取的情况。
[0165] 在本实施例中,卡片21的本次认证的属性信息可以是第一读卡器22对卡片21进行认证的属性信息,例如,第一读卡器22对卡片21进行认证的时间、地点和次数等信息。具体
的,地点的记录方式可以为第一读卡器22的序列号,根据第一读卡器22的序列号可以与第
一读卡器22的位置进行关联,根据第一读卡器22的序列号可以确定第一读卡器22的地点;
此外,也可以在第一读卡器22内部设置具有定位功能的芯片,根据该定位芯片可以获取第
一读卡器22对卡片21进行认证的地点信息。将属性信息加密后存储在卡片21内部,可以防
止卡片21内部的属性信息被其他非法设备获取,保证属性信息的安全。
[0166] 在本实施例中,后台23获取至少包括卡片21的标识信息的通知后,将本次认证的属性信息与卡片21的标识信息关联并存储。验证装置24可以是一个独立的装置,也可以是
后台23的一部分。在卡片21对属性信息进行加密后存储之后,可以由验证装置24读取卡片
21存储的加密的属性信息,对加密的属性信息进行解密,将解密得到的属性信息与后台23
记录的卡片21的属性信息进行比对,如果比对不一致,则卡片21存在被不法设备非法读取
的风险,此时将卡片21标识为非法卡片21。通过本可选实施方式,可以防止不法设备对卡片
21进行攻击,发起非法认证指令,获取卡片21内部的数据,从而攻破卡片21。
[0167] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部
分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺
序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明
的实施例所属技术领域的技术人员所理解。
[0168] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件
或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场
可编程门阵列(FPGA)等。
[0169] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质
中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0170] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模
块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以
软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读
取存储介质中。
[0171] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0172] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何
的一个或多个实施例或示例中以合适的方式结合。
[0173] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨
的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围
由所附权利要求及其等同限定。