一种银行卡密钥集中管理的动态实现方法及装置与流程

文档序号:12470290阅读:1651来源:国知局
一种银行卡密钥集中管理的动态实现方法及装置与流程

本发明涉及银行信息安全技术领域,特别涉及一种基于联机方式的银行卡密钥集中管理的动态实现方法及装置。



背景技术:

银行卡密码是银行系统验证客户身份真实性的重要方式。客户输入的明文银行卡密码,银行系统一般采用硬加密的方式产生PINOFFSET密文进行存储,以保证客户密码安全而不被泄露。

银行多个系统间如果涉及客户PIN传输,都需要提前交换约定ZPK。当客户输入并设置银行卡明文PIN后,由上游前端系统生成ZPK加密的PINBLOCK传输给下游后台系统,银行后台系统会将接收到的ZPK加密的PINBLOCK密文转换生成为PVK加密的PINOFFSET密文数据并保存在数据库中。当客户交易输入密码时,银行后台系统会将接收到的ZPK加密的PINBLOCK密文、PVK以及数据库中的PINOFFSET密文都上送加密机进行硬加密的验证,如果一致则验密成功。在此过程中,客户密码验证都是通过加密机硬件逻辑实现,密码明文不会出现在加密机硬件之外,从而确保了客户密码的安全性。

在银行卡密钥集中管理的过程中,因为存量的银行卡都是按照之前的分散密钥生成的PINOFFSET,直接更换密钥会导致存量银行卡无法进行验密;故为了所有的银行卡在密钥集中后能正常验密,这就需要开发一个专有的工具,调用加密机将PINOFFSET按照之前的分散密钥反算出PINBLOCK,然后再按照新的集中密钥生成新的PINOFFSET。由于存量卡数量巨大,密钥的更新无法在短时间内完成,会使系统切换窗口增加,加大系统投产风险。



技术实现要素:

本发明实施例的主要目的在于构建一种基于联机方式的银行卡密钥集中管理的动态实现方法及装置,摒弃使用一次性的更换所有存量银行卡的密钥方式,采取联机方式代替批量工具转换方式,在客户进行银行卡联机交易时才对卡片密钥进行更换。

为实现上述目的,本发明提供了一种银行卡密钥集中管理的动态实现方法,包括:

使用银行卡交易时获取银行卡号;

根据所述银行卡号获取当前卡对应的加密密钥标识位,利用所述加密密钥标识位确定加密密钥类型;

如果所述加密密钥类型为分散密钥加密,则利用所述银行卡号对应的PINBLOCK及分散密钥进行验密;

验密成功后,获得新密钥,根据所述新密钥和所述银行卡号对应的PINBLOCK生成新的PINOFFSET;并利用所述新的PINOFFSET更新当前卡的PINOFFSET,同时修改当前卡的加密密钥标识位为集中密钥类型,对当前卡的分散密钥更换为集中密钥。

可选的,在本发明一实施例中,还包括:

如果所述加密密钥类型为集中密钥加密,则将所述银行卡号对应的集中密钥进行验密;

验密成功后,执行银行卡交易。

可选的,在本发明一实施例中,所述银行卡号在输入交易密码进行银行卡交易时获得。

可选的,在本发明一实施例中,还包括:

存储所述银行卡的分散密钥和集中密钥。

为实现上述目的,本发明还提供了一种银行卡密钥集中管理的动态实现装置,包括:

银行卡号获取单元,用于使用银行卡交易时获取银行卡号;

加密密钥类型确定单元,用于根据所述银行卡号获取当前卡对应的加密密钥标识位,利用所述加密密钥标识位确定加密密钥类型;

第一验密单元,用于如果所述加密密钥类型为分散密钥加密,则利用所述银行卡号对应的PINBLOCK及分散密钥进行验密;

密钥更换单元,用于验密成功后,获得新密钥,根据所述新密钥和所述银行卡号对应的PINBLOCK生成新的PINOFFSET;并利用所述新的PINOFFSET更新当前卡的PINOFFSET,同时修改当前卡的加密密钥标识位为集中密钥类型,对当前卡的分散密钥更换为集中密钥。

可选的,在本发明一实施例中,还包括:

第二验密单元,用于如果所述加密密钥类型为集中密钥加密,则将所述银行卡号对应的集中密钥进行验密;

交易单元,用于验密成功后,执行银行卡交易。

可选的,在本发明一实施例中,所述银行卡号获取单元在输入交易密码进行银行卡交易时获得银行卡号。

可选的,在本发明一实施例中,还包括:

存储单元,用于存储所述银行卡的分散密钥和集中密钥。

上述技术方案具有如下有益效果:

本技术方案能减少开发成本,在简单的密钥数据迁移和对当前的密码验证和生产模块上进行优化即可完成密钥集中的工作,无须重新开发新的工具操作数据和加密机。

同时本技术方案缩短了密钥集中的切换时间窗口,将统一切换密钥分散到系统平时的联机交易中,保证了切换系统的平稳过渡,也减少了系统故障风险。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种银行卡密钥集中管理的动态实现装置框图;

图2为本发明实施例提供的一种银行卡密钥集中管理的动态实现方法流程图;

图3为本实施例的工作流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种扩展防火墙的应用层深度检测方法、装置及电子设备。

在本文中,需要理解的是,所涉及的术语中:

1、PIN:Personal Identification Number,即客户个人密码。

2、ZPK:一种工作密钥,用于加密两个通讯系统间需要传输的客户明文PIN。

3、PVK:PIN Verification Key,即PIN验证密钥,用于产生PINOFFSET及校验PIN。

4、PINBLOCK:PINBLOCK目前主要使用标准ANSI X9.8Format(带主账号信息)格式,即客户明文PIN按位异或主账号得到的数据块。银行系统对于客户输入的明文PIN在交互传输的过程中一般采用密钥ZPK加密后的PINBLOCK密码块。

5、PINOFFSET:是客户输入的银行账号明文PIN在银行系统的实际存储形式。银行系统对于接收到的ZPK加密的PINBLOCK,会转换为PVK加密的PIN密文,即PINOFFSET,并将其存储在银行系统数据库中。

此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

发明概述

因为技术上的限制,之前银行广泛采取的后台系统都是分散的子系统,在密钥管理上经常会出现全国多把密钥甚至在一个省内多把密钥的情况,为了加强安全性,方便管理、维护,各银行在进行后台核心系统的大集中,其中就包括对密钥的集中管理;密钥的集中过程需要对银行现有的分散管理的多个密钥进行统一替换成一个集中密钥。作为银行系统中非常重要的一部分,银行卡验密处理和密钥本身的更改都涉及到银行系统海量存量银行卡数据的更新,工作量和风险都很大。

目前现有技术主要有以下几个问题:

1、成本问题;一次性更新所有的存量卡加密方式需要专有批量转换工具,调用加密机对加密密钥进行更换,这个工具本身需要开发成本。

2、效率问题;对银行海量存量银行卡进行一次性的密钥更新需要大量时间,这会增大密钥切换窗口时间。

3、风险问题;在密钥切换过程中,一旦切换失败可能会导致旧密钥加密的PIN OFFSET丢失,这将导致客户之后无法验密,严重影响客户体验;同时密钥切换窗口时间的增加也会带来系统风险。

针对以上问题,本案针对银行卡密钥的集中管理提出了一种动态实现的方法,用联机方式代替批量转换方式,在生产环境中逐步修改存量银行卡的加密密钥和加密算法,将密钥集中管理的系统压力分散到一个长期的过程中,以达到稳定、安全、循序渐进地实现对现有分散式密钥的集中管理。

工作原理

本案实现了银行后台系统对多个密钥和多种加密方式的兼容,在客户输入银行卡密码进行交易时,银行后台系统将根据当前银行卡对应的旧的加密方法和旧的分散密钥进行验密,一旦验密通过,则根据联机上送的PINBLOCK执行转加密操作,并动态更新银行卡为大集中的新密钥标识,从而实现对存量银行卡的密钥集中管理。在此过程中,客户不会感受到银行后台密钥集中管理所带来的影响。

在客户联机交易的过程中,存量的银行卡逐步从分散的密钥管理更新为统一的大集中密钥,平滑地实现了密钥的集合上收管理。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

示例性装置

下面结合本案的工作原理,参考图1分别对本发明示例性实施方式的装置进行介绍。

参见图1,为本发明实施例提供的一种银行卡密钥集中管理的动态实现装置框图。包括:

银行卡号获取单元101,用于使用银行卡交易时获取银行卡号;

在本实施例中,所述银行卡号获取单元在输入交易密码进行银行卡交易时获得银行卡号。

加密密钥类型确定单元102,用于根据所述银行卡号获取当前卡对应的加密密钥标识位,利用所述加密密钥标识位确定加密密钥类型;

第一验密单元103,用于如果所述加密密钥类型为分散密钥加密,则利用所述银行卡号对应的PINBLOCK及分散密钥进行验密;

密钥更换单元104,用于验密成功后,获得新密钥,根据所述新密钥和所述银行卡号对应的PINBLOCK生成新的PINOFFSET;并利用所述新的PINOFFSET更新当前卡的PINOFFSET,同时修改当前卡的加密密钥标识位为集中密钥类型,对当前卡的分散密钥更换为集中密钥。

在图1的基础上,本装置还包括:

第二验密单元,用于如果所述加密密钥类型为集中密钥加密,则将所述银行卡号对应的集中密钥进行验密;

交易单元,用于验密成功后,执行银行卡交易。

在本技术方案中,第一验密模块和第二验密模块共同构成验密模块,该验密模块兼容多种密钥验密,可以根据卡号查询判定加密密钥类型,根据加密密钥类型选择相应的加密密钥进行验密,密钥更换单元可以使用联机上送的PINBLOCK和集中密钥更新PINOFFSET;客户在输入密码时调用验密单元,如果验密通过且加密密钥为分散密钥,则调用密钥更换单元将当前卡的加密密钥从旧的分散密钥更换为集中密钥。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一般计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

本领域技术人员还可以了解到本发明实施例列出的各种功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

此外,尽管在上文详细描述中提及了装置的若干单元,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。同样,上文描述的一个单元的特征和功能也可以进一步划分为由多个单元来具体化。

示例性方法

在介绍了本发明示例性实施方式的设备之后,接下来,参考图2对本发明示例性实施方式的方法进行介绍。

如图2所示,为本发明实施例提供的一种银行卡密钥集中管理的动态实现方法流程图。包括:

步骤201):使用银行卡交易时获取银行卡号;

在本实施例中,所述银行卡号在输入交易密码进行银行卡交易时获得。

步骤202):根据所述银行卡号获取当前卡对应的加密密钥标识位,利用所述加密密钥标识位确定加密密钥类型;

步骤203):如果所述加密密钥类型为分散密钥加密,则利用所述银行卡号对应的PINBLOCK及分散密钥进行验密;

步骤204):验密成功后,获得新密钥,根据所述新密钥和所述银行卡号对应的PINBLOCK生成新的PINOFFSET;并利用所述新的PINOFFSET更新当前卡的PINOFFSET,同时修改当前卡的加密密钥标识位为集中密钥类型,对当前卡的分散密钥更换为集中密钥。

在本技术方案中,存储所述银行卡的分散密钥和集中密钥。

在图2的基础上,本方法还包括:

如果所述加密密钥类型为集中密钥加密,则将所述银行卡号对应的集中密钥进行验密;

验密成功后,执行银行卡交易。

由上述描述可知,本技术方案的验密技术同时兼容多种验密体系,能按照对应的加密方式和密钥调用加密机对上送的PINBLOCK进行准确的验密,同时在对分散密钥生成的密码在联机方式验证密码正确后可以按照集中密钥重新生成PIN OFFSET。

本发明实施例还提供一种计算机可读程序,其中当在电子设备中执行所述程序时,所述程序使得计算机在所述电子设备中执行如图2所述的银行卡密钥集中管理的动态实现方法。

本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在电子设备中执行如图2所述的银行卡密钥集中管理的动态实现方法。

应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

实施例

为了能够更加直观的描述本发明的特点和工作原理,下文将结合一个实际运用场景来描述。

如图3所示,为本实施例的工作流程图。在实际中,对于一张银行卡的客户密码,银行后台系统主要存储的是PIN OFFSET密文;同时银行后台系统也存储了ZPK、多个分散的子系统PVK、大集中PVK等系统工作密钥。在密钥集中的过程中,整合后的银行后台系统在存储每张银行卡的PINOFFSET的基础上,同时为每张银行卡设置标识位,标记当前银行卡的加密密钥类型。

对于密钥集中管理后的银行后台系统,当客户首次使用银行卡交易并输入密码时,银行前端上游系统会将ZPK加密后的PINBLOCK上送到银行后台系统;银行后台系统根据获得的卡号查询数据库,获得当前卡对应的加密密钥类型;因为客户是首次在密钥集中整合后使用银行卡,当前的加密方式仍然是分散密钥系统的密钥加密,故返回的密钥类型还是初始值即分散密钥加密;此时后台再根据卡号判断当前卡之前是哪个子系统的密钥加密,并从数据库中取出对应的密钥;之后系统将上传的PINBLOCK和取出的对应密钥送加密机,加密机返回验密结果。由此系统实现了对多种密钥验密方式的兼容。

当银行卡联机验密结果返回后,如果卡片验密结果为成功,且卡片密钥类型为分散密钥,银行后台系统会对当前卡的密码进行转加密操作,根据上送的PINBLOCK和新的大集中密钥,送加密机处理生成新的PINOFFSET,此功能可以在现有密钥生成硬件上利用软件复用技术简单修改即可实现;然后银行后台系统会将新的PINOFFSET覆盖数据库内当前卡记录的原PIN OFFSET,同时修改卡的加密密钥标识位为大集中密钥类型。最后执行交易。

如果客户不是首次使用银行卡交易,则在输入密码时,银行前端上游系统会将ZPK加密后的PINBLOCK上送到银行后台系统;银行后台系统根据获得的卡号查询数据库,获得当前卡对应的加密密钥类型;因为客户不是首次在密钥集中整合后使用银行卡,当前的加密方式根据标识位确定为集中密钥系统的密钥加密。从数据库中取出对应的集中密钥,之后输入至加密机,加密机返回验密结果。

当银行卡联机验密结果返回后,如果卡片验密结果为成功,则直接执行交易。

经过以上操作,当前银行卡的加密密钥完成了从旧密钥系统的分散密钥到新密钥系统的集中密钥动态迁移;当客户再次使用这张银行卡并进行验密时,系统识别当前卡已是集中密钥加密,则按照集中后的密钥体系使用集中密钥验密,完全脱离了分散密钥的使用。

随着新集中密钥系统的运行,存量银行卡中使用分散密钥加密的数据将逐渐减少,银行系统的密钥集中管理将自动平滑的实现。

本技术方案不需要批量工具,减少了开发成本;同时化整为零,避免了切换窗口时间过长的问题;客户在交易时上送了PINBLOCK,无须增加专有的加密机指令支持反算PINBLOCK,密钥的切换也更安全。

以上具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1