CN110163008B - 一种部署的加密模型的安全性审计的方法和系统 - Google Patents

一种部署的加密模型的安全性审计的方法和系统 Download PDF

Info

Publication number
CN110163008B
CN110163008B CN201910363443.XA CN201910363443A CN110163008B CN 110163008 B CN110163008 B CN 110163008B CN 201910363443 A CN201910363443 A CN 201910363443A CN 110163008 B CN110163008 B CN 110163008B
Authority
CN
China
Prior art keywords
model
data
ciphertext
data source
model result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910363443.XA
Other languages
English (en)
Other versions
CN110163008A (zh
Inventor
阮方圆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Chain Technology Co ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910363443.XA priority Critical patent/CN110163008B/zh
Publication of CN110163008A publication Critical patent/CN110163008A/zh
Application granted granted Critical
Publication of CN110163008B publication Critical patent/CN110163008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了一种用于部署的加密模型的安全性审计的方案,部署的加密模型是由数据需求方利用公钥进行同态加密后生成的,其中所述方案包括:数据源方向数据需求方发送对模型服务进行测试的测试请求,测试请求包括通过输入测试参数到数据源方所部署的密文模型而生成的用于测试的第一密文模型结果;数据需求方使用与公钥相对应的私钥将接收到的测试请求中包括的第一密文模型结果解密成明文模型结果,并将明文模型结果回传给数据源方;以及数据源方利用数据需求方先前提供的公钥对接收到的明文模型结果加密以生成第二密文模型结果,并通过将第一密文模型结果与第二密文模型结果进行比较以确定它们的一致性来审计模型服务的安全性风险。

Description

一种部署的加密模型的安全性审计的方法和系统
技术领域
本公开涉及模型安全性领域,具体而言,涉及一种部署的加密模型安全性的审计方案。
背景技术
随着互联网技术的不断发展和云计算概念的诞生,越来越多的公司和用户倾向于通过互联网来进行数据通信。由此,许多公司在自己的平台上建立起各种数据模型来处理来自各种源的各种类型的数据,所述处理包括:接收、计算、更新、存储、发送等各种数据操作。例如,一种被广泛使用的数据模型是机器学习模型,机器学习模型可通过模拟或实现人类的学习行为,来获取新的知识或技能,重新组织已有的知识结构,进而不断改善自身的性能。它是人工智能的核心,是计算机具有人工智能的关键技术,其应用遍及人工智能的各个领域。它主要使用数据的归纳、综合而不是演绎。由于机器学习模型是对所收集的数据的归纳和综合,那么,随之而来的就是数据模型的安全性问题,即如何保证机器学习模型的模型安全性。例如,对于很多风控模型来说,为了规避所述风控模型监测到用户的异常行为,很多“恶意”用户会不断做出各种尝试来套取风控模型的内部数据、参数或规则以图绕过所述风控模型的监管。
因此,存在对模型安全性方案进行改进的需求,以便能够提供一种更加安全稳健的模型安全性的审计机制。
发明内容
本公开涉及一种对部署的加密模型安全性进行审计的方案,所述方案提供了一种模型测试功能,即通过利用同态加密技术对加密模型的结果进行抽查审计,以不定期地审计数据需求方是否对模型结果的解密过程进行了造假(例如篡改)。在另一个方面中,本公开的方案还通过提供运行态系统日志的自动记录来帮助数据源方通过浏览日志来随时审计加密模型和密文模型结果的安全性风险。
根据本公开的第一方面,提供了一种用于部署的加密模型的安全性审计的数据源方设备,其中所述部署的加密模型是由数据需求方设备利用公钥进行同态加密后生成的,其特征在于,所述数据源方设备被配置为:向数据需求方设备发送对模型服务进行测试的测试请求,所述测试请求包括通过输入测试参数到所述数据源方设备所部署的密文模型而生成的用于测试的第一密文模型结果;以及利用所述数据需求方设备先前提供的公钥对从所述数据需求方设备接收到的明文模型结果加密以生成第二密文模型结果,并通过将第一密文模型结果与第二密文模型结果进行比较以确定它们的一致性来审计模型服务的安全性风险。
根据本公开的第二方面,提供了一种用于部署的加密模型的安全性审计的数据需求方设备,其中所述部署的加密模型是由数据需求方设备利用公钥进行同态加密后生成的,其特征在于,所述数据需求方设备被配置为:使用与所述公钥相对应的私钥将接收自数据源方设备的测试请求中包括的第一密文模型结果解密成明文模型结果,并将所述明文模型结果回传给所述数据源方设备。
根据本公开的第三方面,所述如第二方面所述的数据需求方设备还被配置为:为所述测试请求设置测试阈值,并在接收到来自数据源方设备的测试请求后,仅当确定所述测试请求满足测试阈值,才进行所述解密和回传操作,其中所述测试阈值包括:在一个时间段内的测试次数上限或测试的时间间隔。
根据本公开的第四方面,提供了一种用于部署的加密模型的安全性审计的系统,其中所述部署的加密模型是由数据需求方设备利用公钥进行同态加密后再部署到数据源方设备,其特征在于,所述系统包括:所述数据源方设备,被配置为:向所述数据需求方设备发送对模型服务进行测试的测试请求,所述测试请求包括通过输入测试参数到所述数据源方设备所部署的加密模型而生成的用于测试的第一密文模型结果;利用所述数据需求方设备先前提供的所述公钥对从所述数据需求方设备接收到的明文模型结果加密以生成第二密文模型结果;以及通过将第一密文模型结果与第二密文模型结果进行比较以确定它们的一致性来审计模型服务的安全性风险;所述数据需求方设备,被配置为:接收来自所述数据源方设备的所述测试请求;使用与所述公钥相对应的私钥将所述测试请求中包括的所述第一密文模型结果解密成所述明文模型结果;以及将所述明文模型结果回传给所述数据源方设备。
根据本公开的第五方面,提供了一种用于部署的加密模型的安全性审计的方法,其中所述部署的加密模型是由数据需求方利用公钥进行同态加密后生成的,所述方法包括:数据源方向数据需求方发送对模型服务进行测试的测试请求,所述测试请求包括通过输入测试参数到所述数据源方所部署的密文模型而生成的用于测试的第一密文模型结果;所述数据需求方使用与所述公钥相对应的私钥将接收到的所述测试请求中包括的所述第一密文模型结果解密成明文模型结果,并将所述明文模型结果回传给所述数据源方;以及所述数据源方利用所述数据需求方先前提供的公钥对接收到的所述明文模型结果加密以生成第二密文模型结果,并通过将所述第一密文模型结果与所述第二密文模型结果进行比较以确定它们的一致性来审计模型服务的安全性风险。
根据本公开的第六方面,如第五方面所述的方法还包括:所述数据需求方为所述测试请求设置测试阈值,并在接收到来自所述数据源方设备的测试请求后,仅当确定所述测试请求满足测试阈值,才进行所述解密和回传步骤,其中所述测试阈值包括:在一个时间段内的测试次数上限或测试的时间间隔。
根据本公开的第七方面,如第五方面所述的方法还包括:提供运行态系统日志,其中每次调用数据源方明细数据计算密文模型结果的过程都会自动记录相应的运行态系统日志,并且所述运行态系统日志包括加密计算过程、输入输出数据、网络轨迹、密文模型结果等等;当发现所述运行态系统日志存在可能导致安全隐患的数据异常时,所述数据源方向所述数据需求方发送对模型服务进行测试的测试请求。
根据本公开的第八方面,如第五方面所述的方法中的所述根据一致性来审计所述模型服务的安全性风险的步骤包括:当所述第一密文模型结果与所述第二密文模型结果一致时,确定所述数据需求方在解密过程中不存在造假行为,并且可以进一步执行明文模型结果的评估服务来确定加密模型的安全性;当所述第一密文模型结果与所述第二密文模型结果不一致时,确定所述数据需求方在提供所述模型服务时存在造假行为,所述模型服务的安全性风险高。
根据本公开的第九方面,如第五方面所述的方法中,所述部署的加密模型是所述数据需求方通过下述处理生成的:利用来自各个源的数据作为模型特征来训练数据模型,并通过对模型参数使用所述公钥进行同态加密得到所述加密模型。
根据本公开的第十方面,如第九方面所述的方法中,随同所述公钥还提供了一个随机数以保证在相同随机数条件下相同公钥对同一个数据加密结果一致。
根据本公开的第十一方面,如第五方面所述的方法中,当发生多次测试请求时,通过对多个所述第一密文模型结果与所述第二密文模型结果的比较结果进行综合考虑来生成综合的模型安全性审计报告。
根据本公开的第十二方面,提供了一种在数据源方设备上执行的用于部署的加密模型的安全性审计的方法,其中所述部署的加密模型是由数据需求方设备利用公钥进行同态加密后生成的,所述方法包括:向所述数据需求方设备发送对模型服务进行测试的测试请求,所述测试请求包括通过输入测试参数到所述数据源方设备所部署的加密模型而生成的用于测试的第一密文模型结果;以及利用所述数据需求方设备先前提供的公钥对从所述数据需求方设备接收到的明文模型结果加密以生成第二密文模型结果,并通过将第一密文模型结果与第二密文模型结果进行比较以确定它们的一致性来审计模型服务的安全性风险。
根据本公开的第十三方面,提供了一种在数据需求方设备上执行的用于部署的加密模型的安全性审计的方法,其中所述部署的加密模型是由所述数据需求方设备利用公钥进行同态加密后生成的,所述方法包括:使用与所述公钥相对应的私钥将接收自数据源方设备的测试请求中包括的第一密文模型结果解密成明文模型结果,并将所述明文模型结果回传给所述数据源方设备。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
为了描述可获得本公开的上述和其它优点和特征的方式,将通过参考附图中示出的本公开的具体实施例来呈现以上简要描述的本公开的更具体描述。可以理解,这些附图只描绘了本公开的各典型实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释本公开,在附图中:
图1示出了本公开的一个示例性运行计算环境。
图2是根据本公开的一个实施例的对部署的加密模型进行安全性审计方案。
图3根据本公开的一个实施例的对部署的加密模型进行安全性审计的方法的流程图。
具体实施方式
首先,在传统的模型服务方案中,在数据需求方将训练好的诸如机器学习模型之类的数据模型加密部署到数据源方之后,在所述模型工作时,在数据源方上部署的加密模型实时调用明细数据(所述明细数据是指模型中除目标变量之外用到的字段的明细数据值。所述明细数据有可能来自一方,也有可能来自多方,并且不同模型的建模字段是不一样的。明细数据是数据源方的核心数据,不应该被泄露公开)执行计算,并返回密文模型结果给数据需求方。在这个服务过程中,数据源方看到的自始至终都是经加密后的数据,而无法了解数据需求方的明文数据模型或模型的明文参数,因此,数据需求方有可能对模型的参数做一些特定设置,然后根据来自数据源方的模型结果反推部分原始明细数据。而数据需求方所动的这些小手脚由于是加密的数据,因此,难以被数据源方发现。因此,存在数据需求方通过模型结果反推出数据源方的模型变量的明细数据的安全风险。所以,传统模型服务方案并不能解决上述模型安全性的问题,对数据源方来说存在重大的安全隐患。为了提升数据源方的安全感体验,一些数据模型系统采用了日志机制,来记录数据模型运行过程中的各种信息。但首先所述日志是一种被动发现过程,无法及时发现可能的安全隐患,其次,日志的记录和使用本身存在一定的局限性,并不能很好满足用户的需求。
而另一方面,随着互联网的发展和云计算概念的诞生,以及人们在密文搜索、电子投票、移动代码和多方计算等方面的需求日益增加,同态加密(Homomorphic Encryption)变得更加重要。同态加密是一类具有特殊自然属性的加密方法,它是一种基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。与一般加密算法相比,同态加密除了能实现基本的加密操作之外,还能实现密文间的多种计算功能,即先计算后解密可等价于先解密后计算。本质上,同态加密是指这样一种加密函数:对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的。正是同态加密这种特殊自然属性,使得要解决模型安全性的问题变得可能。
在具体介绍本公开的方案之前,首先对同态加密的具体算法加以说明,以帮助技术人员清楚认识到同态算法的所述特殊自然属性。
具有同态性质的加密函数是指两个明文a、b满足Dec(En(a)⊙En(b))=a⊕b的加密函数,其中En是加密运算,Dec是解密运算,⊙、⊕分别对应明文和密文域上的运算。当⊕代表加法时,称该加密为加同态加密:当⊙代表乘法时,称该加密为乘同态加密。而全同态加密是指同时满足加同态和乘同态性质,可以进行任意多次加和乘运算的加密函数。用数学公式来表达,即Dec(f(En(m1),En(m2),…,En(mk)))=f(m1,m2,…,mk),或写成:f(En(m1),En(m2),…,En(mk))=En(f(m1,m2,…,mk)),如果f是任意函数,称为全同态加密。
为了便于理解,下面对最常用的同态加密算法加以说明。最常用的同态加密算法有加法同态Paillier算法、乘法同态Elgamal算法、基于LWE的全同态算法。下面给出同态加密算法的定义。
令加密运算为c=E(PK,m),解密运算为m=D(SK,d)。其中,m为明文,c为密文,SK为加密密钥,E(,)为加密函数,D(,)为解密函数。
加法同态加密算法性质:可实现如下的加法同态运算,还可以利用多次加法同态运算实现数乘同态运算。
加法同态运算:HAdd(c1,c2)
给定明文m1和m2的密文c1和c2,即c1=E(PK,m1),c2=E(PK,m2)。对c1和c2计算可得到m1+m2的密文,即有下式成立
HAdd(c1,c2)=E(PK,m1+m2)
数乘同态运算:HSM(c1,m2)
给定明文m1的密文c1和明文m2,对c1执行m2次HAdd(,)运算可以得到m1×m2的密文。例如,当m2=3时,有下式成立
HSM(c1,m2)=HAdd(c1,HAdd(c1,HAdd(c1,c1)))=E(PK,m1×m2)
乘法同态加密算法性质:可实现如下的乘法同态运算:
乘法同态运算:HMul(c1,c2)
给定明文m1和m2的密文c1和c2,即c1=E(PK,m1),c2=E(PK,m2)。对c1和c2计算可得到m1×m2的密文,即有下式成立
HMul(c1,c2)=E(PK,m1×m2)。
由此可见,在上式中,对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算,其结果都是等价的。利用这个特殊自然属性,有助于审核模型的安全性。上述算法公式都是同态加密领域的基本知识,在此不再进一步详细描述。
在了解了同态加密的基本算法和含义之后,为使本公开的目的、技术方案及优点更加清楚明白,以下参照附图并列举实施例,对本公开作进一步详细说明。
首先,在图1中示出了本公开的一个示例性运行计算环境。在图1所示的计算环境中,包含了数据需求方设备110(简称为“数据需求方110”)以及数据源方设备130(简称为“数据源方130”)。所述数据需求方110和数据源方130可以由安全计算节点,例如个人计算机、服务器、客户端、移动设备(例如手机、个人数字助理、平板等)以及各种计算设备等构成。在所述两方之间,通过网络进行数据通信,所述网络包括各种类型的有线和无线网络,包括但不局限于互联网、局域网、WIFI、WLAN、蜂窝通信网络(GPRS、CDMA、2G/3G/4G/5G蜂窝网络)、卫星通信网络等等。通过所述数据通信网络,数据需求方和数据源方可以相互传送各种数据以供处理。在该示例性运行计算环境中,数据需求方110通过网络已经将加密的数据模型部署到数据源方130上,但数据源方130在提供模型服务的过程中看到的自始至终都是经加密后的数据,而无法了解数据需求方110的明文数据模型或模型的明文参数,因此,无法验证数据需求方110所提供的加密数据是否存在反推出自己提供的原始明细数据的可能性。
在描述了本公开的示例性运行计算环境之后,接着,结合所述运行计算环境来描述一种利用同态加密来提供更加安全稳健的模型安全性的审计方案。如图2所示,示出了一种在数据需求方110和数据源方130这两方之间实现的模型安全性审计的整体方案。在这之前,数据需求方110已经利用来自各个源的数据作为模型特征来训练出数据模型,并用公钥对所述数据模型的模型参数进行同态加密得到加密数据模型(密文模型),随后将其连同所述公钥一起传送给数据源方130,以将其部署在数据源方130上。注意,在各实施例中,以机器学习模型作为数据模型的一个示例来进行描述,但应该理解机器学习模型仅仅是作为一种说明性的示例,并且所述数据模型并不局限于机器学习模型,而是可以应用于各种类型的数据模型,例如模型结果为预测概率值(连续型数值)的其他密文模型,如线性回归、逻辑回归、回归决策树等数据模型。在本公开的上下文中,原始的数据模型也被称为“明文模型”,而经同态加密后的数据模型也被称为“密文模型”。在完成所述部署之后,部署在数据源方130的加密数据模型开始工作,即根据来自数据需求方110的查询参数来实时调用相关的明细数据执行计算并返回密文模型结果给数据需求方。具体而言,数据需求方110将查询参数发送给数据源方130的加密数据模型,所述查询参数可以包括例如用户身份证号、手机号、企业信用代码等,并且不同的模型的查询需求对应不同的查询参数。数据源方130根据所述查询参数调用数据库中的相应的用户的数据特征进行加密计算以获得加密的模型结果(密文结果),并将所述加密的模型结果返回给数据需求方110。数据需求方110利用与公钥配对的私钥对加密的模型结果进行解密以获得想要的查询结果。这是正常状态下的传统模型服务的全过程。
接着,从算法角度来描述下在正常情况下的传统模型服务中实时调用明细数据执行计算并返回密文模型结果给数据需求方的模型服务过程:
以最简单的线性回归为例,假设密文模型形式为:
c_0+c_1*x_1+…+c_k*x_k,(其中x_1,…,x_k为数据源方的数据),则
算法输入:数据源方的k个模型特征数据x_1,…,x_k。
算法过程:HAdd(c_0,HSM(c_1,x_1),…,HSM(c_k,x_k))
算法结果:加密模型结果score_E。
这是加密数据模型在正常情况下的传统模型服务的全过程,其返回的加密的模型结果为score_E。
在此过程中为了确保模型的安全性,可能需要随时对模型结果进行审计。与传统方案不同的是,如果数据源方130担心模型的安全性,可以主动发起对数据需求方110提供的模型服务进行测试的请求以确定该数据需求方110是否存在数据造假行为。具体来说,根据本公开的方案,数据源方130可以通过输入测试参数到所部署的密文模型来生成用于测试的第一密文模型结果,所述测试参数可以是从数据需求方110先前所提供的查询参数中选择出的,即对一些查询过的加密模型结果进行抽查。随后,根据所述第一密文模型结果生成模型服务测试请求并且将包含所述第一密文模型结果的所述模型服务测试请求发送给数据需求方110。数据需求方110在收到所述模型服务请求之后,使用与所述公钥相对应的私钥将所述模型服务请求中包括的第一密文模型结果解密成明文模型结果,并将所述明文模型结果回传给数据源方130。数据源方130收到所述明文模型结果后,就用数据需求方110先前提供的公钥对所述明文模型结果加密以生成第二密文模型结果,并通过将第一密文模型结果与第二密文模型结果进行比较以确定其是否一致来审计模型服务的安全性风险。具体而言,所述比较的直接目的是判断数据需求方110在解密模型结果的过程中有没有造假。当第一密文模型结果与第二密文模型结果一致时,数据源方130可以确定数据需求方110在解密过程中不存在造假行为。反之,当第一密文模型结果与第二密文模型结果不一致时,可以确定数据需求方110在提供模型服务时存在造假行为,所述模型服务的安全性风险非常高。至此,所述方案结束。其中,密文模型结果是指根据同态性质利用加密模型参数计算出的方差(var)或极差之类的统计指标,在此以方差为示例。
但可以理解,尽管当第一密文模型结果与第二密文模型结果一致时可以确定数据需求方110在解密过程中不存在造假行为,但这并不能就此确定所述模型服务一定安全。例如,还存在部署的模型被恶意篡改等各种潜在的安全隐患。因此,还可以采用诸如根据明文模型结果的评估服务来进一步确定安全性,这些附加的安全性措施并不在本公开的讨论范围内,在此不再详述。
在另一个实施例中,为了避免数据源方130通过对数据需求方110的恶意测试来套取全量用户的模型结果明文,数据需求方110可以设置一个测试次数阈值,所述阈值可以是指在一段时间内可以尝试的测试次数的上限阈值。在数据需求方110接收到模型服务测试请求之后,数据需求方110判断本次测试是否满足所述目前的测试阈值(例如不大于次数上限)。如果满足测试阈值,则继续执行上述的解密和回传等操作;如果不满足所述目前的测试阈值(例如大于次数上限),则不执行所述解密和回传等操作并向数据源方130提示例如由于其发送的测试请求已经达到了次数上限,因此,本次测试请求被拒绝的提示,或者显示其它拒绝所述请求的提示。或者,在另一个方案中,可以直接限定数据源方130发起测试请求的时间间隔,只有满足预定时间间隔才可再次发送测试请求。也就是说,如果数据源方130的两次测试请求之间的间隔时间太短,则也可以拒绝接受所述测试请求。通过上述改进,可以有效保护数据需求方110和数据源方130双方对安全性的需求,避免任何一方出现造假行为。
在了解了本公开的对部署的加密模型安全性进行审计的方案的概况之后,在图3中示出了根据本公开的一个实施例的利用同态加密的模型安全性审计的方法的流程图。所述流程图涉及在数据需求方110以及数据源方130这两者之间的数据流动。
在执行图3的审计流程之前,应该明确,数据需求方110已经将加密的模型以及相关的公钥部署到了数据源方130。所述加密的模型是通过下述步骤构建:
1)数据需求方110生成同态加密的加密密钥(公钥PK)和解密密钥(私钥SK);
2)通过对模型参数进行同态加密以生成加密数据模型。
具体的模型加密过程如下:
算法输入:k+1个模型参数a_0,a_1,…,a_k。
算法过程:c_0=E(PK,a_0),c_1=E(PK,a_1),…,c_k=E(PK,a_k)。
算法输出:k+1个加密模型参数c_0,c_1,…,c_k。
其中,应该理解上述算法示例仅仅是出于说明目的的简单加密过程的演示。实际上,根据非对称加密技术的特点,出于安全性考虑,采用非对称加密时,随同所述公钥还会提供一个随机数,以保证在相同随机数条件下相同公钥对同一个数据加密结果一致。“随机数”是非对称加密的常用安全手段,与本公开本身的关系不大,因此,不再在此深入展开。
为了确保模型的安全性,在部署完所述加密数据模型之后,可能需要随时对模型结果的可靠性进行审计。在图3中就示出了根据本公开的一个实施例的对部署的加密模型安全性进行审计的方法的流程图,其具体流程如下:
在步骤310,数据源方130向数据需求方110发送对模型服务进行测试的包含第一密文模型结果的测试请求。所述测试请求包括通过输入测试参数到所述数据源方所部署的加密模型而生成的用于测试的第一密文模型结果。所述测试参数可以从先前的查询参数中选择,例如c_0,c_1,…,c_k。加密过程可以例如如下:
算法输入:数据源方的k个模型特征数据x_1,…,x_k。
算法过程:score_E=HAdd(c_0,HSM(c_1,x_1),…,HSM(c_k,x_k))
算法结果:第一加密模型结果score_E
不难看出,此步骤与先前所述的在正常情况下的传统模型服务中实时调用明细数据执行计算并返回密文模型结果的过程是一致的,因为,所述测试参数可以直接选自数据需求方110的先前查询参数。也就是说,来自数据需求方110的先前查询参数和其计算出的加密模型结果可以被直接作为测试请求的一部分被发送给数据需求方110。
随后,在步骤320,所述数据需求方110使用与所述公钥PK相对应的私钥SK将接收到的所述测试请求中包括的所述第一密文模型结果解密成明文模型结果,(Var=D(SK,score_E),并将其返回给数据源方130。
接着,在步骤330,数据源方130利用所述数据需求方110先前所提供的公钥PK对接收到的所述明文模型结果加密以生成第二密文模型结果
Var_E2=E(PK,Var)。
其中,如前所述,Var表示方差,E(,)为加密函数,D(,)为解密函数,SK为私钥,而PK为公钥。
在步骤340,数据源方130通过将(步骤310中生成的)所述第一密文模型结果与所述第二密文模型结果进行比较以确定它们的一致性来审计模型服务的安全性风险,即比较score_E与Var_E2的值。具体而言,如果第一密文模型结果和所述第二密文模型结果是一致的,则可以确定数据需求方110在解密时没有造假行为,因此,模型服务的安全性较高。但如上所述,如果要进一步确定是否安全,可以采用根据明文模型结果的评估服务来进一步确定安全性。另一方面,如果第一密文模型结果与所述第二密文模型结果不一致,则可以确定数据需求方110在解密时有造假行为,因此,所述模型服务具有较高的安全性风险。至此,所述评估方案结束。
在一个改进的实施例中,提供了一种综合的安全性审计方案,即可以存在多次测试,进而同时提供了多个第一密文模型结果与所述第二密文模型结果的比较结果,随后,通过对这些比较结果进行综合考虑(例如进行加权求和,过滤最大和最小差异等等),就能获得更加准确的安全性审计报告。具体而言,数据源方130可以在不同的时间向数据需求方110多次发送测试请求,并在获得针对所有测试请求的多个第一密文模型结果与所述第二密文模型结果的比较结果之后,综合分析所述多个比较结果后再生成综合的安全性审计报告。所述综合可以包括当多次比较结果中有一次结果超过阈值就给出不安全的审计,或者对所有结果进行加权平均后获得一个总的安全审计分数,等等。
需要理解的是,本公开所涉及的同态加密和解密算法利用了常用的同态加密解密算法中的一些参数、函数和算式。这些参数、函数和算式都是同态加密的基本常识,因此,不再在此过多描述。并且,上述示例算法仅仅是为了说明性目的提供的,并不是要把本公开的同态加密、解密以及计算局限于上述算法。实际上,技术人员可以根据实际需要选择其他任何合适的同态加密和解密和计算算法。
通过本公开的部署的加密模型安全性审计方案,在加密模型运行及密文结果输出过程中,提供了模型测试功能,从而方便了数据源方随时审计加密模型和密文模型结果的安全性风险。由于密文模型结果需要经过数据需求方解密后再回传给数据源方,采用这种非对称加密方案可在保证数据需求方私钥安全的条件下验证测试模型结果在解密前后的一致性,从而进一步提高了加密模型的安全性。
而在本公开的又一个实施例中,还提供了另一种解决部署的加密模型安全性审计的途径。
在数据合作过程中,数据需求方的加密模型在数据源方计算得到密文下的模型结果,为提升数据源方的安全感体验,一些数据模型安全产品提供了运行态系统日志和模型服务测试功能,以便于数据源方审计模型计算过程和模型结果的安全性风险。在现有的相关数据模型安全性产品中也提供了一种日志安全审计功能来解决模型的安全性审计问题。用户可以在建模前勾选日志安全审计选项,如此,在模型结果展示页面上就可下载审计日志压缩包,所述日志记录了服务器之间进行秘密计算时的所有数据网络包,包括计算结果、秘密分享内容、预计算数据和包含网络轨迹的pcap文件等。通过审阅所述日志,用户能方便地进行安全审计。尽管,现有的产品也提供了运行态日志安全审计功能,但所述功能需要用户勾选才会记录运行态日志,并且日志是一次性的下载文件,所以,如果没有下载并存储历史运行日志,就无法查看运行日志的历史数据。这使得其日志安全审计功能具有很大的局限性,并不能够很好地满足用户的需求。
为此,本公开还提供了一种改进的审计模型计算安全的运行态系统日志功能。数据需求方110将模型加密部署在数据源方130后,每次调用数据源方明细数据计算密文模型结果的过程,都会自动记录相应的运行态系统日志,所述日志的内容包括加密计算过程、输入输出数据、网络轨迹、密文模型结果等等。由于每次计算密文模型结果时运行态系统日志都会自动记录相关联的运行状态数据,因此,数据源方130可以随时查看历史运行态系统日志记录来审阅数据模型的安全性。
这样,结合前述的测试实施例,数据源方130可以首先通过审阅历史运行态系统日志记录来查找数据异常,并且当发现日志确实存在可能导致安全隐患的数据异常时,再发起对数据需求方110提供的模型服务进行如图2和3所示的模型安全性测试请求,从而解决了现有技术中的问题。因此,运行态系统日志在本公开中可以被作为触发测试请求的触发器,以帮助系统确定何时所需要执行所述测试请求流程。
上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。而且,相关领域的技术人员将领会,在不偏离如所附权利要求书所定义的本公开的精神和范围的情况下,所述实施例可以在形式和细节方面进行各种修改。因此,此处所公开的本公开的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

Claims (13)

1.一种用于部署的加密模型的安全性审计的数据源方设备,其中所述部署的加密模型是由数据需求方设备利用公钥进行同态加密后再部署到所述数据源方设备,其特征在于,所述数据源方设备被配置为:
向所述数据需求方设备发送对模型服务进行测试的测试请求,所述测试请求包括通过输入测试参数到所述数据源方设备所部署的加密模型而生成的用于测试的第一密文模型结果;
利用所述数据需求方设备先前提供的所述公钥对从所述数据需求方设备接收到的明文模型结果加密以生成第二密文模型结果;以及
通过将第一密文模型结果与第二密文模型结果进行比较以确定它们的一致性来审计模型服务的安全性风险。
2.一种用于部署的加密模型的安全性审计的数据需求方设备,其中所述部署的加密模型是由数据需求方设备利用公钥进行同态加密后再部署到数据源方设备,其特征在于,所述数据需求方设备被配置为:
接收来自所述数据源方设备的测试请求;
使用与所述公钥相对应的私钥将所述测试请求中包括的第一密文模型结果解密成明文模型结果;以及
将所述明文模型结果回传给所述数据源方设备。
3.如权利要求2所述的数据需求方设备,其特征在于,所述数据需求方设备还被配置为:
为所述测试请求设置测试阈值,并在接收到来自数据源方设备的测试请求后,仅当确定所述测试请求满足测试阈值,才进行所述解密和回传操作,其中所述测试阈值包括:在一个时间段内的测试次数上限或测试的时间间隔。
4.一种用于部署的加密模型的安全性审计的系统,其中所述部署的加密模型是由数据需求方设备利用公钥进行同态加密后再部署到数据源方设备,其特征在于,所述系统包括:
所述数据源方设备,被配置为:
向所述数据需求方设备发送对模型服务进行测试的测试请求,所述测试请求包括通过输入测试参数到所述数据源方设备所部署的加密模型而生成的用于测试的第一密文模型结果;
利用所述数据需求方设备先前提供的所述公钥对从所述数据需求方设备接收到的明文模型结果加密以生成第二密文模型结果;以及
通过将第一密文模型结果与第二密文模型结果进行比较以确定它们的一致性来审计模型服务的安全性风险;
所述数据需求方设备,被配置为:
接收来自所述数据源方设备的所述测试请求;
使用与所述公钥相对应的私钥将所述测试请求中包括的所述第一密文模型结果解密成所述明文模型结果;以及
将所述明文模型结果回传给所述数据源方设备。
5.一种用于部署的加密模型的安全性审计的方法,其中所述部署的加密模型是由数据需求方利用公钥进行同态加密后再部署到数据源方,其特征在于,所述方法包括:
数据源方向数据需求方发送对模型服务进行测试的测试请求,所述测试请求包括通过输入测试参数到所述数据源方所部署的加密模型而生成的用于测试的第一密文模型结果;
所述数据需求方使用与所述公钥相对应的私钥将接收到的所述测试请求中包括的所述第一密文模型结果解密成明文模型结果,并将所述明文模型结果回传给所述数据源方;以及
所述数据源方利用所述数据需求方先前提供的公钥对接收到的所述明文模型结果加密以生成第二密文模型结果,并通过将所述第一密文模型结果与所述第二密文模型结果进行比较以确定它们的一致性来审计模型服务的安全性风险。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:所述数据需求方为所述测试请求设置测试阈值,并在接收到来自所述数据源方设备的测试请求后,仅当确定所述测试请求满足测试阈值,才进行所述解密和回传步骤,其中所述测试阈值包括:在一个时间段内的测试次数上限或测试的时间间隔。
7.如权利要求5所述的方法,其特征在于,所述方法还包括:
提供运行态系统日志,其中每次调用数据源方明细数据计算密文模型结果的过程都会自动记录相应的运行态系统日志,并且所述运行态系统日志包括加密计算过程、输入输出数据、网络轨迹、密文模型结果;
当发现所述运行态系统日志存在可能导致安全隐患的数据异常时,所述数据源方向所述数据需求方发送对模型服务进行测试的测试请求。
8.如权利要求5所述的方法,其特征在于,所述根据一致性来审计所述模型服务的安全性风险的步骤包括:当所述第一密文模型结果与所述第二密文模型结果一致时,确定所述数据需求方在解密过程中不存在造假行为,并且可以进一步执行明文模型结果的评估服务来确定加密模型的安全性;当所述第一密文模型结果与所述第二密文模型结果不一致时,确定所述数据需求方在解密过程中存在造假行为,所述模型服务的安全性风险高。
9.如权利要求5所述的方法,其特征在于,所述部署的加密模型是所述数据需求方通过下述处理生成的:
利用来自各个源的数据作为模型特征来训练数据模型,并通过对模型参数使用所述公钥进行同态加密得到所述加密模型。
10.如权利要求9所述的方法,其特征在于,随同所述公钥还提供了一个随机数以保证在相同随机数条件下相同公钥对同一个数据加密结果一致。
11.如权利要求5所述的方法,其特征在于,当发生多次测试请求时,通过对多个所述第一密文模型结果与所述第二密文模型结果的比较结果进行综合考虑来生成综合的模型安全性审计报告。
12.一种在数据源方设备上执行的用于部署的加密模型的安全性审计的方法,其中所述部署的加密模型是由数据需求方设备利用公钥进行同态加密后再部署到所述数据源方设备,其特征在于,所述方法包括:
向所述数据需求方设备发送对模型服务进行测试的测试请求,所述测试请求包括通过输入测试参数到所述数据源方设备所部署的加密模型而生成的用于测试的第一密文模型结果;以及
利用所述数据需求方设备先前提供的所述公钥对从所述数据需求方设备接收到的明文模型结果加密以生成第二密文模型结果;以及
通过将第一密文模型结果与第二密文模型结果进行比较以确定它们的一致性来审计模型服务的安全性风险。
13.一种在数据需求方设备上执行的用于部署的加密模型的安全性审计的方法,其中所述部署的加密模型是由所述数据需求方设备利用公钥进行同态加密后再部署到数据源方设备,其特征在于,所述方法包括:
接收来自所述数据源方设备的测试请求;
使用与所述公钥相对应的私钥将接收自数据源方设备的测试请求中包括的第一密文模型结果解密成明文模型结果;以及
将所述明文模型结果回传给所述数据源方设备。
CN201910363443.XA 2019-04-30 2019-04-30 一种部署的加密模型的安全性审计的方法和系统 Active CN110163008B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910363443.XA CN110163008B (zh) 2019-04-30 2019-04-30 一种部署的加密模型的安全性审计的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910363443.XA CN110163008B (zh) 2019-04-30 2019-04-30 一种部署的加密模型的安全性审计的方法和系统

Publications (2)

Publication Number Publication Date
CN110163008A CN110163008A (zh) 2019-08-23
CN110163008B true CN110163008B (zh) 2023-03-07

Family

ID=67633473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910363443.XA Active CN110163008B (zh) 2019-04-30 2019-04-30 一种部署的加密模型的安全性审计的方法和系统

Country Status (1)

Country Link
CN (1) CN110163008B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110991655B (zh) * 2019-12-17 2021-04-02 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN111506497B (zh) * 2020-03-12 2023-06-16 平安科技(深圳)有限公司 业务逻辑调试方法、装置、设备及计算机可读存储介质
CN112668748B (zh) * 2020-09-16 2024-05-10 华控清交信息科技(北京)有限公司 一种预测方法、装置和电子设备
CN113141355B (zh) * 2021-04-13 2022-02-08 长沙理工大学 一种基于全同态的用电加密数据异常检测方法与系统
CN113691565B (zh) * 2021-10-25 2021-12-28 中电云数智科技有限公司 应用于数据安全处理平台的数据安全处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124276A (zh) * 2017-04-07 2017-09-01 西安电子科技大学 一种安全的数据外包机器学习数据分析方法
CN109033854A (zh) * 2018-07-17 2018-12-18 阿里巴巴集团控股有限公司 基于模型的预测方法和装置
EP3461054A1 (en) * 2017-09-20 2019-03-27 Universidad de Vigo System and method for secure outsourced prediction

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3203679A1 (en) * 2016-02-04 2017-08-09 ABB Schweiz AG Machine learning based on homomorphic encryption
JP6926429B2 (ja) * 2016-09-27 2021-08-25 日本電気株式会社 データ処理装置、データ処理方法、およびプログラム
US10805281B2 (en) * 2017-09-25 2020-10-13 Palo Alto Research Center Incorporated System and method for secure two-party evaluation of utility of sharing data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124276A (zh) * 2017-04-07 2017-09-01 西安电子科技大学 一种安全的数据外包机器学习数据分析方法
EP3461054A1 (en) * 2017-09-20 2019-03-27 Universidad de Vigo System and method for secure outsourced prediction
CN109033854A (zh) * 2018-07-17 2018-12-18 阿里巴巴集团控股有限公司 基于模型的预测方法和装置

Also Published As

Publication number Publication date
CN110163008A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110163008B (zh) 一种部署的加密模型的安全性审计的方法和系统
CN110113203B (zh) 一种用于加密模型的安全性评估的方法和设备
Fereidooni et al. SAFELearn: Secure aggregation for private federated learning
Jiang et al. Flashe: Additively symmetric homomorphic encryption for cross-silo federated learning
US20200244437A1 (en) Method and device for security assessment of encryption models
CN110138802B (zh) 用户特征信息获取方法、装置,区块链节点、网络,及存储介质
CN111242453B (zh) 基于区块链的财务评估方法及评估系统
WO2022089237A1 (zh) 基于区块链的数值验证方法、装置、计算机设备和介质
CN115333775B (zh) 基于隐私计算的数据处理方法和装置、设备及存储介质
CN112597542B (zh) 目标资产数据的聚合方法及装置、存储介质、电子装置
CN105574430A (zh) 协同过滤推荐系统中一种新型的隐私保护方法
CN107248980A (zh) 云服务下具有隐私保护功能的移动应用推荐系统及方法
CN106549767A (zh) 一种具有隐私保护的数据认证及追踪系统
CN115811422A (zh) 一种基于区块链的医疗数据共享方法及系统
CN114363013B (zh) 监管友好的区块链内容隐私保护系统、消息发送以及查询方法
CN110266696A (zh) 一种应用于区块链的评价数据上链方法及其设备
CN108632257B (zh) 支持分层搜索的加密健康记录的获取方法和系统
CN105471844A (zh) 一种基于信任合成的云服务动态组合方法
CN112751661B (zh) 一种基于同态加密的工业现场设备隐私数据保护方法
CN113935874A (zh) 一种基于区块链的来华留学学籍管理系统
Joseph et al. Design a hybrid Optimization and Homomorphic Encryption for Securing Data in a Cloud Environment
CN113254989A (zh) 目标数据的融合方法、装置和服务器
CN112615825A (zh) 一种数据加密传输方法、装置、系统及设备
Shah et al. Secure featurization and applications to secure phishing detection
CN115186285B (zh) 联邦学习的参数聚合方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240929

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Ant Chain Technology Co.,Ltd.

Country or region after: Singapore

Address before: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands