使用服务的安全秘密共享存储系统

申请号 CN202080016062.5 申请日 2020-01-21 公开(公告)号 CN113474829B 公开(公告)日 2024-03-15
申请人 松下控股株式会社; 国立研究开发法人情报通信研究机构; 发明人 松尾正克; 古贺田胜则; 佐佐木雅英; 藤原幹生;
摘要 在秘密共享存储系统(5)中,当从医院终端(H1)接收到医院数据(OD)时,主 控制器 (10)使用由随机数生成器(20)生成的物理随机数来分布式地处理医院数据(OD),并生成n个分布式数据(H1D1‑H1Dn),并且将这些数据分别存储在n个相应的共享保持器(S1‑Sn)中。根据医院终端(H1)的恢复指示, 主控制器 (10)获取分别存储在n个共享保持器(S1‑Sn)中的n个分布式数据(H1D1‑H1Dn)。主控制器(10)使用物理随机数根据n个分布式数据(H1D1‑H1Dn)来恢复医院数据(OD),并且将恢复的数据发送到医院终端(H1)。
权利要求

1.一种秘密共享存储系统,包括:
至少一个用户终端;
n个存储装置,其中,n是2或更大的整数;以及
控制器,其能够通信地连接到随机数生成器,
其中,所述主控制器用于:
在接收到从所述用户终端发送的原始数据的情况下,获取由所述随机数生成器生成的随机数,
通过使用所述随机数对所述原始数据执行分布式处理以生成n个分布式数据,以及将所述n个分布式数据分别存储在相应的n个存储装置中,
所述秘密共享存储系统还包括:
n个控制器,其被设置成分别与所述n个存储装置相对应,并且能够通信地连接到所述主控制器,
其中,所述主控制器用于:
生成与所述n个分布式数据的生成相关的逻辑分布式信息,以及
将所述n个分布式数据和所述逻辑分布式信息以相关联的方式发送到相应的所述n个控制器,以及
其中,所述n个控制器用于:
从所述主控制器接收与自身装置相对应的分布式数据和所述逻辑分布式信息,通过使用所述逻辑分布式信息来生成与自身装置接收到的分布式数据相关的实质分布式信息,以及
将所述实质分布式信息和自身装置接收到的分布式数据以相关联的方式存储在相应的所述n个存储装置中。
2.根据权利要求1所述的秘密共享存储系统,其中,所述主控制器响应于来自所述用户终端的恢复指示来获取分别存储在所述n个存储装置中的n个分布式数据,根据所述n个分布式数据来恢复所述原始数据,并且将所述原始数据发送到所述用户终端。
3.根据权利要求1所述的秘密共享存储系统,其中,所述n个控制器其中至少之一能够通信地连接到多个存储装置,并且将所述实质分布式信息和自身装置接收到的分布式数据以相关联的方式分别存储在所述多个存储装置中。
4.根据权利要求1或3所述的秘密共享存储系统,还包括:
第二主控制器,其能够通信地连接到至少一个用户终端、所述n个存储装置、所述随机数生成器和所述主控制器,
其中,在检测到自身装置的故障的情况下,所述主控制器向所述第二主控制器发送所述逻辑分布式信息和权限委托通知;以及
其中,在从所述主控制器接收到所述逻辑分布式信息和所述权限委托通知的情况下,所述第二主控制器替代所述主控制器执行对所述原始数据的分布式处理和恢复处理。
5.根据权利要求1所述的秘密共享存储系统,还包括:
通信管理服务器,其能够通信地连接到第二随机数生成器,
其中,所述通信管理服务器向所述n个控制器和所述用户终端发送所述第二随机数生成器所生成的第二随机数;以及
其中,所述主控制器用于:
接收所述用户终端通过使用所述第二随机数所加密的加密原始数据作为所述原始数据,以及
通过使用所述随机数对所述加密原始数据执行分布式处理,生成n个加密分布式数据,并且将所述加密分布式数据分别发送到所述n个控制器;以及
其中,在从所述主控制器接收到与自身装置相对应的所述加密分布式数据的情况下,所述n个控制器通过使用所述第二随机数来解密所接收到的加密分布式数据,并且将通过解密所获得的分布式数据存储在与自身装置相对应的存储装置中。
6.根据权利要求5所述的秘密共享存储系统,其中,所述主控制器响应于来自所述用户终端的恢复指示分别向所述n个存储装置发送n个分布式数据的获取要求;
其中,所述n个控制器通过使用所述第二随机数对分别存储在所述n个存储装置中的分布式数据进行加密,生成加密分布式数据,并且响应于所述获取要求将所述加密分布式数据发送到所述主控制器;以及
其中,所述主控制器通过使用所述随机数根据分别从所述n个控制器接收到的n个加密分布式数据来恢复加密原始数据,并且将所述加密原始数据发送到所述用户终端。
7.一种秘密共享存储系统,包括:
n个控制器,其被设置成分别与n个存储装置相对应,其中n是2或更大的整数;
主控制器,其能够通信地连接到所述n个控制器、至少一个用户终端和随机数生成器;
以及
通信管理服务器,其能够通信地连接到所述n个控制器、所述用户终端和第二随机数生成器,
其中,在从所述用户终端接收到原始数据的目录信息的情况下,所述通信管理服务器用于:
对所述第二随机数生成器所生成的第二随机数执行分布式处理,以生成n个分布式随机数数据,以及
将所述n个分布式随机数数据分别发送到相应的所述n个控制器,并且还将所述第二随机数发送到所述用户终端;以及
其中,在从所述用户终端接收到通过使用所述第二随机数对原始数据进行加密而获得的加密原始数据的情况下,所述主控制器用于:
获取所述随机数生成器所生成的随机数,
通过使用所述随机数对所述加密原始数据进行分布式处理,以生成n个加密分布式数据,以及
将所述n个加密分布式数据分别发送到相应的所述n个控制器,其中,在所述n个控制器从所述主控制器接收到与自身装置相对应的加密分布式数据的情况下,所述n个控制器对与自身装置相对应的分布式随机数数据进行解密,并且将通过解密所获得的分布式数据存储在相应的存储装置中。
8.根据权利要求7所述的秘密共享存储系统,其中,所述通信管理服务器用于:
响应于来自所述用户终端的包括原始数据的大小量信息的恢复指示,对所述第二随机数生成器所生成的第二随机数执行分布式处理,并且生成n个分布式随机数数据,以及将所述n个分布式随机数数据分别发送到相应的所述n个控制器,并且还将所述第二随机数发送到所述用户终端;以及
其中,所述n个控制器生成通过使用自身装置从所述通信管理服务器接收到的分布式随机数数据对从与自身装置相对应的存储装置接收到的分布式数据进行加密而获得的加密分布式数据,并且将所述加密分布式数据发送到所述主控制器;以及
其中,所述主控制器根据从所述n个控制器接收到的加密分布式数据来恢复所述加密原始数据,并且将所述加密原始数据发送到所述用户终端。
9.根据权利要求8所述的秘密共享存储系统,其中,所述主控制器用于:
响应于来自所述用户终端的恢复指示,从所述n个控制器接收从分别与所述n个控制器相对应的存储装置所接收到的分布式数据的目录信息,以及
恢复所述原始数据的目录信息,并且从所述原始数据的目录信息中提取所述原始数据的大小量信息。
10.根据权利要求7所述的秘密共享存储系统,其中,所述n个控制器用于:
在存储相应的分布式随机数数据的情况下,将指示该分布式随机数数据的使用状态的状态标志设置为未使用,以及
在通过使用相应的分布式随机数数据对相应的加密分布式数据进行解密、并且将解密所获得的分布式数据存储到相应的存储装置之后,将所述状态标志更新为已使用。
11.一种使用秘密共享存储系统的秘密共享存储方法,所述秘密共享存储系统包括能够通信地连接到至少一个用户终端、n个存储装置和随机数生成器的主控制器,其中,n是2或更大的整数,所述秘密共享存储方法包括:
在接收到从所述用户终端发送的原始数据的情况下,获取所述随机数生成器所生成的随机数;
通过使用所述随机数对所述原始数据执行分布式处理,以生成n个分布式数据;以及将所述n个分布式数据分别存储在相应的n个存储装置中,
所述秘密共享存储系统还包括:
n个控制器,其被设置成分别与所述n个存储装置相对应,并且能够通信地连接到所述主控制器,
所述秘密共享存储方法还包括:
生成与所述n个分布式数据的生成相关的逻辑分布式信息,
将所述n个分布式数据和所述逻辑分布式信息以相关联的方式发送到相应的所述n个控制器,
从所述主控制器接收与自身装置相对应的分布式数据和所述逻辑分布式信息,通过使用所述逻辑分布式信息来生成与自身装置接收到的分布式数据相关的实质分布式信息,以及
将所述实质分布式信息和自身装置接收到的分布式数据以相关联的方式存储在相应的所述n个存储装置中。
12.一种使用秘密共享存储系统的秘密共享存储方法,所述秘密共享存储系统包括:被设置成与n个存储装置相对应的n个控制器;能够通信地连接到所述n个控制器、至少一个用户终端和随机数生成器的主控制器;以及能够通信地连接到所述n个控制器、所述用户终端和第二随机数生成器的通信管理服务器,其中,n是2或更大的整数,所述秘密共享存储方法包括:
在从所述用户终端接收到原始数据的目录信息的情况下,对所述第二随机数生成器所生成的第二随机数执行分布式处理,以生成n个分布式随机数数据;
将所述n个分布式随机数数据分别发送到相应的n个控制器,并且还将所述第二随机数发送到所述用户终端;
在从所述用户终端接收到通过使用所述第二随机数对原始数据进行加密而获得的加密原始数据的情况下,获取所述随机数生成器所生成的随机数;
通过使用所述随机数对所述加密原始数据执行分布式处理,以生成n个加密分布式数据;以及
将所述n个加密分布式数据分别发送到相应的n个控制器,
其中,在所述n个控制器从所述主控制器接收到与自身装置相对应的加密分布式数据的情况下,所述n个控制器对与自身装置相对应的分布式随机数数据进行解密,并且将通过解密所获得的分布式数据存储在相应的存储装置中。

说明书全文

使用服务的安全秘密共享存储系统

技术领域

[0001] 本发明涉及使用云服务的安全秘密共享存储系统,该安全秘密共享存储系统存储通过原始数据的分布式处理而生成的多个分布式数据。

背景技术

[0002] 在现有技术中,作为阈值秘密共享方法的使用多项式插值的方法是公知的,但是该方法需要时间进行计算处理。因此,使用异或(所谓的XOR处理)的阈值秘密共享方法被公知为满足实时性能的方法。例如,专利文献1提出通过使用阈值秘密共享方法来减少分布式数据的数据量的秘密共享装置的配置,该阈值秘密共享方法使用不根据分布式数据推测原始数据的安全XOR处理,并且由于能够自由地设置方差数和阈值,因此能够容易地使用该秘密共享装置。
[0003] 作为包括专利文献1的现有技术中的阈值秘密共享方法,例如,已知如下方法:使用基于诸如热噪声等的信号而最初生成的物理随机数(即,难以推测的随机数)作为要用于秘密共享处理的随机数,使得难以根据分布式数据来恢复原始数据。
[0004] 引文列表
[0005] 专利文献
[0006] 专利文献1:JP‑A‑2014‑509753

发明内容

[0007] 发明要解决的问题
[0008] 然而,在使用这种物理随机数的情况下,由于物理随机数生成器是昂贵的,因此针对进行秘密共享的各个用户安装物理随机数生成器是不容易的,并且因此难以在实质上和社会上普及秘密共享技术。
[0009] 鉴于现有技术中的上述情况,提出了本发明,本发明的目的在于提供秘密共享存储系统和秘密共享存储方法,该秘密共享存储系统和秘密共享存储方法无论需要秘密共享的用户的数量如何,都抑制由于安装生成用于秘密共享的物理随机数的物理随机数生成器而导致的成本增加,并且支持要隐藏的原始数据的安全存储的实现。
[0010] 用于解决问题的方案
[0011] 根据本发明,提供一种秘密共享存储系统,包括:至少一个用户终端;n个存储装置,其中,n是2或更大的整数;以及主控制器,其可通信地连接到随机数生成器,其中,所述主控制器用于:在接收到从所述用户终端发送的原始数据的情况下,获取由所述随机数生成器生成的随机数,通过使用所述随机数对所述原始数据执行分布式处理以生成n个分布式数据,以及将所述n个分布式数据分别存储在相应的n个存储装置中。
[0012] 根据本发明,提供一种秘密共享存储系统,包括:n个控制器,其被设置成分别与n个存储装置相对应,其中n是2或更大的整数;主控制器,其可通信地连接到所述n个控制器、至少一个用户终端和随机数生成器;以及通信管理服务器,其可通信地连接到所述n个控制器、所述用户终端和第二随机数生成器,其中,在所述通信管理服务器接收到原始数据的目录信息的情况下,所述通信管理服务器对所述第二随机数生成器所生成的第二随机数执行分布式处理,以生成n个分布式随机数数据,将所述n个分布式随机数数据分别发送到相应的所述n个控制器,并且还将所述第二随机数分别发送到所述用户终端;以及在所述主控制器从所述用户终端接收到通过使用所述第二随机数对原始数据进行加密而获得的加密原始数据的情况下,所述主控制器获取所述随机数生成器所生成的随机数,通过使用所述随机数对所述加密原始数据进行分布式处理,以生成n个加密分布式数据,以及将所述n个加密分布式数据分别发送到相应的所述n个控制器。
[0013] 根据本发明,提供一种使用秘密共享存储系统的秘密共享存储方法,所述秘密共享存储系统包括可通信地连接到至少一个用户终端、n个存储装置和随机数生成器的主控制器,其中,n是2或更大的整数。所述秘密共享存储方法包括:在接收到从所述用户终端发送的原始数据的情况下,获取所述随机数生成器所生成的随机数;通过使用所述随机数对所述原始数据执行分布式处理,以生成n个分布式数据;以及将所述n个分布式数据分别存储在相应的n个存储装置中。
[0014] 根据本发明,提供一种使用秘密共享存储系统的秘密共享存储方法,所述秘密共享存储系统包括:被设置成与n个存储装置相对应的n个控制器;可通信地连接到所述n个控制器、至少一个用户终端和随机数生成器的主控制器;以及可通信地连接到所述n个控制器、所述用户终端和第二随机数生成器的通信管理服务器,其中,n是2或更大的整数。所述秘密共享存储方法包括:在从所述用户终端接收到原始数据的目录信息的情况下,对所述第二随机数生成器所生成的第二随机数执行分布式处理,以生成n个分布式随机数数据;将所述n个分布式随机数数据发送到相应的n个控制器,并且还将所述第二随机数发送到所述用户终端;在从所述用户终端接收到通过使用所述第二随机数对原始数据进行加密而获得的加密原始数据的情况下,获取所述随机数生成器所生成的随机数;通过使用所述随机数对所述加密原始数据执行分布式处理,以生成n个加密分布式数据;以及将所述n个加密分布式数据发送到相应的n个控制器。
[0015] 发明的效果
[0016] 根据本发明,可以无论需要秘密共享的用户的数量如何,都抑制由于安装生成用于秘密共享的物理随机数的物理随机数生成器而导致的成本增加,并且支持要保密的原始数据的安全存储的实现。附图说明
[0017] 图1是示出根据实施例1的秘密共享系统的系统配置示例的图。
[0018] 图2是示出主控制器的硬件配置示例的框图
[0019] 图3是示出共享保持器的硬件配置示例的框图。
[0020] 图4是示出分布式处理的操作过程示例的时序图。
[0021] 图5是示出恢复处理的操作过程示例的时序图。
[0022] 图6是示出根据实施例1的变形例1的秘密共享系统的系统配置示例的图。
[0023] 图7是示出控制器的硬件配置示例的框图。
[0024] 图8是示出根据实施例1的变形例2的秘密共享系统的系统配置示例的图。
[0025] 图9是示出根据实施例1的变形例3的秘密共享系统的系统配置示例的图。
[0026] 图10是根据实施例2的秘密共享系统的系统配置示例的图。
[0027] 图11是示出代理服务器的硬件配置示例的框图。
[0028] 图12是示出分布式处理的操作过程示例的时序图。
[0029] 图13是示出恢复处理的操作过程示例的时序图。
[0030] 图14是根据实施例3的秘密共享系统的系统配置示例的图。
[0031] 图15是示出分布式处理的操作过程示例的时序图。
[0032] 图16是示出恢复处理的操作过程示例的时序图。
[0033] 图17是示出原始数据、物理随机数和分布式数据的示例的表。
[0034] 图18是示出物理随机数和加密原始数据的示例的表。
[0035] 图19是示出通过对加密原始数据进行分布式处理而生成的分布式的加密分布式数据的示例的表。

具体实施方式

[0036] 在下文中,适当地参考附图来详细描述具体公开的根据本发明的秘密共享存储系统以及秘密共享存储方法的配置和操作的实施例。然而,可以省略必要以外的详细说明。例如,可以省略对已公知事项的详细说明和对实质相同的配置的重复说明。这是为了避免以下描述的不必要冗余,并且便于本领域技术人员理解。提供附图和以下描述是为了使本领域技术人员完全理解本发明,并且不旨在限制权利要求中所描述的主题。
[0037] 根据本发明的秘密共享系统将通过对作为隐藏数据的原始数据进行秘密共享处理(在下文中,称为“分布式处理”)而生成的多个分布式数据存储(保存)在多个存储装置中。秘密共享系统通过使用多个分布式数据进行恢复处理,来恢复作为隐藏数据的原始数据。
[0038] 在以下实施例中,作为原始数据(其是隐藏数据)的示例,例示并描述了电子医疗记录数据,其包括在医院中管理的诸如患者的姓名、年龄、性别、地址、职业和医疗历史等的个人信息(在下文中,称为“医院数据”)。然而,在以下实施例中,原始数据不限于上述医院数据,只要原始数据是隐藏数据即可。
[0039] (实施例1)
[0040] 图1是示出根据实施例1的秘密共享存储系统5的系统配置示例的图。秘密共享存储系统5被配置为包括主控制器10、随机数生成器20、多个医院终端H1至Hm、多个共享保持器S1至Sn。m和n这两者都是2或更大的整数,并且可以是相同的值或者可以是不同的值。
[0041] 多个医院终端H1至Hm经由网络NW1可通信地连接到主控制器10。例如,网络NW1可以是诸如互联网等的广域网。网络NW1可以是将医院终端H1至Hm虚拟连接到主控制器10的诸如虚拟私有网络(VPN)等的私有网络,或者可以是专用线路。
[0042] 作为存储装置的示例,多个共享保持器S1至Sn经由网络NW2可通信地连接到主控制器10。以与网络NW1相同的方式,网络NW2例如可以是诸如互联网等的广域网。网络NW2可以是将共享保持器S1至Sn虚拟连接到主控制器10的诸如VPN等的私有网络,或者可以是专用线路。
[0043] 为了简单起见,作为用户终端的示例的医院终端H1至Hm具有相同的内部配置,并且根据需要来例示和描述医院终端H1。医院终端H1至Hm是由管理诸如电子医疗记录数据等的医院数据的管理者所使用的用户终端。这里,作为用户终端,例示了医院终端,但是用户终端可以是在处理隐藏数据的公司或组织中使用的商务终端。因此,作为隐藏数据的原始数据的示例除了医院数据之外还包括个人年金记录数据、产品设计数据、实验数据、未公开的图像数据和未发表的音乐数据。
[0044] 随机数生成器20是用于生成在物理上的波动值(换言之,恶意第三方难以容易地推测的值)作为随机数数据的物理随机数生成器。随机数数据的示例包括诸如热噪声或量子波动等的数据。另外,在秘密共享存储系统5中,随机数生成器20优选地是物理随机数生成器,但是可以是伪随机数生成器。当灯型(lamp‑type)秘密共享方法用作该方法时,原始数据的一部分可以用作该方法中的随机数的一部分。
[0045] 如果接收到从医院终端H1至Hm其中至少之一(例如,医院终端H1)发送的医院数据,则主控制器10使用由随机数生成器20生成的物理随机数通过分布式处理来生成多个(例如,n个)分布式数据。主控制器10包括存储由随机数生成器20(参见图2)生成的物理随机数的记录装置13,并且通过使用该物理随机数对医院数据进行分布式处理。主控制器10以与所生成的分布式数据的数量(例如,n)相同的数量(例如,n)生成指示如下内容的分布式信息:在执行分布式处理时如何对原始数据(医院数据)进行分布式处理。除了与生成分布式数据的方法相关的上述信息之外,分布式信息可以包括原始数据的文件名、分布式数据的文件名、分布式处理的执行日期、分布式数据的大小、用于分布式数据的生成(即分布式处理)的物理随机数的一部分、存储目的地的信息和用于访问存储目的地的认证信息,作为分布式数据的目录信息。
[0046] 例如,在生成三个分布式数据的情况下,主控制器10将第一分布式数据和相应第一分布式信息的集合存储在第一共享保持器中,将第二分布式数据和相应第二分布式信息的集合存储在第二共享保持器中,并且以相同的方式,将第三分布式数据和相应第三分布式信息的集合存储在第三共享保持器中。
[0047] 主控制器10使用针对医院数据(原始数据的示例)预先生成的多个分布式数据以及与各个分布式数据相对应的分布式信息,通过恢复处理来恢复该原始数据(即,医院数据)。在分布式处理时所使用的物理随机数被存储在记录装置13中的情况下,主控制器10可以通过使用该物理随机数来根据多个分布式数据恢复原始医院数据。
[0048] 图2是示出主控制器10的硬件配置示例的框图。主控制器10具有至少包括处理器11、存储器12、记录装置13和通信电路14的配置。
[0049] 处理器11例如通过使用中央处理单元(CPU)、数字信号处理器(DSP)或现场可编程阵列(FPGA)来配置,并且与存储器12协作,根据预先存储在存储器12中的程序或数据进行操作。
[0050] 处理器11通过使用经由通信电路14从随机数生成器20接收到的物理随机数,对经由通信电路14从医院终端H1至Hm其中至少之一(例如,医院终端H1)发送的医院数据进行分布式处理。处理器11经由通信电路14将通过分布式处理生成的相同数量的分布式数据和与该分布式数据相对应的分布式信息的集合发送到分别与其相对应的共享保持器S1至Sn。
[0051] 如果分别从多个共享保持器S1至Sn获取分布式数据和相应分布式信息的集合,则处理器11通过使用恢复处理所需的预定值(阈值)或者分布式数据和分布式信息的所有集合来对作为原始数据的医院数据进行恢复处理。
[0052] 存储器12例如通过使用随机存取存储器(RAM)和只读存储器(ROM)来配置,并且临时保持用于执行主控制器10的操作所需的程序和数据以及在该操作期间生成的其它数据或信息。RAM例如是在主控制器10的操作期间使用的工作存储器。ROM例如预先存储和保持用于控制主控制器10的程序和数据。
[0053] 记录装置13例如通过使用硬盘驱动器(HDD)或固态驱动器(SSD)来配置,并且存储由随机数生成器20生成的物理随机数。
[0054] 通信电路14通过使用与可通信地连接到主控制器10的各种装置通信的电路来配置。通信电路14经由网络NW1与多个医院终端H1至Hm进行数据通信。通信电路14经由网络NW2与多个共享保持器S1至Sn进行数据通信。主控制器10和随机数生成器20可以有线或无线地彼此连接。
[0055] 共享保持器S1至Sn是存储由主控制器10生成的多个分布式数据中的任意分布式数据的记录装置。共享保持器S1至Sn可以是从主控制器10观看的在线云服务器,或者可以是内置于主控制器中的存储器。
[0056] 图3是示出共享保持器S1至Sn的硬件配置示例的框图。共享保持器S1至Sn具有相同的内部配置,并且具体地具有至少包括处理器41、存储器42、记录装置43和通信电路44的配置。
[0057] 处理器41例如通过使用CPU、DSP或FPGA来配置,并且与存储器42协作,根据预先存储在存储器42中的程序和数据进行操作。如果接收到经由通信电路44从主控制器10发送的分布式数据和分布式信息的任意集合,则处理器41将分布式数据和分布式信息的集合存储(保存)在记录装置43中。如果接收到经由通信电路44从主控制器10发送的分布式数据的获取要求,则处理器41读取并获取存储在记录装置43中的分布式数据和分布式信息的集合,并且经由通信电路44将该集合发送到主控制器10。
[0058] 存储器42例如用RAM和ROM来配置,并且临时保持在共享保持器S1至Sn的操作的执行期间所需的程序和数据以及在操作期间生成的其它数据或信息。RAM是例如在共享保持器S1至Sn的操作期间使用的工作存储器。ROM例如预先存储和保持用于控制共享保持器S1至Sn的程序和数据。
[0059] 记录装置43例如通过使用HDD或SSD来配置,并且存储(保存)通过主控制器10的分布式处理所生成的分布式数据和分布式信息的任意集合。
[0060] 通信电路44使用与主控制器10通信的电路来配置。通信电路44经由网络NW2与主控制器10进行数据通信。
[0061] 随后,描述根据实施例1的秘密共享存储系统5的分布式处理和恢复处理。
[0062] 如上所述,在现有技术中的秘密共享系统中,在各个医院的医院终端中执行分布式处理和恢复处理。因此,需要昂贵的随机数生成器(诸如各个医院终端中的随机数生成器20等),并且因此由于医院中的秘密共享系统的构造而导致的成本增加是不可避免的。另一方面,在根据实施例1的秘密共享存储系统5中,与主控制器10相对应地设置一个随机数生成器20。主控制器10对从医院终端(例如,医院终端H1)发送的原始数据(即,医院数据)进行分布式处理。
[0063] 图4是示出分布式处理的操作过程示例的时序图。在图4的描述中,例示医院终端H1作为医院终端的示例。
[0064] 在图4中,当医院终端H1向主控制器10请求(要求)对医院数据ODH1(原始数据的示例)的分布式处理时,秘密共享存储系统5将纯文本数据的医院数据ODH1发送到主控制器10(T1)。主控制器10经由网络NW1从医院终端H1接收纯文本数据的医院数据ODH1。
[0065] 例如,当接收到医院数据ODH1时,主控制器10获取由随机数生成器20生成的物理随机数,并且将该物理随机数存储在记录装置13中(T2)。主控制器10也可以不将所获取到的物理随机数存储在记录装置13中,而是可以将所获取到的物理随机数临时存储在存储器12中,并在执行步骤T3的分布式处理之后删除该物理随机数。然而,为了不将恢复所需的信息遗留在主控制器10中,优选地删除所获取到的物理随机数。主控制器10通过使用该物理随机数执行对医院数据ODH1的分布式处理,并且以使分布式数据的数量与所布置的共享保持器S1至Sn的数量相同的方式,生成多个(n个)分布式数据H1D1至H1Dn以及与各个分布式数据相对应的分布式信息的集合(T3)。在执行步骤T3的分布式处理之后,主控制器10优选地删除作为原始数据的医院数据ODH1。
[0066] 主控制器10经由网络NW2将所生成的分布式数据H1D1和与分布式数据H1D1相对应的分布式信息的集合发送到共享保持器S1(T4)。共享保持器S1将从主控制器10接收到的分布式数据H1D1和与分布式数据H1D1相对应的分布式信息的集合存储到记录装置43(T5)。
[0067] 以相同的方式,主控制器10对其它共享保持器执行与步骤T5中相同的处理,并且经由网络NW2将所生成的分布式数据H1Dn和与分布式数据H1Dn相对应的分布式信息的集合发送到共享保持器Sn(T6)。共享保持器Sn将从主控制器10接收到的分布式数据H1Dn和与分布式数据H1Dn相对应的分布式信息的集合存储到记录装置43(T7)。存储在共享保持器S1至Sn中的分布式数据是纯文本数据(换言之,未加密数据)。
[0068] 当主控制器10接收到数据时,可以在医院终端H1中预先对所接收到的医院数据进行加密,并且分布式数据变成加密分布式数据。这里,描述了对来自医院终端H1的医院数据ODH1执行分布式处理的情况,但是也可以对来自其它医院终端的医院数据执行相同的分布式处理。
[0069] 图5是示出恢复处理的操作过程示例的时序图。在图5的描述中,提供医院终端H1作为医院终端的示例。
[0070] 在图5中,在秘密共享存储系统5中,共享保持器S1至Sn将分别与其相对应的分布式数据H1D1至H1Dn存储在记录装置43中(T11和T12)。当向主控制器10请求(要求)对医院数据ODH1(原始数据的示例)的恢复处理时,医院终端H1指定要进行恢复处理的医院数据的文件名(T13)。
[0071] 主控制器10基于由医院终端H1指定的文件名,将与该文件名相对应的所生成的分布式数据的获取要求发送到共享保持器S1(T14)。共享保持器S1根据获取要求来读取记录装置43中所存储的分布式数据H1D1和相应分布式信息的集合,并向主控制器10回复(T15)。
[0072] 以相同的方式,主控制器10基于由医院终端H1指定的文件名,将与该文件名相对应的所生成的分布式数据的获取要求发送到共享保持器Sn(T16)。共享保持器Sn根据获取要求来读取记录装置43中所存储的分布式数据H1Dn和相应分布式信息,并向主控制器10回复(T17)。
[0073] 以这种方式,通过步骤T11至T17,主控制器10经由网络NW2接收从全部共享保持器S1至Sn分别发送的分布式数据和相应分布式信息的集合。在分布式处理(参见步骤T3)期间使用的物理随机数存储在记录装置13中的情况下,主控制器10可以读取并获取该物理随机数(T18)。在步骤T18中获取到的物理随机数对于恢复分布式数据H1D1至H1Dn不是必需的,因此可以省略步骤T18。随后,主控制器10使用多个分布式数据H1D1至H1Dn来执行恢复处理,并且恢复作为原始数据的医院数据ODH1(T19)。在步骤T18中获取到物理随机数的情况下,可以在步骤T19的恢复处理中使用该获取到的物理随机数。随后,主控制器10将恢复的医院数据ODH1(即,期望的医院数据)发送到医院终端H1(T20)。主控制器10可以省略步骤T18的处理。即,主控制器10不需要持续保持在步骤T2中存储的物理随机数。在这种情况下,主控制器10可以通过使用与从共享保持器S1至Sn分别发送的分布式数据相对应的分布式信息来恢复作为原始数据的医院数据ODH1。
[0074] 医院终端H1接收从主控制器10发送的医院数据ODH1(T21)。因此,医院终端H1能够安全地获得医院数据ODH1。
[0075] 以这种方式,在实施例1的秘密共享存储系统5中,主控制器10进行对作为从医院终端发送的原始数据的医院数据的分布式处理和恢复处理。因此,一个随机数生成器20接近地安装,以对应于单个主控制器10。出于安全的原因,随机数生成器20优选地尽可能接近主控制器10地安装。因此,随机数生成器20可以设置在主控制器10内部。即,主控制器10本身可以具有随机数生成器20的功能。另外,随机数生成器20远离主控制器10地安装并且可能经由网络(未示出)连接,但是主控制器10和随机数生成器20优选地经由安全网络彼此连接。
[0076] 医院终端H1至Hm不包括主控制器10的配置,并且可以向布置在医院外部的主控制器10请求原始数据的分布式处理。因此,与在医院终端H1至Hm各自包括主控制器10和随机数生成器20的配置的情况相比,仅布置一个主控制器10和一个随机数生成器20。因此,能够以低成本来构造秘密共享存储系统5。
[0077] 如上所述,秘密共享存储系统5包括医院终端H1至Hm其中至少之一、n个共享保持器S1至Sn以及可通信地连接到随机数生成器20的主控制器10。如果接收到从医院终端H1发送的医院数据ODH1,则主控制器10获取由随机数生成器20生成的物理随机数,通过使用该物理随机数对医院数据ODH1执行分布式处理,并且生成n个分布式数据H1D1至H1Dn。主控制器10将n个分布式数据存储在分别与其相对应的n个共享保持器S1至Sn中。
[0078] 因此,秘密共享存储系统5可以根据用于生成在秘密共享期间使用的物理随机数的随机数生成器20的安装来抑制成本增加,而不管需要原始数据的秘密共享的医院终端的数量(即,用户的数量)如何。因此,秘密共享存储系统5可以在尽可能地抑制伴随系统构造的成本增加的同时,支持要隐藏的原始数据的安全存储的实现。
[0079] 主控制器10根据来自医院终端H1的原始数据的恢复指示,获取分别存储在n个共享保持器S1至Sn中的n个分布式数据H1D1至H1Dn。主控制器10根据n个分布式数据H1D1至H1Dn来恢复作为原始数据的医院数据ODH1,并且将医院数据发送到医院终端H1。因此,秘密共享存储系统5可以缩小用于启用恢复处理的执行主体,使得除主控制器10之外,不能执行作为原始数据的医院数据的恢复处理。即,可以有效地抑制除了使用主控制器10的人之外的第三方恢复原始数据。如果能够恢复上述原始数据,则恢复导致具有极高个人信息特征的医院数据的泄露。然而,根据实施例1,能够可靠地防止医院数据的数据泄露,并且由此明确责任的分界点。
[0080] (实施例1的变形例1)
[0081] 根据实施例1,主控制器10可能恶意地获取例如由医院终端管理的医院数据(即,原始数据)的纯文本数据。根据实施例1的变形例1,主控制器10的管理者不知道分布式数据的保存目的地。
[0082] 图6是示出根据实施例1的变形例1的秘密共享存储系统5A的配置示例的示图。在秘密共享存储系统5A中,与根据实施例1的秘密共享存储系统5相同的组件由相同的附图标记表示,并且简化或省略其描述。
[0083] 在秘密共享存储系统5A中,在主控制器10与多个共享保持器S1至Sn之间一一对应地分别设置与所安装的共享保持器S1至Sn相同数量的控制器C1至Cn。
[0084] 以与实施例1中相同的方式,主控制器10经由网络NW1从医院终端H1至Hm其中至少之一接收医院数据(例如,医院数据ODH1),通过使用由随机数生成器20所生成的物理随机数执行对医院数据的分布式处理,并且生成总共n个分布式数据H1D1至H1Dn以及逻辑分布式信息。通过在主控制器10中对医院数据的分布式处理来生成该逻辑分布式信息。具体地,除了与生成n个分布式数据的方法相关的信息之外,逻辑分布式信息还包括原始数据的文件名、n个分布式数据的文件名、分布式处理的执行日期、分布式数据的大小、用于生成(即分布式处理)分布式数据的物理随机数、与作为分布式目的地的n个控制器相关的信息等。因此,主控制器10无法基于逻辑分布式信息来区分最终存储(保存)分布式数据的共享保持器S1至Sn的信息。
[0085] 主控制器10经由网络NW2进行分布式处理,该分布式处理将总共n个分布式数据H1D1至H1Dn以及逻辑分布式信息逐一分布到多个控制器C1至Cn。在执行分布式处理之后,主控制器10优选地删除作为原始数据的医院数据。
[0086] 图7是示出控制器C1至Cn的硬件配置示例的框图。控制器C1至Cn各自包括相同的内部配置,并且具体地具有至少包括处理器51、存储器52、记录装置53和通信电路54的配置。
[0087] 处理器51例如通过使用CPU、DSP或FPGA来配置,并且与存储器52协作,根据预先存储在存储器52中的程序和数据来进行操作。处理器51经由通信电路54接收从主控制器10发送的分布式数据和逻辑分布式信息。处理器51使用逻辑分布式信息和与预先保持的自身控制器相对应的存储目的地(例如,共享保持器S1)的信息,生成与自身控制器(例如,控制器C1)所接收到的分布式数据相关的实质分布式信息。实质分布式信息是与相应分布式数据的生成相关的分布式信息(参见实施例1)。除了与生成分布式数据的方法相关的信息之外,其示例还包括原始数据的文件名、分布式数据的文件名、分布式处理的执行日期、分布式数据的大小、用于分布式数据的生成(即,分布式处理)的物理随机数的一部分、存储目的地的信息和用于访问该存储目的地的认证信息,作为分布式数据的目录信息。根据与分布式数据相对应的实质分布式信息,处理器51存储与相应的分布式数据相对应的共享保持器(例如,共享保持器S1)。
[0088] 存储器52例如由RAM和ROM来配置,并且临时保持在控制器C1至Cn的操作的执行期间所需的程序和数据以及在操作期间生成的其它数据或信息。RAM例如是在控制器C1至Cn的操作期间使用的工作存储器。ROM例如预先存储和保持用于控制控制器C1至Cn的程序和数据。
[0089] 记录装置53例如通过使用HDD或SSD来配置,并且存储(保存)通过主控制器10的分布式处理所生成的分布式数据和实质分布式信息的任意集合。
[0090] 通信电路54通过使用与同主控制器10或自身控制器相对应的共享保持器(例如,共享保持器S1)通信的电路来配置。通信电路54经由网络NW2与主控制器10进行数据通信。通信电路54与同自身控制器相对应的共享保持器(例如,共享保持器S1)进行数据通信。
[0091] 多个控制器C1至Cn各自在共享保持器S1至Sn中的任何一个相应共享保持器中存储分布式数据和实质逻辑信息的一个集合。即,多个控制器C1至Cn各自的管理者掌握包括分布式数据的存储目的地和用于访问该存储目的地的认证信息的相应实质分布式信息,但是无法掌握与其它分布式数据相对应的实质分布式信息。控制器C1至Cn各自连接到共享保持器S1至Sn中的相应共享保持器,并且将认证信息保持在相应共享保持器中。因此,与实施例1不同,在原始数据的分布式处理之后,主控制器10只能经由各个控制器C1至Cn间接地接收分布式数据,并且无法从多个共享保持器S1至Sn直接获取所有分布式数据。
[0092] 以这种方式,在根据实施例1的变形例1的秘密共享存储系统5A中,无法存在能够掌握包括所有分布式数据的保存目的地的分布式信息的管理者。因此,与实施例1相比,可以进一步提高与分布式数据的存储相关的安全性。由于多个控制器C1至Cn分别设置在主控制器10与多个共享保持器S1至Sn之间,例如,如果泄漏任何分布式数据,则可以容易且清楚地区分哪个控制器的管理者对该泄漏负责。可以在主控制器10和控制器C1至Cn之间分别进行装置认证,以防止第三方欺骗。对于装置认证,例如,使用利用双向公钥密码系统的加密和解密技术。
[0093] 根据以上内容,根据实施例1的变形例1的秘密共享存储系统5A还包括n个控制器C1至Cn,其分别被设置为与n个共享保持器S1至Sn相对应并且可通信地连接到主控制器10。主控制器10分别生成与多个分布式数据H1D1至H1Dn的生成相关的逻辑分布式信息。主控制器10将n个分布式数据与逻辑分布式信息相关联,并且将n个分布式数据分别发送到n个相应的控制器C1至Cn。n个控制器C1至Cn从主控制器10接收与自身装置(自身控制器)相对应的分布式数据和逻辑分布式信息,并且通过使用逻辑分布式信息来生成与自身装置接收到的分布式数据相关的实质分布式信息。n个控制器C1至Cn各自分别与n个相应的共享保持器S1至Sn相关联地存储实质分布式信息和自身装置(自身控制器)接收到的分布式数据。
[0094] 因此,秘密共享存储系统5A可以安全地存储分布式数据,使得主控制器10的管理者不知道分布式数据的最终保存目的地。因此,利用秘密共享存储系统5A,使用主控制器10的管理者可以有效地防止作为可能的恶意攻击的高度隐藏的医院数据泄露。
[0095] (实施例1的变形例2)
[0096] 根据实施例1的变形例1,控制器和共享保持器一一对应地彼此连接。在实施例1的变形例2中,两个或更多个共享保持器连接到一个控制器的示例。
[0097] 图8是示出根据实施例1的变形例2的秘密共享存储系统5B的配置示例的图。在秘密共享存储系统5B中,与根据实施例1的变形例1的秘密共享存储系统5A中相同的组件由相同的附图标记表示,并且简化或省略其描述。
[0098] 根据实施例1的变形例2,两个共享保持器S1A和S1B连接到一个控制器(例如,控制器C1)。因此,控制器的总数小于共享保持器的总数。控制器C1将由自身控制器接收到的分布式数据和与该分布式数据相对应而生成的实质分布式信息以相关联的方式分别存储在两个共享保持器S1A和S1B中。
[0099] 此外,在实施例1的变形例2中,以与实施例1的变形例1相同的方式,控制器C1至Cn各自的管理者仅拥有用于访问与自身控制器相对应的共享保持器的认证信息。因此,利用秘密共享存储系统5B,主控制器10的管理者无法直接访问共享保持器S1至Sn以获取分布式数据。
[0100] 这里,描述了控制器C1可通信地连接到两个共享保持器S1A和S1B的情况,但是其它控制器C2至Cn其中至少之一可以可通信地连接到多个共享保持器。
[0101] 根据以上内容,在秘密共享存储系统5B中,n个控制器C1至Cn中的至少一个控制器(例如,控制器C1)可通信地连接到多个共享保持器S1A和S1B。控制器C1将自身控制器接收到的分布式数据和与分布式数据相对应地生成的实质分布式信息以相关联的方式存储在多个共享保持器S1A和S1B中。因此,利用秘密共享存储系统5B,两个或更多个共享保持器可以连接到一个控制器。因此,可以适当地建立如下的备份,该备份用于在多个共享保持器其中之一发生故障的情况下存储分布式数据和实质分布式信息。
[0102] (实施例1的变形例3)
[0103] 在实施例的变形例2中,仅设置一个主控制器10。因此,当需要执行对医院数据的分布式处理和恢复处理中的任一个时,如果主控制器10由于灾难或故障等而失灵,则不能适当地执行对医院数据的分布式处理或恢复处理。根据实施例1的变形例3,描述了如下示例:当主控制器10陷入失灵或检测到其迹象时,设置替代地执行分布式处理和恢复处理中的任一个的另一主控制器。
[0104] 图9是示出根据实施例1的变形例3的秘密共享存储系统5C的配置示例的图。在秘密共享存储系统5C中,与根据实施例1的变形例2的秘密共享存储系统5B中相同的组件由相同的附图标记表示,并且简化或省略其描述。
[0105] 在秘密共享存储系统5C中,与主控制器10不同,设置备用主控制器10A。主控制器10和主控制器10A可以被布置成在地理上彼此远离,使得防止由于灾难的发生而同时发生失灵,或者可以被布置成彼此接近。
[0106] 作为第二主控制器的示例的主控制器10A具有与主控制器10相同的配置,并且因此省略对主控制器10A的内部配置的具体描述。以与主控制器10相同的方式,主控制器10A连接到随机数生成器20A,并且获取由随机数生成器20A生成的物理随机数。以与随机数生成器20相同的方式,随机数生成器20A优选地是物理随机数生成器,但是可以配置有伪随机数生成器。主控制器10A经由网络NW1连接到医院终端H1至Hm,并且经由网络NW2连接到控制器C1至Cn。
[0107] 在秘密共享存储系统5C中,主控制器10监视自身装置的寿命。例如,由于灾难的发生,主控制器10可以检测到失灵或其迹象。在检测到失灵的情况下,主控制器10将由主控制器10生成的逻辑分布式信息以及分布式处理和恢复处理的权限委托通知发送到被设置为备用的主控制器10A。
[0108] 如果接收到从主控制器10发送的逻辑分布式信息和权限委托通知,则主控制器10A根据该权限委托通知来替代地执行并继续主控制器10的处理(例如,分布式处理和恢复处理)。主控制器10A没有连接到主控制器10,并且可以在没有来自主控制器10的诸如权限授权通知等的指令的情况下独立地操作。
[0109] 主控制器10A可以监视主控制器10的寿命来代替用于监视自身装置的寿命的主控制器10。外部PC(未示出)或移动终端(未示出)可以监视主控制器10的寿命。
[0110] 以这种方式,在实施例1的变形例3中,例如在灾难等期间,主控制器10陷入失灵,备用主控制器10A替代地进行操作。因此,秘密共享存储系统5C的鲁棒性提高。在秘密共享存储系统5C中,在没有设置随机数生成器20A的情况下,如果主控制器10A可以连接到与主控制器10连接的随机数生成器20,则主控制器10A可以从随机数生成器20获取物理随机数。因此,在秘密共享存储系统5C中,结果添加了主控制器10A,但是可以避免所安装的随机数生成器的数量的增加。因此,能够抑制成本增加。备用主控制器不限于一个主控制器10A,并且可以设置多个主控制器。
[0111] 根据以上内容,秘密共享存储系统5C还包括可通信地连接到医院终端H1至Hm其中至少之一的主控制器10A、n个共享保持器S1至Sn、随机数生成器20A以及主控制器10。如果检测到自身装置的失灵,则主控制器10将逻辑分布式信息以及分布式处理和恢复处理的权限委托通知发送到主控制器10A。如果从主控制器10接收到逻辑分布式信息和权限委托通知,则主控制器10A替代主控制器10执行对医院数据的分布式处理和恢复处理。因此,同样当主控制器10陷入失灵或检测到其迹象时,由于主控制器10A,对医院数据的分布式处理和恢复处理不会中断,并且可以继续安全存储基于医院数据的分布式数据以及根据需要恢复医院数据。
[0112] (实施例2)
[0113] 在上述实施例1或其各种变型例中,在医院终端(例如,医院终端H1)与主控制器10之间的数据通信中,主要假设发送和接收纯文本数据。在实施例2中,描述了在与医院终端H1至Hm、主控制器10和控制器C1至Cn通信之前对医院数据进行加密的示例。因此,主控制器10接收由医院终端加密的医院数据,并且对加密医院数据执行分布式处理。
[0114] 图10是示出根据实施例2的秘密共享存储系统5D的配置示例的图。在秘密共享存储系统5D中,与根据实施例1的秘密共享存储系统5相同的组件由相同的附图标记表示,并且简化或省略其描述。
[0115] 除了根据实施例1的变形例1的秘密共享存储系统5A的配置之外,秘密共享存储系统5D具有还包括代理服务器70和随机数生成器80的配置。代理服务器70和控制器C1至Cn连接到网络NW3。网络NW3可以是与网络NW1和NW2相同的网络,或者可以是不同的网络。具体地,网络NW3可以例如是诸如互联网等的广域网,可以是将代理服务器70虚拟连接到控制器C1至Cn的诸如虚拟私有网(VPN)等的私有网络,或者可以是专用线路。在图10中,虽未图示,但是代理服务器70与医院终端H1至Hm也可以经由诸如网络NW3等的网络可通信地连接。
[0116] 作为第二物理随机数生成器的示例的随机数生成器80是以与随机数生成器20相同的方式来生成物理波动值(换言之,恶意第三方难以容易地推测的值)作为随机数数据的随机数生成器。具体地,随机数生成器80生成用于医院终端H1至Hm、主控制器10和控制器C1至Cn之间的通信的物理随机数(例如,用于加密和解密的公共密钥)。可以使用伪随机数来代替物理随机数。随机数生成器80所生成的物理随机数与用于生成分布式数据的物理随机数(即,随机数生成器20所生成的物理随机数)不同。
[0117] 作为通信管理服务器的示例的代理服务器70将由随机数生成器80生成的物理随机数(第二物理随机数的示例)作为流密码信息存储在记录装置73中。代理服务器70将定位为公共密钥的物理随机数发送到医院终端H1,其中公共密钥用于医院终端H1至Hm、主控制器10和控制器C1至Cn之间的通信的加密或解密。医院终端H1将从代理服务器70发送的公共密钥存储到医院终端H1中的存储器。代理服务器70经由网络NW3向控制器C1至Cn发送公共密钥。控制器C1至Cn将从代理服务器70接收到的公共密钥存储到自身控制器中的各个记录装置53。如上所述,在医院终端H1和控制器C1至Cn中保持从代理服务器70A发送(分配)的相同的公共密钥。
[0118] 图11是示出代理服务器70的硬件配置示例的框图。代理服务器70具有至少包括处理器71、存储器72、记录装置73和通信电路74的配置。
[0119] 处理器71例如通过使用CPU、DSP或FPGA来配置,并且与存储器72协作,根据预先存储在存储器72中的程序和数据来操作。处理器71经由通信电路74获取从随机数生成器80发送的物理随机数(公共密钥)。处理器71经由通信电路74将公共密钥发送到医院终端H1和控制器C1至Cn。
[0120] 存储器72例如由RAM和ROM来配置,并且临时保持在代理服务器70的操作的执行期间所需的程序和数据以及在操作期间生成的其它数据或信息。RAM例如是在代理服务器70的操作期间使用的工作存储器。ROM例如预先存储并保持用于控制代理服务器70的程序和数据。
[0121] 记录装置73例如通过HDD或SSD来配置,并且存储由随机数生成器80生成的物理随机数。
[0122] 通信电路74通过使用与可通信地连接到代理服务器70的各种装置通信的电路来配置。通信电路74与多个医院终端H1至Hm进行数据通信。通信电路74经由网络NW3与多个控制器C1至Cn进行数据通信。代理服务器70和随机数生成器80可以有线或无线地彼此连接。
[0123] 医院终端(例如,医院终端H1)通过使用从代理服务器70发送的公共密钥对作为原始数据的医院数据OD进行加密,并且经由网络NW1将加密医院数据E(OD)发送到主控制器10。在以上描述中,在作为原始数据的医院数据OD被加密的情况下,为了方便起见,加密医院数据由E(OD)表示。
[0124] 主控制器10从医院终端H1接收由医院终端(例如,医院终端H1)加密的医院数据E(OD),并且通过使用由随机数生成器20生成的物理随机数来进行对加密医院数据E(OD)的分布式处理。主控制器10经由网络NW2将通过分布式处理生成的多个加密分布式数据E(ODH1)至E(ODHn)分别发送到相应控制器C1至Cn。
[0125] 随后,描述根据实施例2的秘密共享存储系统5D的分布式处理和恢复处理。
[0126] 图12是示出分布式处理的过程的时序图。在图12的描述中,例示医院终端H1作为医院终端的示例。
[0127] 在图12中,在秘密共享存储系统5D中,在执行分布式处理之前,首先,代理服务器70获取由随机数生成器80生成的物理随机数作为流密码信息,并将该物理随机数作为公共密钥发送到控制器C1至Cn和医院终端H1(T31、T32和T33)。
[0128] 控制器C1至Cn分别将从代理服务器70接收到的公共密钥存储在记录装置53中。
[0129] 医院终端H1将从代理服务器70接收到的公共密钥存储在存储器12或记录装置13中。医院终端H1利用公共密钥对原始数据OD(例如,医院数据)进行加密(T34)。医院终端H1将加密医院数据E(OD)作为加密原始数据的示例发送到主控制器10(T35)。
[0130] 例如,当接收到加密医院数据E(OD)时,主控制器10获取由随机数生成器20生成的物理随机数,并且将该物理随机数存储在记录装置13中(T36)。主控制器10可以不将所获取到的物理随机数存储到记录装置13中,而将所获取到的物理随机数暂时存储在存储器12中,并且可以在执行步骤T37的分布式处理之后删除该物理随机数。主控制器10通过使用该物理随机数来执行对加密医院数据E(OD)的分布式处理,并且生成与所布置的控制器C1至Cn的数量相同的多个(例如,n个)加密分布式数据E(H1D1)至E(H1Dn)以及与加密分布式数据相对应的分布式信息的集合(T37)。加密分布式数据E(H1D1)至E(H1Dn)是加密分布式数据的示例。在执行步骤T37的分布式处理之后,主控制器10可以删除加密医院数据E(OD)。
[0131] 主控制器10将加密分布式数据数据E(H1D1)和相应分布式信息的集合发送到控制器C1(T38)。控制器C1读取在步骤T31中存储在记录装置53中的公共密钥,并通过使用该公共密钥对加密分布式数据E(H1D1)进行解密,以获得作为纯文本数据的分布式数据H1D1(T39)。控制器C1将通过解密所获得的分布式数据H1D1和相应分布式信息的集合存储在相应共享保持器S1中(T40)。
[0132] 以相同的方式,主控制器10在其它控制器上执行与步骤T38至T40相同的处理,并且将加密分布式数据E(H1Dn)和相应分布式信息的集合发送到控制器Cn(T41)。控制器Cn读取在步骤T32中存储在记录装置53中的公共密钥,并且通过使用该公共密钥对加密分布式数据E(H1Dn)进行解密,以获得作为纯文本数据的分布式数据H1Dn(T42)。控制器Cn将通过解密所获得的分布式数据H1Dn和相应分布式信息的集合存储在相应共享保持器Sn中(T43)。
[0133] 以这种方式,在执行分布式处理的情况下,控制器C1至Cn对利用从代理服务器70接收到的公共密钥加密的分布式数据E(H1D1)至E(H1Dn)进行解密,以分别获得分布式数据H1D1至H1Dn。控制器C1至Cn将通过解密所获得的分布式数据H1D1至H1Dn以及相应分布式信息的集合分别存储在相应共享保持器S1至Sn中。因此,作为纯文本数据的分布式数据H1D1至H1Dn和相应分布式信息的集合分别存储在共享保持器S1至Sn中。
[0134] 图13是示出恢复处理的操作过程示例的时序图。在图13的描述中,提供医院终端H1作为医院终端的示例。
[0135] 在图13中,在秘密共享存储系统5D中,在执行恢复处理之前,首先,代理服务器70获取由随机数生成器80生成的物理随机数作为流密码信息,并将该物理随机数作为公共密钥发送到控制器C1至Cn和医院终端H1(T51、T52和T53)。
[0136] 控制器C1至Cn将从代理服务器70接收到的公共密钥分别存储到记录装置53。
[0137] 医院终端H1将从代理服务器70接收到的公共密钥存储到存储器12或记录装置13。另外,在分布式处理期间和恢复处理期间,可以使用不同的公共密钥,或者可以使用相同的公共密钥。在使用相同的公共密钥的情况下,可以省略步骤T51至T53。
[0138] 在向主控制器10请求(要求)对医院数据OD(原始数据的示例)的恢复处理时,医院终端H1指定医院数据的文件名作为恢复处理的对象(T54)。
[0139] 主控制器10基于医院终端H1所指定的文件名将与该文件名相对应地生成的分布式数据的获取要求发送到控制器C1(T55)。控制器C1根据该获取要求,读取与自身控制器相对应的在共享保持器S1中存储的分布式数据H1D1以及相应分布式信息的集合。控制器C1读取在步骤T51中存储在记录装置53中的公共密钥,并通过使用该公共密钥对分布式数据H1D1进行加密,以获得加密分布式数据E(H1D1)(T56)。控制器C1将加密分布式数据E(H1D1)以及相应分布式信息的集合发送到主控制器10(T57)。主控制器10获取加密分布式数据E(H1D1)以及相应分布式信息的集合。
[0140] 以同样的方式,主控制器10基于医院终端H1指定的文件名将与该文件名相对应地生成的分布式数据的获取要求发送到控制器Cn(T58)。控制器Cn根据该获取要求,读取与自身控制器相对应的存储在共享保持器Sn中的分布式数据H1Dn以及相应分布式信息的集合。控制器Cn读取在步骤T52中存储在记录装置53中的公共密钥,并通过使用该公共密钥对分布式数据H1Dn进行加密,以获得加密分布式数据E(H1Dn)(T59)。控制器Cn将加密分布式数据E(H1Dn)以及相应分布式信息的集合发送到主控制器10(T60)。主控制器10获取加密分布式数据E(H1Dn)以及相应分布式信息的集合。
[0141] 以这种方式,在步骤T55至T60中,主控制器10分别从所有控制器C1至Cn接收加密分布式数据E(H1D1)至E(H1Dn)以及相应分布式信息。主控制器10基于加密分布式数据E(H1D1)至E(H1Dn)以及相应分布式信息进行恢复处理,以获得加密医院数据E(OD)(T61)。在分布式处理期间所使用的物理随机数存储在记录装置13中的情况下,主控制器10可以通过使用该物理随机数来进行恢复处理。主控制器10将加密医院数据E(OD)发送到医院终端H1(T62)。医院终端H1通过使用存储在存储器12或记录装置13中的该公共密钥对加密医院数据E(OD)进行解密,以获取医院数据OD(期望的原始数据)(T63)。
[0142] 根据以上内容,实施例2的秘密共享存储系统5D还包括可通信地连接到随机数生成器80的代理服务器70。代理服务器70将由随机数生成器80生成的公共密钥发送到n个控制器C1至Cn以及医院终端(例如,医院终端H1)。主控制器10从医院终端H1接收通过使用公共密钥加密的医院数据E(OD)。主控制器10通过使用物理随机数来对加密医院数据E(OD)进行分布式处理,生成n个加密分布式数据E(H1D1)至E(H1Dn),并且将该加密分布式数据分别发送到n个控制器C1至Cn。如果分别从主控制器10接收到与自身装置(自身控制器)相对应的加密分布式数据E(H1D1)至E(H1Dn),则n个控制器C1至Cn通过使用公共密钥分别对所接收到的分布式数据E(H1D1)至E(H1Dn)进行解密。n个控制器C1至Cn将通过该解密所获得的分布式数据H1D1至H1Dn分别存储到与自身装置相对应的共享保持器S1至Sn。
[0143] 因此,在秘密共享存储系统5D中,在主控制器10执行分布式处理的情况下,从医院终端接收到的医院数据已经被加密,并且因此该医院数据的内容可能相对于主控制器10的管理者来说被隐藏。换言之,通过从与主控制器10不同的代理服务器70获得的公共密钥(即,主控制器10不能知道的公共密钥)对要隐藏的原始数据(医院数据)进行加密,并且因此,医院终端可以将数据发送到主控制器10,而不用担心主控制器10的管理者对医院数据的泄漏。
[0144] 根据来自医院终端H1的恢复指示,主控制器10分别将n个分布式数据的获取要求发送到n个控制器C1至Cn。根据该获取要求,n个控制器C1至Cn通过使用公共密钥分别对在共享保持器S1至Sn中存储的分布式数据H1D1至H1Dn进行加密,分别生成加密分布式数据数据E(H1D1)至E(H1Dn),并且将数据发送到主控制器10。主控制器10通过使用物理随机数根据分别从n个控制器C1至Cn接收到的n个加密分布式数据E(H1D1)至E(H1Dn)来恢复加密医院数据E(OD),并将数据发送到医院终端H1。
[0145] 因此,在主控制器10进行恢复处理的情况下,主控制器10从控制器C1至Cn接收加密分布式数据,并且因此,即使执行恢复处理,也无法知道作为纯文本数据的医院数据的内容。即,主控制器10只能获取加密数据,并且因此主控制器10的管理者不能知道机密信息。因此,可以排除主控制器的管理者对机密信息的泄露。
[0146] (实施例3)
[0147] 在实施例2中,由于使用流密码,因此将随机数生成器80所生成的物理随机数(即,在流密码中使用的公共密钥)作为相同的公共密钥从代理服务器70发送到医院终端(例如,医院终端H1)和控制器C1至Cn。在实施例3中,假设使用另一加密方法,代理服务器70A对通过使用随机数生成器80所获得的公共密钥进行分布式处理,并且将进行了分布式处理的公共密钥(即,通过对来自随机数生成器80的物理随机数执行分布式处理而获得的分布式数据)发送到控制器C1至Cn,使得整个公共密钥在无改变的情况下不被发送,以尽可能地抑制公共密钥的泄露。这里,密码方法没有特别限制。
[0148] 图14是示出根据实施例3的秘密共享存储系统5E的配置示例的图。在秘密共享存储系统5E中,与根据实施例2的秘密共享存储系统5D相同的组件由相同的附图标记表示,其描述被简化或省略,并且描述不同的内容。
[0149] 在秘密共享存储系统5E中,代理服务器70A将由随机数生成器80生成的物理随机数作为密码信息存储在记录装置73中。代理服务器70A对该物理随机数执行分布式处理,并且经由网络NW3将分布式公共密钥发送到控制器C1至Cn。控制器C1至Cn将从代理服务器70A接收到的分布式公共密钥存储到自身控制器的记录装置53。分布式公共密钥是通过对作为密码信息而生成的物理随机数执行分布式处理所获得的,并且对于各个控制器C1至Cn是不同的。另一方面,代理服务器70A不对由随机数生成器80生成的物理随机数执行分布式处理,并且在不改变的情况下将公共密钥发送到医院终端H1。
[0150] 图15是示出分布式处理的操作过程示例的时序图。在图15的描述中,提供医院终端H1作为医院终端的示例。
[0151] 在图15中,秘密共享存储系统5E在分布式处理开始之前执行初步准备。在初步准备中,首先,在医院终端H1和代理服务器70A之间进行公知的装置认证和通信路径的形成(T101)。对于装置认证,例如使用双向公钥密码系统。在医院终端H1与代理服务器70A之间进行协商,并且形成能够进行数据通信的通信路径。在该通信路径中,例如使用VPN。
[0152] 以同样的方式,在医院终端H1与主控制器10之间进行公知的装置认证和通信路径的形成(T102)。在代理服务器70A与控制器C1之间进行公知的装置认证和通信路径的形成(T103)。以相同的方式在代理服务器70A与控制器C2以后的控制器之间进行装置认证和通信路径的形成,并且最终在代理服务器70A与控制器Cn之间进行公知的装置认证和通信路径的形成(T104)。
[0153] 以相同的方式,在主控制器10与控制器C1之间进行公知的装置认证和通信路径的形成(T105)。也以相同方式在主控制器10与控制器C2以后的控制器之间进行装置认证和通信路径的形成,并且最终在主控制器10与控制器Cn之间进行公知的装置认证和通信路径的形成(T106)。
[0154] 当开始分布式处理时,医院终端H1将作为原始数据的医院数据OD的文件信息(包括文件名和数据量)发送到代理服务器70A (T107)。如果代理服务器70A从医院终端H1接收到医院数据OD的文件信息,则基于该文件信息获取并存储由随机数生成器80生成的物理随机数(T108)。例如,在使用Burnham密码作为密码算法的示例的情况下,随机数生成器80生成具有与医院数据的大小长度(位数)相同的大小长度的物理随机数。代理服务器70A对物理随机数进行分布式处理,并且生成多个(例如,n个)分布式公共密钥。
[0155] 代理服务器70A一一对应地以相关联的方式将n个分布式公共密钥(在下文中,称为“物理随机数文件”)发送到控制器C1至Cn(T109和T110)。例如,代理服务器70A向第一控制器发送第一物理随机数文件、并向第二控制器发送第二物理随机数文件,并且以相同的方式向第n控制器发送第n物理随机数文件。控制器C1至Cn分别向与自身控制器相对应的共享保持器S1至Sn发送并存储从代理服务器70A接收到的n个分布式公共密钥中的任意一个。该分布式公共密钥的头部信息包括医院终端H1的医院数据OD的文件名。因此,以下描述的医院数据OD的分布式数据和分布式公共密钥通过相同的文件名(具体地,医院数据OD的文件名)彼此相关联。
[0156] 这里,当存储从代理服务器70A接收到的分布式公共密钥(物理随机数文件)时,控制器C1至Cn各自将指示作为分布式公共密钥(物理随机数文件)的使用状态的未使用状态的状态标志的值设置为“1”。如下所述,该状态标志的值利用分布式公共密钥(物理随机数文件)对加密医院数据的分布式数据(加密分布式数据)进行解密,并且在作为纯文本数据的分布式数据存储在各个共享保持器S1至Sn中时变为“0”。即,根据状态标志的值是“1”还是“0”,识别分布式公共密钥(物理随机数文件)是未使用还是已使用。因此,在一系列处理在存储医院数据的分布式数据之前中断的情况下,可以擦除状态标志的值为“1”的分布式公共密钥(物理随机数文件),并且可以避免不必要地遗留不用于存储医院数据的分布式数据的分布式随机数数据。因此,可以提高存储器使用效率。在不存在状态标志的值为“1”的物理随机数文件(分布式随机数数据)的情况下,控制器C1至Cn可以拒绝接收加密分布式数据,并且可以检测到错误。
[0157] 在分布式公共密钥被发送到控制器C1至Cn之后,代理服务器70A将公共密钥发送到医院终端H1(T111)。医院终端H1将分布式公共密钥存储在存储器12或记录装置13中。代理服务器70A可以在初步准备的阶段中从随机数生成器80获取和生成物理随机数。
[0158] 医院终端H1通过使用在存储器12或记录装置13中存储的公共密钥对医院数据OD进行加密,以获得加密医院数据E(OD)(T112)。医院终端H1将加密医院数据E(OD)发送到主控制器10(T113)。主控制器10接收加密医院数据E(OD)。
[0159] 主控制器10例如在接收到加密医院数据E(OD)时,获取由随机数生成器20生成的物理随机数,并且将该物理随机数存储在记录装置13中。在执行分布式处理之后,主控制器10可以删除物理随机数。主控制器10可以获取在该阶段中生成的物理随机数,并且可以在初步准备中获取物理随机数。
[0160] 主控制器10使用该物理随机数执行分布式处理,并且生成多个加密分布式数据E(H1D1)至E(H1Dn)以及与加密分布式数据相对应的分布式信息的集合(T114)。主控制器10分别将多个加密分布式数据E(H1D1)至E(H1Dn)以及相应分布式信息的集合发送到相应的控制器C1至Cn(T115和T116)。
[0161] 在接收到多个加密分布式数据E(H1D1)至E(H1Dn)以及相应分布式信息的集合后,控制器C1至Cn通过分别使用存储在记录装置53中的分布式公共密钥进行解密,获取作为纯文本数据的分布式数据H1D1至H1Dn,并且分别将分布式数据存储到相应的共享保持器S1至Sn中。这里,如上所述,加密分布式数据和分布式公共密钥通过文件名彼此相关联。
[0162] 如果分布式处理结束,则主控制器10将指示医院数据OD的分布式处理完成的完成通知发送到医院终端H1(T117)。控制器C1至Cn将状态标志的值改变为“0”,即,指示已使用分布式公共密钥的值(T118和T119)。步骤T117和步骤T118和步骤T119的处理可以按相反的顺序进行。
[0163] 图16是示出恢复处理的操作过程示例的时序图。在图16的描述中,提供医院终端H1作为医院终端的示例。
[0164] 在图16中,在执行图15所示的分布式处理之后的任意时间段(例如,半年之后)中进行恢复处理。秘密共享存储系统5E在恢复处理开始之前以与分布式处理开始之前相同的方式执行初步准备(T121至T126)。初步准备与分布式处理相同,因此省略其描述。
[0165] 当恢复处理开始时,医院终端H1根据用户的操作来指定请求恢复处理的期望的原始数据(例如,医院数据OD)的文件名,并将该文件名通知给主控制器10(T127)。可以通过使用纯文本数据来指定文件名。
[0166] 主控制器10仅针对与医院终端H1所指定的文件名相对应的分布式数据H1D1至H1Dn的头部信息调用控制器C1至Cn(T128和T129)。控制器C1至Cn读取分别存储在共享保持器S1至Sn中且彼此不同的分布式数据H1D1至H1Dn的头部信息和相应分布式信息的集合,并且将该集合发送到主控制器10。主控制器10基于头部信息和相应分布式信息的集合来恢复医院数据OD的头部信息(T130)。主控制器获取所恢复的头部信息中所包括的文件大小(数据量),并且将该数据量的信息发送到医院终端H1(T131)。
[0167] 医院终端H1指定要恢复的医院数据OD的文件名和数据量,并将该文件名和数据量通知给代理服务器70A (T132)。如果从医院终端H1接收到医院数据OD的文件名和数据量,则代理服务器70A基于文件信息来获取由随机数生成器生成的物理随机数(T133)。通过使用文件名和数据量进行指定,物理随机数和医院数据之间的对应关系以及物理随机数的数据大小变得清楚。代理服务器70A进行对由随机数生成器80生成的物理随机数的分布式处理,并将分布式公共密钥存储在记录装置73中。
[0168] 代理服务器70A分别将分布式公共密钥发送到控制器C1至Cn(T134和T135)。控制器C1至Cn分别将分布式公共密钥临时存储在相应的共享保持器S1至Sn中。分布式公共密钥的头部信息包括医院终端H1的医院数据OD的文件名。代理服务器70A向医院终端H1发送公共密钥(T136)。医院终端H1将公共密钥存储在存储器12或记录装置13中。
[0169] 医院终端H1指定要恢复的医院数据OD的文件名,并将该文件名通知给主控制器10(T137)。主控制器10将分布式数据的获取要求分别发送到控制器C1至Cn。控制器C1至Cn根据这些获取要求来读取分别存储在相应的共享保持器S1至Sn中的分布式数据H1D1至H1Dn中的任一项以及相应分布式信息的集合。控制器C1至Cn通过使用存储在记录装置53中的分布式公共密钥来加密相应分布式数据H1D1至H1Dn中的任一项,并分别获得加密分布式数据E(H1D1)至E(H1Dn)。控制器C1至Cn将加密分布式数据E(H1D1)至E(H1Dn)以及相应分布式信息的集合发送到主控制器10(T138和T139)。
[0170] 如果分别从控制器C1至Cn接收到加密分布式数据和相应分布式信息的集合,则主控制器10通过使用与加密分布式数据相对应的分布式信息来执行用于恢复加密医院数据的恢复处理。因此,主控制器10可以获得加密医院数据E(OD)(T140)。主控制器10将通过恢复所获得的加密医院数据E(OD)发送到医院终端H1(T141)。
[0171] 医院终端H1通过使用在步骤T136中存储在存储器12或记录装置13中的公共密钥来对加密医院数据E(OD)进行解密,以获得医院数据OD(T142)。医院终端H1可以获取作为纯文本数据的医院数据。
[0172] 以这种方式,在根据实施例3的秘密共享存储系统5E中,分布式公共密钥分别被提供给控制器C1至Cn,并且因此控制器C1至Cn各自的管理者无法知道存储在其它控制器中的分布式公共密钥。因此,可以排除各个控制器的管理者对机密信息的泄漏,由此可以构建具有高安全性的系统。以与实施例2相同的方式,在进行分布式处理的情况下,从医院终端接收到的医院数据被加密。因此,主控制器10的管理者无法知道医院数据的内容。主控制器10不知道哪个物理随机数用于哪个医院数据。以同样的方式,在进行恢复处理的情况下,主控制器10的管理者从控制器C1至Cn接收加密分布式数据,并且由此即使执行恢复处理也无法知道医院数据的内容。即,仅加密数据被提供给主控制器10,并且因此主控制器10的管理者无法知道纯文本数据格式的高度机密的医院数据。因此,可以排除从主控制器10的管理者对机密信息的泄漏。
[0173] (数据结构示例)
[0174] 随后,参考图17、18和19描述根据上述实施例1至实施例3的各种数据的结构示例。在图17至19的描述中,为了更容易理解,将所布置的控制器和共享保持器的数量设置为“4”。
[0175] 图17是示出原始数据OD、物理随机数A和分布式数据ODD的示例的表。
[0176] 例如,原始数据OD(例如,医院数据)通过组合八个原始数据OD1、原始数据OD2、...和原始数据OD8来配置。
[0177] 以相同的方式,物理随机数A由随机数生成器20生成以用于分布式处理,并且例如通过组合八个随机数A1、随机数A2、…和随机数A8来配置。如图17所示,例如,在使用Burnham密码的情况下,原始数据OD的大小长度和物理随机数A的大小长度相同。因此,原始数据OD1、原始数据OD2、...和原始数据OD8分别具有与随机数A1、随机数A2、...和随机数A8相同的大小长度。
[0178] 这里,通过主控制器10,当通过使用原始数据OD1至OD8和相应随机数A1至A8来进行分布式处理时,可以获得图17所示的以四个分布式数据OD1D、OD2D、OD3D和OD4D来配置的分布式数据ODD。
[0179] 分布式数据OD1D是通过对原始数据OD1、原始数据OD5、随机数A1和随机数A5执行异或(即,XOR处理)而获得的,并且生成为“原始数据OD1 XOR原始数据OD5 XOR 随机数A1 XOR随机数A5”。分布式数据OD1D的配置示例不限于图17中所示的示例。因此,分布式数据OD1D例如存储在作为相应共享保持器的共享保持器S1中。
[0180] 以相同的方式,对原始数据OD2、原始数据OD6、随机数A2和随机数A6进行异或(即,XOR处理),以生成“原始数据OD2 XOR原始数据OD6 XOR随机数A2 XOR随机数A6”。分布式数据OD2D的配置示例不限于图17中所示的示例。因此,分布式数据OD2D例如存储在作为相应共享保持器的共享保持器S2中。
[0181] 以相同的方式,对原始数据OD3、原始数据OD7、随机数A3和随机数A7进行异或(即,XOR处理),以生成“原始数据OD3 XOR原始数据OD7 XOR随机数A3 XOR随机数A7”。分布式数据OD3D的配置示例不限于图17中所示的示例。因此,分布式数据OD3D例如存储在作为相应共享保持器的共享保持器S3中。
[0182] 以相同的方式,对原始数据OD4、原始数据OD8、随机数A4和随机数A8进行异或(即,XOR处理),以生成“原始数据OD4 XOR原始数据OD8 XOR随机数A4 XOR随机数A8”。分布式数据OD4D的配置示例不限于图17中所示的示例。因此,分布式数据OD4D例如存储在作为相应共享保持器的共享保持器S4中。
[0183] 图18是示出物理随机数B和加密原始数据(医院数据)E(OD)的示例的表。
[0184] 物理随机数B由随机数生成器80生成以用于通信的加密或解密,并且例如通过组合八个随机数B1、随机数B2、…和随机数B8来配置。如图18所示,例如,在使用Burnham密码的情况下,原始数据OD的大小长度与物理随机数B的大小长度相同。因此,原始数据OD1、原始数据OD2、...和原始数据OD8分别具有与随机数B1、随机数B2、...和随机数B8相同的大小长度。
[0185] 这里,当医院终端(例如,医院终端H1)通过使用原始数据OD1至OD8以及相应随机数B1至B8来执行加密处理时,可以获得图18所示的以八个密码1至8配置的加密医院数据E(OD)。
[0186] 通过对原始数据OD1和随机数B1进行异或(即,XOR处理),密码1被生成为“随机数B1 XOR原始数据OD1”。密码1的配置示例不限于图18所示的示例。
[0187] 以相同的方式,通过对原始数据OD2和随机数B2进行异或(即,XOR处理),密码2被生成为“随机数B2 XOR原始数据OD2”。密码2的配置示例不限于图18所示的示例。
[0188] 以相同的方式,通过对原始数据OD3和随机数B3进行异或(即,XOR处理),密码3被生成为“随机数B3 XOR原始数据OD3”。密码3的配置示例不限于图18所示的示例。
[0189] 以相同的方式,通过对原始数据OD4和随机数B4进行异或(即,XOR处理),密码4被生成为“原始数据OD4 XOR随机数B4”。密码4的配置示例不限于图18所示的示例。
[0190] 以相同的方式,通过对原始数据OD5和随机数B5进行异或(即,XOR处理),密码5被生成为“随机数B5 XOR原始数据OD5”。密码5的配置示例不限于图中18所示的示例。
[0191] 以相同的方式,通过对原始数据OD6和随机数B6进行异或(即,XOR处理),密码6被生成为“随机数B6 XOR原始数据OD6”。密码6的配置示例不限于图18所示的示例。
[0192] 以相同的方式,通过对原始数据OD7和随机数B7进行异或(即,XOR处理),密码7被生成为“随机数B7 XOR原始数据OD7”。密码7的配置示例不限于图18所示的示例。
[0193] 以相同的方式,通过对原始数据OD8和随机数B8进行异或(即,XOR处理),密码8被生成为“随机数B8 XOR原始数据OD8”。密码8的配置示例不限于图18所示的示例。
[0194] 在实施例2或实施例3中,加密原始数据(医院数据)E(OD)是在医院终端(例如,医院终端H1)中生成的,并且被从医院终端H1发送到主控制器10。主控制器10通过使用由随机数生成器20生成的物理随机数A来对加密原始数据(医院数据)E(OD)执行分布式处理,以生成图19所示的四个加密分布式数据(密码1D、密码2D、密码3D和密码4D)。
[0195] 图19是示出通过对加密原始数据(医院数据)E(OD)进行分布式处理而生成的分布式的加密分布式数据E(ODD)的示例的表。
[0196] 加密分布式数据E(ODD)例如由四个密码1D、密码2D、密码3D和密码4D来配置。密码1D至4D表示分布式加密原始数据。
[0197] 在实施例3中,主控制器10根据图17所示的用于生成分布式数据的算法(分布式处理方法)通过使用由随机数生成器20生成的物理随机数A,对加密原始数据(医院数据)E(OD)执行分布式处理。因此,例如,生成四个分布式加密原始数据(具体地,密码1D至4D)。
[0198] 通过对密码1、密码5、随机数A1和随机数A5进行异或(即,XOR处理),密码1D被生成为“密码1XOR密码5XOR随机数B1 XOR随机数B5”。密码1D的配置示例不限于图19所示的示例。
[0199] 通过对密码2、密码6、随机数A2和随机数A6进行异或(即,XOR处理),密码2D被生成为“密码2XOR密码6XOR随机数B2 XOR随机数B6”。密码2D的配置示例不限于图19所示的示例。
[0200] 通过对密码3、密码7、随机数A3和随机数A7进行异或(即,XOR处理),密码3D被生成为“密码3XOR密码7XOR随机数B3 XOR随机数B7”。密码3D的配置示例不限于图19所示的示例。
[0201] 通过对密码4、密码8、随机数A4和随机数A8进行异或(即,XOR处理),密码4D被生成为“密码4XOR密码8XOR随机数B4 XOR随机数B8”。密码4D的配置示例不限于图19所示的示例。
[0202] 因此,例如,发送到四个控制器的分布式加密原始数据(密码1D、密码2D、密码3D和密码4D)是通过对作为“由物理随机数B的分布式处理生成的分布式数据”的分布式随机数数据(“随机数B1 XOR随机数B5”,“随机数B2 XOR随机数B6”、“随机数B3 XOR随机数B7”和“随机数B4 XOR随机数B8”)以及作为“由原始数据OD的分布式处理生成的分布式数据”的分布式数据OD1D、OD2D、OD3D和OD4D进行异或(XOR处理)而获得的。
[0203] 因此,四个控制器可以通过使用从代理服务器70A接收到并进行分布式处理的随机数(“随机数B1 XOR随机数B5”、“随机数B2 XOR随机数B6”、“随机数B3 XOR随机数B7”和“随机数B4 XOR随机数B8”)以及从主控制器10接收到的加密分布式数据(密码1D、密码2D、密码3D和密码4D)来生成作为纯文本数据的分布式数据OD1D、OD2D、OD3D和OD4D。四个控制器将作为纯文本数据的分布式数据OD1D至OD4D分别存储在四个相应共享保持器中的任一个共享保持器中。
[0204] 根据以上所述,秘密共享存储系统5E包括与n个共享保持器S1至Sn相对应地设置的n个控制器C1至Cn、可通信地连接到n个控制器C1至Cn的主控制器10、医院终端H1至Hn其中至少之一、随机数生成器20、以及可通信地连接到n个控制器C1至Cn、医院终端H1至Hn和随机数生成器80的代理服务器70A。当从医院终端(例如,医院终端H1)接收到医院数据的文件名和数据量(原始数据的目录信息的示例)时,代理服务器70A对由随机数生成器80生成的公共密钥(第二物理随机数)执行分布式处理,并且生成进行了分布式处理的n个公共密钥(分布式随机数数据)。代理服务器70A将进行了分布式处理的n个公共密钥分别发送到n个相应的控制器C1至Cn,并且还将公共密钥发送到医院终端H1。如果通过使用公共密钥从医院终端H1接收到加密医院数据E(OD),则主控制器10获取由随机数生成器20生成的物理随机数,通过使用该物理随机数对加密医院数据E(OD)执行分布式处理,并且生成n个加密分布式数据E(H1D1)至E(H1Dn)(加密分布式数据)。主控制器10将n个加密分布式数据E(H1D1)至E(H1Dn)分别发送到n个相应的控制器C1至Cn。
[0205] 因此,在秘密共享存储系统5E中,代理服务器70A可以使用由随机数生成器80获得的物理随机数作为公共密钥,对该公共密钥执行分布式处理,并且在主控制器10的管理者不知道的情况下,将进行了分布式处理的公共密钥分别安全地提供给控制器C1至Cn。因此,根据秘密共享存储系统5E,当对医院终端(例如,医院终端H1)保持的高度隐藏的医院数据进行分布式处理时,医院数据由仅对代理服务器70A、医院终端和各个控制器已知的公共密钥来加密,然后被提供给主控制器10。因此,可以防止医院数据的内容被主控制器10的管理者知道。
[0206] 如果从主控制器10接收到与自身装置(自身控制器)相对应的加密分布式数据E(H1D1)至E(H1Dn)(具体地,其中的任意一个),则n个控制器C1至Cn通过使用与自身装置相对应的进行了分布式处理的公共密钥来对加密分布式数据进行解密,并且将通过解密所获得的分布式数据存储在相应的共享保持器S1至Sn中。因此,根据秘密共享存储系统5E,当分布式数据存储在共享保持器S1至Sn中时,即使当加密分布式数据中的任意一个被解密时,也可以容易地指定进行了分布式处理的相应公共密钥。
[0207] 代理服务器70A根据来自医院终端H1的包括医院数据的数据量(大小量信息)的恢复指示对由随机数生成器80生成的公共密钥进行分布式处理,并且生成进行了分布式处理的n个公共密钥(分布式随机数数据)。代理服务器70A将进行了分布式处理的n个公共密钥分别发送到n个相应的控制器C1至Cn,并且还将公共密钥发送到医院终端H1。n个控制器C1至Cn通过使用由自身装置从代理服务器70A接收到的进行了分布式处理的公共密钥,对分别从与自身装置相对应的共享保持器S1至Sn接收到的分布式数据H1D1至H1Dn进行加密,生成加密分布式数据E(H1D1)至E(H1Dn),并且将加密分布式数据发送到主控制器10。主控制器10根据分别从n个控制器C1至Cn接收到的加密分布式数据E(H1D1)至E(H1Dn)恢复加密医院数据E(OD),并且将加密医院数据发送到医院终端H1。因此,代理服务器70A对通过使用随机数生成器80所获得的公共密钥进行分布式处理,并且将进行了分布式处理的公共密钥提供给控制器。因此,在恢复处理的情况下,可以将公共密钥安全地提供给控制器。
[0208] 主控制器10从n个控制器C1至Cn接收由n个控制器C1至Cn根据来自医院终端H1的恢复指示从相应的共享保持器S1至Sn接收到的分布式数据的文件名(目录信息的示例)。主控制器10恢复医院数据的目录信息,并从医院数据的目录信息中提取医院数据的数据量(大小量信息)。因此,即使当恢复存储在共享保持器S1至Sn中的分布式数据时,也可以容易地指定进行了分布式处理的相应公共密钥以加密分布式数据。
[0209] 当存储进行了分布式处理的相应公共密钥时,n个控制器C1至Cn各自将指示进行了分布式处理的该公共密钥(分布式随机数数据)的使用状态的状态标志的值设置为“1”。此后,n个控制器C1至Cn通过使用进行了分布式处理的公共密钥对n个加密分布式数据E(H1D1)至E(H1Dn)进行解密,将解密的分布式数据分别存储在相应的共享保持器S1至Sn中,然后将指示使用完成的信息(即,状态标志的值)设置为“0”。因此,在医院数据的分布式数据被存储之前一系列处理中断的情况下,将状态标志值为“1”的进行了分布式处理的公共密钥擦除,并且可以避免不必要地遗留不用于存储的进行了分布式处理的公共密钥。即,可以提高存储器使用效率。在不存在状态标志的值为“1”的进行了分布式处理的公共密钥的情况下,控制器C1至Cn可以拒绝加密分布式数据的接收,并且因此可以快速生成错误。
[0210] 在以上所述中,参考附图描述了各种实施例,但是明显的是,本发明不限于这些示例。显然,本领域技术人员可以在权利要求书的范围内构思各种变化、修改、替换、添加、删除和等效物,并且自然理解为属于本发明的技术范围。在不背离本发明要点的情况下,可以任意地组合上述各种实施例中的各个组件。
[0211] 例如,在上述实施例中,医院终端被例示为用户,但是本发明不限于此,并且可以应用于诸如公共机构或私人研究设施等的处理医院数据的组织。
[0212] 本申请基于2019年2月22日提交的日本专利申请(日本专利申请号2019‑031022),其内容通过引用并入本文。
[0213] 产业上的可利用性
[0214] 本发明对于安全秘密共享存储系统是有用的,该安全秘密共享存储系统不管需要秘密共享的用户的数量如何,都抑制了伴随着用于生成在秘密共享期间使用的物理随机数的物理随机数生成器的安装的成本增加,并且使用支持要隐藏的原始数据的安全存储的实现的云服务。
[0215] 附图标记列表
[0216] 5:秘密共享存储系统
[0217] 10:主控制器
[0218] 11、41、51、71:处理器
[0219] 12、42、52、72:存储器
[0220] 13、43、53、73:记录装置
[0221] 14、44、54、74:通信电路
[0222] 20:随机数生成器
[0223] 70:代理服务器
[0224] C1、Cn:控制器
[0225] H1、Hn:医院终端
[0226] S1、Sn:共享保持器
QQ群二维码
意见反馈