一种银行卡交易前置设备的密钥同步方法及系统的制作方法

文档序号:7962261阅读:309来源:国知局
专利名称:一种银行卡交易前置设备的密钥同步方法及系统的制作方法
技术领域
本发明关于计算机网络通信中的密钥同步技术领域,具体地讲是一种银行卡交易前置设备的密钥同步方法及系统。
背景技术
在现有技术中,银行等商业机构之间的银行卡交易,一般会通过银联系统进行通讯。银行一般在银行主机与银联服务器之间部署有前置系统,作为银行主机与银联服务器的转接系统,实现报文转换、加解密等功能。一个大型银行与银联的交易量,可能达到每秒钟几百甚至上千笔,因此,前置系统承担着巨大的交易压力,往往通过采用多点接入的部署策略来实现多路并发、负载均衡和在线互备,从而大幅提升应用系统的高可用性以及联机数据处理的吞吐能力。这时,系统中对同步的实时性和安全性要求较高的数据同步策略就成为一大问题。一般情况下,为了保证联机数据处理过程的安全性和数据整体的不可抵赖性,银联系统和银行系统中的联机数据都采用特定的加密算法(如3DES算法)进行加密处理。同时,加密所使用的密钥会不定期进行动态更新。这样,就需要在密钥更新后对采用多点部署的前置系统内部各节点存储的密钥数据进行同步,在联机数据并发量很低的情况下,系统内部节点间的同步可以采用基于数据库的同步技术,例如STRINGS或DBLINK等,但对于联机数据平均并发量非常高且联机数据送达的频率没有特定规律的系统中,这种基于数据库的同步技术存在同步不及时或同步失败等安全隐患和漏洞,如果同步发生在联机数据的高峰期,一旦没有及时同步或同步失败,则会引发大量数据处理失败或联机数据大量堆积等严重问题。

发明内容
本发明实施例提供了一种银行卡交易前置设备的密钥同步方法及系统。以解决银行卡交易前置设备的密钥同步问题。本发明的目的之一是,提供一种银行卡交易前置设备的密钥同步更新方法,该方法包括接收密钥源服务器发来的包含新密钥的密钥重置交易请求信息;对密钥重置交易请求信息进行完整性校验和格式转换处理;将格式转换处理后的密钥重置交易请求信息发送到银行主机中;接收银行主机发来的包含新密钥版本号的密钥重置应答交易信息;判断密钥重置应答交易信息中的新密钥版本号是否新于当前版密钥的版本号,如果是则生成密钥同步更新指令;将生成的密钥同步更新指令发送给其他银行卡交易前置设备;根据密钥同步更新指令,向银行主机发送包含新密钥版本号的密钥下载交易请求信息;接收银行主机发来的包含新密钥的密钥下载应答交易信息;用密钥下载应答交易信息中的新密钥更新当前版密钥,并用更新前的当前版密钥更新前一版密钥;接收其他银行卡交易前置设备反馈的密钥同步更新成功信息,向密钥源服务器反馈密钥重置交易成功应答信息;启用新密钥对联机交易数据进行加密或解密处理。
本发明的目的之一是,提供一种银行卡交易前置设备的密钥同步更新系统,该系统包括密钥源服务器、银行主机和多个银行卡交易前置设备;密钥源服务器通过互联网分别与多个银行卡交易前置设备相连接,银行主机通过局域网分别与多个银行卡交易前置设备相连接;一个银行卡交易前置设备包括密钥重置请求接收装置,用于接收密钥源服务器发来的包含新密钥的密钥重置交易请求信息;密钥重置请求处理装置,用于对密钥重置交易请求信息进行完整性校验和格式转换处理;密钥重置请求发送装置,用于将格式转换处理后的密钥重置交易请求信息发送到银行主机中;密钥重置应答接收装置,用于接收银行主机发来的包含新密钥版本号的密钥重置应答交易信息;同步更新指令生成装置,用于判断密钥重置应答交易信息中的新密钥版本号是否新于当前版密钥的版本号,如果是则生成密钥同步更新指令;同步更新指令发送装置,将生成的密钥同步更新指令发送给其他银行卡交易前置设备;密钥下载请求发送装置,用于根据密钥同步更新指令,向银行主机发送包含新密钥版本号的密钥下载交易请求信息;密钥下载应答接收装置,用于接收银行主机发来的包含新密钥的密钥下载应答交易信息;密钥本地更新装置,用密钥下载应答交易信息中的新密钥更新所述的当前版密钥,并用更新前的当前版密钥更新前一版密钥;同步更新应答接收装置,用于接收其他银行卡交易前置设备反馈的密钥同步更新成功信息;密钥重置应答发送装置,用于向密钥源服务器反馈密钥重置交易成功应答信息;加/解密处理装置,启用新密钥对联机交易数据进行加密或解密处理。本发明的有益效果在于对集中式部署的开放平台应用提供了安全可靠的应用层密钥存储与同步解决方案,为该类应用系统实施多点接入解决了核心问题、扫除了关键障碍。其具有如下优点(一)在密钥重置过程中,一般联机交易仍可正常进行,不受影响,保证了系统的稳定运行;(二)对于应用多点接入部署策略的前置系统,可以有效保证在密钥重置过程中,密钥重置的可靠性。(三)通过采用主机集中存储密钥和针对前置系统密钥下载多种触发机制,保证了密钥更新的完整性,切实保证前置系统的每一节点及时获取新密钥,保证系统的正常运行和交易的成功率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例银行卡交易前置设备的密钥同步更新方法流程图;图2为本发明实施例银行卡交易前置设备的密钥同步更新系统的连接关系示意图;图3、4为本发明实施例银行卡交易前置设备的密钥同步更新系统的结构框图;图5为本发明实施例密钥存储装置示意图;图6为本发明实施例的密钥使用区和密钥存储区的密钥之间切换的工作流程图;图7为本发明实施例密钥重置交易工作流程图;图8为本发明实施例密钥下载工作流程图;图9为本发明实施例前置机从主机下载新密钥后的密钥处理工作流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本实施例的银行卡交易前置设备的密钥同步更新方法包括接收密钥源服务器发来的包含新密钥的密钥重置交易请求信息(步骤S101);对密钥重置交易请求信息进行完整性校验和格式转换处理(步骤;将格式转换处理后的密钥重置交易请求信息发送到银行主机中(步骤S10;3);接收银行主机发来的包含新密钥版本号的密钥重置应答交易信息(步骤S104);判断密钥重置应答交易信息中的新密钥版本号是否新于当前版密钥的版本号,如果是则生成密钥同步更新指令,并将生成的密钥同步更新指令发送给其他银行卡交易前置设备(步骤S105);根据密钥同步更新指令,向银行主机发送包含新密钥版本号的密钥下载交易请求信息(步骤S106);接收银行主机发来的包含新密钥的密钥下载应答交易信息(步骤S107);用密钥下载应答交易信息中的新密钥更新当前版密钥,并用更新前的当前版密钥更新前一版密钥(步骤S108);接收其他银行卡交易前置设备反馈的密钥同步更新成功信息,并向密钥源服务器反馈密钥重置交易成功应答信息(步骤 S109);启用新密钥对联机交易数据进行加密或解密处理(步骤S110)。如图4所示,将当前版密钥和前一版密钥存储于本地的密钥存储区;其中,用密钥下载应答交易信息中的新密钥更新密钥存储区中的当前版密钥,并用更新前的当前版密钥更新所述密钥存储区中的前一版密钥。将密钥存储区中存储的当前版密钥存储于本地的密钥使用区;其中,启用密钥使用区中存储的当前版密钥对联机交易数据进行加密或解密处理。判断所述的密钥使用区中存储的当前版密钥对联机交易数据的加密或解密处理是否失败,如果失败,则使用所述密钥存储区中存储的当前版密钥对联机交易数据进行加密或解密,再判断所述密钥存储区中存储的当前版密钥对联机交易数据的加密或解密处理是否成功,如果成功,则用所述密钥存储区中存储的当前版密钥更新所述密钥使用区中存储的当前版密钥。接收密钥源服务器发来的同步时间窗口指令,并在同步时间窗口内采用当前版密钥或新密钥对联机交易数据进行加密或解密处理。如图2所示,本实施例的银行卡交易前置设备的密钥同步更新系统包括密钥源服务器100、银行主机300和多个银行卡交易前置设备QOOa,200b,200c)。密钥源服务器 100通过互联网分别与多个银行卡交易前置设备QOOa,200b,200c)相连接,银行主机300 通过局域网分别与多个银行卡交易前置设备O00a,200b,200c)相连接。如图3所示,一个银行卡交易前置设备200a包括密钥重置请求接收装置201,用于接收密钥源服务器100发来的包含新密钥的密钥重置交易请求信息;密钥重置请求处理装置202,用于对密钥重置交易请求信息进行完整性校验和格式转换处理;密钥重置请求发送装置203,用于将格式转换处理后的密钥重置交易请求信息发送到银行主机300中;密钥重置应答接收装置204,用于接收银行主机300发来的包含新密钥版本号的密钥重置应答交易信息;同步更新指令生成装置205,用于判断密钥重置应答交易信息中的新密钥版本号是否新于当前版密钥的版本号,如果是则生成密钥同步更新指令;同步更新指令发送装置211,用于将生成的密钥同步更新指令发送给其他银行卡交易前置设备O00b,200c); 密钥下载请求发送装置206,用于根据密钥同步更新指令,向银行主机300发送包含新密钥版本号的密钥下载交易请求信息;密钥下载应答接收装置207,用于接收银行主机207发来的包含新密钥的密钥下载应答交易信息;密钥本地更新装置208,用密钥下载应答交易信息中的新密钥更新当前版密钥,并用更新前的当前版密钥更新前一版密钥;同步更新应答接收装置209,用于接收其他银行卡交易前置设备O00b,200c)反馈的密钥同步更新成功信息,密钥重置应答发送装置212,用于向密钥源服务器100反馈密钥重置交易成功应答信息;加/解密处理装置210,启用新密钥对联机交易数据进行加密或解密处理。如图4所示,银行卡交易前置设备QOOa,200b,200c)还包括密钥存储装置213, 密钥存储装置213进一步包括(见图5)密钥存储区,用于存储当前版密钥和前一版密钥; 密钥本地更新装置进一步包括存储区密钥更新单元,用密钥下载应答交易信息中的新密钥更新所述密钥存储区中的当前版密钥,并用更新前的当前版密钥更新密钥存储区中的前一版密钥。密钥存储装置还包括密钥使用区,用于存储密钥存储区中存储的当前版密钥。加/解密处理装置启用密钥使用区中存储的当前版密钥对联机交易数据进行加密或解密处理。密钥本地更新装置进一步包括使用区密钥更新单元,用于判断所述的密钥使用区中存储的当前版密钥对联机交易数据的加密或解密处理是否失败,如果是,则使用所述密钥存储区中存储的当前版密钥对联机交易数据进行加密或解密,如果否,则用所述密钥存储区中存储的当前版密钥更新所述密钥使用区中存储的当前版密钥。银行卡交易前置设备还包括同步时间指令接收装置214,用于接收密钥源服务器发来的同步时间窗口指令; 同步更新指令接收装置215,用于接收其他银行卡交易前置设备发来的密钥同步更新指令; 其中,加/解密处理装置在同步时间窗口内采用当前版密钥或新密钥对联机交易数据进行加密处理。在银行卡交易中,一个联机事务的处理过程一般要经过多个处理节点,如图2中的银行卡交易前置设备O00a,200b,200c)。联机数据在各个节点间传输的过程中,为了保证数据的安全性、完整性以及不可抵赖性,需要对联机数据中的关键信息进行加密处理,还需要针对联机数据内容根据特定的算法计算出一个校验序列码,用于在数据传输所经过的各个节点中验证数据内容是否被外界恶意篡改过。在进行上述加解密处理以及对校验序列码进行校验时均需要使用到密钥数据,因此,对于每一个联机事务的处理过程,密钥是必不可少的关键信息域,需要保证其值域的正确性。实施例对于一个实施了多点部署策略的应用系统而言,密钥信息的存储(物理的或逻辑的)在一套系统中存在多个拷贝,而联机事务的处理通过负载均衡技术被分配到各个节点 (银行卡交易前置设备200a,200b,200c)中进行,且联机事务的发生频率、时间间隔均无规律可循,这就需要系统中各个存储节点上的密钥信息必须时刻严格保持可用状态,因此,对其更新同步的过程提出了很高的要求。在银行系统(如图2中的银行主机300)与银联系统(如图2中的密钥源服务器 100)的通讯中,一个联机事务会在三部分中进行传输,包括银联服务器、银行的前置系统(如图2中的银行卡交易前置设备200a,200b,200c)和银行主机。银联和前置系统之间一般通过hternet网或专线连接,前置系统和银行主机一般通过银行内部局域网连接。系统中交易是双向的,即银联服务器既可以是交易发送方也可以是交易的接收方,银行主机也同理,中间的前置系统作为交易的转接方。在图2中可以看到,银行卡交易前置设备O00a, 200b, 200c)在系统部署方面可以支持灵活的部署策略,既可以同城部署也可以异地部署 (这样的系统架构及部署模式就是多点接入的部署策略),因此,密钥的同步更新策略需要能够应对各种不同部署模式下的安全要求。在银联服务器(密钥源服务器100)发起的一个密钥重置交易的处理流程中,因为银联机构的特殊性,银联负责新密钥的生成,并向银行端发起密钥重置交易请求,在新密钥重置交易成功后使用新密钥进行加解密处理;银行卡交易前置设备QOOa,200b,200c)是密钥重置的转接方和密钥的使用方, 主要负责新密钥的传递并使用新密钥对一般联机交易进行加解密处理。前置系统采用多点接入部署策略,因此,无法将其中某一个节点作为密钥存储的主数据源,只能是作为使用密钥的辅数据源。银行卡交易前置设备中部署的每个节点中的系统逻辑相同,每台银行卡交易前置设备之间两两可以通讯。每一台银行卡交易前置设备上都部署有密钥重置更新装置。密钥重置更新装置实现密钥在本银行卡交易前置设备上的版本比较,更新及存储。银行主机300因其具备较高的安全性和稳定性,且与银行卡交易前置设备O00a, 200b, 200c)连接,因此银行主机300是密钥的存储方(作为主数据源),主要负责对新密钥进行可靠的物理存储;以及响应各银行卡交易前置设备中对于新密钥的下载请求。银行主机300对所存储的密钥的版本进行管理,在联机交易报文中同时发送密钥版本号信息。银联服务器(密钥源服务器100)发起一笔密钥重置交易请求到银行卡交易前置设备O00a,200b,200c)并等待银行卡交易前置设备的应答,银行卡交易前置设备收到请求交易后转发给银行主机进行新密钥的存储动作,存储成功后向银行卡交易前置设备应答,银行卡交易前置设备接收到应答后向银联服务器(密钥源服务器100)应答,银联(密钥源服务器100)接收到成功应答后完成密钥的重置交易。如上所述,当一个密钥重置交易请求由银联服务器(密钥源服务器100)通过联机事务提交到银行卡交易前置设备O00a,200b,200c)后,密钥的更新过程随即开始,自此刻开始,需要保证整个密钥更新过程对一般联机交易的正确处理没有影响。银联服务器在发起重置密钥后将同时启动时间窗口机制在时间窗口内,银联服务器可以同时支持新、旧密钥。换言之,在时间窗口内,来自银行主机端的一般联机交易(请求或应答),前置设备无论是用新密钥加密还是旧密钥加密,在银联服务器中均可以被正确解密;而银联服务器自收到密钥重置交易成功应答后的下一笔交易开始启用新密钥加密,在此之前仍使用旧密钥加密。在密钥重置交易过程中仅仅完成了新密钥在银行主机中的更新存储动作,尚未完成本地各前置设备的新密钥的同步更新下载和同步动作。前置设备采用的是多点部署模式,系统内具有多个物理节点,因此,前置设备要启动如下机制进行新密钥的更新并保证更新过程对一般联机交易数据的加解密处理不产生影响。银行主机对密钥进行版本管理,前置设备判断银行主机向前置设备送达的一般联机交易数据中的密钥版本信息是否比本地密钥版本信息新,如果是,则启动新密钥下载的动作向银行主机索取新的密钥数据,然后更新前置设备本地存储。在各前置设备全部完成新密钥同步更新后向银联服务器应答成功(银联对此交易不设置超时)。由于密钥的重置过程与一般联机交易的处理过程是交叉在一起进行的,为了规避密钥重置交易可能发生的各种异常对正常交易产生影响,各前置设备通过进行密钥分类管理(系统内部动态存储采用分区管理)的策略提升系统的容错能力,保证正常交易的正确处理。因为各前置设备采用的是多点部署的策略,其中每一台前置设备与银联服务器均存在通讯链路,因此,银联服务器下发的重置密钥交易数据将随机发送到任意一台前置设备上,假设重置密钥交易数据发送到银行卡交易前置设备200a上,为便于描述,将收到银联发来的密钥重置交易请求的这台银行卡交易前置设备200a称为宿主服务器。宿主服务器将重置密钥交易送至银行主机300 ;银行主机300进行新密钥的更新存储后,仍通过宿主服务器进行应答。为了在时间窗口内完成其他银行卡交易前置设备(200b,200c)对新密钥的下载、同步动作,宿主服务器在启动新密钥下载、同步的同时,还要通知非宿主服务器 (如其他银行卡交易前置设备200b,200c)同样执行下载、同步操作。待所有银行卡交易前置设备完成后,宿主服务器(银行卡交易前置设备200a)答复银联密钥重置成功。因此,在重置密钥交易未完成的期间内,一般联机交易仍可正常进行。如图3所示,一个银行卡交易前置设备QOOa,200b,200c)包括密钥重置请求接收装置201,用于接收密钥源服务器100发来的包含新密钥的密钥重置交易请求信息;密钥重置请求处理装置202,用于对密钥重置交易请求信息进行完整性校验和格式转换处理; 密钥重置请求发送装置203,用于将格式转换处理后的密钥重置交易请求信息发送到银行主机300中;密钥重置应答接收装置204,用于接收银行主机300发来的包含新密钥版本号的密钥重置应答交易信息;同步更新指令生成装置205,用于判断密钥重置应答交易信息中的新密钥版本号是否新于当前版密钥的版本号,如果是则生成密钥同步更新指令;同步更新指令发送装置211,用于将生成的密钥同步更新指令发送给其他银行卡交易前置设备 (200b, 200c);密钥下载请求发送装置206,用于根据密钥同步更新指令,向银行主机300发送包含新密钥版本号的密钥下载交易请求信息;密钥下载应答接收装置207,用于接收银行主机300发来的包含新密钥的密钥下载应答交易信息;密钥本地更新装置208,用密钥下载应答交易信息中的新密钥更新当前版密钥,并用更新前的当前版密钥更新前一版密钥; 同步更新应答接收装置209,用于接收其他银行卡交易前置设备O00b,200c)反馈的密钥同步更新成功信息,密钥重置应答发送装置212,用于向密钥源服务器100反馈密钥重置交易成功应答信息;加/解密处理装置210,启用新密钥对联机交易数据进行加密或解密处理。本发明实施例中密钥的主数据源存储在银行主机中,各银行卡交易前置设备中存储的密钥数据为辅数据源,主要用于交易过程中的加解密处理。因为采用了多点部署的策略,所以在密钥重置交易过程中仅更新主数据源的密钥数据,不会同时对辅数据源中的密钥数据进行同步更新。通过同步更新指令生成装置205,能够让各银行卡交易前置设备及时获知银行主机中的密钥数据更新情况,进而进一步触发密钥下载工作流程。如图4所示,银行卡交易前置设备中的密钥存储装置是一种密钥本地动态存储装置213,该密钥存储装置213采用分区设计,密钥的存储区和使用区逻辑分离。使用区中存储最近一次加解密成功时采用的密钥数据,即当前密钥及版本号,以保证密钥同步更新的过程中一般交易能够被成功处理。存储区分为两部分,一部分用于存储密钥重置后最新的密钥数据,即新版密钥和版本号;另一部分存储密钥重置前的密钥数据,即旧版密钥及版本号,以便能够支持前置系统中密钥部分同步成功部分同步失败而引发的回退功能。一般情况下,交易的加解密都从使用区中获取密钥进行处理。通过分区设计,可以有效的降低密钥重置交易过程中对一般连接交易处理的影响从而保障一般联机交易处理的成功率。密钥本地更新装置213进一步包括使用区密钥更新单元,用于判断所述的密钥使用区中存储的当前版密钥对联机交易数据的加密或解密处理是否失败,如果是,则使用所述密钥存储区中存储的当前版密钥对联机交易数据进行加密或解密,如果否,则用所述密钥存储区中存储的当前版密钥更新所述密钥使用区中存储的当前版密钥。银行卡交易前置设备还包括同步时间指令接收装置214,用于接收密钥源服务器发来的同步时间窗口指令;同步更新指令接收装置215,用于接收其他银行卡交易前置设备发来的密钥同步更新指令;其中,加/解密处理装置在同步时间窗口内采用当前版密钥或新密钥对联机交易数据进行加密处理。密钥本地动态存储装置通过内存数据结构实现,这样有利于提升数据存取的效率。在一个密钥重置交易中,银联服务器发起密钥重置交易。前置设备采用的是多点部署的策略,其中每一台前置设备与银联服务器均存在通讯链路,因此,银联服务器下发的重置密钥交易数据将随机发送到前置系统的某一前置设备上,即宿主服务器(为便于理解,以下将收到银联服务器发来的密钥重置交易请求的这台前置设备称为宿主服务器)。宿主服务器对重置密钥交易数据进行必要的完整性校验处理(如MD5校验)和简单的格式转换处理后将数据包送至银行主机中;银行主机接收并处理后,将应答包原路返回给宿主服务器,当应答状态为成功时,宿主服务器将解析出应答包中的密钥版本号,与密钥本地动态存储装置中的当前密钥版本号进行比对,如果发现两者不一致,则说明密钥的版本发生了变化,立即启动密钥下载工作流程,同步启动如下两组操作一、前置设备向银行主机发起一笔密钥下载请求交易,通知银行主机将最新版本的密钥数据通过下发到本前置设备。当收到银行主机下发的新版本密钥数据后,该前置设备启动密钥同步工作流程, 即开始对本地动态存储装置中的密钥数据进行同步更新操作,处理步骤如下将密钥存储装置中原“新版密钥”覆盖到“旧版密钥”区;将从银行主机下载的新版密钥数据覆盖到本地“新版密钥数据”区;存储区的更新操作完成后,使用区内的“当前密钥”仍旧是原有数据,原因是使用区的密钥数据更新是以“上一次正确加解密处理”为前提的。一笔一般交易的加解密处理过程中,系统在本地动态密钥存储装置中选取密钥数据时优先从使用区读取,如果使用区的密钥无法正确进行加解密处理,再从存储区中读取,先读取“新版”密钥再读取“旧版”密钥,如果“新版”密钥进行加解密成功,说明密钥发生了同步更新操作,如果“旧版”密钥进行加解密成功,说明密钥发生了同步回退操作,当使用存储区中的密钥数据对一般交易的加解密处理成功后,系统将处理成功的密钥数据再同步更新到使用区。综上,使用区的密钥数据更新操作是以“上一次加解密处理成功”为前提的。上面的设计和管理策略的主要优点在于可以有效的解决一般联机交易在时间窗口前后的交易失败隐患。如图6所示,为上述加解密处理过程中的操作的处理步骤。二、通过宿主服务器向其他非宿主服务器发送密钥下载通知指令。当非宿主服务器收到指令后,触发本机的密钥本地同步更新,启动与宿主服务器相同的密钥下载操作,下载和同步更新完成后,非宿主服务器向宿主服务器发送密钥同步完成信号(宿主服务器发给自己,负责发出信号和收集信号的进程不同)。最后,宿主服务器收到所有非宿主服务器发来的密钥同步完成信号后,再向银联服务器发送密钥重置交易的成功应答。为了能够最大限度的保证多台银行卡交易前置设备新密钥下载同步更新的安全性和可靠性,根据本发明的设计,还存在如下的前置设备密钥下载触发方式因为银行主机发送的一般联机交易数据中也包含最新的密钥版本号(一般在交易数据的特定域中填写),通过一般联机交易下送给某一前置设备时,该前置设备将交易数据中的当前密钥版本号数据解析出来,与本地存储的当前密钥版本号进行比对,如果发现两者不一致,则说明密钥的版本发生了变化,就需要进行同步更新处理,系统将根据识别判定结果触发密钥下载处理机制。即密钥下载工作流程不仅存在于密钥重置交易过程中,也存在于一般联机交易的过程中。因为一般交易数据的处理是前置设备的常态,且一般交易数据的处理过程流经了银行主机和前置设备,因此,在一般交易数据中增加密钥版本号对系统的正常性能不会产生过多的额外开销。这样,可以最大限度的保证前置系统多台应用服务器新密钥下载、同步工作的安全性和可靠性。如图7所示,是密钥重置交易的工作流程。该工作流程描述了从银联服务器生成新密钥并下发到前置系统,再到银行主机和前置设备完成更新并向银联应答的过程。步骤501 银联服务器生成新的密钥并向前置设备发送密钥重置交易请求,请求的数据包中包含了新的密钥数据;步骤502 前置设备中的某节点前置设备通过网络链路接收银联服务器发来的密钥重置交易请求,并对密钥重置交易数据进行必要的完整性校验处理和简单的格式转换, 但并不对数据包中的密钥数据进行解析处理;因前置设备采用的是多点部署的策略,其中每一台前置设备与银联服务器均存在通讯链路,因此,银联服务器下发的密钥重置交易请求是随机发送到任意一台前置设备上, 即所述宿主服务器;步骤503 前置设备中宿主服务器将转换后的数据包再通过内部局域网发送到银行主机中,数据包中的密钥数据与银联服务器发来时的数据相同;步骤504 银行主机接收前置设备发来的密钥重置交易请求数据包并对数据包的内容进行必要的检查,确保数据没有被篡改。步骤505 银行主机对数据包进行解析处理,取得新密钥并存储;如解析和存储密钥等操作出现异常,则进入步骤506 ;如解析和存储密钥等操作正常,则进入步骤509。步骤506 银行主机通过原路向前置设备的宿主服务器发送失败应答,应答包中的密钥的版本号仍使用原密钥版本号。步骤507 前置设备使用当前密钥(原密钥)对失败应答加密并发送给银联服务
步骤508 银联服务器收到失败应答,保持原密钥不变,等待重发密钥重置请求。步骤509 银行主机通过原路向前置设备的宿主服务器发送成功应答,应答包中的密钥的版本号使用新密钥版本号。步骤510 宿主服务器接收银行主机发来的重置密钥应答交易。通过对密钥版本号进行识别与判定,若应答包中的密钥版本号新于当前的密钥版本号,则启动密钥下载工作流程和密钥同步工作流程。同时向其他非宿主服务器发送密钥下载通知指令。通知指令可以是短连接、简单通讯协议的方式。步骤511 非宿主服务器收到该指令后,启动密钥下载和密钥同步工作流程,完成后,非宿主服务器向宿主服务器发送密钥下载、同步完成信号。步骤512 全部前置设备完成新密钥下载后,即宿主服务器收齐所有前置设备(包括自身)的完成通知后,将成功应答交易转发至银联服务器。步骤513 银联服务器通过网络链路接收到密钥重置交易成功应答,并对交易数据包进行解析,同时启用新密钥。发送的下一笔一般联机交易即开始使用新密钥进行加密处理。如图8所示,是密钥下载工作流程。该工作流程主要用于前置设备在识别了密钥版本号更新后进行新密钥的下载动作,即保证前置设备密钥与银行主机存储的密钥的一致。步骤601 银行主机发起交易。银行主机发起的所有交易的数据包中均带有当前主机中存储的最新密钥版本号信息,该信息随着交易的发起而被下送到前置设备中。步骤602:前置系统中某一台前置设备接收交易数据。前置系统中部署了多台前置设备,对于一般联机交易数据而言,在负载均衡的机制下,前置系统中的每一台前置设备均会接收到一般联机交易的数据包,接收后除进行常规的交易数据处理外,还读取数据包中所携带的密钥版本号信息;而对于密钥重置交易的应答包,银行主机具备原路返回机制, 即将应答包回送到密钥重置交易请求上送的那台前置设备,即宿主服务器上;步骤603 接收到交易数据包的前置设备在解析数据包后对交易类型进行判断和识别,以区分该笔交易是一般联机交易还是密钥重置交易应答;若是一般联机交易的数据包(该情况可能会在任何一台应用服务器上发生),则进入步骤604 ;若是重置密钥交易的应答数据包(该情况只会发生在宿主服务器上),则进入步骤606。步骤604 前置设备将从数据包取出的密钥版本号与密钥本地动态存储模块中当前密钥版本号进行比对;步骤605 如果前置设备发现交易数据中的密钥版本号与本地的不同,则启动密钥本地同步更新,向银行主机发起密钥下载请求。由于前置设备接收到的银行主机交易频率不规律,所以在前置设备发起密钥下载请求到主机应答的时间段内,该前置设备有可能多次判断版本号不一致,导致多次向银行主机下载密钥。为了对系统的正常性能不产生过多的额外开销,前置设备需要保证密钥下载请求应答后或请求超时后才可以向银行主机再次发送请求;步骤606 宿主服务器对应答状态进行判别,如果是成功交易则进入步骤607,如果是失败交易,则直接向银联服务器应答失败;步骤607 对于成功的应答交易,宿主服务器将从数据包取出的密钥版本号与本地使用的密钥版本号进行比对;步骤608 如果宿主服务器发现交易数据中的密钥版本号与本地的不同,则启动密钥本地同步更新,向主机发起密钥下载请求,与此同时,向前置设备中的非宿主服务器发出广播通知,通知非宿主服务器启动密钥下载动作;步骤609 银行主机接收前置系统应用服务器发送的密钥下载请求交易,解析并检查数据包;步骤610 银行主机成功解析并检查密钥下载请求交易后,读取本地密钥数据,并组建成功应答,原路发向前置设备。如果解析、检查等相关操作出现异常,则拒绝前置系统请求;步骤611 前置设备接收主机的密钥下载应答交易,如果应答成功,则启用密钥同步工作流程以同步本地密钥,如果应答失败,则重试。可见,通过本发明实施例系统,在密钥重置交易流程的基础上,考虑到宿主服务器向非宿主服务器的广播通知指令采用的是非安全的通讯协议,为保证前置系统中的每台前置设备一定能够触发密钥下载动作,及时有效的启动新密钥的下载和同步动作。密钥下载存在第二种触发机制银行主机向前置设备中发送的一般交易数据中也会携带当前最新的密钥版本号信息,银行主机与前置系统各前置设备之间是采用的负载均衡机制,这样就可以保证前置系统中的每台前置设备均可以检测到主机当前的密钥版本号情况以便在主数据源的密钥发生变化的情况下触发密钥下载动作。通过两种并存的触发机制,有效的保证了联机交易频率无特定规律的情况下前置系统中的各应用服务器均可以及时触发新密钥的下载动作。如图9所示,是密钥同步工作流程。该工作流程主要用于将新密钥在密钥本地动态存储模块中进行同步更新处理。步骤701 前置系统某前置设备接收银行主机的密钥下载应答交易,如果应答成功,则从交易中解析出新密钥数据和密钥版本号;步骤702 前置设备将密钥本地动态存储装置存储区中的原有“新版密钥”及新版本号覆盖到“旧版密钥”及旧版本号,以备后续密钥同步回退使用;步骤703 将密钥下载应答交易中解析出新密钥数据和版本号覆盖到存储区中的 “新版密钥”及新版本号;步骤704 通知宿主服务器本前置设备密钥已经和银行主机的密钥同步完成;步骤705 前置系统某前置设备接收来自银联的交易,加解密时使用密钥本地动态存储装置使用区的“当前密钥”数据;步骤706 前置系统某前置设备中密钥本地动态存储装置的存储区和使用区的密钥发生变化时,需要同步更新到本应用服务器的物理设备(文件、数据库等)中,以备应用服务器启动时初始化内存中密钥数据。本发明实施例是针对集中式部署的开放平台应用提供了安全可靠的应用层密钥存储与同步解决方案,为该类应用系统实施多点接入解决了核心问题、扫除了关键障碍。该发明具有如下优点
在密钥重置过程中,一般联机交易仍可正常进行,不受影响,保证了系统的稳定运行;对于应用多点接入部署策略的前置系统,可以有效保证在密钥重置过程中,密钥
重置的可靠性。通过采用银行主机集中存储密钥和针对前置系统密钥下载多种触发机制,保证了密钥更新的完整性,切实保证前置系统的每一节点及时获取新密钥,保证系统的正常运行和交易的成功率。本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员, 依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种银行卡交易前置设备的密钥同步方法,其特征是,所述的方法包括 接收密钥源服务器发来的包含新密钥的密钥重置交易请求信息;对所述的密钥重置交易请求信息进行完整性校验和格式转换处理; 将格式转换处理后的密钥重置交易请求信息发送到银行主机中; 接收所述银行主机发来的包含新密钥版本号的密钥重置应答交易信息; 判断所述密钥重置应答交易信息中的新密钥版本号是否新于当前版密钥的版本号,如果是则生成密钥同步更新指令,并将生成的密钥同步更新指令发送给其他银行卡交易前置设备;根据所述的密钥同步更新指令,向所述的银行主机发送包含新密钥版本号的密钥下载交易请求信息;接收所述的银行主机发来的包含新密钥的密钥下载应答交易信息; 用所述密钥下载应答交易信息中的新密钥更新所述的当前版密钥,并用更新前的当前版密钥更新前一版密钥;接收所述其他银行卡交易前置设备反馈的密钥同步更新成功信息,并向所述的密钥源服务器反馈密钥重置交易成功应答信息;启用所述的新密钥对联机交易数据进行加密或解密处理。
2.根据权利要求1所述的方法,其特征是,将所述的当前版密钥和前一版密钥存储于本地的密钥存储区;其中,所述的用所述密钥下载应答交易信息中的新密钥更新所述的当前版密钥,并用更新前的当前版密钥更新前一版密钥是指用所述密钥下载应答交易信息中的新密钥更新所述密钥存储区中的当前版密钥,并用更新前的当前版密钥更新所述密钥存储区中的前一版密钥。
3.根据权利要求2所述的方法,其特征是,将所述的密钥存储区中存储的当前版密钥存储于本地的密钥使用区;其中,所述的启用所述的新密钥对联机交易数据进行加密或解密处理是指启用所述的密钥使用区中存储的当前版密钥对联机交易数据进行加密或解密处理。
4.根据权利要求3所述的方法,其特征是,判断所述的密钥使用区中存储的当前版密钥对联机交易数据的加密或解密处理是否失败,如果失败,则使用所述密钥存储区中存储的当前版密钥对联机交易数据进行加密或解密;判断所述密钥存储区中存储的当前版密钥对联机交易数据的加密或解密处理是否成功,如果成功,则用所述密钥存储区中存储的当前版密钥更新所述密钥使用区中存储的当前版密钥。
5.根据权利要求1所述的方法,其特征是,接收所述的密钥源服务器发来的同步时间窗口指令,并在所述的同步时间窗口内采用所述的当前版密钥或新密钥对联机交易数据进行加密或解密处理。
6.一种银行卡交易前置设备的密钥同步系统,所述的系统包括密钥源服务器和银行主机,其特征是,所述的系统还包括多个银行卡交易前置设备;所述的密钥源服务器通过互联网分别与所述的多个银行卡交易前置设备相连接,所述的银行主机通过局域网分别与所述的多个银行卡交易前置设备相连接;一个所述的银行卡交易前置设备包括密钥重置请求接收装置,用于接收所述密钥源服务器发来的包含新密钥的密钥重置交易请求信息;密钥重置请求处理装置,用于对所述的密钥重置交易请求信息进行完整性校验和格式转换处理;密钥重置请求发送装置,用于将格式转换处理后的密钥重置交易请求信息发送到所述的银行主机中;密钥重置应答接收装置,用于接收所述银行主机发来的包含新密钥版本号的密钥重置应答交易信息;同步更新指令生成装置,用于判断所述密钥重置应答交易信息中的新密钥版本号是否新于当前版密钥的版本号,如果是则生成密钥同步更新指令;同步更新指令发送装置,用于将生成的密钥同步更新指令发送给其他银行卡交易前置设备;密钥下载请求发送装置,用于根据所述的密钥同步更新指令,向所述的银行主机发送包含新密钥版本号的密钥下载交易请求信息;密钥下载应答接收装置,用于接收所述的银行主机发来的包含新密钥的密钥下载应答交易信息;密钥本地更新装置,用所述密钥下载应答交易信息中的新密钥更新所述的当前版密钥,并用更新前的当前版密钥更新前一版密钥;同步更新应答接收装置,用于接收所述其他银行卡交易前置设备反馈的密钥同步更新成功信息;密钥重置应答发送装置,用于向密钥源服务器反馈密钥重置交易成功应答信息;加/解密处理装置,启用所述的新密钥对联机交易数据进行加密或解密处理。
7.根据权利要求6所述的系统,其特征是,所述的银行卡交易前置设备还包括密钥存储装置,所述的密钥存储装置进一步包括密钥存储区,用于存储所述的当前版密钥和前一版密钥;所述的密钥本地更新装置进一步包括存储区密钥更新单元,用于用所述密钥下载应答交易信息中的新密钥更新所述密钥存储区中的当前版密钥,并用更新前的当前版密钥更新所述密钥存储区中的前一版密钥。
8.根据权利要求7所述的系统,其特征是,所述的密钥存储装置还包括密钥使用区, 用于存储所述的密钥存储区中存储的当前版密钥;所述的加/解密处理装置启用所述的密钥使用区中存储的当前版密钥对联机交易数据进行加密或解密处理。
9.根据权利要求8所述的系统,其特征是,所述的密钥本地更新装置进一步包括使用区密钥更新单元,用于判断所述的密钥使用区中存储的当前版密钥对联机交易数据的加密或解密处理是否失败,如果失败,则使用所述密钥存储区中存储的当前版密钥对联机交易数据进行加密或解密,并判断所述密钥存储区中存储的当前版密钥对联机交易数据的加密或解密处理是否成功,如果成功,则用所述密钥存储区中存储的当前版密钥更新所述密钥使用区中存储的当前版密钥。
10.根据权利要求6所述的系统,其特征是,所述的银行卡交易前置设备还包括 同步时间指令接收装置,用于接收所述的密钥源服务器发来的同步时间窗口指令; 同步更新指令接收装置,用于接收其他银行卡交易前置设备发来的密钥同步更新指令;其中,所述的加/解密处理装置在所述的同步时间窗口内采用所述的当前版密钥或新密钥对联机交易数据进行加密处理。
全文摘要
本发明为一种银行卡交易前置设备的密钥同步方法及系统,该系统包括密钥源服务器、银行主机和多个银行卡交易前置设备;密钥源服务器分别与多个银行卡交易前置设备相连接,银行主机分别与多个银行卡交易前置设备相连接;一个银行卡交易前置设备包括密钥重置请求接收装置,密钥重置请求处理装置,密钥重置请求发送装置,密钥重置应答接收装置,同步更新指令生成装置,同步更新指令发送装置,密钥下载请求发送装置,密钥下载应答接收装置,密钥本地更新装置,同步更新应答接收装置以及加/解密处理装置。以解决银行卡交易前置设备的密钥同步更新前、更新中以及更新后各节点前置设备均能对联机数据进行正确的加解密处理的问题。
文档编号H04L29/06GK102413126SQ20111034513
公开日2012年4月11日 申请日期2011年11月4日 优先权日2011年11月4日
发明者嵇津湘, 廖志江, 杨天颖, 梁波, 秦旭果, 邹帮山, 霍卫强 申请人:中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1