数据调用方法、系统、装置、设备和介质
文献发布时间:2023-06-19 19:37:02
技术领域
本公开涉及信息安全领域,更具体地,涉及一种数据调用方法、系统、装置、设备、介质和程序产品。
背景技术
随着互联网的发展,数据量级急剧增加。由于提供的业务不同,各个机构存储了用户办理该机构业务而产生的用户数据,因此,要形成完整的用户画像,需要一个或多个机构提供用户数据。例如金融机构在反欺诈场景中用于建模的数据基本上都是来自机构内部留存的用户敏感身份数据,数据来源单一的单模态数据,难以挖掘深层次的欺诈特征。
然而,因为各机构的商业保密要求和用户数据保护需求,若调用方去调用其他合作方的数据,可能会导致实际调用数据、调用目的、合作方数据以及用户信息泄露等安全问题。
发明内容
鉴于上述问题,本公开提供了数据调用方法、系统、装置、设备、介质和程序产品。
本公开实施例的一个方面,提供了一种数据调用方法,用于调用方,包括:生成包括N条索引信息和合作方信息的第一调用请求,所述N条索引中至少部分索引用于标识待调用数据,所述合作方适于提供至少部分所述待调用数据;将所述第一调用请求发送至中间方,所述中间方被配置为将所述N条索引和N维向量发送至所述合作方,所述N维向量的各行值与各条索引一一对应,所述N维向量中包括基于调用方公钥得到的M维向量和基于中间方公钥得到的N-M维向量,N、M大于或等于1,M小于或等于N;接收所述合作方返回的第一加密数据,所述合作方被配置为根据所述N条索引配置N条调用数据,并使用所述N维向量一一对应地加密所述N条调用数据得到所述第一加密数据;解密所述第一加密数据得到由所述M维向量加密的M条调用数据。
根据本公开的实施例,在将所述第一调用请求发送至中间方之前,还包括:确定所述待调用数据的S条索引,S大于或等于1,且小于或等于N;基于所述待调用数据确定混淆数据;确定所述混淆数据的N-S条索引,以得到所述N条索引。
根据本公开的实施例,所述得到所述N条索引包括:将所述N-S条索引与所述S条索引中各条索引之间的顺序随机排列,其中,N-S大于或等于S的0.5倍。
根据本公开的实施例,在将所述第一调用请求发送至中间方之前,还包括:与所述中间方和/或所述合作方通过预设安全模式发起会话,其中,所述会话用于确定数据传输控制规则,所述数据传输控制规则包括以下至少一项规则:传输方式、传输数据块的大小与数量、传输时间、传输中断与恢复处置、所述待调用数据的具体内容摘要、调用有效时间段和调用方式。
根据本公开的实施例,所述解密所述第一加密数据包括:利用调用方私钥解密所述第一加密数据,得到第二加密数据,其中,所述合作方被配置为使用所述N维向量一一对应地加密所述N条调用数据得到所述第二加密数据,利用所述调用方公钥对所述第二加密数据继续加密得到所述第一加密数据;利用所述调用方私钥解密所述第二加密数据,得到所述M条调用数据。
根据本公开的实施例,所述调用方被配置为向至少一个所述合作方调用数据,在获得每个所述合作方的所述M条调用数据之后,还包括:将所述N条索引作为数据标识构造数据库结构;根据所述数据库结构存储每个所述合作方的所述M条调用数据。
根据本公开的实施例,所述调用方包括金融机构,所述M条调用数据包括用户数据,在得到所述M条调用数据之后,还包括:将来自每个所述合作方的所述用户数据输入至黑灰产判别模型,得到所述用户的黑灰产判别结果。
本公开实施例的另一方面提供了一种数据调用方法,用于中间方,包括:接收调用方发送的第一调用请求,所述第一调用请求包括N条索引信息和合作方信息,所述N条索引中至少部分索引用于标识所述调用方的待调用数据,所述合作方适于提供至少部分所述待调用数据;将所述N条索引与所述合作方的允许调用数据进行比对,确定所述合作方中存在的M条索引,N、M大于或等于1,M小于或等于N;生成与各条索引一一对应的N维向量的各行值,所述N维向量包括基于调用方公钥得到的M维向量和基于中间方公钥得到的N-M维向量,所述M维向量的各行值与所述M条索引一一对应;将第二调用请求发送至所述合作方,所述第二调用请求包括N条索引信息和N维向量信息。
本公开实施例的另一方面提供了一种数据调用方法,用于合作方,包括:接收中间方发送的第二调用请求,所述第二调用请求包括N条索引信息和N维向量信息,所述N维向量的各行值与各条索引一一对应,所述N维向量中包括所述中间方基于调用方公钥得到的M维向量和基于中间方公钥得到的N-M维向量,N、M大于或等于1,M小于或等于N;根据所述N条索引配置N条调用数据,其中,所述N条索引中至少部分索引用于标识调用方的待调用数据,所述N条调用数据中包括所述合作方本地存在的M条调用数据;使用所述N维向量一一对应地加密所述N条调用数据得到所述第一加密数据;将所述第一加密数据发送至所述调用方,所述调用方被配置为解密所述第一加密数据得到由所述M维向量加密的M条调用数据。
本公开实施例的另一方面提供了一种第三方数据调用系统,包括:调用方,用于执行如上任一项所述的用于调用方的方法;中间方,用于执行如上所述的用于中间方的方法;至少一个合作方,每个所述合作方用于执行如上所述的用于中间方的方法。
本公开实施例的另一方面提供了一种数据调用装置,用于调用方,包括:请求生成模块,用于生成包括N条索引信息和合作方信息的第一调用请求,所述N条索引中至少部分索引用于标识待调用数据,所述合作方适于提供至少部分所述待调用数据;第一发送模块,用于将所述第一调用请求发送至中间方,所述中间方被配置为将所述N条索引和N维向量发送至所述合作方,所述N维向量的各行值与各条索引一一对应,所述N维向量中包括基于调用方公钥得到的M维向量和基于中间方公钥得到的N-M维向量,N、M大于或等于1,M小于或等于N;第一接收模块,用于接收所述合作方返回的第一加密数据,所述合作方被配置为根据所述N条索引配置N条调用数据,并使用所述N维向量一一对应地加密所述N条调用数据得到所述第一加密数据;数据解密模块,用于解密所述第一加密数据得到由所述M维向量加密的M条调用数据。
本公开实施例的另一方面提供了一种数据调用装置,用于中间方,包括:第二接收模块,用于接收调用方发送的第一调用请求,所述第一调用请求包括N条索引信息和合作方信息,所述N条索引中至少部分索引用于标识所述调用方的待调用数据,所述合作方适于提供至少部分所述待调用数据;数据比对模块,用于将所述N条索引与所述合作方的允许调用数据进行比对,确定所述合作方中存在的M条索引,N、M大于或等于1,M小于或等于N;密钥序列模块,用于生成与各条索引一一对应的N维向量的各行值,所述N维向量包括基于调用方公钥得到的M维向量和基于中间方公钥得到的N-M维向量,所述M维向量的各行值与所述M条索引一一对应;第二发送模块,用于将第二调用请求发送至所述合作方,所述第二调用请求包括N条索引信息和N维向量信息。
本公开实施例的另一方面提供了一种数据调用装置,用于合作方,包括:第三接收模块,用于接收中间方发送的第二调用请求,所述第二调用请求包括N条索引信息和N维向量信息,所述N维向量的各行值与各条索引一一对应,所述N维向量中包括所述中间方基于调用方公钥得到的M维向量和基于中间方公钥得到的N-M维向量,N、M大于或等于1,M小于或等于N;数据配置模块,用于根据所述N条索引配置N条调用数据,其中,所述N条索引中至少部分索引用于标识调用方的待调用数据,所述N条调用数据中包括所述合作方本地存在的M条调用数据;数据加密模块,用于使用所述N维向量一一对应地加密所述N条调用数据得到所述第一加密数据;第三发送模块,用于将所述第一加密数据发送至所述调用方,所述调用方被配置为解密所述第一加密数据得到由所述M维向量加密的M条调用数据。
本公开实施例的另一方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行如上所述的方法。
本公开实施例的另一方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。
本公开实施例的另一方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的方法。
上述一个或多个实施例具有如下有益效果:N条索引中部分索引标识待调用数据可以避免中间方和合作方知悉调用方的实际调用数据和目的。调用方可以解密基于调用方公钥得到的M维向量所加密的M条调用数据,不能获得其余基于中间方公钥得到的N-M维向量所加密的N-M条调用数据。实现了中间方、合作方对调用方实际调用数据的不可知,合作方返回的多余数据不会泄露,以及提高用户信息安全的效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的数据调用方法的应用场景图;
图2示意性示出了根据本公开实施例的数据调用方法的流程图;
图3示意性示出了根据本公开实施例的解密第一加密数据的流程图;
图4示意性示出了根据本公开实施例的混淆封装的流程图;
图5示意性示出了根据本公开实施例的存储调用数据的流程图;
图6示意性示出了根据本公开实施例的黑灰产数据调用系统的架构图;
图7示意性示出了根据本公开实施例的黑灰产数据调用的流程图;
图8示意性示出了根据本公开实施例的用于调用方的数据调用装置的结构框图;
图9示意性示出了根据本公开实施例的用于中间方的数据调用装置的结构框图;
图10示意性示出了根据本公开实施例的用于合作方的数据调用装置的结构框图;以及
图11示意性示出了根据本公开实施例的适于实现数据调用方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
以金融反欺诈的应用场景举例,随着互联网金融的兴起,黑灰产变得无孔不入,并且形成完整的上中下游产业链,利用非法手段牟取利益。而与此对抗的金融反欺诈也因此孕育而生。
目前金融机构在反欺诈场景中用于建模的数据基本上都是来自机构内部留存的用户敏感身份数据,数据来源单一的单模态数据,比如用户申请银行卡时提交的在身份信息、征信等数据等结构化文本数据。标注黑灰产的数据被分散存放于相关部门、电信运营商、银行等机构,当前的技术方法数据形式单一,无法完整刻画与区分黑灰产与正常用户的用户画像,难以挖掘深层次的欺诈特征。
在有限的金融机构对外合作的场景中,数据的调用存在泄露风险。以金融机构与运营商的合作为例。在交易进行时,金融机构结合当下交易中的用户数据,从运营商的数据仓库中调用手机号标注数据来佐证用户的身份。如若金融机构直接根据某用户的唯一身份信息对运营商的数据进行索引,此时一方面金融机构泄露了该用户的隐私与交易商业秘密,另一方面运营商必须对金融机构开放其拥有所有数据,易造成数据泄露。与此同时,监听者可明文获取金融机构与运营商的对话内容。
尤其说明的是,本公开实施例并无意将应用场景限制在金融反欺诈的范围,例如还可以适用于多方合同签订、证据取证、支付和投标等多个场景。
本公开一些实施例提供了一种数据调用方法、系统、装置、设备、介质和程序产品,调用方向中间方发送的N条索引中部分索引标识待调用数据可以避免中间方和合作方知悉调用方的实际调用数据和目的。调用方接收到合作方返回的第一加密数据,可以解密基于调用方公钥得到的M维向量所加密的M条调用数据,不能获得其余基于中间方公钥得到的N-M维向量所加密的N-M条调用数据。实现了中间方、合作方对调用方实际调用数据的不可知,合作方返回的多余数据不会泄露,以及提高用户信息安全的效果。
图1示意性示出了根据本公开实施例的数据调用方法的应用场景图,但本公开并不限于此。
如图1所示,根据该实施例的应用场景100可以包括调用方、中间方和至少一个合作方(如合作方a、合作方b和合作方c)。可以涵盖用户行为数据、信用数据、交易数据等用户数据全面刻画用户画像,用混淆封装、全同态加密技术、公私钥对等方法的灵活使用来调用数据要素市场上的数据。
应该理解,图1中的中间方和合作方的数目仅仅是示意性的。根据实现需要,可以具有任意数目的中间方和合作方。而调用方也可以为中间方或合作方中的其中一个。
以下将基于图1描述的场景,通过图2~图7对本公开实施例的数据调用方法进行详细描述。
图2示意性示出了根据本公开实施例的数据调用方法的流程图。
如图2所示,该实施例的数据调用方法包括操作S201~操作S212。其中,调用方用于执行操作S201、操作S202、操作S211和操作S212。中间方用于执行操作S203~操作S206。任一合作方用于执行操作S207~操作S210。
操作S201,生成包括N条索引信息和合作方信息的第一调用请求,N条索引中至少部分索引用于标识待调用数据,合作方适于提供至少部分待调用数据。
示例性地,每条索引指对应待调用数据的数据特征,例如用户的身份证号或IP地址等,可以根据索引确定出唯一对应的用户。每条索引信息可以包括该条索引的内容。合作方信息可以包括合作方的名称、标识或访问地址等。调用方只提供索引的作用包括,减小数据传输量,提高传输速度和加密工作量,且中间方和合作方只能知悉索引而无法掌握全部信息。
例如要调用一个或多个用户的数据时,调用方预先确认掌握待调用数据的合作方。可以理解的是,由于信息不对称或不及时的原因,可能调用方认为该合作方能提供所有内容,但实际上该合作方存在提供部分或全部待调用数据的可能性。
操作S202,将第一调用请求发送至中间方。
在一些实施例中,在将第一调用请求发送至中间方之前,还包括:与中间方和/或合作方通过预设安全模式发起会话,其中,会话用于确定数据传输控制规则,数据传输控制规则包括以下至少一项规则:传输方式、传输数据块的大小与数量、传输时间、传输中断与恢复处置、待调用数据的具体内容摘要、调用有效时间段和调用方式。
示例性地,预设安全模式例如包括SSL/TLS安全模式,能够令交互数据的双方按照预先确定的数据传输规则执行,即使在数据传输过程中被监听者盗走,也难以得到原始数据,提高传输数据的安全性。
示例性地,传输方式可以包括网络传输、文件传输、数据库传输和电子邮件传输。传输数据块的大小和数量可以根据网络带宽、网络延迟和各方服务器的性能要求确定。数据传输中断与恢复处置包括重新发送数据块、重新建立连接、重新发送控制信息等。数据的具体内容摘要包括数据类型、数据大小、数据格式、数据源、数据目的地等。调用有效时间段包括起始时间、结束时间等。调用方式包括REST API、SOAP API、XML-RPC、JSON-RPC等。
操作S203,接收调用方发送的第一调用请求。中间方解析第一调用请求得到N条索引信息和合作方信息。
操作S204,将N条索引与合作方的允许调用数据进行比对,确定合作方中存在的M条索引,N、M大于或等于1,M小于或等于N。
示例性地,合作方的数据可以包括向中间方开放的数据库。中间方可以将N条索引一一地去比对上述开放数据库中是否存在。例如调用方的N条索引为10个身份证号,而合作方存在的M条索引为其中5个身份证号。而其余5个身份证号可以是调用方随机生成的或添加的其他用户身份证号,避免中间方和合作方了解实际调用数据。
示例性地,合作方内部存储的数据范围可能大于允许调用数据的范围,可能在其余N-M条索引中存在对应的调用数据,该操作目的是为了后续使用不同的公钥进行加密,以使得调用方可以获得M条索引对应的M条调用数据,但是最终不能获得合作方返回的全部信息。
操作S205,生成与各条索引一一对应的N维向量的各行值,N维向量包括基于调用方公钥得到的M维向量和基于中间方公钥得到的N-M维向量,M维向量的各行值与M条索引一一对应。
在一些实施例中,根据N条索引生成随机的初始N维向量,其中每行值为随机数或预设数值。以预设数值举例,若共10条索引,M为3,则N维向量可以是[1,0,0,0,1,0,0,1,0,0]的转置矩阵。接着,利用调用方公钥加密“1”,而利用中间方公钥加密“0”,得到最终的N维向量。
尤其说明的是,本公开不对操作S204和操作S205的执行顺序进行限制,例如可以在操作S204之前执行操作S205,两者也可以同时执行。
操作S206,将第二调用请求发送至合作方,第二调用请求包括N条索引信息和N维向量信息。
操作S207,接收中间方发送的第二调用请求,合作方解析第二调用请求获得N条索引信息和N维向量信息。
操作S208,根据N条索引配置N条调用数据,N条调用数据中包括合作方本地存在的M条调用数据。
示例性地,合作方可以与调用方提前约定提供何种数据,例如运营机构提供通话记录,征信机构提供征信记录。配置是指合作方根据每条索引查询内部的数据进行补充,得到完整的每条调用数据。若合作方内部不存在,则随机生成或补空值。
操作S209,使用N维向量一一对应地加密N条调用数据得到第一加密数据。
一种情况下,合作方在M条调用数据之外,还存在多余的调用数据,而由于使用了中间方公钥加密,调用方无法解密获得。能够减小合作方的数据管理配置复杂度,可无需对允许调用数据和不允许调用数据分别管理。另一种情况下,合作方正好拥有M条调用数据,如上述使用了中间方公钥加密,随机生成或补空值的调用数据不会对调用方造成干扰。
合作方是按照N条索引全量配置,故其不能知道调用方的实际调用数据。即使合作方正好有M条调用数据,其也无法确定调用方实际调用其中哪些,或是否调用方分多次进行调用。
操作S210,将第一加密数据发送至调用方。
在一些实施例中,合作方被配置为使用N维向量一一对应地加密N条调用数据得到第二加密数据,利用调用方公钥对第二加密数据继续加密得到第一加密数据。提供数据的同时使用N维向量分别加密,即满足调用方需求,又不会令其余数据泄露。
操作S211,接收合作方返回的第一加密数据。
操作S212,解密第一加密数据得到由M维向量加密的M条调用数据。
示例性地,该M条调用数据可以等于、小于或大于待调用数据的范围,在等于或大于时,可以直接使用。在小于时,可以再次发起调用,如向同一合作方再次发起,或者向其他合作方调用相同或替代数据。
图3示意性示出了根据本公开实施例的解密第一加密数据的流程图。
如图3所示,在操作S240解密第一加密数据包括操作S310~操作S320。
在操作S310,利用调用方私钥解密第一加密数据,得到第二加密数据。
在操作S320,利用调用方私钥解密第二加密数据,得到M条调用数据。
在一些实施例中,例如调用方与中间方预先确定好N维向量中M维向量通过调用方公钥加密预设数值得到,则调用方利用调用方私钥解密。
在一些实施例中,例如中间方可以将N维向量同步给调用方,调用方可以得到其中M维向量,并利用调用方私钥解密。
根据本公开的实施例,合作方使用调用方公钥第二次加密得到第一加密数据,并可以利用预先确定的数据传输规则交互,能够提高合作方与调用方之间数据交互的安全性。而使用N维向量得到的第二加密数据,能够避免调用方获取合作方的不允许调用的数据。
根据本公开的实施例,调用方向中间方发送的N条索引中部分索引标识待调用数据可以避免中间方和合作方知悉调用方的实际调用数据和目的。调用方接收到合作方返回的第一加密数据,可以解密基于调用方公钥得到的M维向量所加密的M条调用数据,不能获得其余基于中间方公钥得到的N-M维向量所加密的N-M条调用数据。实现了中间方、合作方对调用方实际调用数据的不可知,合作方返回的多余数据不会泄露,以及提高用户信息安全的效果。
图4示意性示出了根据本公开实施例的混淆封装的流程图。
在将第一调用请求发送至中间方之前,如图4所示,该实施例的混淆封装包括操作S410~操作S430。
在操作S410,确定待调用数据的S条索引,S大于或等于1,且小于或等于N。
一些实施例中,S的值可以等于、大于或小于M的值。S大于M时,该情况下可以分多次调用数据。
在操作S420,基于待调用数据确定混淆数据。
例如向征信机构调用征信记录,N条索引为N个身份证号,混淆数据可以包括随机生成和/或添加其他N-S个身份证号。
在操作S430,确定混淆数据的N-S条索引,以得到N条索引。
例如上述随机生成和/或添加的N-S个身份证号作为N-S条索引。
在一些实施例中,得到N条索引包括:将N-S条索引与S条索引中各条索引之间的顺序随机排列,其中,N-S大于或等于S的0.5倍。
示例性地,可以将S条索引的一半以上数量的其余索引与S条索引打乱排列,从而使得结果更加随机化,更加具有迷惑性。
根据本公开的实施例,加入混淆数据使得合作方对调用方实际调用数据的不可知,保证了数据不被窃听与泄露。
尤其说明的是,本公开无意于限定操作S410和操作S420的执行顺序,例如操作S410可以与操作S420同时执行或在其之后执行。
图5示意性示出了根据本公开实施例的存储调用数据的流程图。
在一些实施例中,调用方被配置为向至少一个合作方调用数据,在获得每个合作方的M条调用数据之后,如图5所示,该实施例的存储调用数据包括操作S510~操作S520。
在操作S510,将N条索引作为数据标识构造数据库结构。
在操作S520,根据数据库结构存储每个合作方的M条调用数据。
示例性地,数据库结构可以包括数据库中的数据表结构。例如运营机构返回M条通话记录,征信机构返回M条征信记录,将M条通话记录和M条征信记录与M个身份证号一一对应的存储在本地数据库的数据表中。便于后续使用一个或多个合作方的调用数据。
以下结合金融反欺诈的场景,进一步说明本公开一些实施例中数据调用方法的详细流程。
在一些实施例中,调用方包括金融机构,M条调用数据包括用户数据,在得到M条调用数据之后,还包括:将来自每个合作方的用户数据输入至黑灰产判别模型,得到用户的黑灰产判别结果。
示例性地,黑灰产判别模型可以基于现有的或未来开发的机器学习算法实现,该黑灰产判别结果也可存储在本地数据库。其中,黑灰产包括黑色或灰色产业,就是那些利用非法或作弊的手段牟取利益的产业,被定义为使用技术或人工方法操纵在线内容以获取非法收益或扰乱互联网正常运行的活动。它包括电信欺诈、钓鱼网站、恶意软件和黑客勒索等活动,常用的策略包括绕过平台风险控制、快速改变IP和位置,以及模拟真实用户行为等策略。
图6示意性示出了根据本公开实施例的黑灰产数据调用系统的架构图。
如图6所示,黑灰产数据调用系统主要包括调用授权模块100、数据传输控制模块101、数据封装模块102、数据比对模块103、数据调用模块104、判定模块105、数据存储模块(图中未示出)。其中,金融机构为调用方、云计算平台为中间方,合作机构1~n为合作方1~n。
调用授权模块100负责确认数据调用双方身份的真实性,包括向CA中心申请证书与制作密钥对、将公钥与证书签名传输给被调用机构、验证对方的证书、建立安全可靠的会话。
当金融机构通过运营商、征信机构和购物平台等合作方调用数据时,须获得调用双方的授权与签名,以确认数据调用方的合法性与数据调用的范围和内容。授权过程由包括非对称加密算法在内的公开密钥基础设施PKI完成。具体来说,在数据调用会话开始前,调用双方互换公钥与证书,通过CA中心验证对方身份,确认调用双方是真实存在的且会话不被窃听。金融机构生成公私钥对,并将PK
其中,被调用的数据包括运营商的手机号黑白名单,特别是非实名的物联网卡的用户名单、金融机构本身的银行卡黑白名单、征信机构的个人信用正常与失信数据、第三方支付机构的正常与异常支付数据、购物平台的正常与异常交易数据、社交平台的黑灰产业务广告发布数据、即时通讯平台的黑灰产群聊数据、ip地址等。
数据传输控制模块101负责控制数据传输的负载与正常运行,包括传输方式、传输数据块的大小与数量、传输时间、传输中断与恢复处置。对于首次数据传输,会话需通过SSL/TLS安全模式对被调用数据的具体内容摘要与数据量的大小、调用有效时间段、调用方式等调用相关细则进行确立。
对于数据传输过程,发送方须使用接收方的公钥对所有待传输数据进行加密,形成已加密数据包。数据传输控制模块101在任一方部署,负责切割完整的加密数据包,再对每个数据包碎片的末尾添加校验码以及数据包碎片的MD5,确保每次传输给接收方的数据均为无实际意义的,不可解密的数据碎片,防止中间人攻击。接收方对每个接收的数据片段进行校验,确认数据碎片的完整性。接收方对接收到的所有数据碎片进行提取,拼接成完整的原始数据包,再利用私钥对数据包内容进行解密,从而完成整个数据传输过程。
在金融机构与合作方合作过程中,不可避免存在比对双方数据的过程。传统的比对过程是拿金融机构所需查询的单一数据直接向合作方发起数据调用请求。此时存在泄露金融机构交易数据的风险。数据封装模块102用于采取批量调用数据的方式,在每次调用合作方数据之前,金融机构在原有需要查询的众多数据中加入混淆数据,混淆数据量需在原数据量的一半以上,且随机打乱插入原有数据,构造新的数据包。此过程保证了合作机构对金融机构实际调用数据的不可知,保证了数据不被窃听与泄露。
数据比对模块103部署在云计算平台,负责比对金融机构所需请求的数据d(即待调用数据)与合作机构现存开放的数据m。在比对开始前,云计算平台生成d长度的随机数字序列k(即初始N维向量)。若请求数据d[x]存在于合作机构数据库中,云计算平台使用金融机构公钥PK
云计算平台完成所有需查询的数据的加密后,序列k的长度等同于金融机构请求数据d的长度,但负载了两个机构的密钥。最后,云平台打包金融机构请求比对的数据d以及密钥序列k,并使用合作机构的公钥PK
在上述数据比对过程中,比对双方的数据均使用同态加密技术来保证被调用方的数据非明文暴露给调用方。由于比对的数据类型十分丰富(例如数字、文字、图片、视频和音频等类型),采用全同态加密的方式进行计算。具体来说,比对的数据只是所需查询数据的数据特征,而非金融机构或者合作方拥有的全部数据。举例,当金融机构需要查询某ip地址是否与失信执行人员的活跃地址相关时,只需提供交易发起方的ip地址和身份信息给云计算平台,而无需包括完整交易中的交易时间,交易金额,交易内容等其他交易信息。同理,合作方征信机构仅需提供的是所有失信人员的活跃地址及对应的身份信息,而不包括失信人员的其他信息,如失信事由,失信人执行情况等。
示例性地,全同态加密(Fully Homomorphic Encryption,FHE)是一种允许在密文上进行任意复杂运算的密码学系统。它可以满足加法同态和乘法同态的要求,使得云端数据可用不可见。
数据调用模块104部署在合作机构1~n,用于接收到云计算平台返回的数据包之后,使用私钥解密得到密钥序列k以及原始查询数据d。对于原始查询数据d,各个合作机构根据先前与金融机构约定的合作内容r查询自身数据库,按照数据d的请求顺序补充完整r形成判别黑灰产的重要依据D。由于此时依据D是明文,为防止传输过程中的中间人攻击,合作机构需要进行两次加密。第一次是使用密钥序列k对D进行加密,第二次是使用金融机构的公钥再加密形成D’,而后再将D’返回给金融机构。
以上过程中,合作机构利用私钥解密的密钥序列k包含金融机构和云平台的公钥。由于合作机构没有他们的私钥,无法解开序列k,从而防止合作机构得知金融机构真正需要查询的数据。而金融机构接收到依据D之后,由于没有云平台的私钥,同样无法解开D中使用云平台公钥加密的数据条,最终获得的数据是金融机构请求的数据d与各个合作机构数据库存在对应数据的交集。
举例,金融机构与合作机构某个购物平台事先约定的合作内容是某用户在该购物平台的刷单量和购买记录。当交易开始时,云平台运用全同态加密批量读取金融机构掌握的划款发起方身份证号(即请求数据d),以及购物平台数据库中购买方的身份证号,经过模块103的比对,生成密钥序列k。购物平台接收到数据d后,查询数据库,补充数据d中各个用户的刷单量和购买记录形成D,而后使用密钥序列k对D加密。在将加密后的D传输回金融机构之前,再次使用金融机构的公钥进行加密。
判定模块105部署在金融机构,用于接收到数据D’之后,使用私钥进行两次解密得到各个合作机构对请求查询数据d的回复,得到能全面反映用户画像的数据D。此时,判定模块负责引用自身的黑灰产判别模型对数据D进行判定,返回用户身份。
数据存储模块部署在金融机构,用于在合作方的数据被成功调用后,数据存储模块将以用户id为唯一标识构造数据库结构,整合从各个合作机构调用的,关于各个用户行为特征的数据,并存储于本地数据库中。数据库同时存储黑灰产判别模型对某用户的判别结果。
根据本公开的实施例,可以执行上述图2~图5描述数据调用方法的黑灰产数据调用系统,可以金融机构为主体,协调各个合作方之间的数据调用问题,通过可用不可见的多方安全计算技术协调各个机构中黑灰产行为相关的数据,以便数据调用方对黑灰产用户的画像进行刻画,维护金融交易市场的公平性。
图7示意性示出了根据本公开实施例的黑灰产数据调用的流程图。
如图7所示,黑灰产数据调用系统的黑灰产数据调用流程包括操作S701~操作S713。
在操作S701,金融交易之前,金融机构调用授权模块100和各个合作机构比如运营商、征信机构、购物平台等建立会话,确立会话连接双方的真实性与合法性。
在操作S702,判断金融机构与合作机构,金融机构与云计算平台,合作机构与云计算平台这三对数据调用关系中的双方是否为约定的双方,若是,继续在操作S703,否则取消连接,并将在操作S701的数据直接发送至步骤在操作S710进行用户身份判断。
在操作S703,在确定通信双方均为可信合法之后,开始约定数据传输的细则。此步骤调用数据传输控制模块101来完成。
在操作S704,金融机构在开始交易前,整理提取所需查询的数据(即待调用数据)和用于混淆的数据,调用数据封装模块102对进行封装,并提取封装后的数据d的数据特征供云计算平台读取。
在操作S705,云计算平台在与金融机构、合作机构确立通信后,运用全同态加密技术对所有数据进行加密,分别提取金融机构和合作机构数据的数据特征(即索引),此处调用数据比对模块103。
在操作S706,云计算平台根据数据比对模块103的比对结果,生成密钥序列k(即N维向量)。
在操作S707,云计算平台同时打包密钥序列k和金融机构请求的数据d,并使用合作机构的公钥对数据包进行加密,供合作机构进行调用处理。
在操作S708,合作机构调用数据调用模块104对在操作S707生成的数据包进行解密,并补充附加上先前和金融机构约定好的合作内容,使用密钥序列k进行加密生成数据D,再利用金融机构的公钥对D进行加密生成数据D’,输送至金融机构。
在操作S709,金融机构接收到各个合作方的数据后,使用自身的私钥对操作S708的数据包D’进行两次解密,还原成数据D,形成完整的用户画像。
在操作S710,金融机构调用自身已有的黑灰产判定模型(即图7所示的反欺诈模型)对D中用户身份一一进行判定,判别是否为黑灰产。
在操作S711,接收并存储在操作S710的判定结果,若用户被判别为黑灰产,执行操作S712中止该用户的当前金融交易。若用户被判别为正常用户则继续交易。
在操作S712,中止交易。
在操作S713,继续交易。
根据本公开实施例,一方面,有能力在安全情况下与多个机构合作,调用全面反映金融交易用户画像的行为数据。另一方面,调用各方数据库中有关黑灰产的数据时,通过数据混淆封装、全同态加密技术调用、公私钥对保证了数据传输过程是加密的,具备隐私性、抗冒名攻击、抗重放攻击、抗中间人攻击等性质。再一方面,有能力整合所有调用数据,并对用户身份进行判定。
基于上述数据调用方法,本公开还提供了分别用于调用方、中间方与合作方的数据调用装置。以下将结合图8、图9和图10对该装置进行详细描述。
图8示意性示出了根据本公开实施例的用于调用方的数据调用装置的结构框图。
如图8所示,该实施例的数据调用装置800包括请求生成模块810、第一发送模块820、第一接收模块830和数据解密模块840。
请求生成模块810可以执行操作S201,用于生成包括N条索引信息和合作方信息的第一调用请求,N条索引中至少部分索引用于标识待调用数据,合作方适于提供至少部分待调用数据。
第一发送模块820可以执行操作S202,用于将第一调用请求发送至中间方,中间方被配置为将N条索引和N维向量发送至合作方,N维向量的各行值与各条索引一一对应,N维向量中包括基于调用方公钥得到的M维向量和基于中间方公钥得到的N-M维向量,N、M大于或等于1,M小于或等于N。
第一接收模块830可以执行操作S211,用于接收合作方返回的第一加密数据,合作方被配置为根据N条索引配置N条调用数据,并使用N维向量一一对应地加密N条调用数据得到第一加密数据。
数据解密模块840可以执行操作S212,用于解密第一加密数据得到由M维向量加密的M条调用数据。
在一些实施例中,数据解密模块840还可以执行操作S310~操作S320,在此不做赘述。
在一些实施例中,数据调用装置800可以包括混淆模块,可以执行操作S410~操作S430,在此不做赘述。混淆模块可以用于将N-S条索引与S条索引中各条索引之间的顺序随机排列,其中,N-S大于或等于S的0.5倍。
在一些实施例中,数据调用装置800可以包括混淆模块,可以执行操作S410~操作S430,在此不做赘述。
在一些实施例中,数据调用装置800可以包括数据传输控制规则模块,用于与中间方和/或合作方通过预设安全模式发起会话,其中,会话用于确定数据传输控制规则。
在一些实施例中,数据调用装置800可以包括存储模块,可以执行操作S510~操作S520,在此不做赘述。
在一些实施例中,数据调用装置800可以包括判别模块,用于将来自每个合作方的用户数据输入至黑灰产判别模型,得到用户的黑灰产判别结果。
图9示意性示出了根据本公开实施例的用于中间方的数据调用装置的结构框图。
如图9所示,该实施例的数据调用装置900包括第二接收模块910、数据比对模块920、密钥序列模块930、第二发送模块940。
第二接收模块910可以执行操作S203,用于接收调用方发送的第一调用请求,第一调用请求包括N条索引信息和合作方信息,N条索引中至少部分索引用于标识调用方的待调用数据,合作方适于提供至少部分待调用数据。
数据比对模块920可以执行操作S204,用于将N条索引与合作方的允许调用数据进行比对,确定合作方中存在的M条索引,N、M大于或等于1,M小于或等于N。
密钥序列模块930可以执行操作S205,用于生成与各条索引一一对应的N维向量的各行值,N维向量包括基于调用方公钥得到的M维向量和基于中间方公钥得到的N-M维向量,M维向量的各行值与M条索引一一对应。
第二发送模块940可以执行操作S206,用于将第二调用请求发送至合作方,第二调用请求包括N条索引信息和N维向量信息。
图10示意性示出了根据本公开实施例的用于合作方的数据调用装置的结构框图。
如图10所示,该实施例的数据调用装置1000包括第三接收模块1010、数据配置模块1020、数据加密模块1030、第三发送模块1040。
第三接收模块1010可以执行操作S207,用于接收中间方发送的第二调用请求,第二调用请求包括N条索引信息和N维向量信息,N维向量的各行值与各条索引一一对应,N维向量中包括中间方基于调用方公钥得到的M维向量和基于中间方公钥得到的N-M维向量,N、M大于或等于1,M小于或等于N。
数据配置模块1020可以执行操作S208,用于根据N条索引配置N条调用数据,其中,N条索引中至少部分索引用于标识调用方的待调用数据,N条调用数据中包括合作方本地存在的M条调用数据。
数据加密模块1030可以执行操作S209,用于使用N维向量一一对应地加密N条调用数据得到第一加密数据。
第三发送模块1040可以执行操作S210,用于将第一加密数据发送至调用方,调用方被配置为解密第一加密数据得到由M维向量加密的M条调用数据。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例,数据调用装置800、900或1000中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
根据本公开的实施例,数据调用装置800、900或1000中的至少一个模块可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,数据调用装置800、900或1000中的至少一个模块可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图11示意性示出了根据本公开实施例的适于实现数据调用方法的电子设备的方框图。
如图11所示,根据本公开实施例的电子设备1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1103中,存储有电子设备1100操作所需的各种程序和数据。处理器1101、ROM 1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。电子设备1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106。包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107。包括硬盘等的存储部分1108。以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的。也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102和/或RAM 1103和/或ROM 1102和RAM 1103以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
在该计算机程序被处理器1101执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1109被下载和安装,和/或从可拆卸介质1111被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
- 推荐服务调用方法、介质、装置和计算设备
- 接口调用方法、装置、计算机设备和存储介质
- 一种数据存储方法、调度装置、系统、设备及存储介质
- 数据处理的方法、装置、系统、设备及介质
- 数据处理方法及装置、系统、计算机设备及可读介质
- 一种异构系统数据调用方法、装置、设备及存储介质
- 数据调用方法、数据调用装置、电子设备、存储介质