首页> 中国专利> 用于查询名单和用于提供名单查询服务的方法及相关产品

用于查询名单和用于提供名单查询服务的方法及相关产品

摘要

本发明涉及一种用于查询名单和用于提供名单查询服务的方法及相关产品。用于查询名单的方法包括:根据椭圆曲线上的基点,将待查询内容转化为椭圆曲线上的第一点数据;利用第一私钥对第一点数据进行加密,以生成第一加密信息,并向名单服务端发送第一加密信息;接收来自于名单服务端对所述第一加密信息进行加密的第二加密信息,并利用所述第一私钥对所述第二加密信息进行解密,以得到第一解密信息;以及根据所述第一解密信息和来自于所述名单服务端的名单密文集合,确定所述待查询内容是否包含在目标名单中。根据本发明的方法,名单服务端无法获知待查询内容和查询结果,从而有效降低查询端的数据隐私和商业机密泄露的潜在风险。

著录项

  • 公开/公告号CN112989027A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 中金金融认证中心有限公司;

    申请/专利号CN202110137760.7

  • 发明设计人 李闯;吴凡;

    申请日2021-02-01

  • 分类号G06F16/34(20190101);G06F21/60(20130101);G06F21/62(20130101);G06Q20/40(20120101);G06Q40/04(20120101);

  • 代理机构11804 北京维昊知识产权代理事务所(普通合伙);

  • 代理人王颖慧;孙新国

  • 地址 100054 北京市西城区菜市口南大街平原里20号楼1-7、1-9、1-10

  • 入库时间 2023-06-19 11:29:13

说明书

技术领域

本发明一般地涉及信息安全技术领域。更具体地,本发明涉及一种用于查询名单和用于提供名单查询服务的方法及相关产品。

背景技术

在金融监管领域,特殊名单限制是一种很常见的监管场景,特殊名单可以包括存在违规行为的个人名单、企业名单或账号名单等,例如涉及电信诈骗的账户名单、失信人员名单、失信企业名单等。在一些应用场景中,例如电子银行转账交易时要判断收款账号是否涉及电信诈骗、查询个人或企业的征信失信行为、以及银行在对企业授信业务时常会涉及到对包括特殊名单在内的多种名单查询业务等。另外,在合作公司开展业务时也常常涉及到VIP(贵宾)名单或者白名单(例如合规的个人名单或企业名单等) 的查询需求。传统的名单查询方案是查询者将待查询内容直接发送到名单服务商,名单服务商根据待查询内容进行查询,然后将查询结果直接发送到查询者。在此过程中,名单服务商可以知晓全部待查询内容以及查询结果,因此对于查询者而言,存在着数据隐私泄露和安全风险的潜在问题。

发明内容

鉴于上面所提到的技术问题,本发明的技术方案在多个方面提供一种用于查询名单和用于提供名单查询服务的方法及相关产品。

在本发明的第一方面中,提供一种用于查询名单的方法,包括:根据椭圆曲线上的基点,将待查询内容转化为椭圆曲线上的第一点数据;利用第一私钥对所述第一点数据进行加密,以生成第一加密信息,并向名单服务端发送所述第一加密信息;接收来自于所述名单服务端对所述第一加密信息进行加密的第二加密信息,并利用所述第一私钥对所述第二加密信息进行解密,以得到第一解密信息;以及根据所述第一解密信息和来自于所述名单服务端的名单密文集合,确定所述待查询内容是否包含在目标名单中,其中所述名单密文集合为所述名单服务端对所述目标名单中的条目进行加密得到的密文集合。

在本发明的一个实施例中,根据椭圆曲线上的基点,将待查询内容转化为椭圆曲线上的第一点数据包括:对所述待查询内容进行加密,以获得所述待查询内容的第一密文;以及对所述第一密文和所述基点执行椭圆曲线运算,以获得所述第一点数据。

在本发明的另一个实施例中,对所述待查询内容进行加密包括:对所述待查询内容执行摘要运算。

在本发明的又一个实施例中,根据所述第一解密信息和来自于所述名单服务端的名单密文集合,确定所述待查询内容是否包含在目标名单中包括:响应于所述名单密文集合包括布隆过滤集合,对所述第一解密信息执行哈希映射;以及根据所述第一解密信息的哈希映射结果,在所述布隆过滤集合中执行匹配操作,以确定所述第一解密信息是否包含在所述名单密文集合中。

在本发明的第二方面中,提供一种用于提供名单查询服务的方法,包括:根据椭圆曲线上的基点,将目标名单中的每个条目转化为所述椭圆曲线上的第二点数据;利用第二私钥对每个第二点数据进行加密,以生成包含每个第二点数据的加密结果的名单密文集合,并将所述名单密文集合发送给查询端;以及响应于接收到来自所述查询端的第一加密信息,利用所述第二私钥对所述第一加密信息进行加密,并将生成的第二加密信息发送给所述查询端。

在本发明的一个实施例中,根据椭圆曲线上的基点,将目标名单中的每个条目转化为所述椭圆曲线上的第二点数据包括:对所述条目进行加密,以获得所述条目的第二密文;以及对所述第二密文和所述基点执行椭圆曲线运算,以获得所述第二点数据。

在本发明的另一个实施例中,对所述条目进行加密包括:对所述条目执行摘要运算。

在本发明的又一个实施例中,在将所述名单密文集合发送给查询端之前,所述方法还包括:对所述名单密文集合中的每个加密结果执行哈希映射,以生成所述名单密文集合的布隆过滤集合;以及将所述名单密文集合发送给查询端包括:将所述布隆过滤集合发送给所述查询端。

在本发明的第三方面中,提供一种用于查询名单的方法,包括:响应于名单服务端为第一信任级别,通过加密通道将待查询内容发送给所述名单服务端;响应于所述名单服务端为第二信任级别,将所述待查询内容和生成的随机数进行拼接并执行摘要运算,以生成待查询摘要,以及将所述待查询摘要和所述随机数发送给所述名单服务端;或者响应于名单服务端为第三信任级别,执行如本发明的第一方面中任一所述的方法;其中所述第一信任级别、所述第二信任级别和所述第三信任级别的信任度依次降低。

在本发明的第四方面中,提供一种用于提供名单查询服务的方法,包括:响应于接收到通过加密通道传递的待查询内容,在目标名单中对所述待查询内容执行查询操作,并将查询结果发送给查询端;响应于接收到来自所述查询端的待查询摘要和相关的随机数,将所述目标名单中的条目与所述随机数进行拼接并执行摘要运算,将生成的摘要结果与所述待查询摘要进行匹配,以便将匹配结果发送给所述查询端;或者响应于接收到来自所述查询端的第一加密信息,执行如本发明的第二方面中任一所述的方法。

在本发明的第五方面中,提供一种电子设备,包括,至少一个处理器;存储器,其存储有程序指令,当所述程序指令由所述至少一个处理器执行时,使得所述电子设备执行根据本发明的第一方面的任意一项、或者本发明的第二方面的任意一项、或者本发明的第三方面或本发明的第四方面所述的方法。

在本发明的第六方面中,提供一种计算机可读存储介质,其存储有用于查询名单和/或用于提供名单查询服务的程序,当所述程序由处理器来运行时,执行根据本发明的第一方面的任意一项、或者本发明的第二方面的任意一项、或者本发明的第三方面或本发明的第四方面所述的方法。

通过上述对本发明的技术方案及其多个实施例的描述,本领域技术人员可以理解本发明的用于查询名单的方法可以基于椭圆曲线对待查询内容进行可交换加密,并可以在名单服务端提供的名单密文集合中确定待查询内容是否在目标名单中,在此查询过程中,名单服务端不知道待查询内容和查询结果,从而能够有效降低查询端的数据隐私和商业机密泄露的潜在风险。在一些实施例中,本发明还提供了区分信任级别的用于名单查询的实施方式,通过针对不同信任级别的名单服务端,执行不同的名单查询方式,能够满足用户的不同查询需求。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:

图1-图2是示出根据本发明实施方式的多个应用场景示意图;

图3是示出根据本发明实施方式的用于查询名单的方法流程图;

图4是示出根据本发明实施方式的用于提供名单查询服务的方法流程图;

图5是示出根据本发明实施方式的查询名单的交互过程示意图;

图6是示出根据本发明实施方式的分级处理的用于查询名单的方法流程图;

图7是示出根据本发明实施方式的分级服务的用于提供名单查询服务的方法流程图;

图8是示出根据本发明实施方式的第二信任级别中查询名单的交互过程示意图;以及

图9是示出根据本发明实施方式的电子设备的示意图。

具体实施方式

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

应当理解,本发明的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本发明的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本发明。如在本发明说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

本发明针对现有技术的不足,提供了一种全新的可实现的解决方案。特别的,本发明的用于查询名单的方法可以基于椭圆曲线对待查询内容进行加密,并可以通过查询端的自助查询方式获得查询结果,使得名单服务端无法获知待查询内容和查询结果,从而能够对查询端的数据隐私和商业机密起到有效的保护作用。本发明还提供了区分信任级别的查询名单的方法,以满足不同安全需求的查询请求。

通过下面的描述,本领域技术人员可以理解的是,本发明还在多个实施例中提供了用于提供名单查询服务的方法,例如可以基于椭圆曲线对目标名单的条目进行加密,以生成名单密文集合。名单服务端可以将名单密文集合整体发送给一个或多个查询端,甚至可以在区块链中共享,而无需担心名单内容的泄露。在另一些实施例中,名单服务端可以根据查询端的安全需求提供不同信任级别的名单查询服务,以实现提供服务的灵活性和适配性,不仅可以避免服务资源的浪费,还能够加强商业可行性以及有利于提高客户的接受程度和覆盖范围等。下面结合附图来详细描述本发明的具体实施方式。

首先参考图1详细阐述本发明实施例的用于查询名单和用于提供名单查询服务的方法及相关产品的应用场景。

图1是示出根据本发明实施方式的一个应用场景示意图。需要说明的是,图1仅为可以应用本发明实施方式的应用场景的示例,以帮助本领域技术人员理解本发明的技术内容,并不意味着本发明实施方式不可以用于其他设备、系统、环境或场景。

如图1中所示,在一些应用场景中,为了满足监管要求,一个或多个金融企业102往往需要通过名单服务端101来查询第三方(即除金融企业 102和名单服务端101以外的)特殊名单,例如查询收款账号是否涉及电信诈骗(即收款账号是否在第三方特殊名单中)等。然而,金融企业102 可能不希望名单服务端101或服务网了解自己的每笔业务,而名单服务端 101可能也不希望金融企业102知晓自己完整的名单信息。

图2是示出根据本发明实施方式的另一个应用场景示意图。如图2中所示,在另一些应用场景中,基于区块链技术,很多创新的联盟链技术已经发展起来并投入到实际工业应用中,这样的技术同样适合于金融领域。例如图示中可以表示多个合作企业之间形成的联盟链、或者多个银行组成的数据共享链等。当涉及到查询名单数据的需求时,采用本发明的用于查询名单的方法和用于提供名单查询服务的方法,名单列表甚至可以在竞争对手间放心的“共享”,无论对于名单拥有者或是查询者而言,都无需担心商业秘密的泄露。

下面结合图1和图2所示的应用场景,参考图3来描述根据本发明示例性实施方式的用于查询名单的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

图3是示出根据本发明实施方式的用于查询名单的方法流程图。如图 3中所示,方法300可以包括:在步骤302中,可以根据椭圆曲线上的基点,将待查询内容转化为椭圆曲线上的第一点数据。在一些实施例中,椭圆曲线可以由离散的多个点构成。椭圆曲线可以通过椭圆曲线方程来表示。第一点数据可以是椭圆曲线上的点的坐标数据。基点为椭圆曲线上的一个点。在另一些实施例中,基点可以为椭圆曲线上的任意一个点。在又一些实施例中,将待查询内容转化为椭圆曲线上的第一点数据可以包括,将待查询内容映射到椭圆曲线上的一个点,以获得该一个点的坐标数据作为第一点数据。在一些实施例中,可以将待查询内容映射到椭圆曲线的横坐标上,并根据该横坐标的数据获取椭圆曲线上对应点的纵坐标数据,以便将该纵坐标数据作为第一点数据。

在本发明的一个实施例中,根据椭圆曲线上的基点,将待查询内容转化为椭圆曲线上的第一点数据可以包括:对待查询内容进行加密,以获得待查询内容的第一密文;以及对第一密文和基点执行椭圆曲线运算,以获得第一点数据。在一些实施例中,对待查询内容进行加密可以包括对待查询内容进行非对称加密或者对称加密。在另一些实施例中,对待查询内容进行加密可以包括:对待查询内容执行摘要运算。在又一些实施例中,椭圆曲线运算可以包括椭圆曲线乘法。为了便于理解,下面将结合本发明实施例的第一点数据的计算公式进行示例性说明。

m=h*G (公式一)

公式一中的m表示第一点数据,h表示对待查询内容执行摘要运算得到的第一密文,G表示椭圆曲线上的基点,*表示椭圆曲线乘法。

接着,在步骤304中,可以利用第一私钥对第一点数据进行加密,以生成第一加密信息,并向名单服务端发送第一加密信息。第一私钥可以是查询端的私钥。在一些实施例中,第一私钥可以随机产生。在另一些实施例中,查询端查询不同的待查询内容可以使用不同的第一私钥。在又一些实施例中,查询端查询不同的待查询内容可以使用相同的第一私钥。

然后,流程可以前进到步骤306中,方法300可以接收来自于名单服务端对第一加密信息进行加密的第二加密信息,并利用第一私钥对第二加密信息进行解密,以得到第一解密信息。为了便于理解步骤304和步骤306 的原理和加密解密过程,下面将结合具体计算公式进行示例性的描述。

在一些实施例中,利用第一私钥对第一点数据进行加密得到第一加密信息可以用如下公式进行表示:

C

其中,公式二中的Enc可以表示加密操作,C表示密文,d1表示第一私钥,m表示第一点数据,*表示加密运算(例如椭圆曲线乘法)。

进一步地,在另一些实施例中,对第一加密信息进行解密可以表示为:

Dec

其中,公式三中的Dec可以表示解密操作,C表示密文,d1表示第一私钥,m表示第一点数据,d1

类似地,在一些实施例中,名单服务端对第一加密信息进行加密得到的第二加密信息可以表示为:Enc

根据上面的描述可知,第一加密信息和第二加密信息的加密操作可以均满足交换律,即:

Enc

根据公式四和公式三所示的原理,可以推导出利用第一私钥对第二加密信息进行解密,以得到第一解密信息的过程为:

Dec

如图3中进一步示出的,在步骤308中,方法300可以根据第一解密信息和来自于名单服务端的名单密文集合,确定待查询内容是否包含在目标名单中,其中名单密文集合为名单服务端对目标名单中的条目进行加密得到的密文集合。在一些实施例中,假设目标名单中的条目转化的第二点数据以x来表示,包含所有第二点数据的目标名单以X来表示,当目标名单中包括多个条目时,多个条目的第二点数据可以分别用x1、x2、x3等来表示。在另一些实施例中,对一个条目的第二点数据x1进行加密可以得到密文C

在一些实施例中,确定待查询内容是否包含在目标名单中可以通过确定公式五中得到的第一解密信息Enc

在本发明的又一个实施例中,根据第一解密信息和来自于名单服务端的名单密文集合,确定待查询内容是否包含在目标名单中可以包括:响应于名单密文集合包括布隆过滤集合,对第一解密信息执行哈希映射;以及根据第一解密信息的哈希映射结果,在布隆过滤集合中执行匹配操作,以确定第一解密信息是否包含在名单密文集合中。

在一些实施例中,哈希映射可以包括通过一个或多个哈希运算进行映射,其中每次哈希运算可以产生一个哈希值,每个哈希值可以对应于位数组上的一个位置点。对第一解密信息执行哈希映射可以映射到位数组上的一个或多个位置点。在一些应用场景中,布隆过滤集合包括的元素在位数组上对应的位置点上标记为1,以对第一解密信息执行哈希映射包括三个哈希运算为例,则对第一解密信息的哈希映射结果可以包括位数组上对应的三个位置点,如果三个位置点的其中任意一个位置点不为1,则可以判断第一解密信息不在布隆过滤集合中,即第一解密信息不包含在名单密文集合中;反之,如果三个位置点都为1,则可以判断第一解密信息在布隆过滤集合中,即第一解密信息包含在名单密文集合中。判断哈希映射结果的位置点与布隆过滤集合对应的位置点是否相同的过程即可以理解为在布隆过滤集合中执行的一种匹配操作。

以上结合图3对根据本发明实施例的用于查询名单的方法进行了示例性的描述,本领域技术人员可以理解的是,根据上面描述的方法可以无需名单服务端提供查询结果,而是可以在查询端自主获得查询结果,这样的操作既能够保证名单服务端无法获知待查询内容,还能够保证名单服务端无法获知查询结果,对于查询端而言,能够实现有效保护数据隐私和提高安全性的技术效果。相应的,本发明还为名单服务端提供了用于提供名单查询服务的方法,下面将结合图4进行示例性的描述。

图4是示出根据本发明实施方式的用于提供名单查询服务的方法流程图。如图4中所示,方法400可以包括:在步骤402中,可以根据椭圆曲线上的基点,将目标名单中的每个条目转化为椭圆曲线上的第二点数据。目标名单可以是查询端需要查询的名单,例如收款账号是否涉及电信诈骗的名单、查询个人或企业的征信失信行为的名单等。根据应用场景的不同,目标名单可以包括特殊名单、白名单、VIP名单等中的一种或多种类型。目标名单中的条目可以包括例如个人或者企业的相关信息等。目标名单中可以包括一个或多个条目。

在本发明的一个实施例中,根据椭圆曲线上的基点,将目标名单中的每个条目转化为椭圆曲线上的第二点数据可以包括:对条目进行加密,以获得条目的第二密文;以及对第二密文和基点执行椭圆曲线运算,以获得第二点数据。在本发明的另一个实施例中,对条目进行加密可以包括:对条目执行摘要运算。

可以理解的是,将目标名单中的每个条目转化为椭圆曲线上的第二点数据的实施方式可以与前文中结合图3的步骤302中所描述的方式相同或相似,此处不再赘述。根据上面的描述可知,在对目标名单中的每个条目执行步骤402的操作后可以获得目标名单中所有条目对应的第二点数据。

接着,在步骤404中,方法400可以利用第二私钥对每个第二点数据进行加密,以生成包含每个第二点数据的加密结果的名单密文集合,并将所述名单密文集合发送给查询端。第二私钥可以是名单服务端的私钥。在一些实施例中,第二私钥可以随机产生。在另一些实施例中,名单服务端对目标名单中所有条目的第二点数据可以使用相同的第二私钥进行加密。在又一些实施例中,名单服务端对不同的目标名单可以使用不同的第二私钥进行加密。在一些实施例中,名单密文集合中可以包括多个第二点数据的加密结果,即多个条目的加密结果。

在一些应用场景中,步骤402和步骤404可以称为初始化操作。该初始化操作可以在例如业务空闲时间、目标名单发生改变、或者查询端查询目标名单的查询次数已经达到限定值时进行,可以由名单服务端向查询端发起请求,要求查询端进行初始化操作或者根据需要强制执行初始化操作,以对名单密文集合进行更新。例如,在一些实施例中,当查询端查询目标名单的查询次数达到目标名单中条目数量的百分之一时,可以强制初始化操作,这样的操作可以防止名单服务端及其目标名单中的信息被查询端或竞争对手猜测到,以便于保证名单服务端的信息安全。在另一些实施例中,对名单密文集合进行更新的初始化操作可以包括例如更换第二私钥、改变椭圆曲线、改变基点或者增减条目等方式实现。

在本发明的又一个实施例中,在将名单密文集合发送给查询端之前,方法400还可以包括:对名单密文集合中的每个加密结果执行哈希映射,以生成名单密文集合的布隆过滤集合;以及将名单密文集合发送给查询端可以包括:将布隆过滤集合发送给查询端。在一些实施例中,可以将每个加密结果通过哈希映射到位数组上的一个或多个位置点,布隆过滤集合可以为名单密文集合中所有加密结果映射的位置点的集合。在另一些实施例中,生成布隆过滤集合可以通过使用布隆过滤器来实现。

根据本实施例的使用布隆过滤集合的方式,可以有效减少初始化操作的数据传输量,例如对于100万级别的目标名单,使用布隆过滤集合的传输量仅在10兆(M)左右。进一步地,由于布隆过滤集合可以是例如一些位置点的集合,而不能逆向推测出布隆过滤集合中包括多少元素,因此使用布隆过滤集合可以隐藏掉目标名单中的条目数量等敏感信息,从而能够对目标名单形成更有力的保护。

然后,流程可以前进到步骤406中,响应于接收到来自查询端的第一加密信息,利用第二私钥对第一加密信息进行加密,并将生成的第二加密信息发送给查询端。步骤406基于的原理和具体实现方式已经在前文中结合图3中的步骤306进行了描述,此处不再赘述。

以上结合图4对根据本发明实施例的用于提供名单查询服务的方法进行了描述,本领域技术人员可以理解的是,图中所示的流程和上面的描述是示例性的而非限制性的,例如步骤402和步骤404可以不限于在步骤406 之前执行,也可以根据需要与步骤406同时执行或者在步骤406之后执行。为了能够更好的理解图3和图4所示方法的交互方式以及实际应用情况,下面将结合图5进行示例性的描述。

图5是示出根据本发明实施方式的查询名单的交互过程示意图。如图 5中所示,在实际工程实现中,对于查询端501和名单服务端502之间的交互过程可以分为初始化阶段503(虚线框示出)和查询阶段504(虚线框示出)。在初始化阶段503,名单服务端502可以执行如图4中所示步骤402和步骤404所述的方法,向查询端发送名单密文集合Enc

在查询阶段504中,查询端501可以向名单服务端502发送对待查询内容进行加密的第一加密信息Enc

在一些场景中,在初始化阶段503,名单服务端502(例如服务器) 的计算复杂度可以为O(n),且传输数据量可以为O(n)。在查询阶段504,查询端501和名单服务端502(例如服务器)的计算复杂度可以均为1,且传输数据量可以为64字节。在另一些实施例中,初始化阶段503和查询阶段504中的通信过程可以均采用加密通道进行传输,例如可以均使用国密安全套接字协议(“SSL”)链接。

进一步地,对于名单服务端502,其对外公布的信息为名单密文集合,由于第二私钥由名单服务端502自己掌握,因此只要第二私钥不泄露,名单密文集合信息就不会泄露。为了进一步增强安全性,初始化操作可以定期进行。对于查询端501的客户而言,由于名单服务端502公布的仅有查询元素的密文,因此查询端501使用自己的第一私钥对查询内容进行加密,名单服务端502无法获知查询内容,并且无法获知查询内容是否在目标名单中。在整个信息交互过程中,依托于椭圆曲线的对数难题,查询端501 只能获取到目标名单中是否包含待查询内容的信息,不能获取到整个目标名单的信息,而名单服务端502不能获取任何信息,因此根据本发明实施例的用于查询名单和用于提供名单查询服务的方法能够提供一种双方安全甚至多方安全的名单查询解决方案,具有安全性高和可靠性强等特点。

为了适应于更多应用场景和满足更多用户需求,本发明还在上述技术方案和实施例的基础上,提供了一种能够分级查询名单的方法和分级提供名单查询服务的方法,下面将结合图6-图8进行详细描述。

图6是示出根据本发明实施方式的分级处理的用于查询名单的方法流程图。如图6中所示,方法600可以包括:在步骤610中,可以响应于名单服务端为第一信任级别,通过加密通道将待查询内容发送给名单服务端。本文中所述的第一信任级别、第二信任级别和第三信任级别的信任度可以依次降低。在一些应用场景中,查询端对业务的保密需求越强,对名单服务端的信任程度越低,可能采用的信任级别越低,相应的查询操作安全性更高且名单服务端收取的查询费用越高。

在第一信任级别下,因查询端对名单服务端比较信任,不担心名单服务端知晓待查询内容,因此可以采用步骤610的查询方式,可以在查询端和名单服务端之间建立加密通道,以便向名单服务端发送待查询内容。在一些实施例中,加密通道可以包括例如国密SSL链接等。在另一些实施例中,也可以根据需要对待查询内容进行对称加密或者非对称加密,然后再通过加密通道发送给名单服务端。

接着,响应于名单服务端为第二信任级别,可以执行步骤620,在步骤620中可以包括:步骤621中,方法600可以将待查询内容和生成的随机数进行拼接并执行摘要运算,以生成待查询摘要。在一些实施例中,摘要运算可以包括哈希运算,执行哈希运算可以理解为计算哈希值的过程。在另一些实施例中,随机数可以根据待查询内容而生成,其可以与待查询内容具有一定的相关性。在又一些实施例中,随机数可以与待查询内容没有相关性。在一些实施例中,查询端查询不同的待查询内容可以使用不同的随机数。在另一些实施例中,查询端查询不同的待查询内容可以使用相同的随机数。在又一些实施例中,随机数可以是随机生成的字符串。待查询内容与随机数拼接的方式可以包括:随机数拼接于待查询内容的前面、中间和后面中的至少一处。相比于直接对待查询内容执行摘要运算,步骤 621所述的方法具有更高的安全性。

如图6中进一步示出的,步骤620还可以包括步骤622,在步骤622 中,可以将待查询摘要和随机数发送给名单服务端。在一些实施例中,该发送过程可以通过加密通道进行发送。

然后,流程可以前进到步骤630中,方法600可以响应于名单服务端为第三信任级别,执行如本发明的第一方面中任一所述的方法。本发明的第一方面中所述的方法已经在前文中结合图3进行了详细的描述,此处不再赘述。

以上结合图6对根据本发明实施例的用于查询名单的方法进行了示例性的描述,本领域技术人员可以理解的是,图中所示的流程和上面的描述是示例性的而非限制性的,例如步骤610、步骤620和步骤630的执行顺序可以不限于图示中的箭头方向执行,也可以根据需要同时执行或者任意顺序执行。相应的,本发明还为名单服务端提供了用于提供名单查询服务的方法,下面将结合图7进行示例性的描述。

图7是示出根据本发明实施方式的分级服务的用于提供名单查询服务的方法流程图。如图7中所示,方法700可以包括:在步骤702中,可以响应于接收到通过加密通道传递的待查询内容,在目标名单中对待查询内容执行查询操作,并将查询结果发送给查询端。在一些实施例中,可以响应于第一信任级别的查询请求,以及接收到通过加密通道传递的待查询内容,方法700可以在目标名单中对待查询内容执行查询操作,并将查询结果发送给查询端。将查询结果发送给查询端也可以通过加密通道发送。查询结果可以包括待查询内容包含在目标名单中或者不包含在目标名单中。

接着,在步骤704中,方法700可以响应于接收到来自查询端的待查询摘要和相关的随机数,将目标名单中的条目与随机数进行拼接并执行摘要运算,将生成的摘要结果与待查询摘要进行匹配,以便将匹配结果发送给查询端。在一些实施例中,可以响应于第二信任级别的查询请求,执行步骤704的操作。条目与随机数拼接的方式可以包括:随机数拼接于条目的前面、中间和后面中的至少一处。将条目与随机数执行摘要运算可以与前文中结合图6中步骤621所描述的摘要运算相同或相似,此处不再赘述。在一些应用场景中,可以对目标名单中的条目逐个执行与随机数拼接、摘要运算、以及与待查询摘要进行匹配的操作,直至查询到与待查询摘要匹配的摘要结果,或者遍历目标名单中的所有条目得到的摘要结果与待查询摘要均不匹配,则可以停止运算和匹配操作。匹配结果可以包括匹配成功 (即待查询内容在目标名单中)和匹配失败(即待查询内容不在目标名单中)的一种。在第二信任度级别下,当待查询内容不在目标名单中时,名单服务端无法知道其具体内容,从而可以实现有条件的信息安全。

然后,流程可以前进到步骤706中,方法700可以响应于接收到来自查询端的第一加密信息,执行如本发明的第二方面中任一所述的方法。本发明的第二方面中所述的方法已经在前文中结合图4进行了详细的描述,此处不再赘述。

以上结合图7对根据本发明实施例的用于提供名单查询服务的方法进行了描述,本领域技术人员可以理解的是,图中所示的流程和上面的描述是示例性的而非限制性的,例如步骤702、步骤704和步骤706的执行顺序可以不限于图示中的箭头方向执行,也可以根据需要同时执行或者任意顺序执行。为了能够更好的理解图6和图7所示第二信任级别下的名单查询交互方式以及实际应用情况,下面将结合图8进行示例性的描述。

图8是示出根据本发明实施方式的第二信任级别中查询名单的交互过程示意图。如图8中所示,在实际工程实现中,查询端可以生成随机数r,并可以将待查询内容和r拼接进行密码学摘要运算,得到待查询摘要(例如哈希值)T;接着,查询端801可以将待查询摘要T和随机数r发送给名单服务端802。名单服务端802可以使用r逐一对目标名单中的条目执行与待查询内容相同的运算,并可以逐一将得到的摘要结果与待查询摘要进行对比。如果得到的摘要结果与待查询摘要相等,则向查询端801返回待查询内容是包含在目标名单中的查询结果;如果遍历目标名单中的所有条目,均没有得到相等的匹配结果,则向查询端801返回待查询内容不包含在目标名单中的查询结果。

进一步地,通过对第二信任级别的名单查询信息交互方式的安全性分析,可以发现本方案可能的攻击方式为,通过服务器穷举所有可能的输入以暴力破解有可能的待查询内容,但是在银行卡特殊名单等场景中,可能数据为几十亿量级,并且业务发生频繁,服务器的攻击将耗费巨大的计算资源,可以说此第二信任级别下的实施方式达到了有条件的安全性。在业务不涉及重大商业机密,且输入域空间很大时,可以认为此方法是安全的。

在本发明的第五方面中,提供一种电子设备,可以包括,至少一个处理器;存储器,其存储有程序指令,当程序指令由至少一个处理器执行时,使得电子设备执行根据本发明的第一方面的任意一项、或者本发明的第二方面的任意一项、或者本发明的第三方面或本发明的第四方面所述的方法。

图9是示出根据本发明实施方式的电子设备的示意图。该电子设备 900可以用于查询名单和/或用于提供名单查询服务等操作,以实现前述结合图1-图8所述的本发明的用于查询名单和/或用于提供名单查询服务的技术方案。

如图9中所示,电子设备900可以包括中央处理器CPU 901,其可以是通用CPU、专用CPU或者其他信息处理以及程序运行的执行单元。进一步,电子设备900还可以包括大容量存储器902和只读存储器ROM 903,其中大容量存储器902可以配置用于存储各类数据,包括例如用于查询名单、用于提供名单查询服务的各种程序,ROM 903可以配置成存储对于电子设备900的用于查询名单、用于提供名单查询服务的装置中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统所需的数据。

进一步,电子设备900还可以包括其他的硬件或组件,例如示出的图形处理器(“GPU”)904和现场可编程逻辑门阵列(“FPGA”)905等。可以理解的是,尽管在电子设备900中示出了多种硬件或组件,但这里仅仅是示例性的而非限制性的,本领域技术人员可以根据实际需要增加或移除相应的硬件。

本发明的电子设备900还可以包括通信接口906,从而可以通过该通信接口906连接到局域网/无线局域网(LAN/WLAN),进而可以通过 LAN/WLAN连接到例如控制终端或连接到因特网(“Internet”)。替代地或附加地,本发明的电子设备900还可以通过通信接口906基于无线通信技术直接连接到因特网或蜂窝网络,例如基于第三代(“3G”)、第四代(“4G”)或第5代(“5G”)的无线通信技术。在一些应用场景中,本发明的电子设备900还可以根据需要访问外部网络的服务器以及可能的数据库,以便获得各种已知信息、数据和模块等,并且可以远程地存储检测的各种数据。

本发明的电子设备900的上述CPU 901、大容量存储器902、只读存储器(“ROM”)903、GPU 904、FPGA 905和通信接口906可以通过总线907相互连接,并且通过该总线907与外围设备实现数据交互。在一个实施例中,通过该总线907,CPU 901可以控制电子设备900中的其他硬件组件及其外围设备。

在工作中,本发明的电子设备900的处理器CPU 901或图形处理器 GPU 904可以通过总线907接收数据,并调取存储于存储器902中的计算机程序指令或代码(例如涉及用于查询名单和/或用于提供名单查询服务的代码),以对接收到的待检测图像进行检测。具体地,CPU 901或GPU 904 可以执行判断信任级别的操作等。接着,处理器CPU 901或GPU 904可以根据信任级别,执行相应的用于查询名单和/或用于提供名单查询服务的方法。在CPU901或GPU 904通过执行用于查询名单和/或用于提供名单查询服务的程序确定了查询结果后,可以通过例如通信接口906将所述查询结果上传至网络,例如远程的数据库或者外接的控制终端等。

还应当理解,本发明示例的执行指令的任何模块、单元、组件、服务器、计算机、终端或设备可以包括或以其他方式访问计算机可读介质,诸如存储介质、计算机存储介质或数据存储设备(可移除的)和/或不可移动的)例如磁盘、光盘或磁带。计算机存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性,可移动和不可移动介质,例如计算机可读指令、数据结构、程序模块或其他数据。

在本发明的第六方面中,提供一种计算机可读存储介质,其存储有用于查询名单和/或用于提供名单查询服务的程序,当所述程序由处理器来运行时,执行根据本发明的第一方面的任意一项、或者本发明的第二方面的任意一项、或者本发明的第三方面或本发明的第四方面所述的方法。

计算机可读存储介质可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(DynamicRandom Access Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等,或者可以用于存储所需信息并且可以由应用程序、模块或两者访问的任何其他介质。任何这样的计算机存储介质可以是设备的一部分或可访问或可连接到设备。本发明描述的任何应用或模块可以使用可以由这样的计算机可读介质存储或以其他方式保持的计算机可读/可执行指令来实现。

通过上面对本发明的技术方案以及多个实施例的描述,本领域技术人员可以理解的是,本发明的用于查询名单的方法可以基于椭圆曲线对待查询内容进行两次加密,由于两次加密符合可交换特性,因此查询端可以实现在名单密文集合中的自行查询操作,使得名单服务端不知道待查询内容和查询结果,从而提高了查询端的数据隐私和商业机密的保护力度和安全性。本发明的用于提供名单查询服务的方法可以基于椭圆曲线和可交换加密方式为查询端提供名单密文集合,可以实现在不知道查询内容的情况下提供查询服务。

在一些实施例中,本发明还提供了分信任级别的用于查询名单的方法和用于提供名单查询服务的方法,可以满足用户的多种查询需求,并且名单服务端可以根据每一笔业务的保密需求,为查询端选择个性化的名单查询服务,并能够根据服务成本获得不同的收益。

虽然本发明的实施例如上,但所述内容只是为便于理解本发明而采用的实施例,并非用以限定本发明的范围和应用场景。任何本发明所述技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号