安全计算系统、安全计算方法和安全计算程序与流程
未命名
08-15
阅读:82
评论:0
1.本发明涉及安全计算系统、安全计算方法和安全计算程序。
背景技术:
2.当前,对隐私和机密信息的保护需求越来越高,要求一种对从多个信息终端取得的加密数据在加密的状态下进行安全计算来生成新的数据的技术。
3.例如,在专利文献1记载的安全计算系统中,安全计算服务器取得使用由数据提供终端和统计终端共享的私有密钥加密后的数据,按每条密文统计数据的数量,将统计结果发送至统计终端。
4.现有技术文献
5.专利文献
6.专利文献1:日本专利6722608号公报
技术实现要素:
7.发明要解决的技术问题
8.不过,在专利文献1中,因为加密用的私有密钥是由数据提供终端和统计终端共享的,所以该加密数据能够被统计终端解密,存在安全上的问题。
9.为此,本发明的目的在于,提供一种能够更安全地处理多个信息终端的加密数据的安全计算系统、安全计算方法和安全计算程序。
10.解决问题的技术手段
11.在本发明的一个方案的安全计算系统中,包括:取得部,其中,对于表示使用由多个信息处理系统生成的多个不同的密钥信息而加密后的数据的多个处理对象数据,将各处理对象数据从多个信息终端中的对应的信息终端取得;安全计算部,其在多个处理对象数据已加密的状态下,生成表示基于多个处理对象数据进行计算得到的结果的结果数据;和提供部,其将结果数据提供给多个信息终端。
12.本发明的一个方案的安全计算方法中,由计算机进行下述处理:对于表示使用由多个信息处理系统生成的多个不同的密钥信息而加密后的数据的多个处理对象数据,将各处理对象数据从多个信息终端中的对应的信息终端取得;在多个处理对象数据已加密的状态下,生成表示基于多个处理对象数据进行计算得到的结果的结果数据;将结果数据提供给多个信息终端。
13.在本发明的一个方案的安全计算程序中,使计算机实现取得部、安全计算部和提供部,其中,在取得部,对于表示使用由多个信息处理系统生成的多个不同的密钥信息而加密后的数据的多个处理对象数据,将各处理对象数据从多个信息终端中的对应的信息终端取得;在安全计算部,在多个处理对象数据已加密的状态下,生成表示基于多个处理对象数据进行计算得到的结果的结果数据;在提供部,将结果数据提供给多个信息终端。
14.另外,本发明中,“部”不仅指物理结构,也包括由软件实现该“部”所具有的功能的
情况。另外,1个“部”或装置具有的功能也可以由2个以上物理结构或装置实现,2个以上“部”或装置的功能也可以由1个物理结构或装置实现。
15.发明效果
16.采用本发明,可提供一种能够更安全地处理多个信息终端的加密数据的安全计算系统、安全计算方法和安全计算程序。
附图说明
17.图1是表示本发明的一个实施方式的安全计算系统100的结构的图。
18.图2是表示取得部120取得的信息的例子的图。
19.图3是表示存储在处理对象数据存储部130中的信息的例子的图。
20.图4是表示存储在结果数据存储部150中的信息的例子的图。
21.图5是表示安全计算系统100中的处理的例子的序列图。
22.图6是表示计算机600的硬件结构的例子的图。
具体实施方式
23.参照附图对本发明的优选实施方式进行说明。图1是表示本发明的一个实施方式的安全计算系统100的结构的图。
24.安全计算系统100是经由互联网等网络与信息终端200(200a、200b)和服务器300可通信地连接的系统。
25.安全计算系统100中的安全计算指的是在保密(加密)状态下对数据进行计算。在安全计算中,例如对一个或多个组织拥有的数据,在完全不向该组织或其他组织公开的前提下执行基于该数据的期望的计算处理。并且,在安全计算中,计算结果在保密状态下被提供给拥有该数据的一个或多个组织或其他组织。像这样,安全计算系统100通过安全计算来提高计算中使用的数据以及计算过程的安全性,执行规定的计算。
26.安全计算系统100取得经过加密的数据(处理对象数据),在处理对象数据加密的状态下,基于多个处理对象数据进行安全计算,生成新的数据(结果数据)。具体而言,安全计算系统100取得由多个信息处理系统生成的、使用多个不同的密钥信息加密了的多个处理对象数据,在加密的状态下,生成表示基于多个处理对象数据进行计算得到的结果的结果数据。
27.另外,安全计算系统100能够将由表示规定的学习模型中的参数的参数信息加密得到的多个处理对象数据的每一个,分别从多个信息终端中的对应的信息终端取得。然后,安全计算系统100能够在多个处理对象数据被加密的状态下,基于多个参数信息生成新的参数信息。安全计算系统100的细节后述。
28.信息终端200取得多个信息处理系统中生成的多个不同的密钥信息,使用多个不同的密钥信息将数据加密,将加密后的处理对象数据提供给安全计算系统100。信息终端200例如是使用安全计算系统100的用户的信息终端。
29.信息终端200能够从任意的信息处理系统取得密钥信息。即,信息终端200例如能够从安全计算系统100和后述的服务器300取得不同的密钥信息。该情况下,例如信息终端200可以将请求使用安全计算系统100的使用请求信息发送到安全计算系统100或服务器
300,并取得响应于使用请求信息而从安全计算系统100和服务器300分发的不同的密钥信息。
30.另外,图1中作为信息终端200的例子表示了2个信息终端200a、200b,但信息终端200的数量不限于此。
31.服务器300生成供信息终端200加密使用的密钥信息,并将其提供给信息终端200。
32.在安全计算系统100通过安全计算来对表示规定的学习模型中的参数的参数信息进行处理的情况下,服务器300可以是对规定的学习模型进行管理的服务器。该情况下,服务器300可以在从信息终端200接收到参数信息时,按照该参数信息相应地更新学习模型来生成新的学习模型,并将关于新的学习模型的信息提供给信息终端200。
33.接着对安全计算系统100的细节进行说明。安全计算系统100包括分发部110、取得部120、处理对象数据存储部130、安全计算部140、结果数据存储部150、提供部160。构成安全计算系统100的计算机具有处理器和存储区域。图1所示的各部分能够例如通过使用存储区域,或者由处理器执行保存在存储区域中的程序而实现。
34.分发部110生成至少1个密钥信息并将其分发给信息终端200。此处,密钥信息是私有密钥或公开密钥、密码等用于安全计算时的加密和解密的信息,对加密方式没有限制。另外,密钥信息也可以是在每次数据加密时分发的一次性密钥信息。
35.信息终端200使用从分发部110分发的密钥信息和从与安全计算系统100不同的信息处理系统(例如服务器300)分发的密钥信息,对数据进行加密。
36.此处,从分发部110分发的密钥信息和从与安全计算系统100不同的信息处理系统(例如服务器300)分发的密钥信息,是彼此不同的密钥信息。由此,在安全计算系统100和与安全计算系统100不同的信息处理系统(例如服务器300)中,都处于不能对加密后的处理对象数据解密的状态,处理对象数据的保密性得以保持。
37.另外,信息终端200只要使用多个信息处理系统中生成的多个不同的密钥信息对处理对象数据加密即可,加密所用的密钥信息也可以不是安全计算系统100或服务器300中生成的密钥信息。
38.取得部120从多个信息终端中的对应的信息终端,取得表示使用多个信息处理系统(例如安全计算系统100和服务器300)中生成的多个不同的密钥信息而加密后的数据的多个处理对象数据中的各处理对象数据(即,各自从对应的信息终端取得),将它们保存在处理对象数据存储部130中。
39.取得部120能够取得由表示规定的学习模型中的参数的参数信息加密得到的处理对象数据。另外,取得部120能够取得由表示与参数信息对应的数据的数量的数据数量信息加密得到的处理对象数据。
40.此处,参数信息是关于规定的学习模型的性质和输出结果的信息,例如是表示基于学习模型而预测到的结果的误差的信息。另外,数据数量信息是表示在使用规定的学习模型的学习中所学习的数据(所谓训练数据(teaching data,training data))的数量的信息。更具体而言,例如,在规定的学习模型是基于输入的数据预测处于规定的2个状态中的哪一个的学习模型的情况下,参数信息是为了基于输入数据来预测该2个状态中的哪一个所使用的、与该2个状态对应的参数,而数据数量信息是表示与这2个状态分别对应的训练数据的数量的信息。
41.另外,处理对象数据只要使用多个信息处理系统中生成的多个不同的密钥信息加密即可,加密所用的密钥信息也可以不是安全计算系统100或服务器300中生成的密钥信息。
42.图2是表示取得部120取得的信息的例子的图。图2中为方便起见,数据以未加密的状态表示。取得部120取得的信息例如包括处理对象数据id、参数信息、数据数量信息。
43.处理对象数据id是标识其是通过安全计算系统100进行安全计算的处理对象数据的处理对象数据标识信息。参数信息和数据数量信息可以包括分别对应的多个参数信息和数据数量信息。
44.图3是表示存储在处理对象数据存储部130中的信息的例子的图。存储在处理对象数据存储部130中的信息例如包括处理对象数据id、参数信息、数据数量信息。存储在处理对象数据存储部130中的信息的全部或一部分(例如参数信息和数据数量信息),被使用多个密钥信息加密。
45.另外,存储在处理对象数据存储部130中的信息也可以不包括参数信息和数据数量信息,只要包括安全计算系统100中的规定的安全计算所使用的数据即可。
46.安全计算部140在多个处理对象数据被加密的状态下,生成表示基于多个处理对象数据进行计算得到的结果的结果数据,并将其保存在结果数据存储部150中。
47.在安全计算系统100通过安全计算来对规定的学习模型中的参数信息进行处理的情况下,安全计算部140能够通过安全计算,例如基于多个参数信息生成以多个参数信息的平均值作为新的参数信息的结果数据。由此,能够将多个信息终端200中生成的参数信息合并生成新的参数信息。
48.另外,在安全计算系统100通过安全计算来对规定的学习模型中的参数信息进行处理的情况下,安全计算部140能够通过安全计算,例如基于多个参数信息和数据数量信息,生成以基于数据数量信息实施加权而计算出的值作为新的参数信息的结果数据。由此,能够生成考虑了数据数量信息的加权而得到的新的参数信息。
49.另外,在安全计算系统100通过安全计算对基于输入的数据预测处于规定的2个状态中的哪一个的学习模型中的参数信息进行处理的情况下,安全计算部140能够通过安全计算例如生成这样的结果数据,其中,该结果数据以通过对规定的2个状态中的一个的参数信息基于规定的2个状态中的另一个的数据数量信息进行加权而计算出的值作为新的参数信息。由此,即使在规定的2个状态中的某一个的发生率比另一个低的情况下,也能够生成用于生成高预测精度的学习模型的新的参数信息。
50.图4是表示存储在结果数据存储部150中的信息的例子的图。存储在结果数据存储部150中的信息例如包括结果数据id、参数信息、数据数量信息。存储在结果数据存储部150中的信息的全部或一部分(例如参数信息和数据数量信息)被使用多个密钥信息加密。
51.另外,存储在结果数据存储部150中的信息也可以不包括参数信息和数据数量信息,只要包括由安全计算系统100中的规定的安全计算生成的数据即可。
52.提供部160对多个信息终端200提供结果数据。
53.信息终端200使用加密用的多个密钥信息,对从提供部160提供的结果数据解密,取得解密后的结果数据。由此,信息终端200能够取得安全计算系统100中的安全计算的结果。
54.然后,信息终端200将解密后的结果数据提供给服务器300。由此,信息终端200能够使用与结果数据对应的新的参数信息,在服务器300中更新规定的学习模型。
55.另外,信息终端200也可以在结果数据被加密的状态下将结果数据提供给服务器300。该情况下,信息终端200可以在仅使用从服务器300取得的密钥信息加密的状态下提供结果数据。由此,服务器300以外的信息处理系统不能对加密的结果数据解密,但服务器300能够对加密的结果数据解密,所以结果数据的安全性得以保持。
56.接着说明安全计算系统100的具体应用例。安全计算系统100例如能够应用于生成在产品制造时的质量检查中使用的、多个制造商通用的学习模型中的参数信息。
57.此处,关于产品制造时的质量管理中使用的、多个制造商通用的学习模型,其例如以产品的图像作为输入,基于多个制造商通用的项目来预测产品的质量是正常和异常这2个状态的哪一个。
58.因为多个制造商处于事业上的竞争关系,所以难以在多个制造商之间共享质量检查所用的学习模型的参数信息和作为参数信息的来源的数据(例如产品的图像数据等)。另外,在判断为异常的产品的发生率低的情况下,存在仅使用1个制造商的数据不能生成高预测精度的学习模型的风险。
59.因此,应用安全计算系统100是有效的。即,通过将安全计算系统100应用于产品制造时的质量检查中使用的学习模型的学习,能够在参数信息和数据数量信息保密的前提下,确保生成高预测精度的学习模型所需的足够数量的数据。另外,能够根据需要基于数据数量信息实施适当的加权,生成新的参数信息。
60.在将安全计算系统100应用于产品制造时的质量检查中使用的多个制造商通用的学习模型的学习的情况下,信息终端200是多个制造商使用的信息终端,服务器300是管理该学习模型的服务器。
61.多个信息终端200各自向安全计算系统100提供由与产品的状态(正常状态和异常状态)对应的参数信息和数据数量信息加密得到的处理对象数据。安全计算系统100进行规定的安全计算,将结果数据分别提供给多个信息终端200。多个信息终端200分别对结果数据解密并提供给服务器300。服务器300基于结果数据更新学习模型,将关于新的学习模型的信息分别提供给多个信息终端200。
62.由此,多个信息终端200分别能够在保持处理对象数据保密的前提下,更安全地取得基于多个制造商的数据而学习得到的学习模型,能够实施精度更高的质量检查。
63.图5是表示安全计算系统100中的处理的例子的序列图。
64.首先,分发部110生成密钥信息(s501a)分发给信息终端200(s502a)。并且,由与安全计算系统100不同的信息处理系统(例如服务器300)生成不同的密钥信息(s501b)并分发给信息终端200(s502b)。信息终端200基于从分发部110和服务器300接收分发的密钥信息,对数据加密(s503)。
65.其中,信息终端200只要使用多个信息处理系统中生成的多个不同的密钥信息对处理对象数据加密即可,加密所用的密钥信息也可以不是安全计算系统100或服务器300中生成的密钥信息。
66.接着,信息终端200将加密后的处理对象数据提供给安全计算系统100,取得部120取得处理对象数据并保存在处理对象数据存储部130中(s504)。安全计算部140在处理对象
数据已加密的状态下,基于处理对象数据进行安全计算,生成表示安全计算的结果的结果数据并保存在结果数据存储部150中(s505)。然后,提供部160将结果数据提供给信息终端200(s506)。
67.信息终端200使用加密用的密钥信息对结果数据解密(s507),将解密后的结果数据提供给服务器300(s508)。另外,信息终端200也可以在实施了服务器300可解密的加密的状态下提供结果数据。
68.服务器300基于结果数据更新学习模型(s509),将更新后的学习模型提供给信息终端200(s510)。
69.接着,参照图6对利用计算机600实现安全计算系统100的情况下的硬件结构之一例进行说明。图6是表示计算机600的硬件结构的例子的图。
70.如图6所示,计算机600例如包括处理器601、存储器602、存储装置603、输入i/f部604、数据i/f部605、通信i/f部606和显示装置607。
71.计算机600例如可以是服务器计算机、个人计算机(例如桌面计算机、膝上型计算机、平板电脑等)、媒体计算机平台(例如有线电视、卫星机顶盒、数字录像机等)、手持计算机设备(例如pda、电子邮件客户端等)或者其他种类的计算机或通讯平台。
72.处理器601是通过执行存储在存储器602中的程序来控制计算机600中的各种处理的控制部。
73.存储器602例如是ram(random access memory)等存储介质。存储器602临时存储由处理器601执行的程序的程序代码和程序执行时所需的数据。
74.存储装置603例如是硬盘驱动器(hdd)和闪存等非易失性的存储介质。存储装置603存储操作系统和用于实现上述各结构的各种程序。
75.输入i/f部604是用于接受用户的输入的设备。输入i/f部604例如是键盘和鼠标、触摸面板、各种传感器、可穿戴设备等。输入i/f部604例如可以经由usb(universal serial bus)等接口与计算机600连接。
76.数据i/f部605是用于从计算机600的外部输入数据的设备。数据i/f部605例如是用于读取存储在各种存储介质中的数据的驱动器装置等。数据i/f部605也可以设置于计算机600的外部。在数据i/f部605设置于计算机600外部的情况下,数据i/f部605例如经由usb等接口与计算机600连接。
77.通信i/f部606是用于与计算机600外部的装置通过有线或无线进行经由互联网等网络的数据通信的设备。通信i/f部606也可以设置于计算机600的外部。在通信i/f部606设置于计算机600外部的情况下,通信i/f部606例如经由usb等接口与计算机600连接。
78.显示装置607是用于显示各种信息的设备。显示装置607例如是液晶显示器或有机el(electro-luminescence)显示器、可穿戴设备的显示器等。显示装置607也可以设置于计算机600的外部。在显示装置607设置于计算机600外部的情况下,显示装置607例如经由显示线缆等与计算机600连接。另外,在采用触摸面板作为输入i/f部604的情况下,显示装置607也可以与输入i/f部604构成为一体。
79.以上对本发明的一个实施方式进行了说明。安全计算系统100能够将表示使用由多个信息处理系统生成的多个不同的密钥信息而加密后的数据的多个处理对象数据中的各处理对象数据,从多个信息终端中的对应的信息终端取得,在处理对象数据已加密的状
态下,生成表示基于处理对象数据进行安全计算而得到的结果的结果数据,并将其提供给信息终端200。由此,能够更安全地处理多个信息终端的加密数据。
80.安全计算系统100能够将多个不同的密钥信息中的至少1个密钥信息分发给信息终端200。由此,安全计算系统100能够兼作密钥信息的分发主体和安全计算的执行主体,能够更安全地处理多个信息终端的加密数据。
81.另外,安全计算系统100能够基于由表示规定的学习模型中的参数的参数信息加密得到的处理对象数据,通过安全计算来生成并提供结果数据(即新的参数信息)。由此,能够更安全地将多个信息终端的学习结果合并而进行新的学习处理。
82.另外,安全计算系统100能够基于与参数信息对应的数据数量信息进行参数信息的加权来生成结果数据(即新的参数信息)。由此,能够在考虑了数据数量信息的基础上,更安全地将多个信息终端的学习结果合并而进行新的学习处理。
83.另外,安全计算系统100在规定的学习模型是基于输入的数据来预测规定的2个状态中的哪一个的学习模型的情况下,能够通过对规定的2个状态中的一个的参数信息基于规定的2个状态中的另一个的数据数量信息进行加权,来生成结果数据(即新的参数信息)。由此,即使在规定的2个状态中的某一个的发生率低的情况下,也能够更安全且更有效地将多个信息终端的学习结果合并而进行新的学习处理。
84.另外,本实施方式的目的是使本发明易于理解,并不用于限定解释本发明。本发明可以不脱离其主旨地变更/改良,并且本发明也包括其等价物。
85.附图标记说明
86.100安全计算系统,110分发部,120取得部,130处理对象数据存储部,140安全计算部,150结果数据存储部,160提供部,200信息终端,300服务器,600计算机,601处理器,602存储器,603存储装置,604输入i/f部,605数据i/f部,606通信i/f部,607显示装置。
技术特征:
1.一种安全计算系统,其特征在于,包括:取得部,其中,对于表示使用由多个信息处理系统生成的多个不同的密钥信息而加密后的数据的多个处理对象数据,将各处理对象数据从多个信息终端中的对应的信息终端取得;安全计算部,其在所述多个处理对象数据已加密的状态下,生成表示基于所述多个处理对象数据进行计算得到的结果的结果数据;和提供部,其将所述结果数据提供给所述多个信息终端。2.如权利要求1所述的安全计算系统,其特征在于:还包括分发部,所述分发部生成所述多个不同的密钥信息中的至少1个密钥信息并将其分发给所述多个信息终端。3.如权利要求1或2所述的安全计算系统,其特征在于:所述取得部取得包括表示规定的学习模型中的参数的参数信息的所述多个处理对象数据,所述安全计算部基于所述参数信息生成表示新的所述参数信息的所述结果数据。4.如权利要求3所述的安全计算系统,其特征在于:所述多个处理对象数据各自还包括数据数量信息,所述数据数量信息表示与使用所述规定的学习模型生成的所述参数信息对应的数据的数量,所述安全计算部基于所述数据数量信息进行所述参数信息的加权,生成所述结果数据。5.如权利要求4所述的安全计算系统,其特征在于:所述规定的学习模型基于输入的数据预测规定的2个状态中的一个,所述参数信息是与所述规定的2个状态分别对应的参数,所述安全计算部对所述规定的2个状态中的一个的参数信息基于所述规定的2个状态中的另一个的数据数量信息进行加权,生成所述结果数据。6.一种安全计算方法,其特征在于:由计算机进行下述处理:对于表示使用由多个信息处理系统生成的多个不同的密钥信息而加密后的数据的多个处理对象数据,将各处理对象数据从多个信息终端中的对应的信息终端取得,在所述多个处理对象数据已加密的状态下,生成表示基于所述多个处理对象数据进行计算得到的结果的结果数据,将所述结果数据提供给所述多个信息终端。7.一种安全计算程序,其特征在于:使计算机实现取得部、安全计算部和提供部,其中,在所述取得部,对于表示使用由多个信息处理系统生成的多个不同的密钥信息而加密后的数据的多个处理对象数据,将各处理对象数据从多个信息终端中的对应的信息终端取得,在所述安全计算部,在所述多个处理对象数据已加密的状态下,生成表示基于所述多个处理对象数据进行计算得到的结果的结果数据,在所述提供部,将所述结果数据提供给所述多个信息终端。
技术总结
本发明提供一种安全计算系统、安全计算方法和安全计算程序,能够更安全地处理多个信息终端的加密数据。安全计算系统包括:取得部,其中,对于表示使用由多个信息处理系统生成的多个不同的密钥信息而加密后的数据的多个处理对象数据,将各处理对象数据从多个信息终端中的对应的信息终端取得;安全计算部,其在多个处理对象数据已加密的状态下,生成表示基于多个处理对象数据进行计算得到的结果的结果数据;和提供部,其将结果数据提供给多个信息终端。端。端。
技术研发人员:田村光太郎 外园康智
受保护的技术使用者:株式会社野村综合研究所
技术研发日:2022.09.02
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
