一种授权方法及系统转让专利
申请号 : CN201610816023.9
文献号 : CN107346383B
文献日 : 2019-12-10
发明人 : 李东声
申请人 : 天地融科技股份有限公司
摘要 :
权利要求 :
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任一项所述的授权系统,其特征在于,所述系统还包括:验证装置;
所述卡片,还用于在接收到所述第一读卡器发送的认证指令之后,获取本次认证的属性信息,对所述属性信息进行加密后存储;
所述第一读卡器,还用于获取所述卡片的标识信息;向所述卡片发送所述认证指令,向后台发送至少包括所述卡片的标识信息的通知;
所述后台,还用于根据所述通知,获取并存储所述卡片的本次认证的所述属性信息;
所述验证装置,用于在所述卡片对所述属性信息进行加密后存储之后,获取所述卡片存储的加密的所述属性信息,对所述加密的属性信息进行解密,将解密得到的所述属性信息与所述后台存储的所述卡片的所述属性信息进行对比,如果不匹配,标识所述卡片为非法卡片。
说明书 :
一种授权方法及系统
技术领域
背景技术
他读卡器之间没有关联。因此,不法分子只需要攻破一个读卡器,就能够获取该读卡器能够
实现的授权。然而,不法分子攻破每一个读卡器所需的时间都是差不多的,即现有技术中对
于更高等级授权的读卡器并没有实现更高的安全保证。
发明内容
得读卡器的授权时得到的计算因子;
括:是否需要第二读卡器对同一卡片进行授权,和/或,一组所述第二读卡器已对同一卡片
进行授权;
的前提条件相同的第三读卡器最近一次对所述卡片进行授权时得到的所述第四计算因子;
的第五计算因子。
述卡片在成功获得第四读卡器的授权时从所述第四读卡器获得的计算因子;
时每个读卡器发送给所述卡片的第六计算因子;所述后台根据所述第二计算因子列表判断
所述卡片是否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从所
述第二计算因子列表中获取与所述前提条件中的各个所述第二读卡器对应的所述第四计
算因子;
个所述第二读卡器中获取的第二计算因子。
计算因子。
卡器,其中,所述第一读卡器授权的权限列表至少记录了允许第一读卡器授权的卡片的标
识信息。
器向后台发送至少包括所述卡片的标识信息的通知;所述后台根据所述通知,获取并存储
所述卡片的本次认证的所述属性信息;
信息与所述后台存储的所述卡片的所述属性信息进行对比,如果不匹配,标识所述卡片为
非法卡片。
的授权时得到的计算因子;
需要第二读卡器对同一卡片进行授权,和/或,一组所述第二读卡器已对同一卡片进行授
权;
前提条件相同的第三读卡器最近一次对所述卡片进行授权时得到的所述第四计算因子;
的第五计算因子。
因子包括所述卡片在成功获得第四读卡器的授权时从所述第四读卡器获得的计算因子;
每个读卡器发送给所述卡片的第六计算因子;根据所述第二计算因子列表判断所述卡片是
否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从所述第二计算
因子列表中获取与所述前提条件中的各个所述第二读卡器对应的所述第四计算因子;
片是否已成功获得所述前提条件中的所有所述第二读卡器的授权,如果是,则从存储的一
个或多个所述第三计算因子中获取从所述前提条件中的各个所述第二读卡器中获取的第
二计算因子。
卡片进行授权,将判断结果发送给所述第一读卡器,其中,所述第一读卡器授权的权限列表
至少记录了允许第一读卡器授权的卡片的标识信息。
性信息与所述后台存储的所述卡片的所述属性信息进行对比,如果不匹配,标识所述卡片
为非法卡片。
读卡器,由第一读卡器发送给后台认证,后台接收卡片发送的第二认证信息后,后台根据第
一读卡器给予授权的前提条件,获取第一读卡器对应的第四计算因子,至少利用第四计算
因子对卡片发送的第二认证信息认证,如果卡片没有获取到第一读卡器给予授权的前提条
件中的读卡器的授权,则卡片没有存储有与第四计算因子对应计算因子,后台对第二认证
信息的认证不通过,从而无法对卡片进行授权,因此,对于安全级别较高的读卡器,可以设
置对应的控制权限,例如,需要一张卡片已经获得其它一个或多个读卡器的授权,非法用户
如果想攻破一个读卡器,获得该读卡器的授权,必须先获得其它一个或多个读卡器的授权,
才有由可能获取到该读卡器的授权,实现了多个读卡器给予授权的联动效果。
附图说明
领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
附图。
具体实施方式
发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施
例,都属于本发明的保护范围。
本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
发明中的具体含义。
得到计算因子。
第二读卡器对同一卡片进行授权,和/或,一组第二读卡器已对同一卡片进行授权。
台接收卡片发送的第二认证信息后,后台根据第一读卡器给予授权的前提条件,获取第一
读卡器对应的第四计算因子,利用第四计算因子对卡片发送的第二认证信息认证,如果卡
片没有获取到第一读卡器给予授权的前提条件中的读卡器的授权,则卡片中没有存储有与
第四计算因子对应的计算因子,后台对第二认证信息的认证不通过,从而无法对卡片进行
授权,因此,对于安全级别较高的读卡器,可以设置对应的控制权限,例如,需要一张卡片已
经获得其它一个或多个读卡器的授权,非法用户如果想攻破一个读卡器,获得该读卡器的
授权,必须先获得其它一个或多个读卡器的授权,才有由可能获取到该读卡器的授权,实现
了多个读卡器给予授权的联动效果。
卡片,均在本实施例的保护范围之内。第一读卡器为当前与卡片交互的读卡器,第一读卡器
的类型与卡片的类型相对应,例如:当卡片为磁条卡时,第一读卡器为磁卡读卡器;当卡片
为IC卡时,第一读卡器为IC卡读卡器,在本实施例中对第一读卡器的类型不作具体限定。
插卡即可进行通信。当卡片为接触型时,只有卡片的触点与第一读卡器的接口正确连接时,
卡片与第一读卡器才能进行通信。在本实施例中,当卡片为非接触型时,第一读卡器可以周
期性的广播寻卡指令,卡片如果位于第一读卡器的读卡范围,则卡片可以响应第一读卡器
的寻卡指令,向第一读卡器发送寻卡响应,第一读卡器在接收到寻卡响应后,可以确定当前
读取的卡片,进而向卡片发送认证指令。
卡器利用认证密钥,按照预设的校验算法对第一计算因子进行计算,得到校验值,将该校验
值作为第一认证信息携带在认证指令中发送给卡片。其中,预设的校验算法可以为MAC算
法,也可以为其它校验算法,例如,签名算法,具体本实施例不作限定。
验值和接收的认证指令中的校验值是否相同,如果相同,则第一认证信息认证通过,如果不
相同,则第一认证信息认证不通过。如果第一认证信息认证通过,则表明第一认证信息没有
被篡改且第一读卡器的身份合法,如果认证不通过,则表明第一认证信息被篡改和/或第一
读卡器的身份不合法。
信息进行认证的认证密钥)的标识信息。卡片根据该标识信息可以确定第一读卡器的认证
密钥。
算法进行计算生成的校验值。卡片利用卡片自身的认证密钥,按照预设的校验算法对第二
计算因子进行计算,得到校验值,将该校验值携带在第二认证信息中发送给第一读卡器。其
中,预设的校验算法可以为MAC算法,也可以为其它校验算法,例如,签名算法,具体本实施
例不作限定。
息进行认证,将认证结果返回给第一读卡器,然后第一读卡器至少根据认证结果判断是否
为卡片授权。后台对第二认证信息进行认证时,首先获取卡片的认证密钥和第一读卡器对
应的第四计算因子,再采用与卡片相同的校验算法,至少对第四计算因子进行计算生成校
验值,比较计算得到的校验值和接收的第二认证信息中的校验值是否相同,如果相同,则第
二认证信息认证通过,如果不相同,则第二认证信息认证不通过。如果第二认证信息认证通
过,则表明卡片中存储有与第四计算因子对应的计算因子,且第二认证信息没有被篡改且
卡片的身份合法,如果认证不通过,则表明卡片中没有存储与第四计算因子对应的计算因
子,或者第二认证信息被篡改和/或卡片的身份不合法。
式,在第二认证信息认证通过的情况下,后台获取第一读卡器授权的权限列表,根据权限列
表判断是否对卡片进行授权,将判断结果发送给第一读卡器,其中,第一读卡器授权的权限
列表至少记录了允许第一读卡器授权的卡片的标识信息。根据卡片是否在第一读卡器的授
权权限列表中判断是否为卡片授权,即判断卡片是否为第一读卡器的授权用户。在具体应
用中,第一读卡器的授权权限列表可以存储在后台,也可以存储在第一读卡器本地,如果是
存储在第一读卡器本地,则由第一读卡器进行判断,如果是存储在后台,则由后台进行判
断,最后结合对第二认证信息进行认证的认证结果判断是否为卡片授权。例如,如果授权权
限列表存储在后台,则后台对第二认证信息进行认证通过之后,进一步判断卡片是否在第
一读卡器的授权权限列表中,如果是,则向第一读卡器认证通过的认证结果,第一读卡器根
据该认证结果,确定对该卡片进行授权;如果授权权限列表存储在第一读卡器,则后台对第
二认证信息进行认证通过之后,向第一读卡器返回指示第二认证信息是否认证通过的认证
结果,如果该认证结果指示第二认证信息认证通过,则第一读卡器进一步判断卡片是否在
第一读卡器的授权权限列表中,如果是,则确定对该卡片进行授权,否则确定不对卡片进行
授权。
器的授权时该读卡器发送给卡片的计算因子(例如,可以伴随上述第一认证信息一起发
送),或者,最近一次获得某个读卡器的授权时卡片根据本地存储的计算因子进行计算得到
的,或者,也可以是卡片之前获得每个读卡器的授权时该读卡器发送给卡片的计算因子,具
体可以根据具体应用进行设置。在本实施例中,卡片通过将之前读卡器给予授权时获取的
计算因子作为计算第二认证信息的参数,从而使得后台可以根据该第二认证信息确定卡片
是否已获得某个读卡器的授权,以实现读卡器之间的联动授权。
中的认证信息进行认证通过之后,卡片可以认为已成功获得该读卡器的授权,将认证指令
中的计算因子作为第三计算因子存储;或者,第三计算因子可以是卡片最近一次成功获得
读卡器的授权时,对读卡器通过认证指令发送给卡片的计算因子进行运算得到的,即卡片
接收到读卡器发送的认证指令后,在对认证指令中的认证信息进行认证通过之后,卡片可
以认为已成功获得该读卡器的授权,则按照预定的算法对认证指令中的计算因子进行计
算,将计算结果作为第三计算因子存储;或者,第三计算因子可以是卡片最近一次成功获得
读卡器的授权时,对本地存储的第三计算因子进行运算得到的,即卡片接收到读卡器发送
的认证指令后,在对认证指令中的认证信息进行认证通过之后,卡片可以认为已成功获得
该读卡器的授权,则按照预定的算法对本地存储的第三计算因子进行计算,使用计算结果
更新存储的第三计算因子;或者,第三计算因子可以是卡片最近一次成功获得读卡器的授
权时,对本地存储的第三计算因子与读卡器通过认证指令发送给卡片的计算因子进行运算
得到的,即卡片接收到读卡器发送的认证指令后,在对认证指令中的认证信息进行认证通
过之后,卡片可以认为已成功获得该读卡器的授权,则按照预定的算法对本地存储的第三
计算因子以及认证指令中的计算因子进行计算,使用计算结果更新存储的第三计算因子,
采用这种方式,可以使得后台可以根据第二认证信息的计算参数追溯卡片获取授权的轨
迹,进而可以判断出卡片是否满足第一读卡器给予授权的前提条件。
之后,使用第一计算因子更新存储的第三计算因子;在第三计算因子为卡片最近一次成功
获得读卡器的授权时,对读卡器通过认证指令发送给卡片的计算因子进行运算得到的情况
下,卡片在将第二认证信息发送给第一读卡器之后,对第一计算因子进行运算,使用运算结
果更新存储的第三计算因子;在第三计算因子是卡片最近一次成功获得读卡器的授权时,
对本地存储的第三计算因子进行运算得到的情况下,卡片在将第二认证信息发送给第一读
卡器之后,对本地存储的第三计算因子进行运算,使用运算结果更新存储的第三计算因子;
在第三计算因子是卡片最近一次成功获得读卡器的授权时,对本地存储的第三计算因子与
读卡器通过认证指令发送给卡片的计算因子进行运算得到的情况下,卡片在将第二认证信
息发送给第一读卡器之后,对本地存储的第三计算因子和第一计算因子进行运算,使用运
算结果更新存储的第三计算因子,例如,卡片可以将存储的第三计算因子和第一计算因子
拼接后得到一个拼接值,对得到的拼接值进行自运算(例如,自加运算,自减运算等)或者
MAC运算,然后更新存储的第三计算因子,置第三计算因子=运算结果。采用这种方式存储
和更新第三计算因子时,在卡片中只需要存储一个计算因子,有效地节省了卡片的存储空
间。
前提条件相同的第三读卡器最近一次对卡片进行授权时得到的第四计算因子。
应,第四计算因子可以是读卡器对卡片进行授权时,读卡器通过认证指令发送给卡片的计
算因子,也可以是读卡器对卡片进行授权时,对读卡器通过认证指令发送给卡片的计算因
子进行运算得到的,还可以是对上一个读卡器对该卡片进行授权时得到的第四计算因子进
行运算得到的,或者,也可以是对上一个读卡器对该卡片进行授权时得到的第四计算因子
与本读卡器通过认证指令发送给卡片的计算因子进行运算得到的。
的第三计算因子可能并不是第一读卡器给予授权的前提条件中的第二读卡器对应的第四
计算因子。因此,在本实施例的一个可选实施方式中,后台在验证第二认证信息时,如果采
用第二读卡器对卡片进行授权时得到的第四计算因子认证不通过,则还可以再次采用与第
一读卡器给予授权的前提条件相同的第三读卡器最近一次对卡片进行授权时得到的第四
计算因子进行验证,以减少误判。
二认证信息进行认证。例如,如果第一读卡器给予授权的前提条件只是卡片已获得第二读
卡器的授权,则可以采用与第一读卡器给予授权的前提条件相同的第三读卡器最近一次对
卡片进行授权时得到的第四计算因子对第二认证信息进行认证;如果第一读卡器给予授权
的前提条件是卡片必须在获得第二读卡器的授权之后,紧接着第一读卡器可以授权,即卡
片在请求第二读卡器和第一读卡器的授权之间,没有再获得其它读卡器的授权,后台不能
采用与第一读卡器给予授权的前提条件相同的第三读卡器最近一次对卡片进行授权时得
到的第四计算因子对第二认证信息进行认证。
因子对应的第四计算因子,因此不能对第二认证信息进行认证,第二认证信息认证不通过;
在卡片已经成功获取第二读卡器的授权或与第一读卡器给予授权的前提条件相同的第三
读卡器的授权的情况下,后台能够获取到与卡片中存储的第三计算因子对应的第四计算因
子,此时,第四计算因子和第三计算因子相同,因此,第二认证信息认证通过。从而可以保证
卡片只有在满足第一读卡器给予授权的前提条件,才能获得第一读卡器的授权,实现了多
个读卡器之间的联动授权。
进行授权时得到的第五计算因子,在后台对第二认证信息进行认证通过之后,或者,在确定
第一读卡器可以对卡片进行授权之后,后台可以根据上述第一计算因子和/或第四计算因
子,得到并存储第五计算因子。在具体应用中,第五计算因子是根据第一计算因子、第四计
算因子、或第一计算因子与第四计算因子的组合来得到的,可以采用与第三计算因子对应
的方式确定。
时,对读卡器通过认证指令发送给卡片的计算因子进行运算得到的情况下,则后台对第一
计算因子进行运算,将运算结果存储为第五计算因子;在第三计算因子是卡片最近一次成
功获得读卡器的授权时,对本地存储的第三计算因子进行运算得到的情况下,则后台对第
四计算因子进行运算,将运算结果存储为第三计算因子;在第三计算因子是卡片最近一次
成功获得读卡器的授权时,对本地存储的第三计算因子与读卡器通过认证指令发送给卡片
的计算因子进行运算得到的情况下,后台对第四计算因子和第一计算因子进行运算,将运
算结果存储为第五计算因子,例如,后台可以采用与卡片相同的算法对第四计算因子和第
一计算因子进行运算,例如,将第四计算因子和第一计算因子拼接后得到一个拼接值,对得
到的拼接值进行自运算(例如,自加运算,自减运算等)或者MAC运算,将运算结果存储为第
五计算因子。
得任何读卡器的授权,二号读卡器给予授权的前提条件可以为同一卡片已成功获得一号读
卡器的授权,三号读卡器给予授权的前提条件可以为同一卡片已成功获得一号读卡器和二
号读卡器的授权,生成第三计算因子和第五计算因子的预定的算法用M表示。在本实施例的
一个可选实施方式中,在初始状态下,卡片中的第二计算因子的值为空(NULL),后台记录该
卡片未获得任一读卡器的授权。
进行认证,在认证通过的情况下,获取一个为空的第二计算因子,卡片至少根据第一计算因
子r1和第二计算因子生成第二认证信息D2,将第二认证信息D2发送给一号读卡器,卡片按
照预定算法对第一计算因子r1进行运算,得到第三计算因子M(r1),使用第三计算因子替换
为空的第二计算因子,卡片中的第二计算因子更新为M(r1);第一读卡器接收第二认证信息
D2,并将第一计算因子r1和第二认证信息D2发送至后台;后台根据一号读卡器给予授权的
前提条件获取一号读卡器对应的为空的第四计算因子,后台根据第一计算因子r1和获取的
第四计算因子对第二认证信息D2进行认证,认证通过,一号读卡器为卡片进行授权,后台对
第一计算因子r1进行运算,得到一号读卡器对卡片进行授权时得到的第五计算因子M(r1)。
息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))。
信息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)))。
片在成功获得第四读卡器的授权时从第四读卡器获得的计算因子。在具体应用中,卡片可
以从一个或多个第三计算因子中选择一个或多个计算因子作为第二计算因子。
每个读卡器发送给卡片的第六计算因子;后台根据第二计算因子列表判断卡片是否已成功
获得前提条件中的所有第二读卡器的授权,如果是,则从第二计算因子列表中获取与前提
条件中的各个第二读卡器对应的第四计算因子。在本实施方式中,如果第二计算因子列表
中包含第六计算因子,则表示卡片已成功获得该第六计算因子对应的读卡器的授权。
二计算因子列表进行更新,将第一计算因子记录到第二计算因子列表中。后台在判断对卡
片进行授权的情况下,才将卡片获取第一读卡器授权时的第一计算因子记录到第二计算因
子列表中,因此,通过判断第二计算因子列表中是否有第一计算因子,能够判断卡片是否已
经成功获得了第一读卡器的授权。如果第二计算因子列表中记录了第一计算因子,则表明
卡片已经成功获得第一读卡器的授权;如果第二计算因子列表中没有记录第一计算因子,
则表明卡片没有获得第一读卡器的授权。
式中,认证指令中还可以携带有标识信息,卡片根据该标识信息确定第一读卡器给予授权
的前提条件;卡片可以根据存储的第三计算因子判断卡片是否已成功获得前提条件中的所
有第二读卡器的授权,如果是,则从存储的一个或多个第三计算因子中获取从前提条件中
的各个第二读卡器获取的第二计算因子,并根据获取的第二计算因子向第一读卡器返回第
二认证信息。如果卡片判断卡片未成功获得前提条件中的所有第二读卡器的授权,则卡片
可以拒绝响应第一读卡器发送的认证指令,并删除本地存储的所有第三计算因子。通过该
实施方式,卡片只有在确定满足第一读卡器给予授权的前提条件的情况下,才对第一读卡
器的认证指令进行响应,向第一读卡器发送认证信息,以期获得第一读卡器的授权,因而,
对于安全级别较高的读卡器,可以设置对应的授权前提条件,例如,需要一张卡片已经获得
其它一个或多个读卡器的授权,非法用户如果想攻破一个读卡器,获得该读卡器的授权,必
须先获得其它一个或多个读卡器的授权,才能响应该读卡器的认证指令,进而才有可能获
取到该读卡器的授权。
应的认证密钥(即用于对第一认证信息进行认证的认证密钥)的标识信息。在本实施例中,
卡片通过该标识信息来确定第一读卡器给予授权的前提条件,从而判断卡片是否满足第一
读卡器给予授权的前提条件。卡片可以通过判断卡片中是否存储了卡片在成功获得前提条
件中的各个第二读卡器的授权时获取的第三计算因子,从而判断卡片是否已成功获得前提
条件中的所有第二读卡器的授权。如果卡片中存储了前提条件中的各个第二读卡器对应的
第三计算因子,则卡片满足第一读卡器给予授权的前提条件,获取与第二读卡器对应的第
二计算因子。
何读卡器的授权,二号读卡器给予授权的前提条件可以为同一卡片已成功获得一号读卡器
的授权,三号读卡器给予授权的前提条件可以为同一卡片已成功获得一号读卡器的授权。
在本实施例的一个可选实施方式中,在初始状态下,卡片中存储的第三计算因子的值为空
(NULL),后台记录该卡片未获得任一读卡器的授权。
进行认证,在认证通过的情况下,获取卡片中存储的第二计算因子,由于一号读卡器给予授
权的前提条件为同一卡片不需要获得任何读卡器的授权,因此卡片获取一个为空的第二计
算因子,卡片至少根据第一计算因子r1和第二计算因子生成第二认证信息D2,将第二认证
信息D2发送给一号读卡器,卡片将第一计算因子r1作为第三计算因子存储;一号读卡器接
收第二认证信息D2,并将第一计算因子r1和第二认证信息D2发送至后台;后台获取第二计
算因子列表,由于此时卡片没有获得任何读卡器的授权,因此,第二计算因子列表为空,第
六计算因子也为空;由于一号读卡器给予授权的前提条件为同一卡片不需要获得任何读卡
器的授权,因此,后台根据第二计算因子列表判断卡片已获得一号读卡器给予授权的前提
条件中的所有第二读卡器的授权,后台获取一个为空的第四计算因子,根据第一计算因子
r1和第四计算因子对第二认证信息D2进行认证,认证通过,一号读卡器为卡片进行授权,后
台将第一计算因子r1记录到第二计算因子列表中。
进行认证,在认证通过的情况下,获取卡片中存储的第二计算因子,由于二号读卡器给予授
权的前提条件为同一卡片已成功获得一号读卡器的授权,因此卡片获取的第二计算因子为
卡片获得一号读卡器授权时获得的第三计算因子r1,卡片至少根据第一计算因子r2和第三
计算因子r1生成第二认证信息D4,将第二认证信息D4发送给二号读卡器,将第一计算因子
r2作为第二个第三计算因子存储;二号读卡器接收第二认证信息D4,并将第一计算因子r2
和第二认证信息D4发送至后台;后台获取第二计算因子列表,由于此时卡片已成功获得一
号读卡器的授权,因此,第二计算因子列表包含卡片成功获得一号读卡器授权时一号读卡
器发送给卡片的第六计算因子r1;由于二号读卡器给予授权的前提条件为同一卡片已成功
获得一号读卡器的授权,因此,后台根据第二计算因子列表判断卡片已获得二号读卡器给
予授权的前提条件中的一号读卡器的授权,后台获取的第四计算因子r1,根据第一计算因
子r2和第四计算因子r1对第二认证信息D4进行认证,认证通过,二号读卡器对卡片进行授
权,后台将r2记录到第二计算因子列表中。
计算因子r3作为第三个第三计算因子存储,后台的第二计算因子列表中记录了三号读卡器
发送给卡片的第一计算因子r3。
空记录的与卡片相关的所有计算因子。例如:按照方式一,后台在判断不对卡片进行授权的
情况下,后台清空与该卡片对应的计算因子列表,即清空各个读卡器在对该卡片进行授权
时得到的计算因子;按照方式二,在判断不对卡片进行授权的情况下,后台清空与该卡片对
应的第二计算因子列表。在判断不对卡片进行授权的情况下,表明卡片可能正在试图非法
获取第一读卡器的授权,因此,后台清空记录的与卡片相关的所有计算因子,可以避免卡片
利用后台存储的计算因子进行凑单从而非法获得其他读卡器的授权。另外,也能节省后台
的存储空间。作为本发明实施例的一个可选实施方式,在卡片接收到第一读卡器发送的认
证指令之后,该方法还可以包括:卡片获取本次认证的属性信息,对属性信息进行加密后存
储;在卡片接收第一读卡器发送的认证指令之前,该方法还可以包括:第一读卡器获取卡片
的标识信息,第一读卡器向卡片发送认证指令;第一读卡器向后台发送至少包括卡片的标
识信息的通知;后台根据通知,获取并存储卡片的本次认证的属性信息,例如,第一读卡器
可以发送寻卡指令,卡片响应寻卡指令,向第一读卡器发送寻卡响应,第一读卡器接收寻卡
响应,从寻卡响应中获取卡片的标识信息。在卡片对属性信息进行加密后存储之后,该方法
还可以包括:获取卡片存储的加密的属性信息;对加密的属性信息进行解密;将解密得到的
属性信息与后台存储的卡片的属性信息进行对比,如果不匹配,标识卡片为非法卡片。在标
识该卡片为非法卡片之后,可以指示卡片删除内部存储的各个计算因子,指示后台删除与
该卡片相关的计算因子。从而可以避免后台不能获知卡片被非法读取的情况。
录方式可以为第一读卡器的序列号,根据第一读卡器的序列号可以与第一读卡器的位置进
行关联,根据第一读卡器的序列号可以确定第一读卡器的地点;此外,也可以在第一读卡器
内部设置具有定位功能的芯片,根据该定位芯片可以获取第一读卡器对卡片进行认证的地
点信息。将属性信息加密后存储在卡片内部,可以防止卡片内部的属性信息被其他非法设
备获取,保证属性信息的安全。
获取或者由能够读取卡片内部的属性信息的验证装置读取卡片存储的加密的属性信息,对
加密的属性信息进行解密,将解密得到的属性信息与后台记录的卡片的属性信息进行比
对,如果比对不一致,则卡片存在被不法设备非法读取的风险,此时将卡片标识为非法卡
片。通过本可选实施方式,可以防止不法设备对卡片进行攻击,发起非法认证指令,获取卡
片内部的数据,从而攻破卡片。
21存储的第三计算因子得到第二计算因子,其中,第三计算因子包括:卡片21成功获得读卡
器的授权时得到的计算因子;至少根据第二计算因子生成第二认证信息,将第二认证信息
发送给第一读卡器22;第一读卡器22,用于:接收第二认证信息,并将第二认证信息发送至
后台23;后台23,用于:获取第一读卡器22对应的第四计算因子,其中,第四计算因子为根据
第一读卡器22给予授权的前提条件得到的,第一读卡器22给予授权的前提条件包括:是否
需要第二读卡器对同一卡片21进行授权,和/或,一组第二读卡器已对同一卡片21进行授
权;至少根据获取的第四计算因子对第二认证信息进行认证,并至少根据认证结果判断是
否对卡片21进行授权。
信息并发送给后台,后台用于在接收第二认证信息后,根据第一读卡器给予授权的前提条
件,获取第一读卡器对应的第四计算因子,利用第四计算因子对卡片发送的第二认证信息
认证,如果卡片没有获取到第一读卡器给予授权的前提条件中的读卡器的授权,则卡片中
没有存储有与第四计算因子对应的计算因子,后台对第二认证信息的认证不通过,从而无
法对卡片进行授权,因此,对于安全级别较高的读卡器,可以设置对应的控制权限,例如,需
要一张卡片已经获得其它一个或多个读卡器的授权,非法用户如果想攻破一个读卡器,获
得该读卡器的授权,必须先获得其它一个或多个读卡器的授权,才有由可能获取到该读卡
器的授权,实现了多个读卡器给予授权的联动效果。
被第一读卡器22读取的卡片21,均在本实施例的保护范围之内。第一读卡器22为当前与卡
片21交互的读卡器,第一读卡器22的类型与卡片21的类型相对应,例如:当卡片21为磁条卡
时,第一读卡器22为磁卡读卡器;当卡片21为IC卡时,第一读卡器22为IC卡读卡器,在本实
施例中对第一读卡器22的类型不作具体限定。
通信,实现无需插卡即可进行通信。当卡片21为接触型时,只有卡片21的触点与第一读卡器
22的接口正确连接时,卡片21与第一读卡器22才能进行通信。在本实施例中,当卡片21为非
接触型时,第一读卡器22还可以用于周期性的广播寻卡指令,卡片21如果位于第一读卡器
22的读卡范围以内,则卡片21还可以用于响应第一读卡器22的寻卡指令,向第一读卡器22
发送寻卡响应,第一读卡器22还可以用于在接收到寻卡响应后,确定当前读取的卡片21,进
而向卡片21发送认证指令。
第一读卡器22用于按照以下方式生成第一认证信息:利用认证密钥,按照预设的校验算法
对第一计算因子进行计算,得到校验值,将该校验值作为第一认证信息携带在认证指令中
发送给卡片21。其中,预设的校验算法可以为MAC算法,也可以为其它校验算法,例如,签名
算法,具体本实施例不作限定。
比较计算得到的校验值和接收的认证指令中的校验值是否相同,如果相同,则第一认证信
息认证通过,如果不相同,则第一认证信息认证不通过。如果第一认证信息认证通过,则表
明第一认证信息没有被篡改且第一读卡器22的身份合法,如果认证不通过,则表明第一认
证信息被篡改和/或第一读卡器22的身份不合法。
也可以是第一读卡器22对应的认证密钥(即用于对第一认证信息进行认证的认证密钥)的
标识信息。卡片21可以用于根据该标识信息确定第一读卡器22的认证密钥。
预设的校验算法进行计算生成的校验值。卡片21可以用于通过以下方式生成第二认证信
息:利用卡片21自身的认证密钥,按照预设的校验算法对第二计算因子进行计算,得到校验
值,将该校验值携带在第二认证信息中发送给第一读卡器22。其中,预设的校验算法可以为
MAC算法,也可以为其它校验算法,例如,签名算法,具体本实施例不作限定。
至少对第二认证信息进行认证,将认证结果返回给第一读卡器22,然后第一读卡器22至少
根据认证结果判断是否为卡片21授权。后台23用于按照以下方式对第二认证信息进行认
证:首先获取卡片21的认证密钥和第一读卡器22对应的第四计算因子,再采用与卡片21相
同的校验算法,至少对第四计算因子进行计算生成校验值,比较计算得到的校验值和接收
的第二认证信息中的校验值是否相同,如果相同,则第二认证信息认证通过,如果不相同,
则第二认证信息认证不通过。如果第二认证信息认证通过,则表明卡片21中存储有与第四
计算因子对应的计算因子,且第二认证信息没有被篡改且卡片21的身份合法,如果认证不
通过,则表明卡片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进行授权。
读卡器的授权时该读卡器发送给卡片21的计算因子(例如,可以伴随上述第一认证信息一
起发送),或者,最近一次获得某个读卡器的授权时卡片21根据本地存储的计算因子进行计
算得到的,或者,也可以是卡片21之前获得每个读卡器的授权时该读卡器发送给卡片21的
计算因子,具体可以根据具体应用进行设置。在本实施例中,卡片21通过将之前读卡器给予
授权时获取的计算因子作为计算第二认证信息的参数,从而使得后台23可以根据该第二认
证信息确定卡片21是否已获得某个读卡器的授权,以实现读卡器之间的联动授权。
证指令中的认证信息进行认证通过之后,卡片21可以认为已成功获得该读卡器的授权,将
认证指令中的计算因子作为第三计算因子存储;或者,第三计算因子可以是卡片21最近一
次成功获得读卡器的授权时,对读卡器通过认证指令发送给卡片21的计算因子进行运算得
到的,即卡片21接收到读卡器发送的认证指令后,在对认证指令中的认证信息进行认证通
过之后,卡片21可以认为已成功获得该读卡器的授权,则按照预定的算法对认证指令中的
计算因子进行计算,将计算结果作为第三计算因子存储;或者,第三计算因子可以是卡片21
最近一次成功获得读卡器的授权时,对本地存储的第三计算因子进行运算得到的,即卡片
21接收到读卡器发送的认证指令后,在对认证指令中的认证信息进行认证通过之后,卡片
21可以认为已成功获得该读卡器的授权,则按照预定的算法对本地存储的第三计算因子进
行计算,使用计算结果更新存储的第三计算因子;或者,第三计算因子可以是卡片21最近一
次成功获得读卡器的授权时,对本地存储的第三计算因子与读卡器通过认证指令发送给卡
片21的计算因子进行运算得到的,即卡片21接收到读卡器发送的认证指令后,在对认证指
令中的认证信息进行认证通过之后,卡片21可以认为已成功获得该读卡器的授权,则按照
预定的算法对本地存储的第三计算因子以及认证指令中的计算因子进行计算,使用计算结
果更新存储的第三计算因子,采用这种方式,可以使得后台23可以根据第二认证信息的计
算参数追溯卡片21获取授权的轨迹,进而可以判断出卡片21是否满足第一读卡器22给予授
权的前提条件。
读卡器22之后,使用第一计算因子更新存储的第三计算因子;在第三计算因子为卡片21最
近一次成功获得读卡器的授权时,对读卡器通过认证指令发送给卡片21的计算因子进行运
算得到的情况下,卡片21在将第二认证信息发送给第一读卡器22之后,对第一计算因子进
行运算,使用运算结果更新存储的第三计算因子;在第三计算因子是卡片21最近一次成功
获得读卡器的授权时,对本地存储的第三计算因子进行运算得到的情况下,卡片21在将第
二认证信息发送给第一读卡器22之后,对本地存储的第三计算因子进行运算,使用运算结
果更新存储的第三计算因子;在第三计算因子是卡片21最近一次成功获得读卡器的授权
时,对本地存储的第三计算因子与读卡器通过认证指令发送给卡片21的计算因子进行运算
得到的情况下,卡片21在将第二认证信息发送给第一读卡器22之后,对本地存储的第三计
算因子和第一计算因子进行运算,使用运算结果更新存储的第三计算因子,例如,卡片21可
以用于将存储的第三计算因子和第一计算因子拼接后得到一个拼接值,对得到的拼接值进
行自运算(例如,自加运算,自减运算等)或者MAC运算,然后更新存储的第三计算因子,置第
三计算因子=运算结果。采用这种方式存储和更新第三计算因子时,在卡片21中只需要存
储一个计算因子,有效地节省了卡片21的存储空间。
予授权的前提条件相同的第三读卡器最近一次对卡片21进行授权时得到的第四计算因子。
对应,第四计算因子可以是读卡器对卡片21进行授权时,读卡器通过认证指令发送给卡片
21的计算因子,也可以是读卡器对卡片21进行授权时,对读卡器通过认证指令发送给卡片
21的计算因子进行运算得到的,还可以是对上一个读卡器对该卡片21进行授权时得到的第
四计算因子进行运算得到的,或者,也可以是对上一个读卡器对该卡片21进行授权时得到
的第四计算因子与本读卡器通过认证指令发送给卡片21的计算因子进行运算得到的。
中存储的第三计算因子可能并不是第一读卡器22给予授权的前提条件中的第二读卡器对
应的第四计算因子。因此,在本实施例的一个可选实施方式中,后台23在验证第二认证信息
时,如果采用第二读卡器对卡片21进行授权时得到的第四计算因子认证不通过,则还可以
再次采用与第一读卡器22给予授权的前提条件相同的第三读卡器最近一次对卡片21进行
授权时得到的第四计算因子进行验证,以减少误判。
对第二认证信息进行认证。例如,如果第一读卡器22给予授权的前提条件只是卡片21已获
得第二读卡器的授权,则可以采用与第一读卡器22给予授权的前提条件相同的第三读卡器
最近一次对卡片21进行授权时得到的第四计算因子对第二认证信息进行认证;如果第一读
卡器22给予授权的前提条件是卡片21必须在获得第二读卡器的授权之后,紧接着第一读卡
器22可以授权,即卡片21在请求第二读卡器和第一读卡器22的授权之间,没有再获得其它
读卡器的授权,后台23不能采用与第一读卡器22给予授权的前提条件相同的第三读卡器最
近一次对卡片21进行授权时得到的第四计算因子对第二认证信息进行认证。
第三计算因子对应的第四计算因子,因此不能对第二认证信息进行认证,第二认证信息认
证不通过;在卡片21已经成功获取第二读卡器的授权或与第一读卡器22给予授权的前提条
件相同的第三读卡器的授权的情况下,后台23能够获取到与卡片21中存储的第三计算因子
对应的第四计算因子,此时,第四计算因子和第三计算因子相同,因此,第二认证信息认证
通过。从而可以保证卡片21只有在满足第一读卡器22给予授权的前提条件,才能获得第一
读卡器22的授权,实现了多个读卡器之间的联动授权。
22对卡片21进行授权时得到的第五计算因子,后台23还可以用于在对第二认证信息进行认
证通过之后,或者,在确定第一读卡器22可以对卡片21进行授权之后,根据上述第一计算因
子和/或第四计算因子,得到并存储第五计算因子。在具体应用中,第五计算因子是根据第
一计算因子、第四计算因子、或第一计算因子与第四计算因子的组合来得到的,可以采用与
第三计算因子对应的方式确定。
权时,对读卡器通过认证指令发送给卡片21的计算因子进行运算得到的情况下,则后台23
对第一计算因子进行运算,将运算结果存储为第五计算因子;在第三计算因子是卡片21最
近一次成功获得读卡器的授权时,对本地存储的第三计算因子进行运算得到的情况下,则
后台23对第四计算因子进行运算,将运算结果存储为第三计算因子;在第三计算因子是卡
片21最近一次成功获得读卡器的授权时,对本地存储的第三计算因子与读卡器通过认证指
令发送给卡片21的计算因子进行运算得到的情况下,后台23对第四计算因子和第一计算因
子进行运算,将运算结果存储为第五计算因子,例如,后台23可以采用与卡片21相同的算法
对第四计算因子和第一计算因子进行运算,例如,将第四计算因子和第一计算因子拼接后
得到一个拼接值,对得到的拼接值进行自运算(例如,自加运算,自减运算等)或者MAC运算,
将运算结果存储为第五计算因子。
任何读卡器的授权,二号读卡器给予授权的前提条件可以为同一卡片21已成功获得一号读
卡器的授权,三号读卡器给予授权的前提条件可以为同一卡片21已成功获得一号读卡器和
二号读卡器的授权,生成第三计算因子和第五计算因子的预定的算法用M表示。在本实施例
的一个可选实施方式中,在初始状态下,卡片21中的第二计算因子的值为空(NULL),后台23
记录该卡片21未获得任一读卡器的授权。
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)。
信息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))。
证信息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)))。
算因子包括卡片21在成功获得第四读卡器的授权时从第四读卡器获得的计算因子。在具体
应用中,卡片21可以从一个或多个第三计算因子中选择一个或多个计算因子作为第二计算
因子。
时每个读卡器发送给卡片21的第六计算因子;根据第二计算因子列表判断卡片21是否已成
功获得前提条件中的所有第二读卡器的授权,如果是,则从第二计算因子列表中获取与前
提条件中的各个第二读卡器对应的第四计算因子。在本实施方式中,如果第二计算因子列
表中包含第六计算因子,则表示卡片21已成功获得该第六计算因子对应的读卡器的授权。
权的情况下,对第二计算因子列表进行更新,将第一计算因子记录到第二计算因子列表中。
后台23在判断对卡片21进行授权的情况下,才将卡片21获取第一读卡器22授权时的第一计
算因子记录到第二计算因子列表中,因此,后台23通过判断第二计算因子列表中是否有第
一计算因子,能够判断卡片21是否已经成功获得了第一读卡器22的授权。如果第二计算因
子列表中记录了第一计算因子,则表明卡片21已经成功获得第一读卡器22的授权;如果第
二计算因子列表中没有记录第一计算因子,则表明卡片21没有获得第一读卡器22的授权。
条件确定。在该实施方式中,认证指令中还可以携带有标识信息,卡片21根据该标识信息确
定第一读卡器22给予授权的前提条件;卡片21可以根据存储的第三计算因子判断卡片21是
否已成功获得前提条件中的所有第二读卡器的授权,如果是,则从存储的一个或多个第三
计算因子中获取从前提条件中的各个第二读卡器获取的第二计算因子,并根据获取的第二
计算因子向第一读卡器22返回第二认证信息。如果卡片21判断卡片21未成功获得前提条件
中的所有第二读卡器的授权,则卡片21可以拒绝响应第一读卡器22发送的认证指令,并删
除本地存储的所有第三计算因子。通过该实施方式,卡片21只有在确定满足第一读卡器22
给予授权的前提条件的情况下,才对第一读卡器22的认证指令进行响应,向第一读卡器22
发送认证信息,以期获得第一读卡器22的授权,因而,对于安全级别较高的读卡器,可以设
置对应的授权前提条件,例如,需要一张卡片21已经获得其它一个或多个读卡器的授权,非
法用户如果想攻破一个读卡器,获得该读卡器的授权,必须先获得其它一个或多个读卡器
的授权,才能响应该读卡器的认证指令,进而才有可能获取到该读卡器的授权。
卡器22对应的认证密钥(即用于对第一认证信息进行认证的认证密钥)的标识信息。在本实
施例中,卡片21通过该标识信息来确定第一读卡器22给予授权的前提条件,从而判断卡片
21是否满足第一读卡器22给予授权的前提条件。卡片21可以通过判断卡片21中是否存储了
卡片21在成功获得前提条件中的各个第二读卡器的授权时获取的第三计算因子,从而判断
卡片21是否已成功获得前提条件中的所有第二读卡器的授权。如果卡片21中存储了前提条
件中的各个第二读卡器对应的第三计算因子,则卡片21满足第一读卡器22给予授权的前提
条件,获取与第二读卡器对应的第二计算因子。
任何读卡器的授权,二号读卡器给予授权的前提条件可以为同一卡片21已成功获得一号读
卡器的授权,三号读卡器给予授权的前提条件可以为同一卡片21已成功获得一号读卡器的
授权。在本实施例的一个可选实施方式中,在初始状态下,卡片21中存储的第三计算因子的
值为空(NULL),后台23记录该卡片21未获得任一读卡器的授权。
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记录到第二计算因子列
表中。
信息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记录到第二计算因子列表中。
片21的第一计算因子r3作为第三个第三计算因子存储,后台23的第二计算因子列表中记录
了三号读卡器发送给卡片21的第一计算因子r3。
空记录的与卡片21相关的所有计算因子。例如:按照方式一,后台23在判断不对卡片21进行
授权的情况下,后台23,用于清空与该卡片21对应的计算因子列表,即清空各个读卡器在对
该卡片21进行授权时得到的计算因子;按照方式二,在判断不对卡片21进行授权的情况下,
后台23,用于清空与该卡片对应的第二计算因子列表。在判断不对卡片21进行授权的情况
下,表明卡片21可能正在试图非法获取第一读卡器22的授权,因此,后台23清空记录的与卡
片21相关的所有计算因子,可以避免卡片21利用后台23存储的计算因子进行凑单从而非法
获得其他读卡器的授权。另外,也能节省后台23的存储空间。
本次认证的属性信息,对属性信息进行加密后存储;第一读卡器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被非法读取的情况。
的,地点的记录方式可以为第一读卡器22的序列号,根据第一读卡器22的序列号可以与第
一读卡器22的位置进行关联,根据第一读卡器22的序列号可以确定第一读卡器22的地点;
此外,也可以在第一读卡器22内部设置具有定位功能的芯片,根据该定位芯片可以获取第
一读卡器22对卡片21进行认证的地点信息。将属性信息加密后存储在卡片21内部,可以防
止卡片21内部的属性信息被其他非法设备获取,保证属性信息的安全。
后台23的一部分。在卡片21对属性信息进行加密后存储之后,可以由验证装置24读取卡片
21存储的加密的属性信息,对加密的属性信息进行解密,将解密得到的属性信息与后台23
记录的卡片21的属性信息进行比对,如果比对不一致,则卡片21存在被不法设备非法读取
的风险,此时将卡片21标识为非法卡片21。通过本可选实施方式,可以防止不法设备对卡片
21进行攻击,发起非法认证指令,获取卡片21内部的数据,从而攻破卡片21。
分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺
序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明
的实施例所属技术领域的技术人员所理解。
或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场
可编程门阵列(FPGA)等。
中,该程序在执行时,包括方法实施例的步骤之一或其组合。
块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以
软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读
取存储介质中。
一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何
的一个或多个实施例或示例中以合适的方式结合。
的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围
由所附权利要求及其等同限定。