CN112104446A - 一种基于同态加密的多方联合机器学习方法和系统 - Google Patents
一种基于同态加密的多方联合机器学习方法和系统 Download PDFInfo
- Publication number
- CN112104446A CN112104446A CN202010918173.7A CN202010918173A CN112104446A CN 112104446 A CN112104446 A CN 112104446A CN 202010918173 A CN202010918173 A CN 202010918173A CN 112104446 A CN112104446 A CN 112104446A
- Authority
- CN
- China
- Prior art keywords
- data
- ciphertext
- tag
- party
- ciphertext data
- 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.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 80
- 238000012549 training Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 19
- 239000011159 matrix material Substances 0.000 claims description 56
- 238000007477 logistic regression Methods 0.000 claims description 30
- 238000012856 packing Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于同态加密的多方联合机器学习方法和系统,属于数据安全领域,用以解决现有技术中对于数据隐私保护安全性不高、实用性不强,不能有效保护数据所有者隐私的问题。本发明由多个特征数据持有方执行,多个特征数据持有方中只有一方具有标签,多个特征数据持有方分别利用同态加密数据算法对数据加密;而不具有标签的多方利用多方并行机器学习算法进行模型训练,获得加密的机器学习权重数据;具有标签一方解密获得机器学习权重数据。本发明安全性高,具备实用性,可用于数据隐私保护中。
Description
技术领域
本发明涉及数据安全领域,具体涉及一种基于同态加密的多方联合机器学习方法和系统。
技术背景
现今很多机器学习的应用场景都需要涉及到敏感数据,比如授权他人在自己的敏感数据上进行机器学习,或是两个机构希望融合彼此的数据进行联合机器学习等。传统的各种解决方案都不可避免地要让数据使用者看到明文数据内容,增加隐私泄露的风险。如今,学术界的一些前沿研究成果(如安全多方计算,同态加密,可信计算等)已经逐渐开始实用,它们可以真正实现数据可用不可见,即允许使用者在受保护的数据上做运算,并且保证使用者不会看到明文数据,但是现有的同态加密算法安全性不高且实用性不强,不能有效保护数据所有者的隐私。
发明内容
本发明要解决的技术问题是:
鉴于以上问题,本发明提出一种基于同态加密的多方联合机器学习方法和系统,用以解决现有技术中对于数据隐私保护安全性不高、实用性不强,不能有效保护数据所有者隐私的问题。
本发明为解决上述技术问题所采用的技术方案是:
一种基于同态加密的多方联合机器学习方法,所述方法由多个特征数据持有方执行,所述多个特征数据持有方中只有一方具有标签,所述方法包括,
步骤110、具有标签一方利用同态加密库生成公钥和私钥,并利用同态加密数据算法对其特征数据和标签数据进行加密,获取标签方密文数据;所述标签方密文数据包括标签方特征密文数据和标签密文数据;
步骤210、具有标签一方将公钥和标签方密文数据传递给不具有标签的其它多方;
步骤310、不具有标签的其它多方分别利用同态加密数据算法对各自的特征数据进行加密,获取加密后的非标签方特征密文数据;
步骤410、不具有标签的其它多方利用多方并行机器学习算法在所述非标签方特征密文数据和所述标签方密文数据上进行模型训练,获得加密的机器学习权重数据,并将加密的机器学习权重数据传递给具有标签一方;
步骤510、具有标签一方利用私钥解密所述加密的机器学习权重数据,获得机器学习权重数据。
其中,利用同态加密数据算法对特征数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,所述输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
根据公钥计算每个子矩阵加密后的密文数据;其中,每个密文数据都支持单指令多数据流SIMD方式操作;
将多个子矩阵加密后的密文数据打包后输出,获得加密后的特征密文数据;其中,所述打包为将一定数量的普通标量组装为多项式。
进一步地,利用同态加密数据算法对标签数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,所述输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
将输入矩阵的第一列设置为标签,将标签复制g份后,根据公钥计算其打包加密后的标签密文数据并输出;其中,g等于子矩阵的列数。
进一步地,步骤410中多方并行机器学习算法为多方并行同态逻辑回归算法。
进一步地,所述多方并行同态逻辑回归算法具体步骤包括,
步骤4110、获取非标签方特征密文数据和标签方密文数据;
步骤4120、将非标签方特征密文数据和标签方密文数据中的标签方特征密文数据进行拼接;
步骤4130、将拼接后的特征密文数据按照并行机器的节点模机器数的结果划分为多个节点,并将第0个节点定义为主节点;
步骤4140、多个节点并行计算初始权重向量和划分后的密文内积,并将密文内积结果数据传递给主节点;
步骤4150、主节点将接收到的多个密文内积结果数据相加,并将密文内积结果累加值传递给其它节点;
步骤4160、除主节点之外的其它节点根据主节点传递的密文内积结果累加值和标签方密文数据中的标签密文数据进行矩阵并行计算,更新权重向量;
步骤4170、循环重复执行步骤4130至步骤4160,直至获取最终加密的逻辑回归权重参数向量。
根据本发明另一方面,提供一种基于同态加密的多方联合机器学习系统,所述系统部署在具有标签的特征数据持有方中,包括,
密钥生成单元,配置为利用同态加密库生成公钥和私钥;
同态加密单元一,配置为利用同态加密数据算法对特征数据和标签数据进行加密,获取标签方密文数据;所述标签方密文数据包括标签方特征密文数据和标签密文数据;
第一发送单元,配置为将公钥和标签方密文数据传递给不具有标签的其它多方;
第一接收单元,配置为接收加密的机器学习权重数据;
解密单元,配置为利用私钥解密所述加密的机器学习权重数据,获得机器学习权重数据。
根据本发明另一方面,提供一种基于同态加密的多方联合机器学习系统,所述系统部署在不具有标签的特征数据持有方中,包括,
同态加密单元二,配置为利用同态加密数据算法对特征数据进行加密,获取加密后的非标签方特征密文数据;
第二接收单元,配置为接收具有标签一方传递的公钥和标签方密文数据;
模型训练单元,配置为利用多方并行机器学习算法在所述非标签方特征密文数据和所述标签方密文数据上进行模型训练,获得加密的机器学习权重数据;
第二发送单元,配置为将加密的机器学习权重数据传递给具有标签一方。
进一步地,所述同态加密单元一中利用同态加密数据算法对特征数据和标签数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,所述输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
根据公钥计算每个子矩阵加密后的密文数据;其中,每个密文数据都支持单指令多数据流SIMD方式操作;
将多个子矩阵加密后的密文数据打包后输出,获得加密后的特征密文数据;其中,所述打包为将一定数量的普通标量组装为多项式。
将输入矩阵的第一列设置为标签,将标签复制g份后,根据公钥计算其打包加密后的标签密文数据并输出;其中,g等于子矩阵的列数。
进一步地,所述同态加密单元二中利用同态加密数据算法对特征数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,所述输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
根据公钥计算每个子矩阵加密后的密文数据;其中,每个密文数据都支持单指令多数据流SIMD方式操作;
将多个子矩阵加密后的密文数据打包后输出,获得加密后的特征密文数据;其中,所述打包为将一定数量的普通标量组装为多项式。
进一步地,模型训练单元中多方并行机器学习算法为多方并行同态逻辑回归算法,所述多方并行同态逻辑回归算法具体步骤包括,步骤4110、获取非标签方特征密文数据和标签方密文数据;步骤4120、将非标签方特征密文数据和标签方密文数据中的标签方特征密文数据进行拼接;步骤4130、将拼接后的特征密文数据按照并行机器的节点模机器数的结果划分为多个节点,并将第0个节点定义为主节点;步骤4140、多个节点并行计算初始权重向量和划分后的密文内积,并将密文内积结果数据传递给主节点;步骤4150、主节点将接收到的多个密文内积结果数据相加,并将密文内积结果累加值传递给其它节点;步骤4160、除主节点之外的其它节点根据主节点传递的密文内积结果累加值和标签方密文数据中的标签密文数据进行矩阵并行计算,更新权重向量;步骤4170、循环重复执行步骤4130至步骤4160,直至获取最终加密的逻辑回归权重参数向量。
本发明的有益效果是:本发明采用同态加密的密码知识作为媒介,加密数据后,对密文进行机器学习,安全性高,具备实用性,而且目前云平台已经可以提供足够的算力;通过本发明同态加密数据算法加密后的数据,可以支持秘闻文的算术运算;本发明多方并行同态逻辑回归算法将传统的逻辑回归算法改为同态加密的密文逻辑回归算法,采用矩阵并行的算法设计,近似线性的提升了整个算法的运行效率;进一步地,本发明支持大数据集训练,可扩展性高,训练速度快,可在2秒内训练出万级别的数据。
附图说明
图1示出了根据本发明实施例一种基于同态加密的多方联合机器学习方法的示意性流程图。
图2示出了根据本发明实施例一种基于同态加密的多方联合机器学习系统的示意性结构图。
图3示出了根据本发明实施例一种基于同态加密的多方联合机器学习系统的另一示意性结构图。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本发明内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
本发明实施例提供一种基于同态加密的多方联合机器学习方法,图1示出了根据本发明实施例一种基于同态加密的多方联合机器学习方法的示意性流程图,该方法由多个特征数据持有方执行,多个特征数据持有方中只有一方具有标签,该方法包括,
步骤110、具有标签一方利用同态加密库生成公钥和私钥,并利用同态加密数据算法对其特征数据和标签数据进行加密,获取标签方密文数据;标签方密文数据包括标签方特征密文数据和标签密文数据;
步骤210、具有标签一方将公钥和标签方密文数据传递给不具有标签的其它多方;
步骤310、不具有标签的其它多方分别利用同态加密数据算法对各自的特征数据进行加密,获取加密后的非标签方特征密文数据;
步骤410、不具有标签的其它多方利用多方并行机器学习算法在非标签方特征密文数据和标签方密文数据上进行模型训练,获得加密的机器学习权重数据,并将加密的机器学习权重数据传递给具有标签一方;
步骤510、具有标签一方利用私钥解密加密的机器学习权重数据,获得机器学习权重数据。
其中,利用同态加密数据算法对特征数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
根据公钥计算每个子矩阵加密后的密文数据;其中,每个密文数据都支持单指令多数据流SIMD方式操作;
将多个子矩阵加密后的密文数据打包后输出,获得加密后的特征密文数据;其中,打包为将一定数量的普通标量组装为多项式。
进一步地,利用同态加密数据算法对标签数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
将输入矩阵的第一列设置为标签,将标签复制g份后,根据公钥计算其打包加密后的标签密文数据并输出;其中,g等于子矩阵的列数。
进一步地,步骤410中多方并行机器学习算法为多方并行同态逻辑回归算法。
进一步地,多方并行同态逻辑回归算法具体步骤包括,
步骤4110、获取非标签方特征密文数据和标签方密文数据;
步骤4120、将非标签方特征密文数据和标签方密文数据中的标签方特征密文数据进行拼接;
步骤4130、将拼接后的特征密文数据按照并行机器的节点模机器数的结果划分为多个节点,并将第0个节点定义为主节点;
步骤4140、多个节点并行计算初始权重向量和划分后的密文内积,并将密文内积结果数据传递给主节点;
步骤4150、主节点将接收到的多个密文内积结果数据相加,并将密文内积结果累加值传递给其它节点;
步骤4160、除主节点之外的其它节点根据主节点传递的密文内积结果累加值和标签方密文数据中的标签密文数据进行矩阵并行计算,更新权重向量;
步骤4170、循环重复执行步骤4130至步骤4160,直至获取最终加密的逻辑回归权重参数向量。
本发明另一实施例提供一种基于同态加密的多方联合机器学习系统,系统600部署在具有标签的特征数据持有方中,图2示出了根据本发明实施例一种基于同态加密的多方联合机器学习系统的示意性结构图,该系统600包括,
密钥生成单元610,配置为利用同态加密库生成公钥和私钥;
同态加密单元一620,配置为利用同态加密数据算法对特征数据和标签数据进行加密,获取标签方密文数据;其中,标签方密文数据包括标签方特征密文数据和标签密文数据;
第一发送单元630,配置为将公钥和标签方密文数据传递给不具有标签的其它多方;
第一接收单元640,配置为接收加密的机器学习权重数据;
解密单元650,配置为利用私钥解密加密的机器学习权重数据,获得机器学习权重数据。
本发明另一实施例提供一种基于同态加密的多方联合机器学习系统,系统700部署在不具有标签的特征数据持有方中,图3示出了根据本发明实施例一种基于同态加密的多方联合机器学习系统的另一示意性结构图,该系统700包括,
同态加密单元二710,配置为利用同态加密数据算法对特征数据进行加密,获取加密后的非标签方特征密文数据;
第二接收单元720,配置为接收具有标签一方传递的公钥和标签方密文数据;
模型训练单元730,配置为利用多方并行机器学习算法在非标签方特征密文数据和标签方密文数据上进行模型训练,获得加密的机器学习权重数据;
第二发送单元740,配置为将加密的机器学习权重数据传递给具有标签一方。
进一步地,同态加密单元一中利用同态加密数据算法对特征数据和标签数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
根据公钥计算每个子矩阵加密后的密文数据;其中,每个密文数据都支持单指令多数据流SIMD方式操作;
将多个子矩阵加密后的密文数据打包后输出,获得加密后的特征密文数据;其中,打包为将一定数量的普通标量组装为多项式。
将输入矩阵的第一列设置为标签,将标签复制g份后,根据公钥计算其打包加密后的标签密文数据并输出;其中,g等于子矩阵的列数。
进一步地,同态加密单元二中利用同态加密数据算法对特征数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
根据公钥计算每个子矩阵加密后的密文数据;其中,每个密文数据都支持单指令多数据流SIMD方式操作;
将多个子矩阵加密后的密文数据打包后输出,获得加密后的特征密文数据;其中,打包为将一定数量的普通标量组装为多项式。
进一步地,模型训练单元中多方并行机器学习算法为多方并行同态逻辑回归算法,多方并行同态逻辑回归算法具体步骤包括,步骤4110、获取非标签方特征密文数据和标签方密文数据;步骤4120、将非标签方特征密文数据和标签方密文数据中的标签方特征密文数据进行拼接;步骤4130、将拼接后的特征密文数据按照并行机器的节点模机器数的结果划分为多个节点,并将第0个节点定义为主节点;步骤4140、多个节点并行计算初始权重向量和划分后的密文内积,并将密文内积结果数据传递给主节点;步骤4150、主节点将接收到的多个密文内积结果数据相加,并将密文内积结果累加值传递给其它节点;步骤4160、除主节点之外的其它节点根据主节点传递的密文内积结果累加值和标签方密文数据中的标签密文数据进行矩阵并行计算,更新权重向量;步骤4170、循环重复执行步骤4130至步骤4160,直至获取最终加密的逻辑回归权重参数向量。
下面结合具体实施例来说明本发明的实现过程。
具体实施例一
首先需要设计适用于同态加密的机器学习算法。以逻辑回归算法为例,传统的逻辑回归算法迭代次数多,乘法深度大,不适用于同态加密。选取优化的逻辑回归算法NAG来满足迭代次数少的情况下,同时还需要用多项式近似sigmoid函数,生成很好的预测模型。当使用同态加密处理数据时,数据是向量化的,称之为数据打包(packing)。数据打包时,一个包含n个数据元的包最终会被加密成一个密文,后续对这个密文的任何操作会被等价地广播到N个数据元上(当然这个需要解密后才能看到效果)。并在此处列出了高级同态加密操作:
·KeyGen:根据安全参数生成公钥和私钥。
·Pack:将一定数量的普通标量组装为多项式。
·Unpack:Pack的逆操作。
·Enc:使用公钥来加密打包的数据。
·Dec:使用私钥解密密文。
假设有两个密文:c1=Enc(x1,x2,...,xn),c2=Enc(y1,y2,...,yn),同态加密支持的操作如下:
加法:Add(c1,c2)=Enc(x1+y2,x2+y2,...,xn+yn);
乘法:Multiply(c1,c2)=Enc(x2*y2,x2*y2,...,xn*yn);
旋转:Rotate(c1,i)=Enc(xi+1,xi+2,...,xn,x1,x2,...,xi);
多方数据交互协议介绍,在此假设为甲方乙方两方。假设甲方和乙方各具有几个特征,而只有一个方具有标签(在不失一般性的前提下,设为乙方)。乙方首先运行同态加密库中的KeyGen模块生成密钥对,并使用同态加密数据算法(EncData)对其数据进行加密,同态加密库是已经实现同态加密算法的库,例如SEAL(Simple Encrypted ArithmeticLibrary)。具体算法描述如下。
根据本发明实施例,同态加密后的数据,可以支持秘闻文的算术运算。
然后将公钥发送给甲方,甲方也使用乙方的公钥对甲方的数据运行EncData(但不带标签)。然后,云服务提供商(或者甲方)可以使用如算法2描绘的多方并行同态逻辑回归算法在加密数据上训练模型,得到加密的逻辑回归权重参数向量,提供透明算力后,将密文数据通过网络回传给拥有私钥的乙方,乙方解密数据得到机器学习的权重参数,整个系统数据交互完成。算法2将传统的逻辑回归算法改为同态加密的密文逻辑回归算法,考虑算法的实用性,采用矩阵并行的算法设计,近似线性的提升了整个算法的运行效率。以同态逻辑回归为例,多方并行机器学习的伪代码如下。
进一步地,不具有标签的其它多方可以利用上文的同态加密数据算法将待预测或分类数据进行加密,输入根据上述多方并行同态逻辑回归算法获得的机器学习权重数据,获取预测或分类结果。
具体实施例二
本发明提出的一种基于同态加密的多方联合机器学习方法和系统可以很好的解决保密计算问题,通过与明文机器学习的效率和准确度比较来说明本发明方法和系统的有效性。
首先使用两个广泛使用的数据集对本发明方法和系统进行评估,数据集1从UCIAdult数据集中选取,数据集2从手写数字光学识别数据集中选取。对分类特征进行一次编码,然后将数据集2从8×8图像扩展到24×24图像,以评估本发明方法和系统在更大数据集上的性能。所有数据在加密之前均已归一化。
表1展示了评估结果,并与Scikit-learn的默认sklearn.linear_model.SGDClassifier进行了比较,Scikit-learn是针对Python编程语言的免费软件机器学习库,它具有各种分类、回归和聚类算法。根据本发明实施例,通过改变MPI节点数量来评估同态逻辑回归过程的运行时间,由于不同节点需要同步步骤,系统耗时并不是相对于节点数的线性关系,但是训练速度的提高非常明显。
由于加密中的精度损失,同态机器学习的准确性略低于明文训练(Scikit-learnLR)结果,这是为了换取强大的安全性和私密性保护。通过消耗计算资源和bootstrapping(自展法),可以通过更多迭代来进一步提高同态机器学习系统的准确性。但是在本实施例中,选取合适的迭代次数使训练时间和准确性之间取得了平衡。
表1实验评估结果
需要说明的是,为避免昂贵的计算代价和精度缺失,本发明实施例仅使用4次迭代,但是在更多的训练时间下可以实现更多的迭代;在安全性方面,由于同态加密算法是由加密参数确定其安全性,因此选择一个多模量度为32768,初始密文模量为800位的加密参数,该参数至少提供128位安全性,而爆破需要2的128次方的复杂度,因此本发明安全性很高。在训练耗时情况上,训练万级数据仅需要几分钟,并且正确率跟明文训练的效果接近,精度损失少。
本发明设计并实现的基于同态加密的多方联合机器学习方案,打破数据孤岛现状,保证数据的安全前提下,提高数据利用率,发挥数据的价值。通过实现数据可用不可见的保护技术,在未来数据经济版图中,将同5G技术一样,具有非常高的战略意义。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种基于同态加密的多方联合机器学习方法,其特征在于,所述方法由多个特征数据持有方执行,所述多个特征数据持有方中只有一方具有标签,所述方法包括,
步骤110、具有标签一方利用同态加密库生成公钥和私钥,并利用同态加密数据算法对其特征数据和标签数据进行加密,获取标签方密文数据;所述标签方密文数据包括标签方特征密文数据和标签密文数据;
步骤210、具有标签一方将公钥和标签方密文数据传递给不具有标签的其它多方;
步骤310、不具有标签的其它多方分别利用同态加密数据算法对各自的特征数据进行加密,获取加密后的非标签方特征密文数据;
步骤410、不具有标签的其它多方利用多方并行机器学习算法在所述非标签方特征密文数据和所述标签方密文数据上进行模型训练,获得加密的机器学习权重数据,并将加密的机器学习权重数据传递给具有标签一方;
步骤510、具有标签一方利用私钥解密所述加密的机器学习权重数据,获得机器学习权重数据。
2.根据权利要求1所述一种基于同态加密的多方联合机器学习方法,其特征在于,利用同态加密数据算法对特征数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,所述输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
根据公钥计算每个子矩阵加密后的密文数据;其中,每个密文数据都支持单指令多数据流SIMD方式操作;
将多个子矩阵加密后的密文数据打包后输出,获得加密后的特征密文数据;其中,所述打包为将一定数量的普通标量组装为多项式。
3.根据权利要求1所述一种基于同态加密的多方联合机器学习方法,其特征在于,利用同态加密数据算法对标签数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,所述输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
将输入矩阵的第一列设置为标签,将标签复制g份后,根据公钥计算其打包加密后的标签密文数据并输出;其中,g等于子矩阵的列数。
4.根据权利要求1所述一种基于同态加密的多方联合机器学习方法,其特征在于,步骤410中多方并行机器学习算法为多方并行同态逻辑回归算法。
5.根据权利要求4所述一种基于同态加密的多方联合机器学习方法,其特征在于,所述多方并行同态逻辑回归算法具体步骤包括,
步骤4110、获取非标签方特征密文数据和标签方密文数据;
步骤4120、将非标签方特征密文数据和标签方密文数据中的标签方特征密文数据进行拼接;
步骤4130、将拼接后的特征密文数据按照并行机器的节点模机器数的结果划分为多个节点,并将第0个节点定义为主节点;
步骤4140、多个节点并行计算初始权重向量和划分后的密文内积,并将密文内积结果数据传递给主节点;
步骤4150、主节点将接收到的多个密文内积结果数据相加,并将密文内积结果累加值传递给其它节点;
步骤4160、除主节点之外的其它节点根据主节点传递的密文内积结果累加值和标签方密文数据中的标签密文数据进行矩阵并行计算,更新权重向量;
步骤4170、循环重复执行步骤4130至步骤4160,直至获取最终加密的逻辑回归权重参数向量。
6.一种基于同态加密的多方联合机器学习系统,其特征在于,所述系统部署在具有标签的特征数据持有方中,包括,
密钥生成单元,配置为利用同态加密库生成公钥和私钥;
同态加密单元一,配置为利用同态加密数据算法对特征数据和标签数据进行加密,获取标签方密文数据;所述标签方密文数据包括标签方特征密文数据和标签密文数据;
第一发送单元,配置为将公钥和标签方密文数据传递给不具有标签的其它多方;
第一接收单元,配置为接收加密的机器学习权重数据;
解密单元,配置为利用私钥解密所述加密的机器学习权重数据,获得机器学习权重数据。
7.一种基于同态加密的多方联合机器学习系统,其特征在于,所述系统部署在不具有标签的特征数据持有方中,包括,
同态加密单元二,配置为利用同态加密数据算法对特征数据进行加密,获取加密后的非标签方特征密文数据;
第二接收单元,配置为接收具有标签一方传递的公钥和标签方密文数据;
模型训练单元,配置为利用多方并行机器学习算法在所述非标签方特征密文数据和所述标签方密文数据上进行模型训练,获得加密的机器学习权重数据;
第二发送单元,配置为将加密的机器学习权重数据传递给具有标签一方。
8.根据权利要求6所述一种基于同态加密的多方联合机器学习系统,其特征在于,所述同态加密单元一中利用同态加密数据算法对特征数据和标签数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,所述输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
根据公钥计算每个子矩阵加密后的密文数据;其中,每个密文数据都支持单指令多数据流SIMD方式操作;
将多个子矩阵加密后的密文数据打包后输出,获得加密后的特征密文数据;其中,所述打包为将一定数量的普通标量组装为多项式。
将输入矩阵的第一列设置为标签,将标签复制g份后,根据公钥计算其打包加密后的标签密文数据并输出;其中,g等于子矩阵的列数。
9.根据权利要求7所述一种基于同态加密的多方联合机器学习系统,其特征在于,所述同态加密单元二中利用同态加密数据算法对特征数据进行加密的步骤包括,
获取输入矩阵和公钥;其中,所述输入矩阵的行数为特征数据集的大小,列数为特征数据的特征数;
将输入矩阵进行分割,获得多个子矩阵;
根据公钥计算每个子矩阵加密后的密文数据;其中,每个密文数据都支持单指令多数据流SIMD方式操作;
将多个子矩阵加密后的密文数据打包后输出,获得加密后的特征密文数据;其中,所述打包为将一定数量的普通标量组装为多项式。
10.根据权利要求7所述一种基于同态加密的多方联合机器学习系统,其特征在于,模型训练单元中多方并行机器学习算法为多方并行同态逻辑回归算法,所述多方并行同态逻辑回归算法具体步骤包括,步骤4110、获取非标签方特征密文数据和标签方密文数据;步骤4120、将非标签方特征密文数据和标签方密文数据中的标签方特征密文数据进行拼接;步骤4130、将拼接后的特征密文数据按照并行机器的节点模机器数的结果划分为多个节点,并将第0个节点定义为主节点;步骤4140、多个节点并行计算初始权重向量和划分后的密文内积,并将密文内积结果数据传递给主节点;步骤4150、主节点将接收到的多个密文内积结果数据相加,并将密文内积结果累加值传递给其它节点;步骤4160、除主节点之外的其它节点根据主节点传递的密文内积结果累加值和标签方密文数据中的标签密文数据进行矩阵并行计算,更新权重向量;步骤4170、循环重复执行步骤4130至步骤4160,直至获取最终加密的逻辑回归权重参数向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010918173.7A CN112104446A (zh) | 2020-09-03 | 2020-09-03 | 一种基于同态加密的多方联合机器学习方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010918173.7A CN112104446A (zh) | 2020-09-03 | 2020-09-03 | 一种基于同态加密的多方联合机器学习方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112104446A true CN112104446A (zh) | 2020-12-18 |
Family
ID=73757424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010918173.7A Pending CN112104446A (zh) | 2020-09-03 | 2020-09-03 | 一种基于同态加密的多方联合机器学习方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104446A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113591942A (zh) * | 2021-07-13 | 2021-11-02 | 中国电子科技集团公司第三十研究所 | 大规模数据的密文机器学习模型训练方法 |
CN115296859A (zh) * | 2022-07-08 | 2022-11-04 | 蓝象智联(杭州)科技有限公司 | 隐私计算通信内容安全检测方法及装置 |
CN116045438A (zh) * | 2023-01-09 | 2023-05-02 | 江苏悦达绿色建筑科技有限公司 | 一种三恒智慧住宅的新风系统及其控制方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008717A (zh) * | 2019-02-26 | 2019-07-12 | 东北大学 | 支持隐私保护的决策树分类服务系统及方法 |
CN110190946A (zh) * | 2019-07-12 | 2019-08-30 | 之江实验室 | 一种基于同态加密的隐私保护多机构数据分类方法 |
CN110399182A (zh) * | 2019-07-25 | 2019-11-01 | 哈尔滨工业大学 | 一种cuda线程放置优化方法 |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
US20200082259A1 (en) * | 2018-09-10 | 2020-03-12 | International Business Machines Corporation | System for Measuring Information Leakage of Deep Learning Models |
CN111177768A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111245610A (zh) * | 2020-01-19 | 2020-06-05 | 浙江工商大学 | 基于ntru同态加密的数据隐私保护深度学习方法 |
CN111241570A (zh) * | 2020-04-24 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
US20200244435A1 (en) * | 2019-01-28 | 2020-07-30 | The Toronto-Dominion Bank | Homomorphic computations on encrypted data within a distributed computing environment |
WO2020155173A1 (en) * | 2019-02-03 | 2020-08-06 | Platon Co., Limited | Data processing method, device and system for machine learning model |
-
2020
- 2020-09-03 CN CN202010918173.7A patent/CN112104446A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200082259A1 (en) * | 2018-09-10 | 2020-03-12 | International Business Machines Corporation | System for Measuring Information Leakage of Deep Learning Models |
US20200244435A1 (en) * | 2019-01-28 | 2020-07-30 | The Toronto-Dominion Bank | Homomorphic computations on encrypted data within a distributed computing environment |
WO2020155173A1 (en) * | 2019-02-03 | 2020-08-06 | Platon Co., Limited | Data processing method, device and system for machine learning model |
CN110008717A (zh) * | 2019-02-26 | 2019-07-12 | 东北大学 | 支持隐私保护的决策树分类服务系统及方法 |
CN110190946A (zh) * | 2019-07-12 | 2019-08-30 | 之江实验室 | 一种基于同态加密的隐私保护多机构数据分类方法 |
CN110399182A (zh) * | 2019-07-25 | 2019-11-01 | 哈尔滨工业大学 | 一种cuda线程放置优化方法 |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
CN111245610A (zh) * | 2020-01-19 | 2020-06-05 | 浙江工商大学 | 基于ntru同态加密的数据隐私保护深度学习方法 |
CN111177768A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111241570A (zh) * | 2020-04-24 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
Non-Patent Citations (2)
Title |
---|
QIFEI LI ECT.: "HomoPAI: A Secure Collaborative Machine Learning Platform based on Homomorphic Encryption", 《2020 IEEE 36TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE)》 * |
谭作文, 张连福: "机器学习隐私保护研究综述", 《软件学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113591942A (zh) * | 2021-07-13 | 2021-11-02 | 中国电子科技集团公司第三十研究所 | 大规模数据的密文机器学习模型训练方法 |
CN113591942B (zh) * | 2021-07-13 | 2023-05-09 | 中国电子科技集团公司第三十研究所 | 大规模数据的密文机器学习模型训练方法 |
CN115296859A (zh) * | 2022-07-08 | 2022-11-04 | 蓝象智联(杭州)科技有限公司 | 隐私计算通信内容安全检测方法及装置 |
CN115296859B (zh) * | 2022-07-08 | 2024-02-23 | 蓝象智联(杭州)科技有限公司 | 隐私计算通信内容安全检测方法及装置 |
CN116045438A (zh) * | 2023-01-09 | 2023-05-02 | 江苏悦达绿色建筑科技有限公司 | 一种三恒智慧住宅的新风系统及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11569978B2 (en) | Encrypting and decrypting information | |
EP2750323B1 (en) | Encryption processing apparatus and method | |
CN112104446A (zh) | 一种基于同态加密的多方联合机器学习方法和系统 | |
US11652603B2 (en) | Homomorphic encryption | |
Abid et al. | RETRACTED ARTICLE: An optimised homomorphic CRT-RSA algorithm for secure and efficient communication | |
US10122690B2 (en) | Data encryption and authentication using a mixing function in a communication system | |
CN111741020B (zh) | 基于数据隐私保护的公共数据集确定方法、装置及系统 | |
TWI597960B (zh) | 金鑰分裂技術 | |
CN111523134B (zh) | 基于同态加密的模型训练方法、装置及系统 | |
Wang et al. | Privacy preserving computation in cloud using noise-free fully homomorphic encryption (FHE) schemes | |
Kahla et al. | Asymmetric image encryption based on twin message fusion | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
Awasthi et al. | A protected cloud computation algorithm using homomorphic encryption for preserving data integrity | |
CN113992325A (zh) | 一种隐私数据共享方法及装置 | |
Rajput et al. | VLSI implementation of lightweight cryptography technique for FPGA-IOT application | |
Kanda et al. | Hardware architecture design of AES cryptosystem with 163-bit elliptic curve | |
CN115118411A (zh) | 链下多方可信计算方法、装置、设备及存储介质 | |
Bhardwaj | End-to-end data security for multi-tenant cloud environment | |
Han | Gröbner basis attacks on lightweight RFID authentication protocols | |
Hanshal | Elliptic curve diffie-hellman random keys using artificial neural network and genetic algorithm for secure data over private cloud | |
JP2012150732A (ja) | 検索システム、判定装置、ベクトル構成装置、その方法及びプログラム | |
Naji et al. | Data (Video) Encryption in Mobile Devices | |
Patil et al. | Significant Study of Data Encryption and Steganography | |
CN109617876A (zh) | 基于Http协议的数据加密、解密方法及系统 | |
Borghoff | Cryptanalysis of Lightweight Ciphers |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201218 |
|
RJ01 | Rejection of invention patent application after publication |