基于区块链的银行代售理财产品交易方法、装置及系统与流程

文档序号:32452386发布日期:2022-12-07 02:07阅读:43来源:国知局
基于区块链的银行代售理财产品交易方法、装置及系统与流程

1.本技术涉及金融领域和区块链技术领域,具体涉及基于区块链的银行代售理财产品交易方法、装置及系统。


背景技术:

2.对于银行代售的外公司理财产品,客户提交购买申请后,银行侧系统先记录申请单信息,通过发送文件将其传递至理财公司侧系统,待理财公司根据当天产品收盘价,判断申请单是否成交,并将成交的申请单信息通过文件回传银行系统进行后续处理。因各理财公司系统差异化,银行侧需对接的系统较多,申请单文件在银行和各理财公司间系统传递的链路中容易遭受恶意攻击和篡改,导致文件内容前后数据不一致,需通过人工复核。由此可见,现有的理财代售数据处理方式存在处理效率低、数据传输安全性低的缺点。
3.此外,申请单中包含了客户相关的敏感信息,文件内容如不经过加密传输则有泄露的风险。但是若文件内容经过加密算法后再传输,加密后的文件需经过解密才能进行检索,不利于快速检索出所需内容。


技术实现要素:

4.为了解决现有技术中存在的问题,第一方面,本技术提供一种基于区块链的银行代售理财产品交易系统,包括银行节点以及多个理财公司节点;
5.所述银行节点用于:
6.获取客户的交易申请单文件并基于所述交易申请单文件和预设的加密算法得到总数据密文;所述总数据密文包括摘要密文以及文件密文,其中,所述摘要密文是使用银行的私钥对所述交易申请单文件对应的文件摘要进行数字签名得到的;所述文件密文是使用银行与目标理财公司约定的密钥对所述交易申请单文件加密得到的;
7.将所述总数据密文以及区块头信息进行拼接得到待处理文件;
8.将所述待处理文件发送至各理财公司节点;
9.所述理财公司节点用于:
10.接收来自银行节点的待处理文件并分离得到文件密文;
11.根据所述文件密文以及当前节点对应的理财公司与银行约定的密钥判断当前节点是否为目标理财公司节点;
12.若是,则从所述待处理文件中分离得到摘要密文,并根据所述摘要密文、银行的公钥以及预设的摘要算法对文件进行验证,得到验证结果;
13.基于所述验证结果更新待处理文件对应的交易成交结果。
14.第二方面,本技术提供一种基于区块链的银行代售理财产品交易方法,该方法的执行主体为银行节点,该方法包括:
15.获取客户的交易申请单文件并基于所述交易申请单文件和预设的加密算法得到总数据密文;所述总数据密文包括摘要密文以及文件密文,其中,所述摘要密文是使用银行
的私钥对所述交易申请单文件对应的文件摘要进行数字签名得到的;所述文件密文是使用银行与目标理财公司约定的密钥对所述交易申请单文件加密得到的;
16.将所述总数据密文以及区块头信息进行拼接得到待处理文件;
17.将所述待处理文件发送至各理财公司节点,以使目标理财公司节点对所述待处理文件进行解密和验证,并基于解密和验证结果更新待处理文件对应的交易成交结果。
18.在一实施例中,所述获取客户的交易申请单文件并基于所述交易申请单文件和预设的加密算法得到总数据密文,包括:
19.根据所述交易申请单文件以及预设的摘要算法得到文件摘要;
20.使用银行的私钥对所述文件摘要进行数字签名,得到所述摘要密文;
21.根据所述交易申请单文件以及银行与目标理财公司约定的密钥得到所述文件密文;
22.将所述摘要密文以及所述文件密文进行拼接得到所述总数据密文。
23.在一实施例中,所述总数据密文还包括关键字密文;
24.所述获取客户的交易申请单文件并基于所述交易申请单文件和预设的加密算法得到总数据密文,还包括:
25.获取客户的交易申请单文件并提取关键字,所述关键字仅与一笔交易对应;
26.根据所述关键字以及预设的可搜索加密算法生成所述关键字密文;
27.将所述关键字密文、所述摘要密文以及所述文件密文进行拼接得到所述总数据密文。
28.在一实施例中,所述基于区块链的银行代售理财产品交易方法还包括:
29.对待搜索文件对应的关键字进行可搜索加密处理,得到关键字查询密文;
30.将所述关键字查询密文发送至共识节点,以使所述共识节点查询并返回所述关键字查询密文对应的文件密文以及交易成交结果。
31.本技术还提供另一种基于区块链的银行代售理财产品交易方法,该方法的执行主体为理财公司节点,该方法包括:
32.接收来自银行节点的待处理文件并分离得到文件密文;
33.根据所述文件密文以及当前节点对应的理财公司与银行约定的密钥判断当前节点是否为目标理财公司节点;
34.若是,则从所述待处理文件中分离得到摘要密文,并根据所述摘要密文、银行的公钥以及预设的摘要算法对文件进行验证,得到验证结果;
35.基于所述验证结果更新待处理文件对应的交易成交结果;
36.其中,所述待处理文件是由银行节点对总数据密文以及区块头信息拼接得到的,所述总数据密文是由银行节点基于客户的交易申请单文件和预设的加密算法得到的,所述总数据密文包括摘要密文以及文件密文,其中,所述摘要密文是使用银行的私钥对所述交易申请单文件对应的文件摘要进行数字签名得到的;所述文件密文是使用银行与目标理财公司约定的密钥对所述交易申请单文件加密得到的。
37.在一实施例中,所述根据所述文件密文以及当前节点对应的理财公司与银行约定的密钥判断当前节点是否为目标理财公司节点,包括:
38.使用当前节点与银行约定的密钥对所述文件密文进行解密;
39.判断是否解密成功得到文件明文;若是,则确定当前节点为目标理财公司节点;若否,则确定当前节点不是目标理财公司节点。
40.在一实施例中,所述根据所述摘要密文、银行的公钥以及预设的摘要算法对文件进行验证,得到验证结果,包括:
41.使用银行的公钥对所述摘要密文进行解密,得到第一文件摘要;
42.根据所述文件明文以及预设的摘要算法得到第二文件摘要;
43.判断所述第一文件摘要与所述第二文件摘要是否一致;
44.若是,则确定验证结果为验证通过;
45.若否,则确定验证结果为验证不通过。
46.在一实施例中,所述基于所述验证结果更新待处理文件对应的交易成交结果,包括:
47.判断所述验证结果是否为验证通过;
48.若是,则读取所述文件明文中的交易信息,并通过智能合约确定交易是否成立;
49.若成立,则将交易成交结果更新为是;若不成立,则将交易成果更新为否。
50.第三方面,本技术提供一种基于区块链的银行代售理财产品交易装置,与执行主体为银行节点的基于区块链的银行代售理财产品交易方法对应,该装置包括:
51.总数据密文生成模块,用于获取客户的交易申请单文件并基于所述交易申请单文件和预设的加密算法得到总数据密文;所述总数据密文包括摘要密文以及文件密文,其中,所述摘要密文是使用银行的私钥对所述交易申请单文件对应的文件摘要进行数字签名得到的;所述文件密文是使用银行与目标理财公司约定的密钥对所述交易申请单文件加密得到的;
52.待处理文件生成模块,用于将所述总数据密文以及区块头信息进行拼接得到待处理文件;
53.待处理文件发送模块,用于将所述待处理文件发送至各理财公司节点,以使目标理财公司节点对所述待处理文件进行解密和验证,并基于解密和验证结果更新待处理文件对应的交易成交结果。
54.在一实施例中,所述总数据密文生成模块包括:
55.文件摘要生成单元,用于根据所述交易申请单文件以及预设的摘要算法得到文件摘要;
56.摘要密文生成单元,用于使用银行的私钥对所述文件摘要进行数字签名,得到所述摘要密文;
57.文件密文生成单元,用于根据所述交易申请单文件以及银行与目标理财公司约定的密钥得到所述文件密文;
58.总数据密文生成单元,用于将所述摘要密文以及所述文件密文进行拼接得到所述总数据密文。
59.在一实施例中,所述总数据密文还包括关键字密文;
60.所述总数据密文生成模块还包括关键字密文生成单元,用于:
61.获取客户的交易申请单文件并提取关键字,所述关键字仅与一笔交易对应;以及根据所述关键字以及预设的可搜索加密算法生成所述关键字密文;
62.所述总数据密文生成单元还用于:
63.将所述关键字密文、所述摘要密文以及所述文件密文进行拼接得到所述总数据密文。
64.在一实施例中,所述基于区块链的银行代售理财产品交易装置还包括查询模块,用于:
65.对待搜索文件对应的关键字进行可搜索加密处理,得到关键字查询密文;
66.将所述关键字查询密文发送至共识节点,以使所述共识节点查询并返回所述关键字查询密文对应的文件密文以及交易成交结果。
67.本技术还提供一种基于区块链的银行代售理财产品交易装置,与执行主体为理财公司节点的基于区块链的银行代售理财产品交易方法对应,该装置包括:
68.文件分离模块,用于接收来自银行节点的待处理文件并分离得到文件密文;以及当当前节点为目标理财公司节点时从所述待处理文件中分离得到摘要密文;
69.身份判断模块,用于根据所述文件密文以及当前节点对应的理财公司与银行约定的密钥判断当前节点是否为目标理财公司节点;
70.验证模块,用于当当前节点为目标理财公司节点时,根据所述摘要密文、银行的公钥以及预设的摘要算法对文件进行验证,得到验证结果;
71.交易成交结果更新模块,用于基于所述验证结果更新待处理文件对应的交易成交结果;
72.其中,所述待处理文件是由银行节点对总数据密文以及区块头信息拼接得到的,所述总数据密文是由银行节点基于客户的交易申请单文件和预设的加密算法得到的,所述总数据密文包括摘要密文以及文件密文,其中,所述摘要密文是使用银行的私钥对所述交易申请单文件对应的文件摘要进行数字签名得到的;所述文件密文是使用银行与目标理财公司约定的密钥对所述交易申请单文件加密得到的。
73.在一实施例中,所述身份判断模块具体用于:
74.使用当前节点与银行约定的密钥对所述文件密文进行解密;
75.判断是否解密成功得到文件明文;若是,则确定当前节点为目标理财公司节点;若否,则确定当前节点不是目标理财公司节点。
76.在一实施例中,所述验证模块包括:
77.摘要解密单元,用于使用银行的公钥对所述摘要密文进行解密,得到第一文件摘要;
78.摘要重生成单元,用于根据所述文件明文以及预设的摘要算法得到第二文件摘要;
79.一致性判断单元,用于判断所述第一文件摘要与所述第二文件摘要是否一致;
80.验证结果确定单元,用于若第一文件摘要与第二文件摘要一致,则确定验证结果为验证通过;若第一文件摘要与第二文件摘要不一致,则确定验证结果为验证不通过。
81.在一实施例中,所述交易成交结果更新模块具体用于:
82.判断所述验证结果是否为验证通过;
83.若是,则读取所述文件明文中的交易信息,并通过智能合约确定交易是否成立;
84.若成立,则将交易成交结果更新为是;若不成立,则将交易成果更新为否。
85.第四方面,本技术提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本技术提供的任一基于区块链的银行代售理财产品交易方法。
86.第五方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本技术提供的任一基于区块链的银行代售理财产品交易方法。
87.本技术的基于区块链的银行代售理财产品交易方法、装置及系统,通过应用区块链技术解决了银行代售理财公司产品时,和外理财公司系统间文件传输链路中容易遭受恶意攻击和篡改的问题,不仅可以保护隐私,避免敏感信息泄露;同时,区块链的分布式的账单也可保证数据不可篡改性。
附图说明
88.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
89.图1为本技术提供的基于区块链的银行代售理财产品交易系统的示意图。
90.图2为本技术提供的基于区块链的银行代售理财产品交易方法的一种示意图。
91.图3为本技术提供的待处理文件上链的步骤示意图。
92.图4为本技术提供的基于区块链的银行代售理财产品交易方法的另一种示意图。
93.图5为本技术提供的基于区块链的银行代售理财产品交易方法的另一种示意图。
94.图6为本技术提供的基于区块链的银行代售理财产品交易方法的另一种示意图。
95.图7为本技术提供的基于区块链的银行代售理财产品交易方法的另一种示意图。
96.图8为本技术提供的基于区块链的银行代售理财产品交易方法的另一种示意图。
97.图9为本技术提供的基于区块链的银行代售理财产品交易方法的另一种示意图。
98.图10为本技术提供的基于区块链的银行代售理财产品交易方法的另一种示意图。
99.图11为本技术提供的基于区块链的银行代售理财产品交易装置的一种示意图。
100.图12为本技术提供的基于区块链的银行代售理财产品交易装置的另一种示意图。
101.图13为本技术提供的基于区块链的银行代售理财产品交易装置的另一种示意图。
102.图14为本技术提供的基于区块链的银行代售理财产品交易装置的另一种示意图。
103.图15为本技术提供的基于区块链的银行代售理财产品交易装置的另一种示意图。
104.图16为本技术提供的基于区块链的银行代售理财产品交易装置的另一种示意图。
105.图17为本技术提供的一种计算机设备的示意图。
具体实施方式
106.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
107.需要说明的是,本技术的基于区块链的银行代售理财产品交易方法、装置及系统
可用于金融领域和区块链技术领域,也可用于除金融领域和区块链技术领域之外的任意领域,本技术对基于区块链的银行代售理财产品交易方法、装置及系统的应用领域不做限定。
108.本技术中技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
109.本技术实施例中的用户信息均是通过合法合规途径获得,并且对用户信息的获取、存储、使用、处理等经过客户授权同意的。
110.第一方面,本技术提供一种基于区块链的银行代售理财产品交易系统,包括多个银行节点以及多个理财公司节点;图1为该系统的一种示意图,为便于说明,图1仅示出一个银行节点以及多个理财公司节点。其中,银行节点为某银行对应的区块链节点,理财公司节点1、理财公司节点2
……
理财公司节点n为委托银行代售理财产品的各理财公司对应的节点。当进行数据交互时,银行节点与各理财公司均需进行相应的数据处理,具体如下:
111.银行节点主要用于执行以下数据处理步骤:
112.1)获取客户的交易申请单文件并基于所述交易申请单文件和预设的加密算法得到总数据密文;所述总数据密文包括摘要密文以及文件密文,其中,所述摘要密文是使用银行的私钥对所述交易申请单文件对应的文件摘要进行数字签名得到的;所述文件密文是使用银行与目标理财公司约定的密钥对所述交易申请单文件加密得到的;
113.2)将所述总数据密文以及区块头信息进行拼接得到待处理文件;
114.3)将所述待处理文件发送至各理财公司节点;
115.各理财公司节点主要用于执行以下数据处理步骤:
116.1)接收来自银行节点的待处理文件并分离得到文件密文;
117.2)根据所述文件密文以及当前节点对应的理财公司与银行约定的密钥判断当前节点是否为目标理财公司节点;
118.3)若是,则从所述待处理文件中分离得到摘要密文,并根据所述摘要密文、银行的公钥以及预设的摘要算法对文件进行验证,得到验证结果;
119.4)基于所述验证结果更新待处理文件对应的交易成交结果。
120.为了便于公众理解本技术,以下将分别从银行节点的角度以及理财公司节点的角度,对整个基于区块链的银行代售理财产品交易系统进行说明。以下内容中,以银行节点为执行主体的基于区块链的银行代售理财产品交易方法均由基于区块链的银行代售理财产品交易系统中的银行节点执行;以理财公司节点为执行主体的基于区块链的银行代售理财产品交易方法均由基于区块链的银行代售理财产品交易系统中的理财公司节点执行。
121.第二方面,本技术提供一种基于区块链的银行代售理财产品交易方法,该方法的执行主体为银行节点。如图2所示,该方法包括以下步骤s101至步骤s103:
122.步骤s101,获取客户的交易申请单文件并基于所述交易申请单文件和预设的加密算法得到总数据密文。
123.具体地,交易申请单文件是基于客户在银行侧系统提交的理财产品购买申请生成的,其中至少包括可唯一区分一笔交易的申请单号、客户信息以及理财产品信息,其中理财产品信息包括购买价格以及所属理财公司等信息。
124.银行侧系统将交易申请单文件上传至银行节点,由银行节点基于交易申请单文件和预设的加密算法得到总数据密文。其中,总数据密文包括摘要密文以及文件密文,摘要密
文是使用银行的私钥对交易申请单文件对应的文件摘要进行数字签名得到的;文件密文是使用银行与目标理财公司约定的密钥对所述交易申请单文件加密得到的。银行节点存储有委托银行代售理财产品的所有理财公司的密钥,密钥为银行与理财公司单独约定而成,理财公司节点则只有其对应的理财公司与银行约定的密钥,而没有其他理财公司与银行约定的密钥。总数据密文的具体生成步骤将在后续实施例中详细说明。
125.步骤s102,将所述总数据密文以及区块头信息进行拼接得到待处理文件。
126.具体地,待处理文件包括区块头和区块体两部分,其中区块体中包含步骤s101形成的总数据密文,区块头则包含区块头信息,例如“交易是否成交”字段及其对应的值等。银行节点形成的待处理文件中,“交易是否成交”字段对应的值为空,该值需要由目标理财公司节点更新,具体将在后续实施例进行说明。
127.步骤s103,将所述待处理文件发送至各理财公司节点,以使目标理财公司节点对所述待处理文件进行解密和验证,并基于解密和验证结果更新待处理文件对应的交易成交结果。
128.生成待处理文件后,银行节点会将待处理文件发送给各理财公司节点,但只有目标理财公司能够对待处理文件进行解密和处理。这里的目标理财公司指交易申请单文件对应的理财产品所属理财公司,即客户购买的理财产品所属理财公司。银行节点通过使用目标理财公司对应的密钥对申请单文件进行加密,确保只有目标理财公司能够解密得到文件明文,而其他非目标理财公司则无法解密。这样既避免了银行与理财公司的文件传输链路容易遭受恶意攻击和篡改的问题,又能避免客户的敏感信息等隐私泄露,大大提高了安全性。
129.由于涉及区块链节点,银行节点将待处理文件发送给各理财公司节点的过程实际为区块链的数据上链过程,待处理文件上链的流程参见图3:
130.步骤201:将待处理文件向区块链主节点提交验证请求;区块链主节点通过各区块链节点选举等方式产生,主节点可以为执行共识算法的节点之一,除主节点之外的其他参与共识算法的节点均为从节点。
131.步骤202:区块链上的全部节点执行共识算法,采用pbft实用拜占庭容错算法,主要分为四个阶段:
132.(1)pre-prepare阶段:主节点生成状态为pre-prepare的消息,并向从节点广播;
133.(2)prepare阶段:当从节点从主节点收到消息后对文件进行验证,验证通过后修改消息状态为prepare并向其他节点广播;
134.(3)commit阶段:当从节点接收到其他节点广播的消息后,对消息进行验证,验证通过后修改消息状态为commit并向其他节点广播;
135.(4)reply阶段:主节点确认上链请求是否成功,若验证结果为commit的节点数大于算法设置的最少确认节点个数,则表示上链请求成功,否则需重新提交验证请求。
136.步骤203:共识执行成功后,添加上交易id、时间戳等区块头信息,主节点和从节点都添加上该区块。
137.步骤204:待处理文件上链完成,通知文件发送节点,这里即银行节点。
138.在一实施例中,如图4所示,步骤s101,所述获取客户的交易申请单文件并基于所述交易申请单文件和预设的加密算法得到总数据密文,包括:
139.步骤s1011,根据所述交易申请单文件以及预设的摘要算法得到文件摘要。
140.步骤s1012,使用银行的私钥对所述文件摘要进行数字签名,得到所述摘要密文;
141.具体地,步骤s1011的预设的摘要算法例如md5、sha1等,通过摘要算法对交易申请单文件进行运算得到文件摘要后,使用银行私钥,即银行身份标识私钥对文件摘要进行数字签名,得到摘要密文。
142.步骤s1013,根据所述交易申请单文件以及银行与目标理财公司约定的密钥得到所述文件密文。
143.具体地,这里可采用对称加密算法例如aes对交易申请单文件进行加密,加密时所用密钥为银行与目标理财公司约定的密钥,该密钥仅在银行与目标理财公司之间共享。目标理财公司的含义在前文有说明,即交易申请单文件对应理财产品所属理财公司。银行与不同理财公司之间应约定不同的密钥,且密钥仅在约定的双方之间共享。
144.步骤s1014,将所述摘要密文以及所述文件密文进行拼接得到所述总数据密文。
145.摘要密文以及文件密文拼接即可得到总数据密文。
146.在一实施例中,如图5所示,所述总数据密文还包括关键字密文;
147.步骤s101,获取客户的交易申请单文件并基于所述交易申请单文件和预设的加密算法得到总数据密文,还包括:
148.步骤s1015,获取客户的交易申请单文件并提取关键字,所述关键字仅与一笔交易对应;根据所述关键字以及预设的可搜索加密算法生成所述关键字密文;
149.其中关键字可选取交易流水号、申请单号等可唯一区分一笔交易的字段,这里的可搜索加密算法例如公钥可搜索加密算法,算法会通过安全参数s生成私钥skey和公钥pkey,使用公钥pkey对关键字w进行加密,即可得到关键字密文。
150.此时,步骤s1014变更为步骤s1016:将所述关键字密文、所述摘要密文以及所述文件密文进行拼接得到所述总数据密文。
151.在一实施例中,如图6所示,所述基于区块链的银行代售理财产品交易方法还包括:
152.步骤s301,对待搜索文件对应的关键字进行可搜索加密处理,得到关键字查询密文。
153.其中,这里的关键字由查询端如交易客户发起,且与步骤s1015中所用关键字应为同一字段,这里的可搜索加密处理应是利用与步骤s1015中对关键字进行加密所用的可搜索加密算法一致的算法进行加密处理,如此才能保证通过关键字查询密文匹配到对应的关键字密文。
154.步骤s302,将所述关键字查询密文发送至共识节点,以使所述共识节点查询并返回所述关键字查询密文对应的文件密文以及交易成交结果。
155.这里的共识节点可以为任何一个执行共识算法的节点,可以是银行节点,也可以是理财公司节点。共识节点接收到携带有关键字查询密文的查询请求时,将关键字查询密文与节点内存储的关键字密文进行匹配,若匹配成功,则将得到关键字密文,也即关键字查询密文对应的文件密文、交易成交结果等可查询信息返回给查询端,具体返回何种信息根据查询请求的不同而不同。查询端可以是具有查询权限的任何用户,实际上图6所示的步骤是由查询端向共识节点发起查询请求后,由共识节点执行的。
156.本技术实现了对银行代售的理财产品交易数据进行加密传输和加密后可检索的功能,可搜索加密的关键字使得文件的检索效率大大提高。通过区块链智能合约实现交易,兼具时效性,安全性,准确性,提高了数据隐私的保护能力的同时提供了使用的便利性。
157.以上为本技术从银行节点的角度对基于区块链的银行代售理财产品交易方法的说明。接下来,本技术还提供另一种基于区块链的银行代售理财产品交易方法,该方法的执行主体为理财公司节点。如图7所示,该方法包括:
158.步骤s401,接收来自银行节点的待处理文件并分离得到文件密文;
159.步骤s402,根据所述文件密文以及当前节点对应的理财公司与银行约定的密钥判断当前节点是否为目标理财公司节点;若是,则执行步骤s403,若否,则不执行任何处理;
160.步骤s403,从所述待处理文件中分离得到摘要密文;
161.步骤s404,根据所述摘要密文、银行的公钥以及预设的摘要算法对文件进行验证,得到验证结果;本步骤是验证文件文件在发送过程中是否遇到中间人攻击以及文件是否真实完整。
162.步骤s405,基于所述验证结果更新待处理文件对应的交易成交结果。
163.其中,所述待处理文件是由银行节点对总数据密文以及区块头信息拼接得到的,所述总数据密文是由银行节点基于客户的交易申请单文件和预设的加密算法得到的,所述总数据密文包括摘要密文以及文件密文,其中,所述摘要密文是使用银行的私钥对所述交易申请单文件对应的文件摘要进行数字签名得到的;所述文件密文是使用银行与目标理财公司约定的密钥对所述交易申请单文件加密得到的。
164.在一实施例中,如图8所示,步骤s402,根据所述文件密文以及当前节点对应的理财公司与银行约定的密钥判断当前节点是否为目标理财公司节点,包括:
165.步骤s4021,使用当前节点与银行约定的密钥对所述文件密文进行解密;
166.步骤s4022,判断是否解密成功得到文件明文;若是,则执行步骤s4023;若否,则执行步骤s4024;
167.步骤s4023,确定当前节点为目标理财公司节点;
168.步骤s4024,确定当前节点不是目标理财公司节点。
169.这里的确认依据为文件明文为银行节点使用银行与目标理财公司约定的密钥对交易申请单文件加密得到,因此只有目标理财公司对应的密钥才能解密成功。如果当前节点能解密成功则说明自己是正确的接收方,即目标理财公司节点,若不能解密成功则说明接收方(目标理财公司)为其他理财公司。
170.在一实施例中,如图9所示,步骤s404,所述根据所述摘要密文、银行的公钥以及预设的摘要算法对文件进行验证,得到验证结果,包括:
171.步骤s4041,使用银行的公钥对所述摘要密文进行解密,若解密成功得到第一文件摘要,则执行步骤s4042,若解密失败,则说明文件发送过程中遇到中间人攻击,数字签名验证失败,抛弃数据即可。这里银行的公钥与银行用于数字签名的私钥为一对密钥。
172.步骤s4042,根据所述文件明文以及预设的摘要算法得到第二文件摘要;这里预设的摘要算法应与银行节点生成文件摘要时所用的摘要算法一致。
173.步骤s4043,判断所述第一文件摘要与所述第二文件摘要是否一致;若是,则执行步骤s4044;若否,则执行步骤s4045;
174.步骤s4044,确定验证结果为验证通过;
175.步骤s4045,确定验证结果为验证不通过。
176.在一实施例中,如图10所示,步骤s405,基于所述验证结果更新待处理文件对应的交易成交结果,包括:
177.步骤s4051,判断所述验证结果是否为验证通过;若是,则执行步骤s4052;若否,则执行步骤s4055;
178.步骤s4052,读取所述文件明文(即交易申请单文件)中的交易信息,并通过智能合约确定交易是否成立;若是,则执行步骤s4053;若否,则执行步骤s4054。这里通过智能合约确定交易是否成立时,是根据客户购买的理财产品的当日日终价格,基于智能合约判断的。
179.步骤s4053,将交易成交结果更新为是;
180.步骤s4054,将交易成果更新为否;
181.步骤s4055,抛弃数据。
182.上述步骤s4053和步骤s4054实际上是目标理财公司节点将交易成交结果更新到加密文件所在的区块上。
183.除上述实施例所示的步骤之外,理财公司节点也可提供图6所示的关键字查询功能。只要查询端向理财公司节点发起查询请求即可。
184.本技术的基于区块链的银行代售理财产品交易方法,通过应用区块链技术解决了银行代售理财公司产品时,和外理财公司系统间文件传输链路中容易遭受恶意攻击和篡改的问题,不仅可以保护隐私,避免敏感信息泄露;同时,区块链的分布式的账单也可保证数据不可篡改性。
185.基于同一发明构思,本技术实施例还提供了基于区块链的银行代售理财产品交易装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于基于区块链的银行代售理财产品交易装置解决问题的原理与基于区块链的银行代售理财产品交易方法相似,因此基于区块链的银行代售理财产品交易装置的实施可以参见对应的基于区块链的银行代售理财产品交易方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
186.第三方面,本技术提供一种基于区块链的银行代售理财产品交易装置,与执行主体为银行节点的基于区块链的银行代售理财产品交易方法对应。如图11所示,该装置包括:
187.总数据密文生成模块501,用于获取客户的交易申请单文件并基于所述交易申请单文件和预设的加密算法得到总数据密文;所述总数据密文包括摘要密文以及文件密文,其中,所述摘要密文是使用银行的私钥对所述交易申请单文件对应的文件摘要进行数字签名得到的;所述文件密文是使用银行与目标理财公司约定的密钥对所述交易申请单文件加密得到的;
188.待处理文件生成模块502,用于将所述总数据密文以及区块头信息进行拼接得到待处理文件;
189.待处理文件发送模块503,用于将所述待处理文件发送至各理财公司节点,以使目标理财公司节点对所述待处理文件进行解密和验证,并基于解密和验证结果更新待处理文件对应的交易成交结果。
190.在一实施例中,如图12所示,所述总数据密文生成模块501包括:
191.文件摘要生成单元5011,用于根据所述交易申请单文件以及预设的摘要算法得到文件摘要;
192.摘要密文生成单元5012,用于使用银行的私钥对所述文件摘要进行数字签名,得到所述摘要密文;
193.文件密文生成单元5013,用于根据所述交易申请单文件以及银行与目标理财公司约定的密钥得到所述文件密文;
194.总数据密文生成单元5014,用于将所述摘要密文以及所述文件密文进行拼接得到所述总数据密文。
195.在一实施例中,如图13所示,所述总数据密文还包括关键字密文;
196.所述总数据密文生成模块501还包括关键字密文生成单元5015,用于:
197.获取客户的交易申请单文件并提取关键字,所述关键字仅与一笔交易对应;以及根据所述关键字以及预设的可搜索加密算法生成所述关键字密文;
198.所述总数据密文生成单元5014还用于:
199.将所述关键字密文、所述摘要密文以及所述文件密文进行拼接得到所述总数据密文。
200.在一实施例中,如图14所示,所述基于区块链的银行代售理财产品交易装置还包括查询模块504,用于:
201.对待搜索文件对应的关键字进行可搜索加密处理,得到关键字查询密文;
202.将所述关键字查询密文发送至共识节点,以使所述共识节点查询并返回所述关键字查询密文对应的文件密文以及交易成交结果。
203.本技术还提供一种基于区块链的银行代售理财产品交易装置,与执行主体为理财公司节点的基于区块链的银行代售理财产品交易方法对应。如图15所示,该装置包括:
204.文件分离模块601,用于接收来自银行节点的待处理文件并分离得到文件密文;以及当当前节点为目标理财公司节点时从所述待处理文件中分离得到摘要密文;
205.身份判断模块602,用于根据所述文件密文以及当前节点对应的理财公司与银行约定的密钥判断当前节点是否为目标理财公司节点;
206.验证模块603,用于当当前节点为目标理财公司节点时,根据所述摘要密文、银行的公钥以及预设的摘要算法对文件进行验证,得到验证结果;
207.交易成交结果更新模块604,用于基于所述验证结果更新待处理文件对应的交易成交结果;
208.其中,所述待处理文件是由银行节点对总数据密文以及区块头信息拼接得到的,所述总数据密文是由银行节点基于客户的交易申请单文件和预设的加密算法得到的,所述总数据密文包括摘要密文以及文件密文,其中,所述摘要密文是使用银行的私钥对所述交易申请单文件对应的文件摘要进行数字签名得到的;所述文件密文是使用银行与目标理财公司约定的密钥对所述交易申请单文件加密得到的。
209.在一实施例中,所述身份判断模块602具体用于:
210.使用当前节点与银行约定的密钥对所述文件密文进行解密;
211.判断是否解密成功得到文件明文;若是,则确定当前节点为目标理财公司节点;若
否,则确定当前节点不是目标理财公司节点。
212.在一实施例中,如图16所示,所述验证模块603包括:
213.摘要解密单元6031,用于使用银行的公钥对所述摘要密文进行解密,得到第一文件摘要;
214.摘要重生成单元6032,用于根据所述文件明文以及预设的摘要算法得到第二文件摘要;
215.一致性判断单元6033,用于判断所述第一文件摘要与所述第二文件摘要是否一致;
216.验证结果确定单元6034,用于若第一文件摘要与第二文件摘要一致,则确定验证结果为验证通过;若第一文件摘要与第二文件摘要不一致,则确定验证结果为验证不通过。
217.在一实施例中,所述交易成交结果更新模块604具体用于:
218.判断所述验证结果是否为验证通过;
219.若是,则读取所述文件明文中的交易信息,并通过智能合约确定交易是否成立;
220.若成立,则将交易成交结果更新为是;若不成立,则将交易成果更新为否。
221.本技术的基于区块链的银行代售理财产品交易装置,通过应用区块链技术解决了银行代售理财公司产品时,和外理财公司系统间文件传输链路中容易遭受恶意攻击和篡改的问题,不仅可以保护隐私,避免敏感信息泄露;同时,区块链的分布式的账单也可保证数据不可篡改性。
222.第四方面,本技术还提供一种计算机设备,参见图17,所述电子设备100具体包括:
223.中央处理器(processor)110、存储器(memory)120、通信模块(communications)130、输入单元140、输出单元150以及电源160。
224.其中,所述存储器(memory)120、通信模块(communications)130、输入单元140、输出单元150以及电源160分别与所述中央处理器(processor)110相连接。所述存储器120中存储有计算机程序,所述中央处理器110可调用所述计算机程序,所述中央处理器110执行所述计算机程序时实现上述实施例中的基于区块链的银行代售理财产品交易方法中的全部步骤。
225.第五方面,本技术的实施例还提供一种计算机可读存储介质,用于存储计算机程序,所述计算机程序可被处理器执行。所述计算机程序被处理器执行时实现本发明所提供的任一基于区块链的银行代售理财产品交易方法。
226.在一实施例中,本发明的实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的任一基于区块链的银行代售理财产品交易方法。
227.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
228.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
229.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
230.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
231.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1