CN113364589A - 用于联邦学习安全审计的密钥管理系统、方法及存储介质 - Google Patents

用于联邦学习安全审计的密钥管理系统、方法及存储介质 Download PDF

Info

Publication number
CN113364589A
CN113364589A CN202110912203.8A CN202110912203A CN113364589A CN 113364589 A CN113364589 A CN 113364589A CN 202110912203 A CN202110912203 A CN 202110912203A CN 113364589 A CN113364589 A CN 113364589A
Authority
CN
China
Prior art keywords
key
user
learning task
state
keys
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.)
Granted
Application number
CN202110912203.8A
Other languages
English (en)
Other versions
CN113364589B (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.)
Shenzhen Zhixing Technology Co Ltd
Original Assignee
Shenzhen Zhixing Technology 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 Shenzhen Zhixing Technology Co Ltd filed Critical Shenzhen Zhixing Technology Co Ltd
Priority to CN202110912203.8A priority Critical patent/CN113364589B/zh
Publication of CN113364589A publication Critical patent/CN113364589A/zh
Application granted granted Critical
Publication of CN113364589B publication Critical patent/CN113364589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种用于联邦学习安全审计的密钥管理系统、方法及存储介质。密钥管理系统包括:用户接口模块用于接收用户的请求;密钥服务处理模块,配置成生成特定于所述用户的可见密钥空间,特定于所述用户的可见密钥空间中的密钥可用于响应所述用户的请求;密钥生成模块;和密钥存储模块。密钥存储模块所保存的每个密钥的状态根据与该密钥对应的联邦学习任务是否结束以及与该联邦学习任务对应的安全审计需求是否满足而确定。本申请的发明不仅能满足各种联邦学习框架和软件产品对规范性和安全性的要求,而且考虑到后续的安全审计的需求,以及同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。

Description

用于联邦学习安全审计的密钥管理系统、方法及存储介质
技术领域
本申请涉及数据安全和隐私保护技术领域,具体涉及一种用于联邦学习安全审计的密钥管理系统、方法及存储介质。
背景技术
随着人工智能和大数据挖掘分析等应用领域的发展,对数据量的需求越来越大。例如训练人工智能的应用模型需要使用大量带有合适的数据标签或者特征数值的训练数据。高质量的数据往往来源于经营活动中产生和积累的应用数据。但是应用数据往往分散在不同的组织和个体手上,例如交易数据分散在各个金融机构,医疗诊断数据分散在各个医疗机构。跨行业跨领域的应用数据往往也是分散的,例如互联网领域的社交属性数据和电商交易数据往往由不同实体掌控。随着数据所有权的重要性、用户隐私和数据安全等受到更多重视,也随着法律法规对数据收集处理提出更严格的约束和要求,掌握应用数据的各个组织或个体往往不愿意或者没有合适手段进行彼此之间的合作,从而很难让各自掌握的应用数据共同发挥作用。这种数据分享和协同合作方面的困境被称之为数据孤岛现象。为了解决跨行业跨组织的数据合作难题,尤其是关键的隐私保护及数据安全的问题,提出了联邦学习的概念。联邦学习指的是拥有数据的各个参与方,在不共享受保护的隐私数据且自有数据不传递到外部的前提下,通过加密的方式交换模型相关信息从而实现协同优化联邦学习模型。其中,联邦学习根据训练数据在不同参与方之间的数据特征空间和样本空间的分布情况,可以划分为在数据特征空间重叠较大而在样本空间重叠较小的横向联邦学习,在数据特征空间重叠较小而在样本空间重叠较大的纵向联邦学习,以及在数据特征空间和样本空间均重叠较小的联邦迁移学习。
随着联邦学习的发展,越来越多参与方开始通过联邦学习框架来协同优化联邦学习模型,但是各个参与方往往自行生成密钥包括用于对明文加密的公钥和用于解密的私钥,并且在完成梯度模型的加解密任务后可能丢失了解密必需的私钥,从而给后续的安全审计造成障碍,也对整个联邦学习的规范性和安全性造成威胁。并且,同一个参与方可能有不同个体在不同时间代表该参与方来创建或者删除密钥,而这些个体彼此之间可能有不同的权限或者有隔离要求或者缺乏有效的密钥管理记录。为此,需要一种用于联邦学习安全审计的密钥管理系统、方法及存储介质,不仅能满足各种联邦学习框架和软件产品对规范性和安全性的要求,而且能有效记录和管理密钥的创建和删除等操作以及考虑到后续的安全审计的需求,并且能考虑同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
发明内容
本申请实施例为了解决如何不仅能满足各种联邦学习框架和软件产品中为了各参与方协同优化联邦学习模型而对联邦学习框架的规范性和安全性提出的要求,而且能有效记录和管理密钥的创建和删除等操作以及考虑到后续的安全审计的需求,并且能考虑同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异,这样的技术难题,通过提供了一种用于联邦学习安全审计的密钥管理系统、方法及存储介质,从而实现了有效应对联邦学习应用中各种复杂环境下对数据获取权限的不同要求特别是涉及到安全审计的场景,而且有效应对同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
第一方面,本申请实施例提供了一种密钥管理系统,应用于联邦学习安全审计。所述密钥管理系统包括:用户接口模块,其中,所述用户接口模块接收用户的请求;密钥服务处理模块,其中,所述密钥服务处理模块与所述用户接口模块连接,所述密钥服务处理模块配置成生成特定于所述用户的可见密钥空间,所述特定于所述用户的可见密钥空间中的密钥可用于响应所述用户的请求;密钥生成模块,其中,所述密钥生成模块与所述密钥服务处理模块连接;和密钥存储模块,其中,所述密钥存储模块所保存的每个密钥的状态根据与该密钥对应的联邦学习任务是否结束以及与该联邦学习任务对应的安全审计需求是否满足而确定。其中,所述密钥服务处理模块配置成:根据所述用户的请求,选择性地调用所述密钥生成模块生成新的密钥并且使得所述特定于所述用户的可见密钥空间中的密钥包括所述新的密钥。其中,所述密钥服务处理模块还配置成:根据所述用户的请求,读取所述密钥存储模块所保存的至少一个密钥并且根据所述至少一个密钥的状态而选择性地使得所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。
第一方面所描述的技术方案,不仅能满足各种联邦学习框架和软件产品对规范性和安全性的要求,而且考虑到后续的安全审计的需求,以及同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
根据第一方面的技术方案,在一种可能的实施方式中,所述密钥管理系统还包括:密钥更新模块,其中,所述密钥更新模块与所述密钥服务处理模块连接,所述密钥服务处理模块配置成可调用所述密钥更新模块更新所述至少一个密钥的状态。
根据第一方面的技术方案,在一种可能的实施方式中,所述密钥存储模块所保存的每个密钥的状态是多种预设密钥状态中的一种预设密钥状态,其中,所述多种预设密钥状态可用于指示与特定密钥对应的特定联邦学习任务是否结束以及与该特定联邦学习任务对应的安全审计需求是否满足。
根据第一方面的技术方案,在一种可能的实施方式中,所述多种预设密钥状态包括可用状态、占用状态、弃置状态和可回收状态,其中,所述可用状态指示所述特定密钥不与任何联邦学习任务绑定,所述占用状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务未结束,所述弃置状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务已结束以及与所述特定联邦学习任务对应的安全审计需求未满足,所述可回收状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务已结束以及与所述特定联邦学习任务对应的安全审计需求已满足。
根据第一方面的技术方案,在一种可能的实施方式中,所述特定联邦学习任务已结束指示与所述特定联邦学习任务相关的数据均得到处理,或者,与所述特定联邦学习任务相关的终止指令被所述密钥管理系统接收,其中,所述与所述特定联邦学习任务相关的终止指令响应于检测到以下之一被发出:在所述特定联邦学习任务进行中出现错误、所述特定联邦学习任务的至少一个参与方受到恶意攻击、所述特定联邦学习任务的至少一个参与方提供恶意数据。
根据第一方面的技术方案,在一种可能的实施方式中,所述与所述特定联邦学习任务相关的终止指令被相对于所述特定联邦学习任务而言的仲裁方、联邦学习任务管理方或者联邦学习服务提供方发出。
根据第一方面的技术方案,在一种可能的实施方式中,与所述特定联邦学习任务对应的安全审计需求已满足指示所述特定联邦学习任务的原始数据被校验,或者,所述特定联邦学习任务的数据流的数据格式/数据位宽被校验。
根据第一方面的技术方案,在一种可能的实施方式中,所述密钥服务处理模块还配置成:根据所述用户的请求,读取所述密钥存储模块所保存的所述至少一个密钥并且根据所述至少一个密钥的状态而选择性地使得所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥,包括:当所述至少一个密钥的状态是所述占用状态或者所述弃置状态时,所述特定于所述用户的可见密钥空间中的密钥不包括所述至少一个密钥,当所述至少一个密钥的状态是所述可用状态或者所述可回收状态时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。
根据第一方面的技术方案,在一种可能的实施方式中,所述密钥服务处理模块还配置成:根据所述用户的请求,读取所述密钥存储模块所保存的所述至少一个密钥并且根据所述至少一个密钥的状态而选择性地使得所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥,包括:当所述至少一个密钥的状态是所述占用状态时,所述特定于所述用户的可见密钥空间中的密钥不包括所述至少一个密钥,当所述至少一个密钥的状态是所述可用状态或者所述可回收状态时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥,当所述至少一个密钥的状态是所述弃置状态并且所述用户的请求是关于发起新的联邦学习任务时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。
根据第一方面的技术方案,在一种可能的实施方式中,在所述用户接口模块接收所述用户的请求后,所述密钥管理系统对所述用户进行身份验证,并根据所述用户的身份验证结果决定是否通过所述用户的身份验证。
根据第一方面的技术方案,在一种可能的实施方式中,在所述密钥管理系统决定通过所述用户的身份验证后,所述密钥管理系统根据所述用户的身份验证结果确定所述用户的权限,并根据所述用户的权限和所述用户的请求决定是否拒绝所述用户的请求。
根据第一方面的技术方案,在一种可能的实施方式中,根据所述用户的身份验证结果确定所述用户的权限,包括:根据所述用户的身份验证结果确定所述用户的职位、所述用户的历史数据或者所述用户和相对于所述用户而言的至少一个另一用户之间的关系,确定所述用户的权限范围。
根据第一方面的技术方案,在一种可能的实施方式中,根据所述用户的权限和所述用户的请求决定是否拒绝所述用户的请求,包括:确定所述用户的请求是否在所述用户的权限范围内,如果否,则决定拒绝所述用户的请求。
根据第一方面的技术方案,在一种可能的实施方式中,当与所述用户的请求相关的联邦学习任务属于所述用户的职位的管辖时所述用户的请求在所述用户的权限范围内,或者,当与所述用户的请求相关的联邦学习任务存在所述用户的历史数据时所述用户的请求在所述用户的权限范围内,或者,当与所述用户的请求相关的联邦学习任务是由所述至少一个另一用户发起并且所述至少一个另一用户授权所述用户时所述用户的请求在所述用户的权限范围内。
第二方面,本申请实施例提供了一种密钥管理方法,应用于联邦学习安全审计。所述密钥管理方法包括:接收用户的请求;对所述用户进行身份验证,并根据所述用户的身份验证结果决定是否通过所述用户的身份验证;通过所述用户的身份验证后,根据所述用户的身份验证结果确定所述用户的权限,并根据所述用户的权限和所述用户的请求决定是否接受所述用户的请求;和决定接受所述用户的请求后,生成特定于所述用户的可见密钥空间,其中,所述特定于所述用户的可见密钥空间中的密钥可用于响应所述用户的请求。其中,所述特定于所述用户的可见密钥空间中的密钥来自于新生成的密钥和/或从被保存的密钥中根据所述被保存的密钥的状态而选择的至少一个密钥,所述被保存的密钥中的每一个密钥的状态根据与该密钥对应的联邦学习任务是否结束以及与该联邦学习任务对应的安全审计需求是否满足而确定。
第二方面所描述的技术方案,不仅能满足各种联邦学习框架和软件产品对规范性和安全性的要求,而且考虑到后续的安全审计的需求,以及同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
根据第二方面的技术方案,在一种可能的实施方式中,所述密钥管理方法还包括:更新所述被保存的密钥的状态。
根据第二方面的技术方案,在一种可能的实施方式中,所述被保存的密钥的状态是多种预设密钥状态中的一种预设密钥状态,其中,所述多种预设密钥状态可用于指示与特定密钥对应的特定联邦学习任务是否结束以及与该特定联邦学习任务对应的安全审计需求是否满足。
根据第二方面的技术方案,在一种可能的实施方式中,所述多种预设密钥状态包括可用状态、占用状态、弃置状态和可回收状态,其中,所述可用状态指示所述特定密钥不与任何联邦学习任务绑定,所述占用状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务未结束,所述弃置状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务已结束以及与所述特定联邦学习任务对应的安全审计需求未满足,所述可回收状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务已结束以及与所述特定联邦学习任务对应的安全审计需求已满足。
根据第二方面的技术方案,在一种可能的实施方式中,所述特定联邦学习任务已结束指示与所述特定联邦学习任务相关的数据均得到处理,或者,与所述特定联邦学习任务相关的终止指令被接收,其中,所述与所述特定联邦学习任务相关的终止指令响应于检测到以下之一被发出:在所述特定联邦学习任务进行中出现错误、所述特定联邦学习任务的至少一个参与方受到恶意攻击、所述特定联邦学习任务的至少一个参与方提供恶意数据。
根据第二方面的技术方案,在一种可能的实施方式中,所述与所述特定联邦学习任务相关的终止指令被相对于所述特定联邦学习任务而言的仲裁方、联邦学习任务管理方或者联邦学习服务提供方发出。
根据第二方面的技术方案,在一种可能的实施方式中,与所述特定联邦学习任务对应的安全审计需求已满足指示所述特定联邦学习任务的原始数据被校验,或者,所述特定联邦学习任务的数据流的数据格式/数据位宽被校验。
根据第二方面的技术方案,在一种可能的实施方式中,所述特定于所述用户的可见密钥空间中的密钥来自于新生成的密钥和/或从被保存的密钥中根据所述被保存的密钥的状态而选择的至少一个密钥,包括:当所述至少一个密钥的状态是所述占用状态或者所述弃置状态时,所述特定于所述用户的可见密钥空间中的密钥不包括所述至少一个密钥,当所述至少一个密钥的状态是所述可用状态或者所述可回收状态时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。
根据第二方面的技术方案,在一种可能的实施方式中,所述特定于所述用户的可见密钥空间中的密钥来自于新生成的密钥和/或从被保存的密钥中根据所述被保存的密钥的状态而选择的至少一个密钥,包括:当所述至少一个密钥的状态是所述占用状态时,所述特定于所述用户的可见密钥空间中的密钥不包括所述至少一个密钥,当所述至少一个密钥的状态是所述可用状态或者所述可回收状态时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥,当所述至少一个密钥的状态是所述弃置状态并且所述用户的请求是关于发起新的联邦学习任务时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。
第三方面,本申请实施例提供了一种非瞬时性计算机可读存储介质,该计算机存储介质保存计算机指令,其特征在于,该计算机指令被处理装置执行时,使得所述处理装置执行根据第二方面中任一项所述的密钥管理方法。
第三方面所描述的技术方案,不仅能满足各种联邦学习框架和软件产品对规范性和安全性的要求,而且考虑到后续的安全审计的需求,以及同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
第四方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第二方面中任一项所述的密钥管理方法。
第四方面所描述的技术方案,不仅能满足各种联邦学习框架和软件产品对规范性和安全性的要求,而且考虑到后续的安全审计的需求,以及同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
第五方面,本申请实施例提供了一种电子设备。所述电子设备包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第二方面中任一项所述的密钥管理方法。
第五方面所描述的技术方案,不仅能满足各种联邦学习框架和软件产品对规范性和安全性的要求,而且考虑到后续的安全审计的需求,以及同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
附图说明
为了说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1示出了本申请实施例提供的具有多参与方的联邦学习安全审计过程的流程示意图。
图2示出了本申请实施例提供的根据图1所示的联邦学习安全审计过程进行RSA交集计算的流程示意图。
图3示出了本申请实施例提供的密钥管理系统的框图。
图4示出了本申请实施例提供的密钥管理方法的流程示意图。
具体实施方式
本申请实施例提供了一种用于联邦学习安全审计的密钥管理系统、方法及存储介质。所述密钥管理系统包括:用户接口模块,其中,所述用户接口模块接收用户的请求;密钥服务处理模块,其中,所述密钥服务处理模块与所述用户接口模块连接,所述密钥服务处理模块配置成生成特定于所述用户的可见密钥空间,所述特定于所述用户的可见密钥空间中的密钥可用于响应所述用户的请求;密钥生成模块,其中,所述密钥生成模块与所述密钥服务处理模块连接;和密钥存储模块。其中,所述密钥存储模块所保存的每个密钥的状态根据与该密钥对应的联邦学习任务是否结束以及与该联邦学习任务对应的安全审计需求是否满足而确定。其中,所述密钥服务处理模块配置成:根据所述用户的请求,选择性地调用所述密钥生成模块生成新的密钥并且使得所述特定于所述用户的可见密钥空间中的密钥包括所述新的密钥。其中,所述密钥服务处理模块还配置成:根据所述用户的请求,读取所述密钥存储模块所保存的至少一个密钥并且根据所述至少一个密钥的状态而选择性地使得所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。如此,不仅能满足各种联邦学习框架和软件产品对规范性和安全性的要求,而且能有效记录和管理密钥的创建和删除等操作以及考虑到后续的安全审计的需求,并且能考虑同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
本申请实施例可用于以下应用场景,包括但是不限于,多方安全计算、与联邦学习有关的机器学习模型训练、数据安全、隐私保护或者应用隐私计算框架或算法的其它应用场景等。本申请实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的具有多参与方的联邦学习安全审计过程的流程示意图。如图1所示,联邦学习安全审计过程100包括两个参与方,分别是被邀请方/参与方A和发起方/参与方B。其中,参与方A和参与方B各自具有私有数据并通过加密的方式交换模型相关信息从而实现协同优化联邦学习模型,参与方A和参与方B的私有数据可以有不同的数量,不同的存储类型,也可以是跨行业的应用数据。例如,参与方A的私有数据可以是互联网电子商务中的社交方面数据,而参与方B的私有数据可以是互联网电子商务中的交易数据。双方跨行业的私有数据根据具体的数据模型可以有相应的RSA交集。另外,参与方A和参与方B各自的私有数据可以有公开的来源。应当理解的是,发起方和被邀请方是相对概念。
联邦学习安全审计过程100还涉及密钥管理方C、数据交换节点D以及安全审计方E。其中,密钥管理方C用于密钥的管理,包括密钥保存、密钥删除等操作,下面会详细说明这些操作。数据交换节点D用于各个参与方之间的数据交换,在联邦学习和隐私计算的相关应用场景下,通过数据交换节点D进行交互的数据可以包括加密后的数据如密态数据、密文、加密后梯度参数等,还可以是用于各参与方之间协调的配置信息例如联邦学习任务的编号、通信频率等。数据交换节点D可以理解为一个虚拟存在的节点,例如参与方A与参与方B通过互联网进行通信,但是其中的加密数据流在从一个参与方发送给另一个参与方的同时也可以发送一个副本或者拷贝给安全审计方E;或者数据交换节点D是物理节点例如专用的计算节点或者服务器。安全审计方E用于进行数据的安全性和合规性的审计,例如校验数据格式、数据位宽等,还可以包括对原始数据的审计。其中对原始数据的审计需要解密被加密的数据,也就是对密态数据进行解密并校验解密后的原始数据。为此,安全审计方E需要用到解密必需的私钥,而加解密算法的密钥或称公钥私钥对一般由各个参与方自行生成,因此需要对密钥管理做出优化,下面会进一步详细说明本申请实施例对密钥管理做出的优化。
请继续参阅图1,联邦学习安全审计过程100的流程包括图1所示的基本步骤。应当理解的是,图1所示的各个步骤仅为示例性,只是用于说明一种可能的实施方式下的联邦学习安全审计中各方的操作。其中,在102处,发起方/参与方B创建密钥,包括公钥K1和私钥P1,用公钥K1加密数据,发送公钥K1和加密后数据给数据交换节点D;在104处,发起方/参与方B发送私钥P1给密钥管理方C。其中,与102对应的操作和与104对应的操作可以同时进行,也可以不同时进行或者按照任意次序进行,只要密钥管理方C在提供私钥P1给安全审计方E之前能从参与方B得到该私钥P1。另外,在112处,被邀请方/参与方A创建密钥,包括公钥K2和私钥P2,用公钥K2加密数据,发送公钥K2和加密后数据给数据交换节点D;在114处,被邀请方/参与方A发送私钥P2给密钥管理方C。其中,与112对应的操作和与114对应的操作可以同时进行,也可以不同时进行或者按照任意次序进行,只要密钥管理方C在提供私钥P2给安全审计方E之前能从参与方A得到该私钥P2。如此,参与方A和参与方B均各自生成密钥,利用各自的密钥加密数据并将各自的私钥P2和私钥P1发送给密钥管理方C。应当理解的是,与102对应的操作是来自参与方B的对数据加密及交互加密数据的行为,与112对应的操作则是来自参与方A的对数据加密及交互加密数据的行为,这两种操作彼此是独立的,可以用于同一个联邦学习任务也可以用于不同的联邦学习任务。并且,在一些示例性实施例中,参与方A作为被邀请方可能不需要生成自身的密钥。例如,参与方B作为发起方可以发起RSA交集计算的联邦学习任务,而参与方A作为被邀请方只需要根据参与方B所生成的公钥对参与方A的私有数据进行加密就可以完成RSA交集计算的联邦学习任务。因此,在一种可能的实施方式中,图1中所示的联邦学习安全审计过程100包括只需要其中一个参与方生成密钥并将私钥发送给密钥管理方C的情况,例如RSA交集计算之类的联邦学习任务。在另一种可能的实施方式中,图1中所示的联邦学习安全审计过程100包括需要所有参与方中的全部或者其中一部分参与方(如两个参与方或者更多个参与方)来各自生成密钥并将各自生成的密钥中的私钥发送给密钥管理方C的情况。并且,图1中所示的是由各个参与方各自生成密钥并将各自生成的密钥中的私钥发送给密钥管理方C。在一些示例性实施例中,可以安排密钥管理方C具备统一的密钥生成功能,例如密钥管理方C通过基于量子密码方案的随机密码生成技术来生成密钥,并将生成的密钥发送给各个参与方用于加密数据和后续操作。
安全审计方E需要用到解密必需的私钥来解密密态数据并校验原始数据。而公钥和私钥是成对的,也就是用同一个密钥中的公钥进行加密得到的密态数据也需要通过该密钥的私钥来进行解密。在122处,安全审计方E按照特定方式从数据交换节点D获取待审计或者待校验的数据,具体地,数据交换节点D将所接收的来自发起方/参与方B的加密后数据或者来自被邀请方/参与方A的加密后数据发送给安全审计方E。其中,安全审计方E按照特定方式从数据交换节点D获取待审计或者待校验的数据,可以是实时进行也可以是在时序上滞后一段时间也就是事后进行。在124处,密钥管理方C根据安全审计方E的请求,将私钥P1或者私钥P2发送给安全审计方E,用于解密数据和安全审计。因此,从图1中可知,私钥P1由参与方B生成并用于解密来自发起方/参与方B的加密后数据,而私钥P2由参与方A生成并用于解密来自被邀请方/参与方A的加密后数据。因此,对于特定密钥,包括其中的成对的公钥和私钥,该密钥的生命周期可以分成多个阶段,从该密钥被生成开始直到该密钥彻底失去作用结束。某个密钥可以根据系统指令而生成后被存储起来作为预备的密钥;该密钥也可以因需求而生成,例如该密钥被生成以用于特定的联邦学习任务例如用于RSA交集计算,并且与该密钥对应的联邦学习任务可能涉及大量的待加密数据。例如,在Paillier加解密任务中需要对同一批次的数据或称明文进行加密且适用同一个密钥,这些同一批次的明文被加密后得到也是同一批次的密文,这些同一批次的密文也需要用同一个密钥进行解密。因此,密钥的生命周期在与该密钥对应的联邦学习任务结束之前是不允许结束的,否则会因丢失密钥而可能无法完成该联邦学习任务或者至少部分相关数据无法完成后续处理。为此,对密钥的管理必然涉及到对与该密钥生成时所绑定的联邦学习任务的进程进行监控,包括获悉与该密钥对应的联邦学习任务是否已经结束。与该密钥对应的联邦学习任务已经结束可以有多种判断标准,例如可以要求与该联邦学习任务相关的数据均得到处理,还可以例如要求收到与该联邦学习任务相关的终止指令。其中,终止指令应由具有仲裁方或者联邦学习任务的管理方,或者联邦学习服务的提供方之类的角色来发出,或者由这些角色批准后由某个参与方代为发出。终止指令可以对应异常情况,例如发现当前的联邦学习任务出现了失误或者错误而需要重新进行,或者发现有参与方提供恶意数据,或者当前联邦学习框架或者系统受到恶意攻击。除了联邦学习任务结束或者因异常情况而提前终止以外,还可能存在其他可能的情况需要结束密钥的生命周期,例如可以由各个参与方约定某些情况。这些可以根据实际情况进行调整,在此不做具体限定。总之,因为特定密钥在生成时或者预先生成后被安排用于特定的联邦学习任务,所以需要结合该特定的联邦学习任务的进程来决定该特定密钥的生命周期,包括该密钥什么情况下彻底失去作用。当某个密钥彻底失去作用后,则可以选择删除该密钥,又或者将该密钥回收后当作新生成的密钥并开启新的生命周期。
应当理解的是,上面讨论的是结合该特定的联邦学习任务的进程来决定该特定密钥的生命周期,包括该密钥什么情况下彻底失去作用,这是因为同一个联邦学习任务中或者说同一批次的数据的处理适用同一个密钥,而在该联邦学习任务尚未结束或者没有因异常情况或约定情况而提前终止之前,丢失了该密钥则很可能导致后续处理无法正常进行。此外,在涉及到安全审计的情况下,即使该特定的联邦学习任务的进程指示该联邦学习任务已经结束或者提前被终止,该密钥可能仍存在作用也就是该密钥需要被保留以用于安全审计。这是因为安全审计或者对数据合规性的校验可能包括对原始数据的校验并因此需要密钥进行解密,而且安全审计可能被安排滞后进行也就是可能在该联邦学习任务已经结束一段时间后才进行安全审计。因此,考虑到特定密钥是用于特定的联邦学习任务,需要结合该特定的联邦学习任务的进程以及与该特定的联邦学习任务对应的安全审计需求来决定该特定密钥的生命周期,包括该密钥什么情况下彻底失去作用并能被删除或者再回收。
请继续参阅图1,密钥管理方C负责密钥的管理,包括密钥的删除和再回收操作,也负责监控联邦学习任务的进程,以及监控是否出现了因异常情况或约定情况而提前终止联邦学习任务。安全审计方E可以决定与特定的联邦学习任务对应的安全审计需求,也配置为通知密钥管理方C与该特定的联邦学习任务对应的安全审计需求是否得到满足或者不再被需要。具体地,密钥管理方C负责保存密钥包括保存私钥,安全审计方E向密钥管理方C请求用于解密的私钥并通知密钥管理方C与该私钥对应的特定的联邦学习任务所对应的安全审计需求如原始数据的校验得到了满足,然后密钥管理方C可以自行判断是否删除或者再回收该密钥。此外,安全审计方E还可以通知密钥管理方C与该特定的联邦学习任务对应的安全审计需求不再被需要。这是因为安全审计方E自行判断或者接到指示不再需要对原始数据进行校验,而其它与该特定的联邦学习任务对应的安全审计需求无需使用该密钥,例如安全审计方E判断或者接到指示只需要校验数据格式或者数据位宽或者任意不需要对密态数据进行解密就能分析判断的规范性要求。因此,安全审计方E可以通知密钥管理方C不再需要该密钥,这样密钥管理方C可以自行判断是否删除或者再回收该密钥。应当理解的是,在一种可能的实施方式中,安全审计方E可以与密钥管理方C视为一体,或者在同一个物理节点如处于同一个硬件平台上,这样上述所说的安全审计方E向密钥管理方C做出的请求以及通知等操作,可能在一些实施例中是在同一个系统或者同一个硬件平台上内部进行,也可以是在不同个体或者计算节点之间进行。
应当理解的是,因为各个参与方需要将生成的私钥发送给密钥管理方,或者各个参与方通过密钥管理方来生成私钥并从密钥管理方获得生成的私钥,以及密钥管理方可能需要发送私钥给不在一起或者不在同一个个体的安全审计方,为了保证私钥的安全性和隐私性,可以通过任意合适的加密方式来实现上述的私钥发送操作。在一种可能的实施方式中,各个参与方与密钥管理方是同一个企业,或者同一个集团,则可以将密钥管理方设置在安全部门服务器上,由同一个企业或者集团的各参与方通过该安全部门服务器来完成私钥发送操作,或者直接在该安全部门服务器的内部进行私钥发送操作。在另一种可能的实施方式中,各个参与方不是隶属于同一个企业,可能各自代表不同的企业,这种时候可以将密钥管理方设置在例如仲裁方或者联邦学习业务管理者或者联邦学习协调方,这样可以保证各个参与方各自的私有数据和私钥的安全性和隐私性。
请继续参阅图1,对于特定密钥,包括其中的成对的公钥和私钥,在考虑到与该特定密钥对应的特定的联邦学习任务的进程以及与该特定的联邦学习任务所对应的安全审计需求之后,该特定密钥的生命周期从密钥生成开始到彻底失去作用被删除或者被回收而结束,仅处于便于说明的目的,可以划分为四种状态:(1)可用状态,在可用状态的密钥意味着该密钥是新生成的或者刚被回收的,在可用状态的密钥能用于下一个联邦学习任务;(2)占用状态,在占用状态的密钥意味着该密钥已经用于特定联邦学习任务并且该特定联邦学习任务未结束;(3)弃置状态,在弃置状态的密钥意味着该密钥已经用于特定联邦学习任务且该特定联邦学习任务已结束但是与该特定联邦学习任务对应的安全审计需求未得到满足;(4)可回收状态,在可回收状态的密钥意味着该密钥已经用于特定联邦学习任务且该特定联邦学习任务已结束,以及与该特定联邦学习任务对应的安全审计需求得到满足。总之,对于某个密钥,根据该密钥是否已经用于某个联邦学习任务,该联邦学习任务是否已经结束(包括因异常情况或约定情况而提前终止),该联邦学习任务的安全审计需求是否得到满足(包括实时审计和滞后审计,以及特别包括在联邦学习任务结束后的安全审计需求),可以将密钥的状态划分成上述四种状态。
判断某个联邦学习任务是否已经结束可以有多种判断标准,这些可以根据实际需求和应用场景决定。其中,特定联邦学习任务已结束可以指的是与该特定联邦学习任务相关的数据均得到处理,还可以指的是收到与该特定联邦学习任务相关的终止指令,该终止指令通知因异常情况或约定情况而在处理完所有相关数据之前就提前终止该特定联邦学习任务。与该特定联邦学习任务对应的安全审计需求得到满足也可以有多个判断标准,这些可以根据实际需求和应用场景决定。其中,与该特定联邦学习任务对应的安全审计需求得到满足可以指的是与该私钥对应的特定的联邦学习任务所对应的安全审计需求如原始数据的校验得到了满足,也可以指的是与该特定的联邦学习任务对应的安全审计需求不再被需要例如安全审计需求只包括校验数据格式或者数据位宽或者任意不需要对密态数据进行解密就能分析判断的规范性要求。
如此,通过上述对密钥状态进行划分,有利于进行密钥的管理。具体地,处于可用状态的密钥是新生成的或者刚被回收,也就是能用于新的联邦学习任务,因此对于任意用户来说是可见的,也就是任意用户可以利用该密钥进行加解密等联邦学习任务并将该密钥与新的联邦学习任务绑定。处于占用状态的密钥因为与该密钥对应的特定联邦学习任务未结束,因此对于除了该特定联邦学习任务的发起方或者得到该发起方授权的参与方以外的任意用户来说是不可见的,也就是一般用户无法获悉该密钥的存在也无法利用该密钥进行新的联邦学习任务,这样有助于确保尚未结束的不同的联邦学习任务不会复用相同的密钥,有利于数据的隐私性。而处于占用状态的该密钥对于与该密钥对应的该特定联邦学习任务的发起方或者得到该发起方授权的参与方可见,这样发起方及参与方可以利用该密钥完成任务,例如获得密钥用于解密等操作。而且,该特定联邦学习任务的发起方或者得到该发起方授权的参与方还能利用该密钥进行安全审计,也就是该特定联邦学习任务进行过程中进行安全审计特别是校验原始数据的操作。并且,负责安全审计的安全审计方可能需要在该联邦学习任务尚未结束前也进行安全审计,所以处于占用状态的该密钥对于负责安全审计的用户或者说安全审计方也应该是可见的。
相对地,处于弃置状态的密钥意味着与该密钥对应的特定联邦学习任务已结束但是与该特定联邦学习任务对应的安全审计需求未得到满足。这种情况下,因为与该密钥对应的特定联邦学习任务已结束,所以该密钥并不需要用于后续的数据处理,而仅仅可能用于安全审计需求。因此,处于弃置状态的密钥应该区别于处于可见状态的密钥以及处于占用状态的密钥。这是因为,与处于可见状态的密钥不同,处于弃置状态的密钥仍可能用于安全审计特别是解密密态数据,因此出于数据隐私和安全性考虑不能将该私钥提供给除了原始数据持有者以外的参与方。与处于占用状态的密钥不同,处于弃置状态的密钥所对应的联邦学习任务已经结束,因此不用担心尚未结束的不同的联邦学习任务会复用相同的密钥,而生成新的密钥需要时间资源,所以在特殊情况例如当密钥资源很有限的时候,也可以让原始数据持有者使用该密钥在新的联邦学习任务上。也就是说,出于安全审计的需要,对安全审计方E或者负责安全审计操作的用户而言,处于弃置状态的密钥是可见的,也就是可以用该密钥解密密态数据并校验原始数据。而出于节省资源的考虑,对于原始数据持有者或者一般来说是最初生成该密钥的参与方而言,处于弃置状态的密钥也是可见的,也就是原始数据持有者或者最初生成该密钥的参与方(一般等效于该特定联邦学习任务的发起方或者得到该发起方授权的参与方)可以利用该密钥进行加解密等联邦学习任务并将该密钥与新的联邦学习任务绑定。从这一点来说,处于弃置状态的密钥是对于满足特定条件的用户(负责安全审计的用户可用于安全审计,和/或,该特定联邦学习任务的发起方或者得到该发起方授权的参与方可用于新的联邦学习任务)可见,或者说对于全体用户而言是有特定限制的可见性。在另一种可能的实施方式中,出于更高的安全性和隐私性考虑,也可以设计成处于弃置状态的密钥对于所有用户来说是不可见的,包括对原始数据持有者或者最初生成该密钥的参与方也不可见。换句话说,为了更高的安全性和隐私性,处于弃置状态的密钥仅仅对具有安全审计操作权限的参与方或者安全审计方可见。
如上所述,处于可回收状态的密钥意味着与该密钥对应的特定联邦学习任务已结束且与该特定联邦学习任务对应的安全审计需求也得到满足,因此对密钥管理方或者负责密钥管理操作的用户而言,处于可回收状态的密钥是可见的,也就是可以选择删除或者回收该密钥。如果该密钥被删除,则从有关记录中删除该密钥,就好像该密钥未生成一样。如果该密钥被回收,则视为刚生成的新密钥然后归属于第一类型的处于可用状态的密钥并对任意用户可见。处于可回收状态的密钥对于不具备管理职能的用户来说一般是不可见的,或者可以设计让可回收状态的密钥按照预设方式被删除或者回收,例如可以设计每次存在10个可回收状态的密钥就对其中一半进行删除对另外一半进行回收,或者例如可以设计对于安全级别较高的联邦学习任务相关的可回收状态的密钥一律进行删除而对于安全级别较低的联邦学习任务相关的可回收状态的密钥一律进行回收。这些可以根据实际需求和应用场景进行调整,在此不做具体限定。
应当理解的是,上述的对密钥进行状态划分是为了便于密钥管理。在另一种可能的实施方式中,可能存在其它名称或者表述的划分方式,或者其它方式的划分。其中,主要是根据与特定密钥对应的特定联邦学习任务的进程以及与该特定的联邦学习任务对应的安全审计需求来决定如何对待该特定密钥。因此,任意可能的划分方式或者分类方式,只要满足上述的技术方案中关于如何结合该特定的联邦学习任务的进程以及与该特定的联邦学习任务对应的安全审计需求来决定该特定密钥的生命周期这一特点,均应理解为本申请公开内容旨在覆盖的范围内。
总之,图1所示的实施例和上述说明考虑到了各种联邦学习框架和软件产品中为了各参与方协同优化联邦学习模型而对联邦学习框架的规范性和安全性提出的要求,为此对于特定密钥在生成时是用于特定的联邦学习任务,而设计了如何结合该特定的联邦学习任务的进程以及与该特定的联邦学习任务对应的安全审计需求来决定该特定密钥的生命周期,包括该密钥什么情况下彻底失去作用并能被删除或者再回收,从而有利于密钥管理的安全性和隐私性也有利于资源复用。并且,通过对密钥状态进行划分,能有效记录和管理密钥的创建和删除等操作以及考虑到后续的安全审计的需求,并且根据不同状态的密钥而判断是否对全体用户或者特定用户可见或者不可见,从而有利于密钥管理服务对具有一般授权的普通用户或者具有特殊授权的特定用户进行有关操作。下面会进一步说明本申请实施例针对同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异而做出的优化。
图2示出了本申请实施例提供的根据图1所示的联邦学习安全审计过程进行RSA交集计算的流程示意图。其中,图1中所示的发起方/参与方B对应图2所示的参与方B,图1中所示的被邀请方/参与方A对应图2所示的参与方A。如上所述,图1所示的实施例也包括,参与方A作为被邀请方可能不需要生成自身的密钥的情况,例如图2所示的参与方B作为发起方可以发起RSA交集计算的联邦学习任务,而参与方A作为被邀请方只需要根据参与方B所生成的公钥对参与方A的私有数据进行加密就可以完成RSA交集计算的联邦学习任务。具体地,如图2所示,RSA交集计算200包括以下步骤。
S202:参与方A持有私有数据XA(u1,u2,u3,u4)。
其中,参与方A与参与方B各自有私有数据,需要通过RSA机制来寻找双方私有数据的RSA交集同时保证非交集的部分不被泄露。在图2所示的实施例中,参与方B作为RSA交集计算的发起方,而参与方A作为被邀请方。应当理解的是,发起方和被邀请方是相对概念。
S204:参与方B存储私有数据XB(u1,u2,u3,u5)。
其中,在一些示例性实例中,参与方A和参与方B各自的私有数据可以有不同的数量,不同的存储类型,也可以是跨行业的应用数据。例如,参与方A的私有数据可以是互联网电子商务中的社交方面数据,而参与方B的私有数据可以是互联网电子商务中的交易数据。双方跨行业的私有数据根据具体的数据模型可以有相应的RSA交集。另外,参与方A和参与方B各自的私有数据可以有公开的来源。
S206:参与方B通过RSA算法生成参与方B的RSA公钥私钥对,其中RSA公钥是模数n和公有幂e,RSA私钥是私有幂d。
其中,RSA算法可以采用任意合适的技术手段,在此不做具体限定。如此,通过RSA算法得到的模数n和公有幂e就是参与方B的RSA公钥,而私有幂d是与参与方B的RSA公钥成对的RSA私钥。
S208:参与方B将RSA公钥(模数n和公有幂e)发送给参与方A。
其中,步骤S208通过数据交换节点D实现,也就是参与方B先将RSA公钥发送给数据交换节点D再由数据交换节点D发送给参与方A。
S210:参与方A根据参与方B的RSA公钥对参与方A的私有数据XA进行哈希运算得到随机数YA。
其中,随机数YA的计算可以采用任意合适的技术手段,在此不做具体限定。如此,参与方A根据参与方B的RSA公钥对参与方A的私有数据XA进行哈希运算得到随机数YA。
S212:参与方A将随机数YA发送给参与方B。
其中,步骤S212通过数据交换节点D实现,也就是参与方A先将随机数YA发送给数据交换节点D再由数据交换节点D发送给参与方B。这里,随机数YA是通过哈希运算得到,因此是加密后数据。
S214:参与方B根据随机数YA和参与方B的RSA私钥(私有幂d),对随机数YA进行计算得到随机数ZA。
其中,随机数ZA的计算可以采用任意合适的技术手段,在此不做具体限定。如此,参与方B根据随机数YA和参与方B的RSA私钥(私有幂d),对随机数YA进行计算得到随机数ZA。
S216:参与方B根据参与方B的RSA私钥(私有幂d)对参与方B的私有数据XB进行哈希运算得到随机数ZB。
其中,随机数ZB的计算可以采用任意合适的技术手段,在此不做具体限定。如此,参与方B根据参与方B的RSA私钥(私有幂d)对参与方B的私有数据XB进行哈希运算得到随机数ZB。
应当理解的是,步骤S216中对随机数ZB的计算,可以重新安排在步骤S206和步骤S218之间任意位置,例如步骤S216可以安排在步骤S206和步骤S208之间,也就是说参与方B在通过RSA算法生成参与方B的RSA公钥私钥对之后即可生成随机数ZB。
S218:参与方B将随机数ZA和随机数ZB都发送给参与方A。
其中,步骤S218通过数据交换节点D实现,也就是参与方B先将随机数ZA和随机数ZB发送给数据交换节点D再由数据交换节点D发送给参与方B。这里,随机数ZA和随机数ZB是加密后数据。
S220:参与方A根据随机数ZA和参与方B的RSA公钥(模数n和公有幂e),生成随机数DA,计算DA和ZB之间的RSA交集I(u1,u2,u3)。
其中,随机数DA的计算可以采用任意合适的技术手段,在此不做具体限定。如此,参与方A根据随机数ZA和参与方B的RSA公钥(模数n和公有幂e),生成随机数DA,计算DA和ZB之间的RSA交集I(u1,u2,u3)。
S222:参与方A将计算得到的RSA交集I(u1,u2,u3)发送给参与方B。
其中,步骤S222通过数据交换节点D实现,也就是参与方A先将计算得到的RSA交集发送给数据交换节点D再由数据交换节点D发送给参与方B。
S224:参与方B得到RSA交集I(u1,u2,u3)。
如此,参与方A与参与方B均得到双方私有数据的RSA交集I。
请参阅图2,RSA交集计算200中的步骤S208、步骤S212以及步骤S218可以通过数据交换节点D来完成参与方之间的数据交互。如上所述,数据交换节点D用于各个参与方之间的数据交换,在联邦学习和隐私计算的相关应用场景下,通过数据交换节点D进行交互的数据可以包括加密后的数据如密态数据、密文、加密后梯度参数等,还可以是用于各参与方之间协调的配置信息例如联邦学习任务的编号、通信频率等。数据交换节点D可以理解为一个虚拟存在的节点,例如参与方A与参与方B通过互联网进行通信,但是其中的加密数据流在从一个参与方发送给另一个参与方的同时也可以发送一个副本或者拷贝给安全审计方E;或者数据交换节点D是物理节点例如专用的计算节点或者服务器。此外,RSA交集计算200中的步骤S204、步骤S206、步骤S214、步骤S216以及步骤S224由参与方B完成,而步骤S202、步骤S210以及步骤S220由参与方A完成。参考图1所示的联邦学习安全审计过程,数据交换节点D还与安全审计方E通信地连接,参与方A和参与方B也与密钥管理方C通信地连接。因为在RSA交集计算200中仅涉及参与方B所生成的密钥,因此可以仅由参与方B将私钥发送给密钥管理方C。如此,结合图1和图2,对于参与方B为了RSA交集计算而生成的密钥,可以结合该RSA交集计算任务的进程以及与该RSA交集计算任务对应的安全审计需求来决定该特定密钥的生命周期,从而有利于密钥管理的安全性和隐私性也有利于资源复用。
图3示出了本申请实施例提供的密钥管理系统的框图。如图3所示,密钥管理系统300包括多个模块,其中有密钥生成模块302、密钥存储模块304、密钥更新模块306、密钥服务处理模块310以及用户接口模块320。密钥生成模块302用于生成新的密钥,例如通过基于量子密码方案的随机密码生成技术来生成密钥。密钥生成模块302可以采用任意合适的技术手段来生成密钥,在此不做具体限定。在一种可能的实施方式中,密钥管理系统300从各个参与方接收由各个参与方各自生成的密钥,也因此在该实施方式中密钥管理系统300可能不具有密钥生成模块302而是依靠各参与方来生成密钥,而密钥管理系统300仅保存所接收的密钥。密钥存储模块304用于存储由密钥管理系统300所管理的密钥,包括由密钥生成模块302生成的密钥或者由各个参与方生成并发送给密钥管理系统300的密钥,并且密钥存储模块304所存储的密钥参考上述的密钥状态划分方式。具体地,对于特定密钥,包括其中的成对的公钥和私钥,在考虑到与该特定密钥对应的特定的联邦学习任务的进程以及与该特定的联邦学习任务所对应的安全审计需求之后,该特定密钥的生命周期从密钥生成开始到彻底失去作用被删除或者被回收而结束,仅处于便于说明的目的,可以划分为四种状态:(1)可用状态,在可用状态的密钥意味着该密钥是新生成的或者刚被回收的,在可用状态的密钥能用于下一个联邦学习任务;(2)占用状态,在占用状态的密钥意味着该密钥已经用于特定联邦学习任务并且该特定联邦学习任务未结束;(3)弃置状态,在弃置状态的密钥意味着该密钥已经用于特定联邦学习任务且该特定联邦学习任务已结束但是与该特定联邦学习任务对应的安全审计需求未得到满足;(4)可回收状态,在可回收状态的密钥意味着该密钥已经用于特定联邦学习任务且该特定联邦学习任务已结束,以及与该特定联邦学习任务对应的安全审计需求得到满足。总之,对于某个密钥,根据该密钥是否已经用于某个联邦学习任务,该联邦学习任务是否已经结束(包括因异常情况或约定情况而提前终止),该联邦学习任务的安全审计需求是否得到满足(包括实时审计和滞后审计,以及特别包括在联邦学习任务结束后的安全审计需求),可以将密钥的状态划分成上述四种状态。
应当理解的是,密钥存储模块304可以通过给每个密钥添加配置信息的方式来标识该密钥的状态和用于后续更新状态,或者可以通过建立查找表的方式来建立起每个密钥与各自的状态之间的映射关系,或者可以通过记录每个密钥的物理存储地址或者虚拟存储地址的标识符或者指针然后通过标识符或指针来建立起记录了每个密钥状态的索引表。密钥存储模块304还可以通过任意合适的技术手段来区分不同密钥的所处状态,也可以包括上述的其它名称或者表述的划分方式,或者其它方式的划分。例如,密钥存储模块304可以将内部存储空间或者与该内部存储空间对应或者存在映射关系的虚拟空间划分成不同区块,让不同的区块分别对应不同状态的密钥,并且当密钥的状态发生变化时则转移该密钥到相应的区块。一般来说,通过给每个密钥添加配置信息,可以根据每个密钥的配置信息识别出该密钥的状态,而当密钥的状态发生变化时则更新该密钥的配置信息。其中,密钥更新模块306用于更新密钥的状态,包括根据与特定密钥对应的特定联邦学习任务的进程以及与该特定的联邦学习任务对应的安全审计需求来判断并更新该特定密钥的状态。应当理解的是,密钥更新模块306与密钥存储模块304一起实现了区分不同密钥的所处状态以及更新密钥的所处状态。例如,当密钥存储模块304通过上述的区块划分方式来区分不同状态的密钥,则密钥更新模块306也通过将密钥从一个区块转移到另一个区块的方式来更新该密钥的状态。再例如,当密钥存储模块304通过上述的建立查找表的方式来建立起每个密钥与各自的状态之间的映射关系,则密钥更新模块306也通过更新该查找表来更新该密钥的状态。密钥更新模块306还用于对在弃置状态的密钥和在可回收状态的密钥进行操作。如上所述,对于在可回收状态的密钥,密钥更新模块306可以删除或者回收该密钥。如果密钥更新模块306回收该密钥,则该密钥的状态被更新为在可用状态,等效为刚由密钥生成模块302所生成的新密钥。如果密钥更新模块306删除该密钥,可能将与该密钥有关的记录都删除,例如从密钥存储模块304中删除记录了该密钥的记录或者数据项或者从查找表中删除与该密钥对应的事项。或者,密钥更新模块306删除该密钥时不删除与该密钥有关的记录,而是仅使得该密钥对任意用户而言是不可见的,也就是密钥既不能用于新的联邦学习任务也不能用于数据安全审计,这样有利于后续可能存在的复核需求也有利于保证安全级别较高的联邦学习任务及相关数据所用的密钥是唯一的。对于在弃置状态的密钥,密钥更新模块306一般情况下使得该密钥对任意用户而言是不可见的,但是在一种可能的实施方式中,也可以在有限度的情况下让原始数据持有者使用该密钥在新的联邦学习任务上也就是使得该密钥对满足特定要求的用户如原始数据持有者而言是可见的。如此,密钥生成模块302、密钥存储模块304和密钥更新模块306一起完成对密钥的生成或称创建、更新、删除以及获取等服务。应当理解的是,图3所示的实施例以及上述关于密钥生成模块302、密钥存储模块304和密钥更新模块306的内容仅为示例性。在一些示例性实施例中,密钥生成模块302、密钥存储模块304和密钥更新模块306各自的功能可以进行重新组合、调整或者排列,并且可以由更多或者更少的部件来完成,例如可以安排密钥弃置模块用于专门处理在弃置状态的密钥。
密钥服务处理模块310与密钥生成模块302、密钥存储模块304和密钥更新模块306分别连接。密钥服务处理模块310还与用户接口模块320连接。用户接口模块320用于接收使用密钥管理系统300的用户的需求,具有必要的通信功能和硬件来与用户或者用户所用的应用程序进行通信。例如,用户接口模块320可以具有通信组件来处理来自用户的客户端终端的HTTP请求。用户接口模块320将所接收的用户的需求或者请求发送给密钥服务处理模块310。密钥服务处理模块310用于处理用户的需求或请求,以及调用上述的密钥生成模块302、密钥存储模块304和密钥更新模块306,从而针对用户的需求或请求来完成相应的密钥管理操作,包括密钥的生成或称创建、更新、删除以及获取等服务。另外,密钥服务处理模块310还用于针对同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异而做出的优化,下面详细说明。
同一个参与方的不同个体,例如同一个公司的不同用户在使用密钥管理系统300时可能具有不同的授权权限,其中一个用户的权限可能高于另一个用户的权限,并且较高权限的用户可能有权查看较低权限的用户所创建的密钥和所发起或参与的联邦学习任务,较高权限的用户也可能有权对较低权限的用户所发起或参与的联邦学习任务进行安全审计包括对密态数据进行解密后校验原始数据。为此,密钥管理系统300通过两个层次的控制机制来实现面向用户的权限控制和面向资源的访问控制的双重控制模型。其中,面向用户的权限控制可以通过用户接口模块320实现,要求用户首先进行用户信息认证或者用户身份验证,例如通过用户名密码或者指纹识别或者人脸识别或者短信验证码等方式来验证用户信息及相应的权限,并且对验证通过的用户,将该用户的权限信息也发送给密钥服务处理模块310。密钥服务处理模块310从用户接口模块320接收到该用户的请求以及该用户的权限信息,接着根据该用户的请求和该用户的权限信息,通过面向资源的访问控制列表来确认该用户可以访问的资源,并且针对该用户生成一个特定于该用户的可见资源空间。在该可见资源空间中的资源对该用户而言是可见的,也就是可以让该用户进行资源管理操作,而不在该可见资源空间中的资源对该用户而言是不可见的。以上述的密钥管理为例,密钥服务处理模块310根据该用户的请求和该用户的权限信息而生成一个特定于该用户的可见密钥空间,在该可见密钥空间中的密钥对该用户而言是可见的,也就是可以让该用户进行资源管理操作,而不在该可见密钥空间中的密钥对该用户而言是不可见的。在考虑到不同用户之间的权限和上下级关系后,密钥管理系统300在针对特定用户而生成特定于该用户的可见资源空间时,可以结合上述对密钥的状态划分,不仅根据该特定用户的请求和权限而筛选出对于该特定用户而言是可见的密钥;而且根据该特定用户的权限而识别出视为对该特定用户进行了授权的其它用户,并将该特定用户的请求视为这些其它用户的请求,然后根据其它用户的请求和其他用户各自的权限而筛选出对于其它用户而言是可见的密钥,最后将对于该特定用户而言是可见的密钥和对于其它用户而言是可见的密钥合并在一起生成特定于该特定用户的可见资源空间。这样做,结合了面向用户的权限控制层面对密钥管理的影响,存在上下级关系的两个用户之间,作为上级的用户可以视为得到了作为下级的用户的授权,或者说,当第一个用户与第二个用户之间的关系满足约定条件或者预设条件时可以认为第一个用户得到了第二个用户的授权。这样,就将各个用户之间的上下级关系、或者其它关系考虑进去,从而确定了基于同一个参与方的不同个体之间的关系而判断是否授权的机制。而授权判断的机制对于用户来说是在密钥管理系统300内部通过密钥服务处理模块310进行,而用户一侧只是通过用户接口模块320完成身份验证和提出请求,这样就隔离了用户与密钥管理内部操作,有利于保护隐私。
下面结合上述的密钥状态划分详细说明下面向资源的访问控制机制。这里,一般用户可以理解成任意用户或者不做特定要求的用户。在一种可能的实施方式中,处于可用状态的密钥是新生成的或者刚被回收,对于一般用户或称任意用户来说是可见的且任意用户可以将该密钥与新的联邦学习任务绑定。换句话说,处于可用状态的密钥存在于与任意用户对应的可见密钥空间中。处于占用状态的密钥对于除了与该密钥对应的特定联邦学习任务的发起方或者得到该发起方授权的参与方以外的任意用户来说是不可见的,而对于特定用户也就是与该密钥对应的特定联邦学习任务的发起方或者得到该发起方授权的参与方是可见的且可以用于完成该特定联邦学习任务。换句话说,处于占用状态的密钥仅存在于与特定用户(与该密钥对应的特定联邦学习任务的发起方或者得到该发起方授权的参与方)对应的可见密钥空间中。
处于弃置状态的密钥通常来说仅仅对具有安全审计操作权限的参与方或者安全审计方可见,也就是说处于弃置状态的密钥通常仅存在于与特定用户(具有安全审计操作权限的参与方或者安全审计方)对应的可见密钥空间中。在密钥资源很有限的时候,例如当密钥是通过量子随机设备生成,这时候出于节省资源的考虑,对于原始数据持有者或者一般来说是最初生成该密钥的参与方而言,处于弃置状态的密钥也是可见的。也就是说,处于弃置状态的密钥除了对负责安全审计的用户可见,还可能对与该密钥对应的特定联邦学习任务的发起方或者得到该发起方授权的参与方来说是可见的。因此,在密钥资源很有限的时候,出于节省资源的考虑,处于弃置状态的密钥存在于与特定用户(负责安全审计的用户和/或与该密钥对应的特定联邦学习任务的发起方或者得到该发起方授权的参与方)对应的可见密钥空间中。
处于可回收状态的密钥仅仅对于密钥管理方或者负责密钥管理操作的用户而言是可见的。换句话说,处于可回收状态的密钥仅存在于与特定用户(密钥管理方或者负责密钥管理操作的用户)对应的可见密钥空间中。如此,密钥服务处理模块310根据特定用户的请求和该特定用户的权限信息而生成一个特定于该特定用户的可见密钥空间,该可见密钥空间中的密钥对该特定用户可见也就是可用于该特定用户来完成该特定用户的请求。并且,特定密钥是否存在于该可见密钥空间中或者说特定密钥的可见性,除了与该特定密钥所对应的联邦学习任务的状态及安全审计需求的状态有关,还可能与特定用户的请求的具体内容有关,下面将会详细说明。
当任意用户通过用户接口模块320完成身份验证后,提出的请求可以是创建新的联邦学习任务、参与到进行中的联邦学习任务或者对联邦学习任务进行安全审计,或者进行管理方的操作如回收或者删除密钥,或者任意合理的请求。例如,假设某个用户提出的请求是创建新的联邦学习任务,则特定于该用户的可见密钥空间中,包括处于可用状态的密钥,还包括处于弃置状态的密钥且与该密钥对应的联邦学习任务是由该用户发起或者授权给该用户的另一方所发起的。这是出于节省资源的角度考虑,处于弃置状态的密钥所对应的联邦学习任务已经结束因此不用担心尚未结束的不同的联邦学习任务会复用相同的密钥,而原始数据持有者或者最初生成该密钥的参与方一般等效于与该密钥对应的特定联邦学习任务的发起方或者得到该发起方授权的参与方,可以允许这些特定用户利用处于弃置状态的密钥来用于新的联邦学习任务从而提高资源利用效率。当某个用户提出的请求是创建新的联邦学习任务,所有处于占用状态的密钥对于该用户来说是不可见的,这样是为了避免出现尚未结束的不同的联邦学习任务复用相同的密钥的情况。再例如,相对地,当某个用户提出的请求是安全审计时,则特定于该用户的可见密钥空间中,不会包括处于可用状态的密钥,这是因为处于可用状态的密钥是新生成的或者刚被回收的;会包括处于弃置状态的密钥且与该密钥对应的联邦学习任务是由该用户发起或者授权给该用户的另一方所发起的;还进一步包括处于占用状态的密钥且与该密钥对应的联邦学习任务是由该用户发起或者授权给该用户的另一方所发起的。并且,假设该用户是负责安全审计操作的用户或者说安全审计方,该用户的权限可以包括所有处于弃置状态的密钥和处于占用状态的密钥,而不受到该用户是否为联邦学习任务发起方或者得到发起方的授权。在另一种可能的实施方式中,还可以对负责安全审计操作的用户或者说安全审计方的权限进行划分,例如允许该用户对一些的联邦学习任务进行安全审计而无权限对另一些联邦学习任务进行安全审计。
如此,根据用户的请求和该用户的权限,密钥服务处理模块310生成的特定于该用户的可见密钥空间,其中包括的密钥均对该用户可见且可用于完成该用户的请求。从这个角度来看,可见密钥空间是一个定制化空间,是根据用户的具体请求、用户的权限(例如根据用户之间的关系、历史数据、用户职位等确定的用户权限或者来自其他用户的授权)以及密钥的状态(包括与密钥对应的联邦学习任务的进程和安全审计需求)而确定,从而结合了面向用户的权限控制和面向资源的访问控制的双重控制模型,并且针对同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异而做出优化。下面结合表1来进一步说明密钥管理系统300的操作示例。
Figure 548988DEST_PATH_IMAGE001
如表1所示,密钥管理系统300从多个用户处收到多个请求,这些请求用编号R1到R8来表示。其中,用户1在请求R1中发起新的联邦学习任务M1,为此密钥管理系统300创建密钥P1。联邦学习任务M1可以是例如Paillier加密或者RSA交集计算等,而密钥P1则是用于进行加解密的密钥。在生成密钥P1之后,因为密钥P1用于联邦学习任务M1,所以密钥P1的状态被设为占用的。接着,用户2发出多个请求,在请求R2要求参与联邦学习任务M1。因为用户1授权给了用户2,所以用户2可以作为被授权的参与方获取密钥P1用于参与联邦学习任务,例如用户2可以获得用户1的用于RSA交集计算的公钥来加密用户2的私有数据。用户2在请求R3要求对联邦学习任务M1进行安全审计,这里假设用户1给用户2的授权包括了安全审计方面的授权,则用户2可以获取密钥P1进行安全审计。在另一种实施方式中,用户1可以仅授权给用户2参与联邦学习任务但是不授权用户2进行安全审计,这样请求R3将会被拒绝。用户2在请求R4要求发起新的联邦学习任务M2,为此密钥管理系统300创建新的密钥P2用于联邦学习任务M2,并且对于用户2来说,在请求R4的处理过程中,密钥P1此时处于占用的状态且对用户2来说是不可见的。也就是说,虽然用户2在请求R2和请求R3中,可见密钥P1并能用密钥P1参与联邦学习任务M1和进行安全审计。但是,用户2在请求R4中不可见密钥P1,因为该请求R4是针对发起新的联邦学习M2。这样可以根据用户的具体请求来定制化每个请求处理过程中的特定于该用户的可见密钥空间,因此有利于区别对待不同用户的需求或者同一个用户在不同时间的需求。
请继续参考表1,在用户2的请求R4之后,密钥管理系统300检测到联邦学习任务M1已经结束,并因此更新P1状态为弃置的。这意味着联邦学习任务M1的相关数据均得到处理,或者,收到与该特定联邦学习任务相关的终止指令,其通知因异常情况或约定情况而在处理完所有相关数据之前就提前终止该特定联邦学习任务。接着用户3发起新的联邦学习任务M3,这里用户3是得到了用户1的关于联邦学习任务M1的授权。因为P1状态为弃置的,所以不用担心新的联邦学习任务会与未完成的联邦学习任务共用同一套密钥,当密钥资源比较紧张或者需要复用密钥资源时,可以授权用户3将密钥P1用于新的联邦学习任务M3。这样就使得进行中的联邦学习任务M3和已经结束的联邦学习任务M1共用一套密钥P1,从而避免出现尚未结束的不同的联邦学习任务复用相同的密钥的情况。在另一种可能的实施方式中,出于更高的安全性和隐私性考虑,也可以设定处于弃置状态的密钥P1对于用户3不可见,这样就不会将密钥P1用于联邦学习任务M3。
请继续参考表1,用户4在请求R6中要求对联邦学习任务M1进行安全审计,因为用户4没有得到用户1也就是联邦学习任务M1的发起方的授权,用户4也不是负责安全审计的安全审计方,因此请求R6被拒绝。用户1在请求R7中要求对联邦学习任务M2进行安全审计,因为用户1没有得到用户2也就是联邦学习任务M2的发起方的授权,用户1也不是负责安全审计的安全审计方,因此请求R7被拒绝。可以看到,虽然用户2可以参与由用户1发起的联邦学习任务M1(请求R2)甚至可以对联邦学习任务M1进行安全审计(请求R3),但是用户1却无法参与由用户2发起的联邦学习任务M2(请求R7)。这是因为用户之间的授权也是与特定的联邦学习任务相联系,这样有利于更好的保护隐私和数据安全。表1还示出了用户5在请求R8中要求对联邦学习任务M2进行安全审计,因为用户5是安全审计方,或者说是有等效权限的用户例如安全信息部门的主管等,所以用户5获取密钥P2进行安全审计。
应当理解的是,用户的权限一般指的是用户是否可以从密钥管理系统300获取某个密钥以便用于参与某个联邦学习任务和/或用于对某个联邦学习任务,进行中或者已经结束,进行安全审计。在面向用户的权限控制方面,首先需要进行身份验证并确定用户身份以及获取用户职位和该用户的历史数据等。身份验证或者类似的用户信息验证操作可以通过密钥管理系统300的用户接口模块320进行,也可以通过在密钥管理系统300外部的设备进行,在此不做具体限定。通过用户身份验证后,就可以获得用户职位和该用户的历史数据,例如该用户过去所发起的联邦学习任务或者所参与的联邦学习任务等,还可以获得该用户与其它用户之间的关系,从而可以在面向用户的权限控制方面确定该用户的权限包括来自其他用户对该用户的授权。例如,同一个公司的部门主管可以有权限查看隶属于该部门主管的下属的密钥,至少可以用这些下属的密钥继续参与联邦学习任务。再例如,公司的信息安全部门作为密钥管理系统300的管理者,负责全公司的安全审计,因此信息安全部门的主管可以有权限查看全公司的用户的密钥并且用于安全审计。还可以根据用户之间的历史数据确定用户的权限。再例如,第一用户发起某个联邦学习任务而第二用户参与了该联邦学习任务,则第二用户因为有参与的历史数据而具有相应的权限。再例如,还可以根据用户之间的关系来确定用户的权限。例如,第一用户作为第二用户的上级可以被认为有权限查看第二用户的密钥。
结合上述的图1、图2和图3,以及上述表1,密钥管理系统300是结合了面向用户的权限控制和面向资源的访问控制的双重控制模型。上面说明了面向用户的权限控制方面,主要是根据用户之间的关系、历史数据、用户职位等确定的用户权限或者来自其他用户的授权,这样使得密钥管理系统300可以灵活应对不同参与方的内部管理要求以及同一个参与方内部不同个体在权限、隐私、隔离要求等方面的差异。这些内部管理要求和差异化要求均可以通过设计相应的用户权限分配来得到满足。应当理解的是,出于安全性考虑,密钥管理系统300的硬件设施应由同一个公司的信息安全部门或者类似机构来管理,并且具有管理职能或者安全审计操作权限的用户也应该由负责管理密钥管理系统300的部门的专职人员所独享。这些可以根据具体应用场景和需求进行调整,本申请的说明仅为说明性和示例性。
密钥管理系统300在面向用户的权限控制层面,通过上述的用户职位、历史数据、用户之间关系等确定用户的权限后,接着在面向资源的访问控制层面,可以结合用户的具体请求以及密钥的状态(包括与密钥对应的联邦学习任务的进程和安全审计需求),从而确定在处理该用户的具体请求的进程中,特定于该用户的可见密钥空间。例如上述表1中,用户1提出请求R1要求发起新的联邦学习任务M1,因此可见密钥空间中至少包括新创建的密钥P1,还可能包括其它新创建的密钥(未示出)。而用户2提出请求R4要求发起新的联邦学习任务M2,则可见密钥空间中不包括处于占用状态的密钥P1,尽管用户2有用户1的授权可以获得密钥P1来参与联邦学习任务M1及进行安全审计。这是因为来自用户的具体请求不同,所以密钥P1在特定于用户2的可见密钥空间中的可见性发生了变化。另外,与密钥对应的联邦学习任务的状态以及与该联邦学习任务对应的安全审计需求的状态,也影响该用户的可见密钥空间。例如当联邦学习任务M1结束,密钥P1状态由占用的变成弃置的,则处于弃置状态的密钥P1在一种可能的实施方式中对于用户3来说是不可见的。如此,密钥服务处理模块310根据特定用户的请求和该特定用户的权限信息而生成一个特定于该特定用户的可见密钥空间,该可见密钥空间中的密钥对该特定用户可见也就是可用于该特定用户来完成该特定用户的请求。并且,特定密钥是否存在于该可见密钥空间中或者说特定密钥的可见性,还与该特定密钥所对应的联邦学习任务的状态及安全审计需求的状态有关。可见密钥空间是一个定制化空间,是根据用户的具体请求、用户的权限以及密钥的状态包括与密钥对应的联邦学习任务的状态以及与该联邦学习任务对应的安全审计需求的状态而确定,从而结合了面向用户的权限控制和面向资源的访问控制的双重控制模型,并且针对同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异而做出优化。并且,通过密钥管理系统300在面向用户的权限控制层面确定用户权限,再在面向资源的访问控制层面,根据用户的具体请求、用户的权限以及密钥的状态,特别是根据与密钥对应的联邦学习任务的进程和安全审计需求,从而生成特定于该特定用户的可见密钥空间。该特定用户可以利用在可见密钥空间里的密钥来完成该用户的请求。应当注意的是,密钥管理系统300所生成的可见密钥空间是通过判断某个密钥是否在处理该用户的请求的过程中对该用户可见来区分,而某个密钥对该用户可见意味着该用户可以利用该密钥处理该请求。而密钥的可见性,或者说某个密钥是否在特定于某个用户的可见密钥空间中也就是该密钥对该用户可见,不仅仅只是受到该用户的请求和该用户的权限的影响,还必须考虑到该密钥的状态特别是与密钥对应的联邦学习任务的进程和安全审计需求。而该密钥的状态可能受到相对于该用户以外的其它用户的影响。例如,某个密钥的状态,因某个用户完成了联邦学习任务的最后一步而导致该联邦学习任务结束,所以从占用的状态变成了弃置的状态,并因而影响了该密钥的可见性。
应当理解的是,通过生成特定于该特定用户的可见密钥空间,再通过调整某个密钥在特定于某个用户的可见密钥空间中是否存在也就是控制该密钥对该用户的可见性,结合了面向用户的权限控制和面向资源的访问控制的双重控制,针对用户的请求具体内容,用户的具体权限,以及考虑到了每个密钥在整个生命周期中所处的状态,从而可以应对联邦学习应用中各种复杂环境下对数据获取权限的不同要求特别是涉及到安全审计的场景,而且将同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异也体现在用户权限的确定方面,进而在满足对联邦学习框架的规范性和安全性提出的要求同时能有效记录和管理密钥的创建和删除等操作以及考虑到后续的安全审计的需求,还能考虑同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
请参阅图1至图3,本申请实施例所提供的密钥管理系统和密钥管理方,结合了三个因素密钥、用户以及权限,并且结合联邦学习应用场景的特点,使得每个用户可见的密钥也就是特定于该用户的可见密钥空间是根据用户权限和密钥状态而确定,而且还是针对用户的请求的具体内容作出优化以及考虑到了每个密钥在整个生命周期中所处的状态。本申请实施例所提供的结合了面向用户的权限控制和面向资源的访问控制的双重控制,可以分成用户认证和用户授权两个阶段,在用户认证阶段完成面向用户的权限控制并返回用户存在性校验结果例如令牌(token),在用户授权阶段完成面向资源的访问控制,通过例如权限记录列表如记录数据库常规操作创建更新读取和删除(CreateUpdateRetrieveDelete,CURD),从而生成上述的特定于该用户的可见密钥空间。在一种可能的实施方式中,可以通过任意合适的数据库架构技术例如SSM架构设计或者MyBatis框架技术实现对数据库底层的访问以及如密钥管理服务等内部逻辑,还可以通过任意合适的技术例如HTTP技术来提供可供用户访问及调用的应用程序编程接口(Application Programming Interface,API)。这些可以根据实际需求进行调整,在此不做具体限定。
图4示出了本申请实施例提供的密钥管理方法的流程示意图。如图4所示,密钥管理方法400包括以下步骤。S402:接收用户的请求。S404:对所述用户进行身份验证,并根据所述用户的身份验证结果决定是否通过所述用户的身份验证。S406:通过所述用户的身份验证后,根据所述用户的身份验证结果确定所述用户的权限,并根据所述用户的权限和所述用户的请求决定是否接受所述用户的请求。S408:决定接受所述用户的请求后,生成特定于所述用户的可见密钥空间。其中,关于生成特定于所述用户的可见密钥空间的有关细节以及关于确定用户权限的有关细节,可以参考上述图1、图2和图3,以及上述表1,在此不再赘述。
请参阅图1至图4,本申请实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述所提及的密钥管理方法。并且,该计算机程序产品可以通过任意合适的编程工具来实现例如通过任意合适的FPGA编程工具,而且可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现例如体现在FPGA硬件平台上。该计算机程序产品不仅能满足各种联邦学习框架和软件产品对规范性和安全性的要求,而且能有效记录和管理密钥的创建和删除等操作以及考虑到后续的安全审计的需求,并且能考虑同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
请参阅图1至图4,本申请实施例提供了一种电子设备。所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的密钥管理方法。并且,所述电子设备可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。所述电子设备不仅能满足各种联邦学习框架和软件产品对规范性和安全性的要求,而且能有效记录和管理密钥的创建和删除等操作以及考虑到后续的安全审计的需求,并且能考虑同一个参与方的不同个体或者不同参与方在权限、隐私、隔离要求等方面的差异。
本申请提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本申请具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本申请具体实施例提供的设备或装置可以包括将各个组件耦合在一起的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本申请具体实施例提供的设备或装置可以是单独提供,也可以是系统的一部分,也可以是其它设备或装置的一部分。
本申请提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本申请具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本申请具体实施例提供的设备或装置中或属于公共系统。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(RAM),闪存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设备或任何其他形式的合适存储介质。
以上是本申请实施例的实施方式,应当指出,本申请具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本申请实施例以及附图所示的结构并不构成对有关装置或系统的具体限定。在本申请另一些实施例中,有关装置或系统可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本申请具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本申请实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。

Claims (26)

1.一种密钥管理系统,应用于联邦学习安全审计,其特征在于,所述密钥管理系统包括:
用户接口模块,其中,所述用户接口模块接收用户的请求;
密钥服务处理模块,其中,所述密钥服务处理模块与所述用户接口模块连接,所述密钥服务处理模块配置成生成特定于所述用户的可见密钥空间,所述特定于所述用户的可见密钥空间中的密钥可用于响应所述用户的请求;
密钥生成模块,其中,所述密钥生成模块与所述密钥服务处理模块连接;和
密钥存储模块,其中,所述密钥存储模块所保存的每个密钥的状态根据与该密钥对应的联邦学习任务是否结束以及与该联邦学习任务对应的安全审计需求是否满足而确定,
其中,所述密钥服务处理模块配置成:根据所述用户的请求,选择性地调用所述密钥生成模块生成新的密钥并且使得所述特定于所述用户的可见密钥空间中的密钥包括所述新的密钥,
其中,所述密钥服务处理模块还配置成:根据所述用户的请求,读取所述密钥存储模块所保存的至少一个密钥并且根据所述至少一个密钥的状态而选择性地使得所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。
2.根据权利要求1所述的密钥管理系统,其特征在于,所述密钥管理系统还包括:
密钥更新模块,其中,所述密钥更新模块与所述密钥服务处理模块连接,所述密钥服务处理模块配置成可调用所述密钥更新模块更新所述至少一个密钥的状态。
3.根据权利要求1所述的密钥管理系统,其特征在于,所述密钥存储模块所保存的每个密钥的状态是多种预设密钥状态中的一种预设密钥状态,其中,所述多种预设密钥状态可用于指示与特定密钥对应的特定联邦学习任务是否结束以及与该特定联邦学习任务对应的安全审计需求是否满足。
4.根据权利要求3所述的密钥管理系统,其特征在于,所述多种预设密钥状态包括可用状态、占用状态、弃置状态和可回收状态,其中,所述可用状态指示所述特定密钥不与任何联邦学习任务绑定,所述占用状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务未结束,所述弃置状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务已结束以及与所述特定联邦学习任务对应的安全审计需求未满足,所述可回收状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务已结束以及与所述特定联邦学习任务对应的安全审计需求已满足。
5.根据权利要求4所述的密钥管理系统,其特征在于,所述特定联邦学习任务已结束指示与所述特定联邦学习任务相关的数据均得到处理,或者,与所述特定联邦学习任务相关的终止指令被所述密钥管理系统接收,其中,所述与所述特定联邦学习任务相关的终止指令响应于检测到以下之一被发出:在所述特定联邦学习任务进行中出现错误、所述特定联邦学习任务的至少一个参与方受到恶意攻击、所述特定联邦学习任务的至少一个参与方提供恶意数据。
6.根据权利要求5所述的密钥管理系统,其特征在于,所述与所述特定联邦学习任务相关的终止指令被相对于所述特定联邦学习任务而言的仲裁方、联邦学习任务管理方或者联邦学习服务提供方发出。
7.根据权利要求4所述的密钥管理系统,其特征在于,与所述特定联邦学习任务对应的安全审计需求已满足指示所述特定联邦学习任务的原始数据已被校验,或者,所述特定联邦学习任务的数据流的数据格式/数据位宽已被校验。
8.根据权利要求4所述的密钥管理系统,其特征在于,所述密钥服务处理模块还配置成:根据所述用户的请求,读取所述密钥存储模块所保存的所述至少一个密钥并且根据所述至少一个密钥的状态而选择性地使得所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥,包括:
当所述至少一个密钥的状态是所述占用状态或者所述弃置状态时,所述特定于所述用户的可见密钥空间中的密钥不包括所述至少一个密钥,
当所述至少一个密钥的状态是所述可用状态或者所述可回收状态时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。
9.根据权利要求4所述的密钥管理系统,其特征在于,所述密钥服务处理模块还配置成:根据所述用户的请求,读取所述密钥存储模块所保存的所述至少一个密钥并且根据所述至少一个密钥的状态而选择性地使得所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥,包括:
当所述至少一个密钥的状态是所述占用状态时,所述特定于所述用户的可见密钥空间中的密钥不包括所述至少一个密钥,
当所述至少一个密钥的状态是所述可用状态或者所述可回收状态时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥,
当所述至少一个密钥的状态是所述弃置状态并且所述用户的请求是关于发起新的联邦学习任务时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。
10.根据权利要求1所述的密钥管理系统,其特征在于,在所述用户接口模块接收所述用户的请求后,所述密钥管理系统对所述用户进行身份验证,并根据所述用户的身份验证结果决定是否通过所述用户的身份验证。
11.根据权利要求10所述的密钥管理系统,其特征在于,在所述密钥管理系统决定通过所述用户的身份验证后,所述密钥管理系统根据所述用户的身份验证结果确定所述用户的权限,并根据所述用户的权限和所述用户的请求决定是否拒绝所述用户的请求。
12.根据权利要求11所述的密钥管理系统,其特征在于,根据所述用户的身份验证结果确定所述用户的权限,包括:根据所述用户的身份验证结果确定的所述用户的职位、所述用户的历史数据或者所述用户和相对于所述用户而言的至少一个另一用户之间的关系中的一项或者任意多项组合,确定所述用户的权限范围。
13.根据权利要求12所述的密钥管理系统,其特征在于,根据所述用户的权限和所述用户的请求决定是否拒绝所述用户的请求,包括:确定所述用户的请求是否在所述用户的权限范围内,如果否,则决定拒绝所述用户的请求。
14.根据权利要求13所述的密钥管理系统,其特征在于,当与所述用户的请求相关的联邦学习任务属于所述用户的职位的管辖时,所述用户的请求在所述用户的权限范围内,或者,当与所述用户的请求相关的联邦学习任务存在所述用户的历史数据时,所述用户的请求在所述用户的权限范围内,或者,当与所述用户的请求相关的联邦学习任务是由所述至少一个另一用户发起并且所述至少一个另一用户授权所述用户时,所述用户的请求在所述用户的权限范围内。
15.一种密钥管理方法,应用于联邦学习安全审计,其特征在于,所述密钥管理方法包括:
接收用户的请求;
对所述用户进行身份验证,并根据所述用户的身份验证结果决定是否通过所述用户的身份验证;
通过所述用户的身份验证后,根据所述用户的身份验证结果确定所述用户的权限,并根据所述用户的权限和所述用户的请求决定是否接受所述用户的请求;和
决定接受所述用户的请求后,生成特定于所述用户的可见密钥空间,其中,所述特定于所述用户的可见密钥空间中的密钥可用于响应所述用户的请求,
其中,所述特定于所述用户的可见密钥空间中的密钥来自于新生成的密钥和/或从被保存的密钥中根据所述被保存的密钥的状态而选择的至少一个密钥,所述被保存的密钥中的每一个密钥的状态根据与该密钥对应的联邦学习任务是否结束以及与该联邦学习任务对应的安全审计需求是否满足而确定。
16.根据权利要求15所述的密钥管理方法,其特征在于,所述密钥管理方法还包括:更新所述被保存的密钥的状态。
17.根据权利要求15所述的密钥管理方法,其特征在于,所述被保存的密钥的状态是多种预设密钥状态中的一种预设密钥状态,其中,所述多种预设密钥状态可用于指示与特定密钥对应的特定联邦学习任务是否结束以及与该特定联邦学习任务对应的安全审计需求是否满足。
18.根据权利要求17所述的密钥管理方法,其特征在于,所述多种预设密钥状态包括可用状态、占用状态、弃置状态和可回收状态,其中,所述可用状态指示所述特定密钥不与任何联邦学习任务绑定,所述占用状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务未结束,所述弃置状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务已结束以及与所述特定联邦学习任务对应的安全审计需求未满足,所述可回收状态指示所述特定密钥与所述特定联邦学习任务绑定并且所述特定联邦学习任务已结束以及与所述特定联邦学习任务对应的安全审计需求已满足。
19.根据权利要求18所述的密钥管理方法,其特征在于,所述特定联邦学习任务已结束指示与所述特定联邦学习任务相关的数据均得到处理,或者,与所述特定联邦学习任务相关的终止指令被接收,其中,所述与所述特定联邦学习任务相关的终止指令响应于检测到以下之一被发出:在所述特定联邦学习任务进行中出现错误、所述特定联邦学习任务的至少一个参与方受到恶意攻击、所述特定联邦学习任务的至少一个参与方提供恶意数据。
20.根据权利要求19所述的密钥管理方法,其特征在于,所述与所述特定联邦学习任务相关的终止指令被相对于所述特定联邦学习任务而言的仲裁方、联邦学习任务管理方或者联邦学习服务提供方发出。
21.根据权利要求18所述的密钥管理方法,其特征在于,与所述特定联邦学习任务对应的安全审计需求已满足指示所述特定联邦学习任务的原始数据已被校验,或者,所述特定联邦学习任务的数据流的数据格式/数据位宽已被校验。
22.根据权利要求18所述的密钥管理方法,其特征在于,所述特定于所述用户的可见密钥空间中的密钥来自于新生成的密钥和/或从被保存的密钥中根据所述被保存的密钥的状态而选择的至少一个密钥,包括:
当所述至少一个密钥的状态是所述占用状态或者所述弃置状态时,所述特定于所述用户的可见密钥空间中的密钥不包括所述至少一个密钥,
当所述至少一个密钥的状态是所述可用状态或者所述可回收状态时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。
23.根据权利要求18所述的密钥管理方法,其特征在于,所述特定于所述用户的可见密钥空间中的密钥来自于新生成的密钥和/或从被保存的密钥中根据所述被保存的密钥的状态而选择的至少一个密钥,包括:
当所述至少一个密钥的状态是所述占用状态时,所述特定于所述用户的可见密钥空间中的密钥不包括所述至少一个密钥,
当所述至少一个密钥的状态是所述可用状态或者所述可回收状态时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥,
当所述至少一个密钥的状态是所述弃置状态并且所述用户的请求是关于发起新的联邦学习任务时,所述特定于所述用户的可见密钥空间中的密钥包括所述至少一个密钥。
24.一种非瞬时性计算机可读存储介质,该计算机存储介质保存计算机指令,其特征在于,该计算机指令被处理装置执行时,使得所述处理装置执行根据权利要求15至23中任一项所述的密钥管理方法。
25.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求15至23中任一项所述的密钥管理方法。
26.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据权利要求15至23中任一项所述的密钥管理方法。
CN202110912203.8A 2021-08-10 2021-08-10 用于联邦学习安全审计的密钥管理系统、方法及存储介质 Active CN113364589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110912203.8A CN113364589B (zh) 2021-08-10 2021-08-10 用于联邦学习安全审计的密钥管理系统、方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110912203.8A CN113364589B (zh) 2021-08-10 2021-08-10 用于联邦学习安全审计的密钥管理系统、方法及存储介质

Publications (2)

Publication Number Publication Date
CN113364589A true CN113364589A (zh) 2021-09-07
CN113364589B CN113364589B (zh) 2021-11-02

Family

ID=77540894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110912203.8A Active CN113364589B (zh) 2021-08-10 2021-08-10 用于联邦学习安全审计的密钥管理系统、方法及存储介质

Country Status (1)

Country Link
CN (1) CN113364589B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946869A (zh) * 2021-11-02 2022-01-18 深圳致星科技有限公司 用于联邦学习和隐私计算的内部安全攻击检测方法及装置
CN114091057A (zh) * 2021-11-08 2022-02-25 深圳致星科技有限公司 基于模型模拟的联邦学习安全审计方法及装置
CN114666044A (zh) * 2022-03-21 2022-06-24 海智讯通(上海)智能科技有限公司 一种基于客户端机器指纹信息的id对齐方法、装置及存储介质
CN116188188A (zh) * 2023-03-01 2023-05-30 国网浙江省电力有限公司 基于数据加密的数审方法及系统
CN117725622A (zh) * 2024-02-18 2024-03-19 北京安华金和科技有限公司 一种多方安全计算的权限控制方法和系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209221A1 (en) * 2005-08-05 2008-08-28 Ravigopal Vennelakanti System, Method and Apparatus for Cryptography Key Management for Mobile Devices
CN109687959A (zh) * 2018-12-29 2019-04-26 上海唯链信息科技有限公司 密钥安全管理系统和方法、介质和计算机程序
US10313117B1 (en) * 2016-06-30 2019-06-04 Amazon Technologies, Inc. Cryptographic key management to prevent data exfiltration
CN110120869A (zh) * 2019-03-27 2019-08-13 上海隔镜信息科技有限公司 密钥管理系统及密钥服务节点
US20190253245A1 (en) * 2018-11-27 2019-08-15 Alibaba Group Holding Limited Asymmetric key management in consortium blockchain networks
CN110874649A (zh) * 2020-01-16 2020-03-10 支付宝(杭州)信息技术有限公司 基于状态机的联邦学习方法、系统、客户端及电子设备
CN111212110A (zh) * 2019-12-13 2020-05-29 清华大学深圳国际研究生院 一种基于区块链的联邦学习系统及方法
CN111327616A (zh) * 2020-02-25 2020-06-23 上海东普信息科技有限公司 密钥管理方法、装置、设备及计算机可读存储介质
CN112132292A (zh) * 2020-09-16 2020-12-25 建信金融科技有限责任公司 基于区块链的纵向联邦学习数据处理方法、装置及系统
CN112434334A (zh) * 2020-11-25 2021-03-02 深圳前海微众银行股份有限公司 数据处理方法、装置、设备及存储介质
CN112861090A (zh) * 2021-03-18 2021-05-28 深圳前海微众银行股份有限公司 信息处理方法、装置、设备、存储介质及计算机程序产品

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209221A1 (en) * 2005-08-05 2008-08-28 Ravigopal Vennelakanti System, Method and Apparatus for Cryptography Key Management for Mobile Devices
US10313117B1 (en) * 2016-06-30 2019-06-04 Amazon Technologies, Inc. Cryptographic key management to prevent data exfiltration
US20190253245A1 (en) * 2018-11-27 2019-08-15 Alibaba Group Holding Limited Asymmetric key management in consortium blockchain networks
CN109687959A (zh) * 2018-12-29 2019-04-26 上海唯链信息科技有限公司 密钥安全管理系统和方法、介质和计算机程序
CN110120869A (zh) * 2019-03-27 2019-08-13 上海隔镜信息科技有限公司 密钥管理系统及密钥服务节点
CN111212110A (zh) * 2019-12-13 2020-05-29 清华大学深圳国际研究生院 一种基于区块链的联邦学习系统及方法
CN110874649A (zh) * 2020-01-16 2020-03-10 支付宝(杭州)信息技术有限公司 基于状态机的联邦学习方法、系统、客户端及电子设备
CN111327616A (zh) * 2020-02-25 2020-06-23 上海东普信息科技有限公司 密钥管理方法、装置、设备及计算机可读存储介质
CN112132292A (zh) * 2020-09-16 2020-12-25 建信金融科技有限责任公司 基于区块链的纵向联邦学习数据处理方法、装置及系统
CN112434334A (zh) * 2020-11-25 2021-03-02 深圳前海微众银行股份有限公司 数据处理方法、装置、设备及存储介质
CN112861090A (zh) * 2021-03-18 2021-05-28 深圳前海微众银行股份有限公司 信息处理方法、装置、设备、存储介质及计算机程序产品

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946869A (zh) * 2021-11-02 2022-01-18 深圳致星科技有限公司 用于联邦学习和隐私计算的内部安全攻击检测方法及装置
CN114091057A (zh) * 2021-11-08 2022-02-25 深圳致星科技有限公司 基于模型模拟的联邦学习安全审计方法及装置
CN114091057B (zh) * 2021-11-08 2022-04-26 深圳致星科技有限公司 基于模型模拟的联邦学习安全审计方法及装置
CN114666044A (zh) * 2022-03-21 2022-06-24 海智讯通(上海)智能科技有限公司 一种基于客户端机器指纹信息的id对齐方法、装置及存储介质
CN114666044B (zh) * 2022-03-21 2024-04-26 海智讯通(上海)智能科技有限公司 一种基于客户端机器指纹信息的id对齐方法、装置及存储介质
CN116188188A (zh) * 2023-03-01 2023-05-30 国网浙江省电力有限公司 基于数据加密的数审方法及系统
CN116188188B (zh) * 2023-03-01 2023-08-18 国网浙江省电力有限公司 基于数据加密的数审方法及系统
CN117725622A (zh) * 2024-02-18 2024-03-19 北京安华金和科技有限公司 一种多方安全计算的权限控制方法和系统
CN117725622B (zh) * 2024-02-18 2024-04-30 北京安华金和科技有限公司 一种多方安全计算的权限控制方法和系统

Also Published As

Publication number Publication date
CN113364589B (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
CN113364589B (zh) 用于联邦学习安全审计的密钥管理系统、方法及存储介质
US11563587B2 (en) Cryptoasset custodial system with different cryptographic keys controlling access to separate groups of private keys
US20210336782A1 (en) Cryptoasset custodial system with different rules governing access to logically separated cryptoassets and proof-of-stake blockchain support
CN107911216B (zh) 一种区块链交易隐私保护方法及系统
CN111316278B (zh) 安全身份和档案管理系统
US11403417B2 (en) Managing group authority and access to a secured file system in a decentralized environment
EP3997606B1 (en) Cryptoasset custodial system with custom logic
JP2000200209A (ja) 安全な電子デ―タ格納、取出しシステムおよび方法
CN110769035A (zh) 一种区块链资产发行方法、平台、业务节点及存储介质
JP2023527811A (ja) ネットワーク化されたデータ・トランザクションの認証及び認可のための方法、装置、及びコンピュータ可読媒体
CN112149077B (zh) 基于区块链技术的供应链票据方法、系统和计算机设备
CN112651049B (zh) 一种基于区块链的隐私数据分享方法及系统
WO2024002102A1 (zh) 一种数据资产主动管理系统、计算设备及存储介质
CN115062324A (zh) 一种数据资产的使用控制方法、客户端及中间服务平台
CN114065238B (zh) 数据管理方法、装置及电子设备
Ahn et al. Towards secure information sharing using role-based delegation
CN114329512A (zh) 一种基于区块链的加密数据资产确权、管理和使用方法与装置
CN114239043A (zh) 一种基于区块链技术构建的共享加密存储系统
WO2017206698A1 (zh) 基于atl的设备管理方法、系统和金融自助设备
CN114692198A (zh) 基于区块链的匿名网络专家评审方法及系统
Rajasekar et al. Blackchain-based Identity Management Systems in Digital Forensics
Srivastava et al. Auditing of Outsourced Data Integrity-A Taxonomy
CN113946815B (zh) 用于联邦学习和隐私计算的授权方法
CN116982332A (zh) 用于对通信网络中的第一参与者进行授权的方法、处理器设备、机动车和基础设施设备
CN117290438A (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
GR01 Patent grant
GR01 Patent grant