一种卡片洗卡发行的方法及装置与流程

文档序号:15521300发布日期:2018-09-25 19:31阅读:445来源:国知局
本发明涉及信息安全
技术领域
,特别是涉及一种卡片洗卡发行的方法及装置。
背景技术
:目前,人们使用较多的卡片包括ic(integratedcircuit,集成电路)卡、智能卡、一卡通等,这些卡片如果发生遗失会给用户带来经济损失,因此,在发行卡片的同时,需要给卡片写入密钥,以保证卡片的安全性。卡片生产厂家在卡片出厂时,会向卡片灌装通用或缺省密钥,通常称灌装有通用或缺省密钥的卡片为白卡或空卡,然后,卡片运营商通过洗卡的方式给白卡灌装或者给空卡发行新的密钥。现有的洗卡方法中,卡片运营商在接收到卡片生产厂家提供的卡片后,利用密钥发行器或授权机,对卡片进行一次性的密钥灌装,将白卡的初始通用密钥替换为新的密钥。这种一次性的洗卡方式,如果操作失误,例如灌装的密钥与卡片不匹配时,会导致灌装的密钥错误,并且在知道白卡的初始通用密钥的前提下,任何人可以通过一次性的洗卡方式对卡片密钥进行灌装,安全性极低。技术实现要素:本发明实施例的目的在于提供一种卡片洗卡发行的方法及装置,以提高卡片在洗卡发行的过程中密钥的安全性。具体技术方案如下:第一方面,本发明实施例提供了一种卡片洗卡发行的方法,所述方法包括:比较密钥母卡中存储的至少一个出厂密钥和待洗卡卡片中存储的密钥,其中,所述密钥母卡中存储有:至少一个出厂密钥及每个出厂密钥对应的第一洗卡密钥;当所述密钥母卡中存储有、与所述待洗卡卡片中存储的密钥相符的出厂密钥时,将与所述待洗卡卡片中存储的密钥相符的出厂密钥所对应的第一洗卡密钥作为第一匹配密钥,并发送所述第一匹配密钥至所述待洗卡卡片,以更新所述待洗卡卡片中存储的密钥为所述第一匹配密钥、生成第一次洗卡卡片;比较洗卡密钥卡中存储的至少一个第二洗卡密钥和所述第一次洗卡卡片中存储的第一匹配密钥,其中,所述洗卡密钥卡中存储有:至少一个第二洗卡密钥及每个第二洗卡密钥对应的第一用户关联密钥;当所述洗卡密钥卡中存储有、与所述第一匹配密钥相符的第二洗卡密钥时,将与所述第一匹配密钥相符的第二洗卡密钥所对应的第一用户关联密钥作为第二匹配密钥,并发送所述第二匹配密钥至所述第一次洗卡卡片,以更新所述第一次洗卡卡片中存储的第一匹配密钥为所述第二匹配密钥、生成第二次洗卡卡片;比较工作主卡中存储的第二用户关联密钥和所述第二次洗卡卡片中存储的第二匹配密钥,其中,所述工作主卡中存储有:第二用户关联密钥及所述第二用户关联密钥对应的待写入专属密钥;当所述第二用户关联密钥与所述第二匹配密钥相符时,将所述待写入专属密钥发送至所述第二次洗卡卡片,以更新所述第二次洗卡卡片中存储的第二匹配密钥为所述待写入专属密钥、生成待发行卡片。可选的,所述比较密钥母卡中存储的至少一个出厂密钥和待洗卡卡片中存储的密钥之后,所述方法还包括:当所述待洗卡卡片中存储的密钥与任一出厂密钥均不相符时,确定所述待洗卡卡片为非法卡片,并停止洗卡操作;所述比较洗卡密钥卡中存储的至少一个第二洗卡密钥和所述第一次洗卡卡片中存储的第一匹配密钥之后,所述方法还包括:当所述第一次洗卡卡片中存储的第一匹配密钥与任一第二洗卡密钥均不相符时,确定所述第一次洗卡卡片为非法卡片,并停止洗卡操作;所述比较工作主卡中存储的第二用户关联密钥和所述第二次洗卡卡片中存储的第二匹配密钥之后,所述方法还包括:当所述第二次洗卡卡片中存储的第二匹配密钥与任一第二用户关联密钥均不相符时,确定所述第二次洗卡卡片为非法卡片,并停止洗卡操作。可选的,所述比较洗卡密钥卡中存储的至少一个第二洗卡密钥和所述第一次洗卡卡片中存储的第一匹配密钥之前,所述方法还包括:获取第一密钥因子;根据每个出厂密钥对应的第一洗卡密钥及所述第一密钥因子,经过加密操作,得到每个第一洗卡密钥对应的第一用户关联密钥;将第一洗卡密钥作为第二洗卡密钥,并根据所有第二洗卡密钥及所有第一用户关联密钥生成洗卡密钥卡。可选的,所述比较工作主卡中存储的第二用户关联密钥和所述第二次洗卡卡片中存储的第二匹配密钥之前,所述方法还包括:获取第二密钥因子;根据所述第二密钥因子,经过加密操作,得到所有第一用户关联密钥中与指定用户相关的第二用户关联密钥及所述第二用户关联密钥对应的待写入专属密钥;根据所述第二用户关联密钥及所述待写入专属密钥,生成工作主卡。可选的,所述洗卡密钥卡的数量为n,其中,n大于或等于1;所述比较洗卡密钥卡中存储的至少一个第二洗卡密钥和所述第一次洗卡卡片中存储的第一匹配密钥,包括:针对每张洗卡密钥卡,获取至少一个第二洗卡密钥及每个第二洗卡密钥对应的第一用户关联密钥;获取所述第一次洗卡卡片中存储的第一匹配密钥及经第i张洗卡密钥卡更新所述第一次洗卡卡片后、所述第一次洗卡卡片中存储的密钥,其中,所述第i张洗卡密钥卡为n张洗卡密钥卡中的任一张;依次比较每个第二洗卡密钥和所述第一次洗卡卡片中存储的密钥;所述将与所述第一匹配密钥相符的第二洗卡密钥所对应的第一用户关联密钥作为第二匹配密钥,并发送所述第二匹配密钥至所述第一次洗卡卡片,以更新所述第一次洗卡卡片中存储的第一匹配密钥为所述第二匹配密钥、生成第二次洗卡卡片,包括:当经第i-1张洗卡密钥卡更新所述第一次洗卡卡片后、所述第一次洗卡卡片中存储的密钥与第i张洗卡密钥卡中存储的任一第二洗卡密钥相符时,将所述第i张洗卡密钥卡中、与所述第一次洗卡卡片中存储的密钥相符的第二洗卡密钥对应的第一用户关联密钥发送至所述第一次洗卡卡片,直至将所述第一次洗卡卡片中存储的密钥更新为第n张洗卡密钥卡中、与所述第一次洗卡卡片中存储的密钥相符的第二洗卡密钥对应的第一用户关联密钥、生成第二次洗卡卡片。第二方面,本发明实施例提供了一种卡片洗卡发行的装置,所述装置包括:第一比较模块,用于比较密钥母卡中存储的至少一个出厂密钥和待洗卡卡片中存储的密钥,其中,所述密钥母卡中存储有:至少一个出厂密钥及每个出厂密钥对应的第一洗卡密钥;第一次洗卡卡片生产模块,用于当所述密钥母卡中存储有、与所述待洗卡卡片中存储的密钥相符的出厂密钥时,将与所述待洗卡卡片中存储的密钥相符的出厂密钥所对应的第一洗卡密钥作为第一匹配密钥,并发送所述第一匹配密钥至所述待洗卡卡片,以更新所述待洗卡卡片中存储的密钥为所述第一匹配密钥、生成第一次洗卡卡片;第二比较模块,用于比较洗卡密钥卡中存储的至少一个第二洗卡密钥和所述第一次洗卡卡片中存储的第一匹配密钥,其中,所述洗卡密钥卡中存储有:至少一个第二洗卡密钥及每个第二洗卡密钥对应的第一用户关联密钥;第二次洗卡卡片生产模块,用于当所述洗卡密钥卡中存储有、与所述第一匹配密钥相符的第二洗卡密钥时,将与所述第一匹配密钥相符的第二洗卡密钥所对应的第一用户关联密钥作为第二匹配密钥,并发送所述第二匹配密钥至所述第一次洗卡卡片,以更新所述第一次洗卡卡片中存储的第一匹配密钥为所述第二匹配密钥、生成第二次洗卡卡片;第三比较模块,用于比较工作主卡中存储的第二用户关联密钥和所述第二次洗卡卡片中存储的第二匹配密钥,其中,所述工作主卡中存储有:第二用户关联密钥及所述第二用户关联密钥对应的待写入专属密钥;待发行卡片生产模块,用于当所述第二用户关联密钥与所述第二匹配密钥相符时,将所述待写入专属密钥发送至所述第二次洗卡卡片,以更新所述第二次洗卡卡片中存储的第二匹配密钥为所述待写入专属密钥、生成待发行卡片。可选的,所述装置还包括:非法卡片确定模块,用于当所述待洗卡卡片中存储的密钥与任一出厂密钥均不相符时,确定所述待洗卡卡片为非法卡片,并停止洗卡操作;当所述第一次洗卡卡片中存储的第一匹配密钥与任一第二洗卡密钥均不相符时,确定所述第一次洗卡卡片为非法卡片,并停止洗卡操作;当所述第二次洗卡卡片中存储的第二匹配密钥与任一第二用户关联密钥均不相符时,确定所述第二次洗卡卡片为非法卡片,并停止洗卡操作。可选的,所述装置还包括:第一获取模块,用于获取第一密钥因子;第一加密模块,用于根据每个出厂密钥对应的第一洗卡密钥及所述第一密钥因子,经过加密操作,得到每个第一洗卡密钥对应的第一用户关联密钥;洗卡密钥卡生成模块,用于将第一洗卡密钥作为第二洗卡密钥,并根据所有第二洗卡密钥及所有第一用户关联密钥生成洗卡密钥卡。可选的,所述装置还包括:第二获取模块,用于获取第二密钥因子;第二加密模块,用于根据所述第二密钥因子,经过加密操作,得到所有第一用户关联密钥中与指定用户相关的第二用户关联密钥及所述第二用户关联密钥对应的待写入专属密钥;工作主卡生成模块,用于根据所述第二用户关联密钥及所述待写入专属密钥,生成工作主卡。可选的,所述洗卡密钥卡的数量为n,其中,n大于或等于1;所述第二比较模块,具体用于:针对每张洗卡密钥卡,获取至少一个第二洗卡密钥及每个第二洗卡密钥对应的第一用户关联密钥;获取所述第一次洗卡卡片中存储的第一匹配密钥及经第i张洗卡密钥卡更新所述第一次洗卡卡片后、所述第一次洗卡卡片中存储的密钥,其中,所述第i张洗卡密钥卡为n张洗卡密钥卡中的任一张;依次比较每个第二洗卡密钥和所述第一次洗卡卡片中存储的密钥;所述第二次洗卡卡片生产模块,具体用于:当经第i-1张洗卡密钥卡更新所述第一次洗卡卡片后、所述第一次洗卡卡片中存储的密钥与第i张洗卡密钥卡中存储的任一第二洗卡密钥相符时,将所述第i张洗卡密钥卡中、与所述第一次洗卡卡片中存储的密钥相符的第二洗卡密钥对应的第一用户关联密钥发送至所述第一次洗卡卡片,直至将所述第一次洗卡卡片中存储的密钥更新为第n张洗卡密钥卡中、与所述第一次洗卡卡片中存储的密钥相符的第二洗卡密钥对应的第一用户关联密钥、生成第二次洗卡卡片。本发明实施例提供的卡片洗卡发行的方法及装置,首先,通过密钥母卡中的出厂密钥对待洗卡卡片中的出厂密钥进行密钥认证,认证成功则进行第一次洗卡操作;然后,通过洗卡密钥卡中的第二洗卡密钥对卡片中存储的密钥进行密钥认证,认证成功则进行第二次洗卡操作;最后,通过工作主卡中的第二用户关联密钥对卡片中存储的密钥进行密钥认证,认证成功则向卡片传输待写入专属密钥,完成卡片的洗卡,得到待发行卡片。不同的洗卡阶段可以由不同工位完成,只有在密钥认证成功时,才可以进行本阶段的洗卡操作,中间任一个阶段发生操作失误,后续的洗卡阶段会停止执行,从而有效的阻断了错误累积,并且每一个阶段的工位只知道本阶段的相关密钥,无法介入其他阶段的洗卡操作,有效提高了卡片密钥的安全性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例的卡片洗卡发行的方法的一种流程示意图;图2为本发明实施例的卡片洗卡发行的方法的另一种流程示意图;图3为本发明实施例的卡片洗卡发行的装置的一种结构示意图;图4为本发明实施例的卡片洗卡发行的装置的另一种结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了提高卡片密钥的安全性,本发明实施例提供了一种卡片洗卡发行的方法及装置。下面首先对本发明实施例所提供的一种卡片洗卡发行的方法进行介绍。需要说明的是,本发明实施例所提供的一种卡片洗卡发行的方法的执行主体可以为一台或多台具有洗卡功能的设备,可以通过dsp(digitalsignalprocessor,数字信号处理器)、arm(advancedreducedinstructionsetcomputermachines,精简指令集计算机微处理器)或者fpga(field-programmablegatearray,现场可编程门阵列)等芯片的逻辑处理,经输出端口对卡片进行洗卡操作。其中,实现本发明实施例所提供的一种卡片洗卡发行的方法的方式可以为设置于执行主体中的软件、硬件电路和/或逻辑电路。需要强调的是,本发明实施例所提供的一种卡片洗卡发行的方法的执行主体还可以为计算机,该计算机可以通过读卡器接口读取卡片信息。本发明实施例所适用的卡片可以包含但不仅限于:3descpu卡(tripledataencryptionalgorithmcentralprocessingunit,应用三重数据加密算法的中央处理卡片)、3despsam卡(tripledataencryptionalgorithmpurchasesecureaccessmodule,应用三重数据加密算法的销售点终端安全存取卡片)、国密cpu卡及国密psam卡。如图1所示,本发明实施例所提供的一种卡片洗卡发行的方法,可以包括如下步骤:s101,比较密钥母卡中存储的至少一个出厂密钥和待洗卡卡片中存储的密钥。其中,密钥母卡中存储有:至少一个出厂密钥及每个出厂密钥对应的第一洗卡密钥。需要说明的是,密钥母卡中内置了出厂密钥和第一洗卡密钥,通常情况下,出厂密钥是由卡片厂家于卡片出厂时设置的,第一洗卡密钥是由密钥生产厂家针对不同的出厂密钥对应设置的。待洗卡卡片,也就是由卡片厂家生产的出厂白卡,一般情况下,待洗卡卡片中存储有卡片厂家灌装的出厂密钥。在密钥生产厂家拿到卡片厂家的待洗卡卡片后,在一个操作工位,将密钥母卡和待洗卡卡片共同插在同一个洗卡设备中,由密钥母卡经过读卡接口传递出厂密钥,对待洗卡卡片进行卡片比较,也就是进行卡片认证。需要强调的是,本实施例中为了保证密钥更高的安全性,出厂密钥和第一洗卡密钥由两个不同的厂家设置,但是在实际情况下,出厂密钥和第一洗卡密钥也可以是在同一个厂家的不同操作工位设置的。也可以达到提高卡片洗卡的安全性的效果,因此,也属于本发明实施例的保护范围。密钥匹配认证可以采用现有的外部认证的方法,这里不再赘述。s102,当密钥母卡中存储有、与待洗卡卡片中存储的密钥相符的出厂密钥时,将与待洗卡卡片中存储的密钥相符的出厂密钥所对应的第一洗卡密钥作为第一匹配密钥,并发送该第一匹配密钥至待洗卡卡片,以更新待洗卡卡片中存储的密钥为第一匹配密钥、生成第一次洗卡卡片。需要说明的是,通常情况下,一张密钥母卡中存储有一个出厂密钥和其对应的一个第一洗卡密钥,也就是一张密钥母卡只能对具有相同出厂密钥的待洗卡卡片进行洗卡操作;但是,由于待洗卡卡片和密钥母卡都是批量生产的,同一批的待洗卡卡片可能设置了不同的出厂密钥,为了节省卡片的生产成本,可以生产同一批密钥母卡,该批密钥母卡中包含所有待洗卡卡片的出厂密钥、及每个出厂密钥对应的第一洗卡密钥,只要密钥母卡中存储有与待洗卡卡片中存储的出厂密钥相同的出厂密钥,则发送密钥母卡中存储的该出厂密钥对应的第一洗卡密钥至待洗卡卡片,这在本发明实施例中也是可以实现的,属于本发明实施例的保护范围。需要强调的是,在进行比对时,密钥母卡和待洗卡卡片插在同一个洗卡设备中。可以理解的是,针对密钥匹配认证的过程,假如待洗卡卡片已经存储有出厂密钥,而洗卡设备上还插装有一张密钥母卡,该密钥母卡也存储有对应的出厂密钥,就需要匹配认证这个出厂密钥。具体的,匹配认证的过程可以为:首先,向待洗卡卡片发送请求,申请一串随机数;其次,把随机数送到密钥母卡中加密;然后,调用密钥认证命令,将结果送给待洗卡卡片,则待洗卡卡片收到后,内部会用对应的出厂密钥去解密,得到的结果如果等于上述的随机数,则返回“匹配认证成功”。如果匹配认证成功,则发送密钥母卡中与出厂密钥对应的第一洗卡密钥至待洗卡卡片,更新待洗卡卡片中的密钥,此时待洗卡卡片中存储的密钥只有第一洗卡密钥,将更新后的待洗卡卡片确定为第一次洗卡卡片。得到第一次洗卡卡片的这个阶段可以称为第一次洗卡,第一次洗卡后的卡片拥有密钥生产厂家特有的第一洗卡密钥,而不是卡片厂家在卡片出厂时设置的出厂密钥。密钥替换的过程可以采用现有的密钥导出与更新的方法,这里不再赘述。s103,比较洗卡密钥卡中存储的至少一个第二洗卡密钥和第一次洗卡卡片中存储的第一匹配密钥。其中,洗卡密钥卡中存储有:至少一个第二洗卡密钥及每个第二洗卡密钥对应的第一用户关联密钥。需要说明的是,洗卡密钥卡中内置了第二洗卡密钥和第一用户关联密钥,通常情况下,第二洗卡密钥与密钥母卡中的第一洗卡密钥相同或者对应,也是密钥生产厂家特有的,而第一用户关联密钥与用户的属性或特征有关、并与第二洗卡密钥相对应。由于第二洗卡密钥与密钥母卡中的第一洗卡密钥相同或者相对应,则洗卡密钥卡可以是基于密钥母卡产生的,也可以是在产生密钥母卡时对应产生的,洗卡密钥卡中可以包含密钥母卡中所有的第一洗卡密钥,也可以不全包含密钥母卡中的第一洗卡密钥。具体的,针对基于密钥母卡产生洗卡密钥卡的实施方式,在s103之前,卡片洗卡发行的方法还可以包括:首先,获取第一密钥因子。其次,根据每个出厂密钥对应的第一洗卡密钥及第一密钥因子,经过加密操作,得到每个第一洗卡密钥对应的第一用户关联密钥。需要说明的是,在密钥操作的过程中有不同的根密钥,这些根密钥在使用时,把待使用的一些参数作为数据进行加密,得到的内容才作为卡片的密钥。其中,上述的一些参数即为第一密钥因子,第一密钥因子可以是由密钥生产厂家输入的特殊参数,这些参数一般与密钥生产厂家给用户分配的属性有关,将加密的过程称作密钥分散运算。其中,用户可以为卡片发行的运营商,则不同的运营商具有不同的属性,例如,不同的银行、不同的通信运营商、商场等等。不同的用户所对应的第一用户关联密钥是不同的。在本实施例中,第一洗卡密钥相当于根密钥,基于该根密钥,使用第一密钥因子作为数据进行加密,得到第一用户关联密钥。最后,将第一洗卡密钥作为第二洗卡密钥,并根据所有第二洗卡密钥及所有第一用户关联密钥生成洗卡密钥卡。需要说明的是,在本实施例中,洗卡密钥卡中存储的第二洗卡密钥与密钥母卡中的第一洗卡密钥完全相同,即将密钥母卡中的所有第一洗卡密钥和对应的第一用户关联密钥写入一张新卡生成洗卡密钥卡。也就是说,在密钥生产厂家拿到密钥母卡后,在一个操作工位,将密钥母卡和洗卡密钥卡共同插在同一个洗卡设备中,由密钥母卡经过读卡接口传递第一洗卡密钥及第一用户关联密钥至洗卡密钥卡。需要强调的是,如果密钥母卡中只存储有一个出厂密钥及对应的第一洗卡密钥,洗卡密钥卡中可以只存储有与第一洗卡密钥相同的第二洗卡密钥,也可以存储多个第二洗卡密钥,其中包含于第一洗卡密钥相同的密钥,这都是合理的。s104,当洗卡密钥卡中存储有、与第一匹配密钥相符的第二洗卡密钥时,将与第一匹配密钥相符的第二洗卡密钥所对应的第一用户关联密钥作为第二匹配密钥,并发送该第二匹配密钥至第一次洗卡卡片,以更新第一次洗卡卡片中存储的第一匹配密钥为第二匹配密钥、生成第二次洗卡卡片。需要说明的是,通常情况下,一张洗卡密钥卡中存储有一个第二洗卡密钥和其对应的一个第一用户关联密钥,也就是说,一张洗卡密钥卡只能对具有相同第二洗卡密钥的第一次洗卡卡片进行洗卡操作;但是,由于洗卡密钥卡也是批量生产的,而经过上述过程可以得到多张存储有不同密钥的第一次洗卡卡片,为了节省卡片的生产成本,可以生产同一批洗卡密钥卡,该批洗卡密钥卡中包含所有第一次洗卡卡片中存储的密钥、及每个密钥对应的第一用户关联密钥,只要洗卡密钥卡中存储有与第一次洗卡卡片中存储的密钥相同的第二洗卡密钥,则发送洗卡密钥卡中存储的该第二洗卡密钥对应的第一用户关联密钥至第一次洗卡卡片,这在本发明实施例中也是可以实现的,属于本发明实施例的保护范围。需要强调的是,在进行比对时,洗卡密钥卡和第一次洗卡卡片插在同一个洗卡设备中。通过密钥更新,得到第二次洗卡卡片的这个阶段可以称为第二次洗卡,第二次洗卡后的卡片拥有密钥生产厂家特有的第一用户密钥。可以理解的是,针对第二次洗卡的密钥匹配认证的过程,与上述第一次洗卡的密钥匹配认证的过程相同,这里不再一一赘述。需要强调的是,一般情况下,为了提高洗卡过程的安全性,第二次洗卡的操作和第一次洗卡的操作可以在不同的工位上,通过不同的洗卡设备完成。当然,第一次洗卡的操作和第二次洗卡的操作如果是在同一个工位上完成,也属于本发明实施例的保护范围。为了进一步提高洗卡过程的安全性,第二次洗卡的过程可以包含多个洗卡密钥卡,也就是设置不同的操作工位,通过多次的洗卡操作,使得只有相邻工位知道所要匹配的密钥,其他工位无法跳跃操作。具体的,所述洗卡密钥卡的数量为n,其中,n大于或等于1。可选的,s103可以包括:首先,针对每张洗卡密钥卡,获取至少一个第二洗卡密钥及每个第二洗卡密钥对应的第一用户关联密钥;其次,获取第一次洗卡卡片中存储的第一匹配密钥及经第i张洗卡密钥卡更新第一次洗卡卡片后、第一次洗卡卡片中存储的密钥。其中,第i张洗卡密钥卡为n张洗卡密钥卡中的任一张。需要说明的是,针对具有多张洗卡密钥卡的情况,在每一个操作工位上,获得经上一个操作工位操作后得到的第一次洗卡卡片,该第一次洗卡卡片中存储有上一个操作工位利用洗卡密钥卡对第一次洗卡卡片进行洗卡操作后更新的密钥,如果是第一个操作工位,则得到的是经第一次洗卡操作得到的存储有第一匹配密钥的第一次洗卡卡片。最后,依次比较每个第二洗卡密钥和第一次洗卡卡片中存储的密钥。需要说明的是,如果第一次洗卡卡片到了第i个操作工位,需要按照如s103所示的步骤对该第一次洗卡卡片和第i个操作工位的洗卡密钥卡进行比较,具体的比较过程与s103相同,这里不再赘述。可选的,s104可以包括:当经第i-1张洗卡密钥卡更新第一次洗卡卡片后、第一次洗卡卡片中存储的密钥与第i张洗卡密钥卡中存储的任一第二洗卡密钥相符时,将第i张洗卡密钥卡中、与第一次洗卡卡片中存储的密钥相符的第二洗卡密钥对应的第一用户关联密钥发送至第一次洗卡卡片,直至将第一次洗卡卡片中存储的密钥更新为第n张洗卡密钥卡中、与第一次洗卡卡片中存储的密钥相符的第二洗卡密钥对应的第一用户关联密钥、生成第二次洗卡卡片。需要说明的是,如果第一次洗卡卡片到了第i个操作工位,需要按照如s104所示的步骤对已经第i-1个操作工位的洗卡密钥卡对第一次洗卡卡片洗卡后得到的第一次洗卡卡片,在第i个操作工位进行洗卡操作,具体的洗卡操作与s104相同,这里不再赘述。该操作一直执行,直至第n个操作工位对第一次洗卡卡片进行洗卡,得到第二次洗卡卡片。s105,比较工作主卡中存储的第二用户关联密钥和第二次洗卡卡片中存储的第二匹配密钥。其中,工作主卡中存储有:第二用户关联密钥及第二用户关联密钥对应的待写入专属密钥。需要说明的是,工作主卡中内置了第二用户关联密钥和待写入专属密钥,通常情况下,第二用户关联密钥与洗卡密钥卡中的第一用户关联密钥相同或者对应,也是密钥生产厂家特有的,而待写入专属密钥与具体客户的属性有关、并与第二用户关联密钥相对应。由于第二用户关联密钥与洗卡密钥卡中的第一用户关联密钥相同或者相对应,而洗卡密钥卡中的第一用户关联密钥是基于密钥母卡的第一洗卡密钥得到的,则工作主卡也可以是基于密钥母卡产生的,或者是在产生密钥母卡时对应产生的。需要强调的是,由于一张工作主卡只针对一个特定客户,因此,工作主卡中只存储有一个第二用户关联密钥及其对应的待写入专属密钥。具体的,针对基于密钥母卡产生工作主卡的实施方式,在s105之前,卡片洗卡发行的方法还可以包括:首先,获取第二密钥因子。其次,根据第二密钥因子,经过加密操作,得到所有第一用户关联密钥中与指定用户相关的第二用户关联密钥及第二用户关联密钥对应的待写入专属密钥。需要说明的是,在密钥操作的过程中有不同的根密钥,这些根密钥在使用时,把待使用的一些参数作为数据进行加密,得到的内容才作为卡片的密钥。其中,上述的一些参数即为第二密钥因子,第二密钥因子可以是由用户输入的特殊参数,这些参数一般与用户给具体客户分配的属性有关,将加密的过程称作密钥分散运算。其中,用户可以是卡片发行的运营商,具体客户可以为运营商所面对的具体客户。对于不同的用户,每个用户有不同的具体客户,为了密钥的安全性,每个具体客户的密钥不同。在本实施例中,第一用户关联密钥相当于根密钥,基于该根密钥,使用第二密钥因子作为数据进行加密,得到待写入专属密钥。最后,根据第二用户关联密钥及待写入专属密钥,生成工作主卡。需要说明的是,在本实施例中,工作主卡中存储的第二用户关联密钥为密钥母卡中的第一用户关联密钥中的一个。密钥生产厂家在拿到密钥母卡后,会邀请用户到密钥生产厂家的一个操作工位,将密钥母卡和工作主卡共同插在同一个洗卡设备中,由密钥母卡经过读卡接口传递第一用户关联密钥中的任一个及对应的待写入专属密钥至工作主卡。s106,当第二用户关联密钥与第二匹配密钥相符时,将待写入专属密钥发送至第二次洗卡卡片,以更新第二次洗卡卡片中存储的第二匹配密钥为待写入专属密钥、生成待发行卡片。需要说明的是,由于一张工作主卡中只存储有一个第二用户关联密钥和其对应的一个待写入专属密钥,也就是说,一张工作主卡只能对具有相同第二用户关联密钥的第二次洗卡卡片进行洗卡操作。需要强调的是,在进行比对时,工作主卡和第二次洗卡卡片插在同一个洗卡设备中。通过密钥更新,得到待发行卡片,待发行卡片拥有用户设置的特有的待写入专属密钥。用户可以将待发行卡片发行给具体客户。可以理解的是,得到待发行卡片的阶段的密钥匹配认证的过程,与上述第一次洗卡的密钥匹配认证的过程及第二次洗卡的密钥匹配认证的过程相同,这里不再一一赘述。需要强调的是,一般情况下,为了提高洗卡过程的安全性,得到待发行卡片的操作、第二次洗卡的操作和第一次洗卡的操作可以在不同的工位上,通过不同的洗卡设备完成。当然,第一次洗卡的操作、第二次洗卡的操作和得到待发行卡片的操作如果是在同一个工位上完成,也属于本发明实施例的保护范围。应用本实施例,首先,通过密钥母卡中的出厂密钥对待洗卡卡片中的出厂密钥进行密钥认证,认证成功则进行第一次洗卡操作;然后,通过洗卡密钥卡中的第二洗卡密钥对卡片中存储的密钥进行密钥认证,认证成功则进行第二次洗卡操作;最后,通过工作主卡中的第二用户关联密钥对卡片中存储的密钥进行密钥认证,认证成功则向卡片传输待写入专属密钥,完成卡片的洗卡,得到待发行卡片。不同的洗卡阶段可以由不同工位完成,只有在密钥认证成功时,才可以进行本阶段的洗卡操作,中间任一个阶段发生操作失误,后续的洗卡阶段会停止执行,从而有效的阻断了错误累积,并且每一个阶段的工位只知道本阶段的相关密钥,无法介入其他阶段的洗卡操作,有效提高了卡片密钥的安全性。每个洗卡阶段只有该阶段的操作工位有权限对卡片进行洗卡操作,这样既维护了密钥生产厂家的权益,又维护了用户运营商的权益,任何操作工位无法私自对别的阶段的卡片进行操作,有效的提高了安全性。并且通过密钥母卡、洗卡密钥卡、工作主卡进行洗卡操作,硬件成本很低。如图2所示,基于图1所示实施例,本发明实施例所提供的一种卡片洗卡发行的方法,在s101之后,还可以包括:s201,当待洗卡卡片中存储的密钥与任一出厂密钥均不相符时,确定待洗卡卡片为非法卡片,并停止洗卡操作。在s103之后,还可以包括:s202,当第一次洗卡卡片中存储的第一匹配密钥与任一第二洗卡密钥均不相符时,确定第一次洗卡卡片为非法卡片,并停止洗卡操作。在s105之后,还可以包括:s203,当第二次洗卡卡片中存储的第二匹配密钥与任一第二用户关联密钥均不相符时,确定第二次洗卡卡片为非法卡片,并停止洗卡操作。需要说明的是,在第一次洗卡、第二次洗卡和待发行卡片的生成过程中,如果密钥不相符,说明无法对卡片进行洗卡操作,将卡片定义为非法卡片,如果此时再进行洗卡操作,说明为非法的操作,因此需要停止洗卡操作。应用本实施例,首先,通过密钥母卡中的出厂密钥对待洗卡卡片中的出厂密钥进行密钥认证,认证成功则进行第一次洗卡操作;然后,通过洗卡密钥卡中的第二洗卡密钥对卡片中存储的密钥进行密钥认证,认证成功则进行第二次洗卡操作;最后,通过工作主卡中的第二用户关联密钥对卡片中存储的密钥进行密钥认证,认证成功则向卡片传输待写入专属密钥,完成卡片的洗卡,得到待发行卡片。不同的洗卡阶段可以由不同工位完成,只有在密钥认证成功时,才可以进行本阶段的洗卡操作,中间任一个阶段发生操作失误,后续的洗卡阶段会停止执行,从而有效的阻断了错误累积,并且每一个阶段的工位只知道本阶段的相关密钥,无法介入其他阶段的洗卡操作,有效提高了卡片密钥的安全性。每个洗卡阶段只有该阶段的操作工位有权限对卡片进行洗卡操作,这样既维护了密钥生产厂家的权益,又维护了用户运营商的权益,任何操作工位无法私自对别的阶段的卡片进行操作,有效的提高了安全性。并且通过密钥母卡、洗卡密钥卡、工作主卡进行洗卡操作,硬件成本很低。并通过将比较过程中,密钥不相符的卡片确定为非法卡片,并及时停止洗卡操作,进一步提高洗卡的安全性。下面结合具体的应用实例,对本发明实施例所提供的卡片洗卡发行的方法进行介绍。本应用实例采用psam母卡、psam普通卡、cpu普通卡,这些卡片的密钥认证与密钥替换编程方法可以从卡片生产厂家得到。如表1所示为apdu(applicationprotocoldataunit,应用协议数据单元)格式的密钥认证命令;如表2所示为apdu方式1的密钥装载及更新命令;如表3所示为apdu方式2的密钥装载命令;如表4所示为apdu方式2的密钥更新替换命令。表1clainsp1p2lcdatale008200外部认证密钥序号data长度加密后的随机数无表中,cla为指令类别;ins为指令码;p1、p2为参数;lc为数据的长度;data为具体的数据;le为希望相应时回答的数据字节数的最大可能长度。表2clainsp1p2lcdatale80/84d40000data长度密钥明文或密钥密文+mac无表中,mac为密钥装载的介质访问控制地址。表3clainsp1p2lcdatale80/84d401密钥序号data长度密钥明文或密钥密文+mac无表4待洗卡卡片的出厂密钥mk0有卡片厂家提供,洗卡密钥mk1和用户关联密钥mk2由密钥生产厂家输入的第一密钥因子产生,待写入专属密钥mk3由目标用户到密钥生产厂家中输入第二密钥因子产生,不同目标用户的mk3是不同的。卡片洗卡发行可以做成如下几个版本:第一次洗卡版本:该版本只可以完成第一次的洗卡操作,将卡片厂家生产的待洗卡卡片中存储的出厂密钥mk0,替换成洗卡密钥mk1。主卡制作版本:该版本只完成洗卡密钥卡和工作主卡的制作。按照表2所示的密钥装载及更新命令及表3所示的密钥装载命令和表4所示的密钥更新替换命令,将洗卡密钥mk1装载至洗卡密钥卡,按照表2所示的密钥装载及更新命令及表3所示的密钥装载命令和表4所示的密钥更新替换命令,将用户关联密钥mk2装载至工作主卡;每次制作时,要邀请目标用户输入待写入专属密钥mk3。并将所制作的洗卡密钥卡和工作主卡派发给目标用户。客户洗卡版本:该版本只可以接受符合洗卡密钥卡中洗卡密钥mk1的、第一次洗卡的卡片。客户发行版本:该版本只接受客户第二次洗卡后的卡片,并发行最终密钥。具体的,如果待洗卡卡片已经有出厂密钥mk0,它的密钥序号是01,而设备还安装有一个密钥母卡,它也有对应的出厂密钥mk0。匹配认证的过程具体为:第一步,向待洗卡卡片发送请求,申请一串随机数rd1;第二步,把随机数rd1送到密钥母卡去加密,得到en_rd1,其长度为len1第三步,调用如表1所示的密钥认证命令:00820001len1en_rd1,送给待洗卡卡片,则待洗卡卡片收到后,内部会用其01号的密钥mk0去解密这个en_rd1,得到的结果如果等于刚送的随机数rd1,则返回“认证成功”。如果待洗卡卡片的mk0与密钥母卡的mk0不相同,那么en_rd1就无法解密得到rd1,则卡片返回“认证失败”。如果“认证成功”,则按照表2所示的密钥装载及更新命令,及表3所示的密钥装载命令和表4所示的密钥更新替换命令将密钥母卡中的洗卡密钥mk1装载至待洗卡卡片,生成第一次洗卡卡片。利用上述步骤,可以对待洗卡卡片进行第二次洗卡操作及待发行卡片的生成操作,具体过程相同或相似,这里不再赘述。在管理上,要求不同版本的卡片洗卡发行操作人员分开、专人管理。卡片洗卡发行采用电脑特征码绑定的口令登录方式。其他操作工位的人员即使拷贝其他工位的发行软件也是无法登录的。与现有技术相比,本方案中,首先,通过密钥母卡中的出厂密钥对待洗卡卡片中的出厂密钥进行密钥认证,认证成功则进行第一次洗卡操作;然后,通过洗卡密钥卡中的第二洗卡密钥对卡片中存储的密钥进行密钥认证,认证成功则进行第二次洗卡操作;最后,通过工作主卡中的第二用户关联密钥对卡片中存储的密钥进行密钥认证,认证成功则向卡片传输待写入专属密钥,完成卡片的洗卡,得到待发行卡片。不同的洗卡阶段可以由不同工位完成,只有在密钥认证成功时,才可以进行本阶段的洗卡操作,中间任一个阶段发生操作失误,后续的洗卡阶段会停止执行,从而有效的阻断了错误累积,并且每一个阶段的工位只知道本阶段的相关密钥,无法介入其他阶段的洗卡操作,有效提高了卡片密钥的安全性。每个洗卡阶段只有该阶段的操作工位有权限对卡片进行洗卡操作,这样既维护了密钥生产厂家的权益,又维护了用户运营商的权益,任何操作工位无法私自对别的阶段的卡片进行操作,有效的提高了安全性。并且通过密钥母卡、洗卡密钥卡、工作主卡进行洗卡操作,硬件成本很低。相应于上述卡片洗卡发行的方法实施例,如图3所示,本发明实施例还提供了一种卡片洗卡发行的装置,所述装置可以包括:第一比较模块310,用于比较密钥母卡中存储的至少一个出厂密钥和待洗卡卡片中存储的密钥,其中,所述密钥母卡中存储有:至少一个出厂密钥及每个出厂密钥对应的第一洗卡密钥;第一次洗卡卡片生产模块320,用于当所述密钥母卡中存储有、与所述待洗卡卡片中存储的密钥相符的出厂密钥时,将与所述待洗卡卡片中存储的密钥相符的出厂密钥所对应的第一洗卡密钥作为第一匹配密钥,并发送所述第一匹配密钥至所述待洗卡卡片,以更新所述待洗卡卡片中存储的密钥为所述第一匹配密钥、生成第一次洗卡卡片;第二比较模块330,用于比较洗卡密钥卡中存储的至少一个第二洗卡密钥和所述第一次洗卡卡片中存储的第一匹配密钥,其中,所述洗卡密钥卡中存储有:至少一个第二洗卡密钥及每个第二洗卡密钥对应的第一用户关联密钥;第二次洗卡卡片生产模块340,用于当所述洗卡密钥卡中存储有、与所述第一匹配密钥相符的第二洗卡密钥时,将与所述第一匹配密钥相符的第二洗卡密钥所对应的第一用户关联密钥作为第二匹配密钥,并发送所述第二匹配密钥至所述第一次洗卡卡片,以更新所述第一次洗卡卡片中存储的第一匹配密钥为所述第二匹配密钥、生成第二次洗卡卡片;第三比较模块350,用于比较工作主卡中存储的第二用户关联密钥和所述第二次洗卡卡片中存储的第二匹配密钥,其中,所述工作主卡中存储有:第二用户关联密钥及所述第二用户关联密钥对应的待写入专属密钥;待发行卡片生产模块360,用于当所述第二用户关联密钥与所述第二匹配密钥相符时,将所述待写入专属密钥发送至所述第二次洗卡卡片,以更新所述第二次洗卡卡片中存储的第二匹配密钥为所述待写入专属密钥、生成待发行卡片。可选的,所述装置还可以包括:第一获取模块,用于获取第一密钥因子;第一加密模块,用于根据每个出厂密钥对应的第一洗卡密钥及所述第一密钥因子,经过加密操作,得到每个第一洗卡密钥对应的第一用户关联密钥;洗卡密钥卡生成模块,用于将第一洗卡密钥作为第二洗卡密钥,并根据所有第二洗卡密钥及所有第一用户关联密钥生成洗卡密钥卡。可选的,所述装置还可以包括:第二获取模块,用于获取第二密钥因子;第二加密模块,用于根据所述第二密钥因子,经过加密操作,得到所有第一用户关联密钥中与指定用户相关的第二用户关联密钥及所述第二用户关联密钥对应的待写入专属密钥;工作主卡生成模块,用于根据所述第二用户关联密钥及所述待写入专属密钥,生成工作主卡。可选的,所述洗卡密钥卡的数量为n,其中,n大于或等于1;所述第二比较模块330,具体可以用于:针对每张洗卡密钥卡,获取至少一个第二洗卡密钥及每个第二洗卡密钥对应的第一用户关联密钥;获取所述第一次洗卡卡片中存储的第一匹配密钥及经第i张洗卡密钥卡更新所述第一次洗卡卡片后、所述第一次洗卡卡片中存储的密钥,其中,所述第i张洗卡密钥卡为n张洗卡密钥卡中的任一张;依次比较每个第二洗卡密钥和所述第一次洗卡卡片中存储的密钥;所述第二次洗卡卡片生产模块340,具体可以用于:当经第i-1张洗卡密钥卡更新所述第一次洗卡卡片后、所述第一次洗卡卡片中存储的密钥与第i张洗卡密钥卡中存储的任一第二洗卡密钥相符时,将所述第i张洗卡密钥卡中、与所述第一次洗卡卡片中存储的密钥相符的第二洗卡密钥对应的第一用户关联密钥发送至所述第一次洗卡卡片,直至将所述第一次洗卡卡片中存储的密钥更新为第n张洗卡密钥卡中、与所述第一次洗卡卡片中存储的密钥相符的第二洗卡密钥对应的第一用户关联密钥、生成第二次洗卡卡片。应用本实施例,首先,通过密钥母卡中的出厂密钥对待洗卡卡片中的出厂密钥进行密钥认证,认证成功则进行第一次洗卡操作;然后,通过洗卡密钥卡中的第二洗卡密钥对卡片中存储的密钥进行密钥认证,认证成功则进行第二次洗卡操作;最后,通过工作主卡中的第二用户关联密钥对卡片中存储的密钥进行密钥认证,认证成功则向卡片传输待写入专属密钥,完成卡片的洗卡,得到待发行卡片。不同的洗卡阶段可以由不同工位完成,只有在密钥认证成功时,才可以进行本阶段的洗卡操作,中间任一个阶段发生操作失误,后续的洗卡阶段会停止执行,从而有效的阻断了错误累积,并且每一个阶段的工位只知道本阶段的相关密钥,无法介入其他阶段的洗卡操作,有效提高了卡片密钥的安全性。每个洗卡阶段只有该阶段的操作工位有权限对卡片进行洗卡操作,这样既维护了密钥生产厂家的权益,又维护了用户运营商的权益,任何操作工位无法私自对别的阶段的卡片进行操作,有效的提高了安全性。并且通过密钥母卡、洗卡密钥卡、工作主卡进行洗卡操作,硬件成本很低。更进一步的,在包含第一比较模块310、第一次洗卡卡片生产模块320、第二比较模块330、第二次洗卡卡片生产模块340、第三比较模块350、待发行卡片生产模块360的基础上,如图4所示,本发明实施例所提供的一种卡片洗卡发行的装置还可以包括:非法卡片确定模块410,用于当所述待洗卡卡片中存储的密钥与任一出厂密钥均不相符时,确定所述待洗卡卡片为非法卡片,并停止洗卡操作;当所述第一次洗卡卡片中存储的第一匹配密钥与任一第二洗卡密钥均不相符时,确定所述第一次洗卡卡片为非法卡片,并停止洗卡操作;当所述第二次洗卡卡片中存储的第二匹配密钥与任一第二用户关联密钥均不相符时,确定所述第二次洗卡卡片为非法卡片,并停止洗卡操作。应用本实施例,首先,通过密钥母卡中的出厂密钥对待洗卡卡片中的出厂密钥进行密钥认证,认证成功则进行第一次洗卡操作;然后,通过洗卡密钥卡中的第二洗卡密钥对卡片中存储的密钥进行密钥认证,认证成功则进行第二次洗卡操作;最后,通过工作主卡中的第二用户关联密钥对卡片中存储的密钥进行密钥认证,认证成功则向卡片传输待写入专属密钥,完成卡片的洗卡,得到待发行卡片。不同的洗卡阶段可以由不同工位完成,只有在密钥认证成功时,才可以进行本阶段的洗卡操作,中间任一个阶段发生操作失误,后续的洗卡阶段会停止执行,从而有效的阻断了错误累积,并且每一个阶段的工位只知道本阶段的相关密钥,无法介入其他阶段的洗卡操作,有效提高了卡片密钥的安全性。每个洗卡阶段只有该阶段的操作工位有权限对卡片进行洗卡操作,这样既维护了密钥生产厂家的权益,又维护了用户运营商的权益,任何操作工位无法私自对别的阶段的卡片进行操作,有效的提高了安全性。并且通过密钥母卡、洗卡密钥卡、工作主卡进行洗卡操作,硬件成本很低。并通过将比较过程中,密钥不相符的卡片确定为非法卡片,并及时停止洗卡操作,进一步提高洗卡的安全性。需要说明的是,本发明实施例的卡片洗卡发行的装置为应用上述卡片洗卡发行的方法的装置,则上述卡片洗卡发行的方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。可以理解的是,本发明实施例的另一实施例中,卡片洗卡发行的装置可以同时包括:第一比较模块310、第一次洗卡卡片生产模块320、第二比较模块330、第二次洗卡卡片生产模块340、第三比较模块350、待发行卡片生产模块360、第一获取模块、第一加密模块、洗卡密钥卡生成模块、第二获取模块、第二加密模块、工作主卡生成模块和非法卡片确定模块410。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1