CN1918844B - 基于保密共享方案的保密信息管理系统和方法 - Google Patents

基于保密共享方案的保密信息管理系统和方法 Download PDF

Info

Publication number
CN1918844B
CN1918844B CN2005800043932A CN200580004393A CN1918844B CN 1918844 B CN1918844 B CN 1918844B CN 2005800043932 A CN2005800043932 A CN 2005800043932A CN 200580004393 A CN200580004393 A CN 200580004393A CN 1918844 B CN1918844 B CN 1918844B
Authority
CN
China
Prior art keywords
data
dividing
dividing data
security information
once
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2005800043932A
Other languages
English (en)
Other versions
CN1918844A (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.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
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
Priority claimed from JP2004033355A external-priority patent/JP4708713B2/ja
Priority claimed from JP2004169001A external-priority patent/JP4664008B2/ja
Application filed by NTT Communications Corp filed Critical NTT Communications Corp
Priority claimed from PCT/JP2005/002514 external-priority patent/WO2005076518A1/en
Publication of CN1918844A publication Critical patent/CN1918844A/zh
Application granted granted Critical
Publication of CN1918844B publication Critical patent/CN1918844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

在用于管理用户的保密信息的保密信息管理系统中,通过使用保密共享方案将保密信息划分为多个划分数据,从而可以从预定数目的划分数据恢复保密信息;并且将多个划分数据的一部分存储到用户的终端中作为用户的划分数据,将多个划分数据的剩余部分存储到一个或者多个贮存服务器。接着,通过使用保密共享方案,从存储在贮存服务器中的划分数据中预定数目的划分数据的组合,生成不同于多个划分数据的多个再次划分数据;并且将多个再次划分数据的一部分存储到终端中作为新生成的用户的划分数据,将多个再次划分数据的剩余部分存储到贮存服务器中作为新生成的划分数据。

Description

基于保密共享方案的保密信息管理系统和方法
技术领域
本发明涉及用于管理用户的保密信息的、基于保密共享方案的保密信息管理方案。
背景技术
随着IT(信息技术)的发展,有越来越多的机会通过使用装载了信用卡号码的移动电话或者移动信息终端,和携带PKI秘钥的IC卡来接收期望的业务。例如,存在很多业务,其中用户可以通过使用用户的密码登录并查看信息,或者通过使用用户的信用卡号码购买货品。
在这种情况下,如果用户丢失了存储上述保密信息(诸如密码,信用卡号码,PKI密钥等)的移动信息终端以及IC卡,需要通过将丢失报告给发行者来使那些保密信息无效并重新发出新的保密信息。
然而,当用户丢失了自己的保密信息,存在为了保持保密,在改变保密信息的同时必须无效丢失的保密信息的问题。还存在由于要改变保密信息,用户不能接收业务直到重新发出保密信息的问题。
发明内容
本发明的一个目的是提供一种保密信息管理方案,其中即使用户丢失了自己的移动电话,移动信息终端或者IC卡,用户也可以接收业务而不需要改变保密信息。
根据本发明的一个方面,提供一种用于管理用户的保密信息的保密信息管理系统,包括:数据划分单元,配置为通过使用保密共享方案将保密信息划分为多个划分数据,从而可以从预定数目的划分数据恢复保密信息;划分数据存储单元,配置为将多个划分数据的一部分存储到用户的终端中作为用户的划分数据,将多个划分数据的剩余部分存储到一个或者多个贮存服务器;数据再次划分单元,配置为通过使用保密共享方案,从存储在贮存服务器中的划分数据中预定数目的划分数据的组合,生成不同于由数据划分单元获得的多个划分数据的多个再次划分数据;和再次划分数据存储单元,配置为将多个再次划分数据的一部分存储到终端中作为新生成的用户的划分数据,将多个再次划分数据的剩余部分存储到贮存服务器中作为新生成的划分数据,其中,数据划分单元和数据再次划分单元使用的保密共享方案是根据期望的处理单位比特长度将保密信息划分为期望划分数目的划分数据的数据划分方法,在所述数据划分方法中,进一步包括:通过将保密信息分成处理单位比特长度的单元生成多个原始部分数据,对应于多个原始部分数据中的各个数据,从短于或者等于保密信息的比特长度的长度的随机数生成多个处理单位比特长度的随机数部分数据,通过计算原始部分数据和随机数部分数据的异或,生成用来构成每个划分数据的处理单位比特长度的每个划分部分数据,来生成期望划分数目的划分数据;以及通过从新生成的随机数生成多个处理单位比特长度的新随机数部分数据,并且通过计算划分部分数据和新随机数部分数据的异或,生成处理单位比特长度的再次划分部分数据,来生成期望划分数目的再次划分数据,该保密信息管理系统进一步包括:随机数生成单元,配置为在生成多个划分数据时生成随机数,并且在生成再次划分数据中生成新的随机数;以及数据恢复单元,配置为在使用保密信息的时候,获取用户的划分数据,并通过使用保密共享方案,从用户的划分数据和在贮存服务器中存储的划分数据中预定数目的划分数据的组合,恢复保密信息。
根据本发明的另一方面,提供一种用于管理用户的保密信息的保密信息管理方法,包括以下步骤:通过使用保密共享方案将保密信息划分为多个划分数据,从而可以从预定数目的划分数据恢复保密信息;将多个划分数据的一部分存储到用户的终端中作为用户的划分数据,将多个划分数据的剩余部分存储到一个或者多个贮存服务器;通过使用保密共享方案,从存储在贮存服务器中的划分数据中预定数目的划分数据的组合,生成不同于由划分步骤获得的多个划分数据的多个再次划分数据;将多个再次划分数据的一部分存储到终端中作为新生成的用户的划分数据,将多个再次划分数据的剩余部分存储到贮存服务器中作为新生成的划分数据,其中,数据划分单元和数据再次划分单元使用的保密共享方案是根据期望的处理单位比特长度将保密信息划分为期望划分数目的划分数据的数据划分方法,在所述数据划分方法中,进一步包括:通过将保密信息分成处理单位比特长度的单元生成多个原始部分数据,对应于多个原始部分数据中的各个数据,从短于或者等于保密信息的比特长度的长度的随机数生成多个处理单位比特长度的随机数部分数据,通过计算原始部分数据和随机数部分数据的异或,生成用来构成每个划分数据的处理单位比特长度的每个划分部分数据,来生成期望划分数目的划分数据;以及通过从新生成的随机数生成多个处理单位比特长度的新随机数部分数据,并且通过计算划分部分数据和新随机数部分数据的异或,生成处理单位比特长度的再次划分部分数据,来生成期望划分数目的再次划分数据。
根据本发明的另一方面,提供计算机程序产品,其用于使得计算机作为用于管理用户的保密信息的保密信息管理系统来工作,该计算机程序产品包括:第一计算机程序代码,用于使得计算机通过使用保密共享方案将保密信息划分为多个划分数据,从而可以从预定数目的划分数据恢复保密信息;第二计算机程序代码,用于使得计算机将多个划分数据的一部分存储到用户的终端中作为用户的划分数据,将多个划分数据的剩余部分存储到一个或者多个贮存服务器;第三计算机程序代码,用于使得计算机通过使用保密共享方案,从存储在贮存服务器中的划分数据中预定数目的划分数据的组合,生成不同于由第一计算机程序代码获得的多个划分数据的多个再次划分数据;以及第四计算机程序代码,用于使得计算机将多个再次划分数据的一部分存储到终端中作为新生成的用户的划分数据,将多个再次划分数据的剩余部分存储到贮存服务器中作为新生成的划分数据。
与附图一起参考下面的描述,本发明的其他特征和优点将变得更加明显。
附图说明
图1是显示了使用根据本发明的第一实施例的保密信息管理系统的、计算机系统的整体示意性配置的框图。
图2是显示了由图1所示的保密信息管理系统进行的注册保密信息处理
图3是显示了在业务使用时由图1所示的保密信息管理系统进行的处理的流程图。
图4是显示了在用户拥有的保密信息的一部分丢失时由图1所示的保密信息管理系统进行的处理的流程图。
图5是显示了使用根据本发明的第二实施例的保密信息管理系统的计算机系统的整体示意性配置的框图。
图6是显示了在划分次数是三的情况下由图1所示的保密信息管理系统进行的划分处理的流程图。
图7是显示了根据本发明的第二实施例,在划分为三的情况下划分处理和恢复处理的概要的示意图。
图8是显示了根据本发明的第二实施例,在划分为三的情况下划分部分数据和它们的定义公式的例子的表格。
图9是显示了在划分次数是n的情况下由图1所示的保密信息管理系统进行的划分处理的流程图。
图10是以原始和改进的格式显示了根据本发明的第二实施例,在划分为三的情况下划分部分数据和它们的定义公式的例子的表格。
图11是显示了由图1所示的保密信息管理系统基于随机数附加合成方案进行的数据再划分处理的流程图。
图12是显示了根据本发明的第二实施例,在通过随机数附加合成方案的划分为三的情况下划分部分数据和它们的定义公式的例子的表格。
图13是显示了由图1所示的保密信息管理系统基于随机数重写方案进行的数据再划分处理的流程图。
图14是显示了根据本发明的第二实施例,在通过随机数重写方案的划分为三的情况下划分部分数据和它们的定义公式的例子的表格。
图15是显示了由图5所示的保密信息管理系统进行的注册保密信息处理的流程图。
图16是显示了在业务使用时由图5所示的保密信息管理系统进行的处理的流程图。
图17是显示了在用户拥有的保密信息的一部分丢失时由图5所示的保密信息管理系统进行的处理的流程图。
图18是显示了根据本发明的第三实施例的访问权管理系统的示意性配置的框图。
图19是显示了由图18所示的访问权管理系统的操作的流程图。
图20是显示了根据本发明的第二实施例,为了改进划分部分数据的常用处理的流程图。
图21和图22是以原始和改进的格式显示了根据本发明的第二实施例,在划分为四的情况下划分部分数据和它们的定义公式的例子的表格。
图23和图24是以原始和改进的格式显示了根据本发明的第二实施例,在划分为五的情况下划分部分数据和它们的定义公式的例子的表格。
具体实施方式
现在将参考图1到图4详细描述本发明的第一实施例。
图1显示了使用根据本发明的第一实施例的保密信息管理系统的计算机系统的整体示意性配置。
如图1所示,保密信息管理系统1通过诸如因特网的通信网络4与用户拥有的客户端2(从此处以后简单地称为终端)连接,并且通过通信网络4与用于提供预定的业务给用户的业务提供系统5连接。保密信息管理系统1还与由互相独立的硬件形成的多个(在本实施例中假定为三)数据贮存服务器计算机(从此处以后简单地称为贮存服务器)3a,3b,和3c连接。
注意到该实施例中的保密信息指的是对于用户使用业务提供系统5所必需的、诸如密码,信用卡号码,PKI密钥等的个人信息。
在该配置的计算机系统10中,当终端2将在从业务提供系统5接收预定的业务时所必需的保密信息S发送给保密信息管理系统1的时候,通过在保密信息管理系统1处使用保密共享方案,将保密信息S划分为多个数据,并且将划分数据分别传送到贮存服务器3a,3b和3c以及终端2,从而划分数据分别贮存在贮存服务器3a,3b和3c以及终端2上。结果,在保密信息管理系统1处注册了保密信息S并且完成了用户的业务使用的准备。注意到,在图1中,保密信息管理系统1将来自终端2的保密信息划分为四个划分数据D(1),D(2),D(3)和D(4),并且将它们分别贮存在多个贮存服务器3a,3b和3c以及终端2中。
同时,在业务使用的时候,当将用户保留的划分数据D(4)从终端2发送到保密信息管理系统1的时候,保密信息管理系统1通过使用保密共享方案从划分数据D(4)以及贮存服务器3a,3b和3c的划分数据D(1),D(2),D(3)的预定组合中恢复出原始的保密信息S,并将原始的保密信息S发送至业务提供系统5。以这种方式,当验证了保密信息S的正确性,用户就能够接收预定的业务。
保密信息管理系统1具有更详细的配置,其中具有通过使用保密共享方案将保密信息S划分为多个划分数据D的划分数据生成单元11,用于从多个划分数据D恢复出原始数据(保密信息)S的原始数据恢复单元12,用于生成业务使用日志的使用日志生成单元13,该业务使用日志用于记录保密信息管理系统1发送保密信息S到业务提供系统5的事实,以及用于相对于终端2,贮存服务器3a,3b和3c,以及业务提供系统5发送或者接收数据的通信单元14。
同时,终端2可以是诸如用户可以携带的移动信息终端,移动电话,IC卡的可移动记录介质,但是它也可以是并非为了移动使用的计算机设备。
这里,保密信息管理系统1,终端2,贮存服务器3a,3b和3c,以及业务提供系统5中的每个由具有至少中央处理单元(CPU)和主存储单元(存储器)的电子设备形成,该中央处理单元具有至少计算功能和控制功能,诸如RAM的该主存储单元带有存储程序和数据的功能。这种设备和系统除了主存储单元之外还可以包括诸如硬盘的辅助存储单元。
同时,用于根据该实施例执行不同处理的程序存储在主存储器单元或者硬盘中。还可能在诸如硬盘、软盘,CD-ROM,MO,DVD-ROM等的计算机可读记录介质中记录该程序,并且还可能通过通信网络传送该程序。
接着,将描述使用根据该实施例的保密信息管理系统1的整个计算机系统10的操作。这里,图2显示了可以用来由用户在保密信息管理系统1中注册保密信息S的操作,图3显示了当用户使用业务的时候保密信息管理系统1的操作,以及图4显示了当用户丢失用户自己的划分数据D的时候保密信息管理系统1的操作。
(1)保密信息注册处理
首先,用户通过通信网络4将保密信息S从终端2发送到保密信息管理系统1(步骤S10)。当接收到保密信息S,保密信息管理系统1通过使用保密信息共享方案将保密信息S划分为四个数据(划分数据)D(1),D(2),D(3)和D(4)。
这里,将详细描述步骤S20中基于保密共享方案的划分数据生成处理。
例如,存在基于二次多项式F(x)=ax2+bx+S(mod p)的Shamir保密共享方案{(k,n)阈值方案,其中这里假定划分数目n为4,并且假定可恢复的数量k为3},其中S为作为原始数据的保密信息,F(x)为划分数据,a,b和p是在划分保密信息S的时候随机确定的数值,使得p为大于a,b和S的质数。
在此情况中,通过保密信息管理系统1的划分数据生成处理,根据下面的方程(1)到(4)生成了划分数据F(1),F(2),F(3),以及F(4){对应于上述的划分数据D(1),D(2),D(3)和D(4)}。
F(1)=a+b+S(mod p)                             (1)
F(2)=4a+2b+S(mod p)                           (2)
F(3)=9a+3b+S(mod p)                           (3)
F(4)=16a+4b+S(mod p)                          (4)
在这些划分数据F(1),F(2),F(3),和F(4)中,当集合了多余或者等于k=3组的划分数据{例如,F(1),F(2),F(4)},能够通过同时求解它们(例如,方程(1),(2)和(4)}来获得原始数据S。然而,即使收集了少于或者等于k-1组划分数据,也不能恢复原始的数据S。
接着,保密信息管理系统将这样生成的划分数据通过通信网络4分别发送到贮存服务器3a,3b和3c以及终端2(步骤S30)。
接着,贮存服务器3a,3b和3c分别将接收到的划分数据D(1),D(2),和D(3)存储到它们诸如硬盘的存储设备中(步骤S40)。同时,终端2将接收到的划分数据D(4)存储到它诸如硬盘的存储设备中(步骤S50)。
以这种方式,即使对于终端2以及贮存服务器3a,3b和3c的划分数据的任何一个发生丢失,毁坏等,也可以根据剩下的三个划分数据恢复原始的保密信息3(在当Shamir保密共享方案中划分数量是4并且可恢复的数量是4的情况下)
(2)业务使用处理
在用户使用业务提供系统5的情况下,首先,将保持在终端2处的划分数据D(4)通过通信网络4发送到保密信息管理系统1(步骤S110)。
在从终端2接收到划分数据D(4)时,保密信息管理系统1向贮存服务器3请求其余的划分数据D(1)和D(2)(在当Shamir保密共享方案中划分数量是4并且可恢复的数量是4的情况下),并且接收这些划分数据D(1)和D(2)(步骤S120)。这里,在此情况下可以使用三个划分数据的随机组合,因此除了这里描述的D(1),D(2)和D(4)的组合,也可能使用D(1),D(2)和D(3)的组合,D(1),D(3)和D(4)的组合,或者D(2),D(3)和D(4)的组合。
接着,保密信息管理系统1通过使用保密共享方案从划分数据D(1),D(2),D(4)中恢复出保密信息S(步骤S130)。接着,将恢复的保密信息S发送至业务提供系统5(步骤140),并且通过记录恢复并且发送了保密信息S的事实生成了使用日志(步骤S150)。
当从保密信息管理系统1接收到保密信息S时,业务提供系统5判断该保密信息的正确性,并且通过通信网络4提业务给终端2(步骤160),从而用户可以接收想要的业务(步骤S170)。
(3)在划分数据丢失的时候的处理
在用户丢失划分数据D(4)的情况下(例如,存储划分数据D(4)的终端2丢失的情况下),首先,用户报告该事实给保密信息管理系统1(例如通过呼叫保密信息管理系统1的操作员)(步骤S210)。
作为响应,保密信息管理系统1向贮存服务器3a,3b和3c请求划分数据,并且分别从贮存服务器3a,3b和3c接收划分数据D(1),D(2)和D(3)(在当Shamir保密共享方案中划分数量是4并且可恢复的数量是3的情况下)(步骤S220)。
接着,保密信息管理系统1通过使用保密共享方案从划分数据D(1),D(2),D(3)中恢复出保密信息S(步骤S230)。接着,通过再次使用保密共享方案,将恢复的保密信息S重新划分为四个数据(再次划分数据)D’(1),D’(2),D’(3)和D’(4)(步骤240)。
这里,再次划分数据D’(1),D’(2),D’(3)和D’(4)是分别不同于初始生成的划分数据D(1),D(2),D(3)和D(4)的数据。更具体地,通过在上述的二次多项式F(x)=ax2+bx+S(mod p)中使用不同于初始划分时使用的a和b的a’和b’来生成再次划分数据。
接着,保密信息管理系统1将这样生成的再次划分数据通过通信网络4分别发送到贮存服务器3a,3b和3c以及终端2(在用户丢失了存储划分数据D(4)的终端2情况下由用户重新购买的终端2)(步骤S250)。
接着,贮存服务器3a,3b和3c分别将接收到的再次划分数据D’(1),D’(2),和D’(3)存储到它们诸如硬盘的存储设备中(步骤S260)。同时,终端2将接收到的再划分数据D’(4)存储到它诸如硬盘的存储设备中(步骤S270)。这样,用户就能够再次使用业务。
从而,根据该实施例,通过使用保密共享方案将在接收预定的业务时必需的保密信息S划分为多个划分数据,并且只要求用户保存划分数据的一部分,从而即使当用户保留的划分数据丢失,也可以从剩下的划分数据中恢复保密信息,并且接着通过使用保密共享方案再次划分保密信息S并且重新要求用户仅保留再次划分数据的一部分,从而不需要改变保密信息S。
结果,即使当用户丢失了用户自己的划分数据,也可能通过简单地报告该丢失再次接收业务,而不需要要求处理再次发行的保密信息S。
同时,即使当获得丢失的划分数据的第三人访问保密信息管理系统1,也不能够恢复保密信息S从而不能使用业务,从而保证了安全。
此外,在保密信息管理系统处维持用户使用日志,从而即使第三人获得丢失的划分数据并且在从用户丢失划分数据直到用户报告丢失的期间内非法地使用了业务,可以根据使用日志判断非法使用的存在或者不存在。
注意到,在上述中,保密信息S通过通信网络4从终端2传送到保密信息管理系统1,但是该实施例不限制于该情况,还可能使用不同于通信网络4的机制,例如,诸如邮寄记录了保密信息S的记录介质。相似地,在上述中,用户通过通信网络4接收要保持的划分数据,但是该实施例不限制于该情况,还可能使用不同于通信网络4的机制,例如,诸如邮寄记录了划分数据的记录介质。
还有,在该实施例中,使用Shamir保密共享方案{(k,n)阈值方案,其中这里假定划分数量n为4,并且假定可恢复的数量k为3}作为保密共享方案,但是该实施例不限制于该情况,还可以使用不同于上述的划分数量或者不同于上述的保密共享方案。
同时,在上述中,在用户进行业务使用的时候,保密信息管理系统恢复保密信息S,但是该实施例不限制于该情况,对于用户的终端2还可以通过使用保密共享方案,从存储在终端2的划分数据和以及从保密信息管理系统1中获得的划分数据中恢复保密信息S,并且发送该保密信息到业务提供系统5。然而,注意到,在该情况下,如果用户丢失了终端2而恢复的保密信息S仍然存储在其中,则不能解决本发明要解决的问题,从而需要提供在将保密信息发送到业务提供系统5之后立即将它从终端2中删除的机制,或者用于防止第三人非法读取终端2的数据的机制。
此外,在上述中,再次划分处理在来自用户的请求下执行,但是也可以由保密信息管理系统1以预定的定时自愿地执行再次划分处理。
现在将参考图5到图17,以及图20到图24,详细描述本发明的第二实施例。
<系统配置>
图5显示了使用根据本发明的第二实施例的保密信息管理系统1的计算机系统10的整体示意性配置。
如图5中所示,保密信息管理系统1通过诸如互联网的通信网络4与用户拥有的客户端(从此处以后简单地称为终端)2连接,并且通过通信网络4与用于提供预定的业务给用户的业务提供系统5连接。保密信息管理系统1还与由互相独立的硬件形成的多个(在本实施例中假定为二)数据贮存服务器计算机(从此处以后简单地称为贮存服务器)3a和3b连接。
注意到该实施例中的保密信息指的是对于用户使用业务提供系统5所必需的、诸如密码,信用卡号码,PKI密钥等的个人信息。
在该配置的计算机系统10中,当终端2将在从业务提供系统5接收预定的业务时所必需的保密信息S发送给保密信息管理系统1的时候,通过在保密信息管理系统1处使用基于下面将描述的特定保密共享算法的保密共享方案(从这里以后称为保密共享方案A),将保密信息S划分为多个数据,并且将划分数据分别传送到贮存服务器3a和3b以及终端2,从而划分数据分别贮存在贮存服务器3a和3b以及终端2上。结果,在保密信息管理系统1处注册了保密信息S并且完成了用户的业务使用的准备。注意到,在图5中,保密信息管理系统1将来自终端2的保密信息划分为三个划分数据D(1),D(2)和D(3),并且将它们分别贮存在多个贮存服务器3a和3b以及终端2中。
同时,在业务使用的时候,当将用户保留的划分数据D(3)从终端2发送到保密信息管理系统1的时候,保密信息管理系统1通过使用保密共享方案A从划分数据D(3)以及贮存服务器3a和3b的划分数据D(1)和D(2)的任意两个中恢复出原始的保密信息S,并将该保密信息S发送至业务提供系统5。以这种方式,用户就能够接收预定的业务。
还注意到,在该实施例中,将描述通过将保密信息划分为三个来贮存它的范例情况,但是本发明不限制于将保密信息S划分为三个的这种情况,而是本发明也可以适用于划分为n(n为大于或者等于2的整数)个的情况。还有,发送到终端2的划分数据的数量不必要是一,而是可以是多个。此外,在该实施例中,将划分数据D(1)和D(2)分配给贮存服务器3,并且将划分数据D(3)分配给终端2,但是也可能将任意的划分数据分配给贮存服务器3和终端2中任意的一个。
保密信息管理系统1具有更详细的配置,其中具有通过使用保密共享方案A将保密信息S划分为多个划分数据D的划分数据生成单元11;用于通过使用保密共享方案A从多个划分数据D恢复出原始数据(保密信息)S的原始数据恢复单元12;随机数生成单元15,用于生成在从保密信息S生成多个划分数据中使用的随机数R,以及在生成再次划分数据D’中使用的随机数R’;再次划分数据生成单元16,用于在用户丢失了用户自己的划分数据时,通过使用保密共享方案A从贮存在贮存服务器3中的划分数据生成多个再次划分数据D’;用于生成使用日志的使用日志生单元13,该使用日志用于记录保密信息管理系统1发送保密信息S到业务提供系统5的事实;以及用于相对于终端2,贮存服务器3a和3b,以及业务提供系统5发送或者接收数据的通信单元14。
同时,终端2可以是诸如用户可以携带的移动信息终端,移动电话,IC卡的可移动记录介质,但是它也可以是并非为了移动使用的计算机设备。
这里,保密信息管理系统1,终端2,贮存服务器3a和3b,以及业务提供系统5中的每个由一电子设备形成,其具有至少一个带有计算功能和控制功能的中央处理单元(CPU),带有存储程序和数据的功能的诸如RAM的主存储单元(存储器)。这种设备和系统除了主存储单元之外还可以包括诸如硬盘的辅助存储单元。
同时,用于根据该实施例执行不同处理的程序存储在主存储器单元或者硬盘中。还可能在诸如硬盘、软盘,CD-ROM,MO,DVD-ROM等的计算机可读记录介质中记录该程序,并且还可能通过通信网络传送该程序。
<保密共享方案A>
这里,将详细描述根据该实施例的基于特定保密共享算法的保密共享方案A。
在根据该实施例的原始数据(对应于保密信息S)的划分和恢复中,根据期望的处理单位比特长度,以期望划分数目将原始数据划分为划分数据,并且该处理单位比特长度可以设置为任意值。还有,将原始数据划分为具有处理单元长度的原始部分数据,并且从每个原始部分数据以比划分数量少一的数量生成划分部分数据,从而当原始数据的比特长度不是(划分数量-1)乘以处理单位比特长度的整数倍数时,例如通过将原始数据的尾部填0来将原始数据的比特长度调节变成(划分数量-1)乘以处理单位比特长度后的整数倍。
还有,对应于(划分数量-1)组的原始部分数据,通过随机数生成单元15生成上面提到的随机数作为(划分数量-1)组的具有等于处理单位比特长度的随机数部分数据。即,生成随机数并且由处理单位比特长度划分为(划分数量-1)组的具有等于处理单位比特长度的随机数部分数据。此外,根据处理单位比特长度,以期望划分数目将原始数据划分为划分数据,并且这些划分数据的每一个也被生成为对应于(划分数量-1)组的原始部分数据的、(划分数量-1)组具有等于处理单位比特长度的划分部分数据。即,生成这些划分数据的每一个,并且由处理单位比特长度划分为(划分数量-1)组的具有等于处理单位比特长度的划分部分数据。
注意到,在下面的描述中,将上面描述的原始数据、随机数、划分数据、划分数量以及处理单位比特长度分别表示为S、R、D、n和b,并且将使用变量i(=1到n)和j(=1到n-1)来作为指出多个数据或者随机数中的一个的变量,将(划分数量n-1)组的原始部分数据,(划分数量n-1)组的随机数部分数据,以及n组的划分数据D分别表示为S(j)、R(j)和D(j),并且将构成每个划分数据D(i)的(n-1)组的划分部分数据表示为D(i,j)。即,在由处理单位比特长度将原始数据S从顶部划分并且对得到的原始部分数据按顺序编号的情况下,S(j)表示第j个原始部分数据。
使用这些标识,原始数据、随机数数据、划分数据、以及它们的构成要素,即,原始部分数据、随机数部分数据以及划分部分数据可以如下表示。
原始数据S
=(n-1)组原始部分数据S(j)
=S(1),S(2),......,S(n-1)
随机数R
=(n-1)组随机数部分数据R(j)
=R(1),R(2),......,R(n-1)
n组划分数据=D(1),D(2),......,D(n)
每个划分部分数据D(i,j)
=D(1,1),D(1,2),......,D(1,n-1)
D(2,1),D(2,2),......,D(2,n-1)
.......        .......        .......
D(n,1),D(n,2),......,D(n,n-1)
                    (i=1到n),(j=1到n-1)
本实施例的特征是通过相对于如上所述的处理单位比特长度的多个部分数据,执行原始部分数据和随机数部分数据的异或(XOR)运算,或者更具体地,通过使用由原始部分数据和随机数部分数据的异或(XOR)运算形成的定义公式,来实现原始数据的划分。与上述的使用多项式的方法和对于数据划分处理的剩余计算不同,本实施例使用适合于计算机处理的作为比特计算的异或(XOR)运算,使得不需要高速或者高性能计算处理能力,通过重复简单的计算处理,可以对于大量的数据生成划分数据,并且要求用来保存划分数据的存储器容量相比于与划分数量成线性比例的容量要小。此外,可以通过流处理来生成划分数据,其中以预定任意长度的单元从数据顶部开始顺序地执行计算处理。
注意到该实施例中使用的异或(XOR)运算在下面的描述中将表示为“*”,根据该异或运算对于不同比特的运算规则的计算结果如下:
0*0的计算结果为0
0*1的计算结果为1
1*0的计算结果为1
1*1的计算结果为0
还有,在XOR运算中,保持交换性和关联性。即,数学地验证下列等式成立。
a*b=b*a
(a*b)*c=a*(b*c)
此外,a*a=0以及a*0=0*a=a也成立。这里,a,b和c代表相同长度的比特序列,并且0代表具有与a,b和c相同长度的由“0”组成的比特序列。
接着,将参考附图描述该实施例中的操作。首先,将描述图6到10,12和14的流程图中使用的符号的定义。
(1)
Figure A20058000439300181
表示A(1)*A(2)*......*A(n)
(2)c(j,i,k)是定义为U[n-1,n-1]×(P[n-1,n-1]^(j-1)的第i行和第k列的值的(n-1)×(n-1)矩阵。
接着Q(j,i,j)定义如下。
当c(j,i,k)=1时Q(j,i,k)=R((n-1)×m+k)
当c(j,i,k)=0时Q(j,i,k)=0
其中m≥0是一个整数。
(3)U[n,n]是具有表示下面给出的第i行和第j列的值的u(i,j)的n×n矩阵:
当i+j≤n+1时u(i,j)=1
当i+j>n+1时u(i,j)=1
并且将该矩阵称为“上三角矩阵”。更具体地,这是诸如下面的矩阵:
U [ 3,3 ] = 1 1 1 1 1 0 1 0 0
U [ 4,4 ] = 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 0
(4)P[n,n]是具有表示下面给出的第i行和第j列的值的p(i,j)的n×n矩阵:
当j=i+1时p(i,j)=1
当i=1,j=n时p(i,j)=1
否则p(i,j)=0
并且将该矩阵称为“旋转矩阵”。更具体地,这是诸如下面的矩阵:
P [ 3,3 ] = 0 1 0 0 0 1 1 0 0
P [ 4,4 ] = 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0
当该旋转矩阵从右侧乘以另一个矩阵时,该旋转矩阵具有将另一个矩阵中的第一列移位到第二列,将第二列移位到第三列,将第n-1列移位到第n列,第n列移位到第一列的效果。换而言之,当将矩阵P从右侧多次乘以另一个矩阵,另一个矩阵的每个列将朝着右侧“旋转”同样次数。
(5)当A和B是n×n矩阵,A×B表示矩阵A和B的乘积。矩阵元的计算规则与常规代数相同。
(6)当A是n×n矩阵并且i是整数,A^i表示i组矩阵A的乘积。同时,A^0表示单位矩阵E。
(7)单位矩阵E[n,n]是具有表示下面给出的第i行和第j列的值的e(i,j)的n×n矩阵:
当i=j时e(i,j)=1
否则e(i,j)=0
更具体地,这是诸如下面的矩阵:
E [ 3,3 ] = 1 0 0 0 1 0 0 0 1
E [ 4,4 ] = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
当A是任意的n×n矩阵,单位矩阵具有A×E=E×A=A的特性。
接着,将参考图6,7,8描述划分原始数据S的处理。这是对于保密信息管理系统1的划分数据生成单元11的功能的描述。
首先,将原始数据S传送到保密信息管理系统1(图6的步骤S201),注意到,在该例子中,假定原始数据S是由“10110010 00110111”给定的16比特。
接着,保密信息管理系统1指定划分次数n=3(步骤S203)。注意到由保密信息管理部分1根据划分数量n=3生成的三个划分数据分别表示为D(1),D(2)和D(3)。这些划分数据D(1),D(2)和D(3)都是具有与原始数据相同的比特长度的16比特长度的数据。
接着,确定要在划分原始数据S中使用的处理单位比特长度b为8比特(步骤S205)。这个处理单位比特长度b可以由用户从终端2指定给保密信息管理系统1,或者可以是保密信息管理系统预先确定的值。注意到处理单位比特长度b可以是任意数量的比特,但是这里指定它是8比特,由其对原始数据划分,接着,当将上述16比特的原始数据S“10110010 00110111”由8比特的处理单位比特长度划分时,得到的两个原始部分数据S(1)和S(2)由“10110010”和“00110111”给出。
接着,在步骤S207,判断原始数据S的比特长度是否为8×2的整数倍,并且如果不是整数倍,在原始数据的尾部填0使它变为8×2的整数倍。注意到在如同例子中处理单位比特长度b设置为8并且划分次数设置为3的情况下,划分处理不仅对于具有16比特的比特长度的原始数据S是正确的,而且对于具有是处理单位比特长度b×(划分次数n-1)=8×2整数倍的比特长度的原始数据S也是正确的。
接着,在步骤S209,将指示上述的整数倍的变量m设置为0。注意到当如同在该例子中那样原始数据S具有等于处理单位比特长度b×(划分数目n-1)=8×2=16比特的比特长度的情况下m等于0,但是在两倍长的32比特的情况下m等于1,并且在三倍长的48比特的情况下m等于2。
接着,判断从原始数据的第8×2×m+1个比特开始是否存在8×2个比特(步骤S211)。这判断在对于由变量m指定的处理单位比特长度b×(划分次数n-1)=8×2=16比特的原始数据S进行从步骤S211开始的划分处理之后,原始数据中是否存在下一16比特。在如同本例子中原始数据S是16比特的情况,当对于16比特的原始数据S执行一次从步骤S211开始的划分处理之后变量m在下面将描述的步骤S219中递增1,但是对应于变量m=1的情况的从第17比特开始的数据在该例子的原始数据S中不存在,从而处理从步骤S211前进到步骤S221,但是目前变量m是0,从而原始数据S的第8×2×m+1个比特是8×2×0+1=1并且从16比特的原始数据S的第一个比特开始存在8×2比特的数据,从而处理前进到步骤S213。
在步骤S213中,将从原始数据S的第8×(2×m+j-1)+1比特开始的8比特(=处理单位比特长度)的数据设置为原始部分数据S(2×m+j),同时将变量j从1变化到2(=划分数量n-1),从而由处理单位比特长度的原始数据S的划分得到的2(=划分数量n-1)组原始部分数据S(1)和S(2)如下地生成。
原始数据S=S(1),S(2)
第一原始部分数据S(1)=“10110010”
第二原始部分数据S(2)=“00110111”
接着,将从随机数生成单元15生成的具有8比特长度的随机数设置为随机数部分数据R(2×m+j),同时将变量j从1变化到2(=划分数量n-1),从而由处理单位比特长度的随机数R的划分得到的2(=划分数量n-1)组随机数部分数据R(1)和R(2)如下地生成。
随机数R=R(1),R(2)
第一随机数部分数据R(1)=“10110001”
第二随机数部分数据R(2)=“00110101”
接着,在步骤S217,根据如同在步骤S217中所示的用于生成划分数据的定义公式(由原始部分数据和随机数部分数据的异或定义)生成构成多个划分数据D(i)的每一个的每个划分部分数据D(i,2×m+j),同时将变量i从1变化到3(=划分数量n)并且对于每个变量i,将变量j从1变化到2(=划分数量n-1)。作为结果,生成了下列的划分数据D。
划分数据D
=三个划分数据D(i)=D(1),D(2),D(3)
第一划分数据D(1)
=两个划分部分数据D(1,j)=D(1,1),D(1,2)
=“00110110”,“10110011”
第二划分数据D(2)
=两个划分部分数据D(2,j)=D(2,1),D(2,2)
=“00000011”,“00000010”
第三划分数据D(3)
=两个划分部分数据D(3,j)=D(3,1),D(3,2)
=“10110001”,“00110101”
注意到在如同在该例子中划分次数n=3的情况下,步骤217所示的用于生成每个划分部分数据D(i,j)的定义公式变为图8的表格中所描述的特定形式。从图8所示的表格中,可以看到用于生成划分部分数据D(1,1)的定义公式是S(1)*R(1)*R(2),用于生成划分部分数据D(1,2)的定义公式是S(2)*R(1)*R(2),用于生成划分部分数据D(2,1)的定义公式是S(1)*R(1),用于生成划分部分数据D(2,2)的定义公式是S(2)*R(2),用于生成划分部分数据D(3,1)的定义公式是R(1),以及用于生成划分部分数据D(3,2)的定义公式是R(2)。图8所示的表格还显示了在m>0为任意整数的情况下通用的定义公式。
在以这种方式对于表示整数倍数的变量m=0的情况生成划分数据D之后,将变量m递增1(步骤S219),并且流程回到步骤S211,其中对于对应于m=1的情况的从原始数据的第17比特开始的数据尝试相似的划分处理,但是在该例子中原始数据为16比特从而从第17比特开始的数据不存在,从而处理从步骤S211前进到步骤S221,其中将如上述生成的划分数据D(1),D(2)和D(3)分别存储到贮存服务器3和终端2,然后结束划分处理。注意到这些划分数据D(1),D(2)和D(3)是不能从单独的它们中的任何一个猜出原始数据。
现在,将描述使用图6的步骤S217所示的定义公式的划分数据生成处理,或者更具体地,在划分数量n=3的情况下的划分数据生成处理。
首先,在表示整数倍的m=0的情况下,从步骤S217所示的定义公式开始,构成划分数据D(i)=D(1)到D(3)的每个的划分部分数据D(i,2×m+j)=D(i,j)(i=1到3,j=1到2)如下:
D(1,1)=S(1)*Q(1,1,1)*Q(1,1,2)
D(1,2)=S(2)*Q(2,1,1)*Q(2,1,2)
D(2,1)=S(1)*Q(1,2,1)*Q(1,2,2)
D(2,2)=S(2)*Q(2,2,1)*Q(2,2,2)
D(3,1)=R(1)
D(3,2)=R(2)
包括在上述的6个公式中的4个公式内的Q(j,i,k)如下给出。即,当c(j,i,k)为2×2矩阵U[2,2]×(P[2,2]^(j-1)的第i行和第k列的值的时候,Q(j,i,k)如下给出:
当c(j,i,k)=1时Q(j,i,k)=R(k)
当c(j,i,k)=1时Q(j,i,k)=0
然后,当j=1时,
U [ 2,2 ] &times; ( P [ 2,2 ] ^ ( j - 1 ) = U [ 2,2 ] &times; ( P [ 2,2 ] ^ 0
= U [ 2,2 ] &times; E [ 2,2 ]
= U [ 2,2 ]
= 1 1 1 0
然后,当j=2时,
U [ 2,2 ] &times; ( P [ 2,2 ] ^ ( j - 1 ) = U [ 2,2 ] &times; ( P [ 2,2 ] ^ 1
= U [ 2,2 ] &times; P [ 2,2 ]
= 1 1 1 0 &times; 0 1 1 0
= 1 1 0 1
使用这些,通过下面的定义公式生成每个划分部分数据D(i,j)。
D(1,1)=S(1)*Q(1,1,1)*Q(1,1,2)=S(1)*R(1)*R(2)
D(1,2)=S(2)*Q(2,1,1)*Q(2,1,2)=S(2)*R(1)*R(2)
D(2,1)=S(1)*Q(1,2,1)*Q(1,2,2)
       =S(1)*R(1)*0=S(1)*R(1)
D(2,2)=S(2)*Q(2,2,1)*Q(2,2,2)
       =S(2)*0*R(2)=S(2)*R(2)
上面描述的用于生成每个划分部分数据D(i,j)的定义公式也在图7中示出。
图7是示出了在通过使用上述的等于8比特的处理单位比特长度将16比特的原始数据S划分为三个(划分数量n=3)的情况下,每个数据以及定义公式的表格,以及在从划分部分数据恢复原始数据S的情况下的计算公式。
现在,将描述用于产生划分数据D(1),D(2)和D(3)和划分部分数据D(1,1),D(1,2),D(2,1),D(2,2),D(3,1)和D(3,2)的定义公式的通用形式。
首先,对于第一划分数据,第一划分部分数据D(1,1)由上述公式S(1)*R(1)*R(2)定义,并且第二划分部分数据D(1,2)由上述公式S(2)*R(1)*R(2)定义。注意到通用形式对于D(1,j)是S(j)*R(j)*R(j+1),并且对于D(1,j+1)是S(j+1)*R(j)*R(j+1)(其中假定j为奇数)。通过根据定义公式的计算,D(1,1)为“00110110”,D(1,2)为“10110011”,从而D(1)为“0011011010110011”。注意到定义公式的通用形式在图8中示出。
同样,对于第二划分数据,第一划分部分数据D(2,1)由上述公式S(1)*R(1)定义,并且第二划分部分数据D(2,2)由上述公式S(2)*R(2)定义。注意到通用形式对于D(2,j)是S(j)*R(j),并且对于D(2,j+1)是S(j+1)*R(j+1)(其中假定j为奇数)。通过根据定义公式的计算,D(2,1)为“00000011”,D(2,2)为“00000010”,从而D(2)为“0000001100000010”。
同样,对于第三划分数据,第一划分部分数据D(3,1)由上述公式R(1)定义,并且第二划分部分数据D(3,2)由上述公式R(2)定义。注意到通用形式对于D(3,j)是R(j),并且对于D(3,j+1)是R(j+1)(其中假定j为奇数)。通过根据定义公式的计算,D(3,1)为“10110001”,D(3,2)为“00110101”,从而D(3)为“10110001 00110101”。
注意到,在上面的描述中,假定S,R,D(1),D(2)和D(3)的比特长度都是16比特,但是通过从数据的顶部开始重复上述的划分处理,能够从任何比特长度的原始数据S生成划分数据D(1),D(2)和D(3)。同样,处理单位比特长度b可以是任意的,并且可通过从原始数据的顶部开始对每个2×b的长度顺序地重复上述的划分处理,并适用于任意比特长度的原始数据S,或者更具体地,适用于具有是处理单位比特长度b×2的整数倍的比特长度的原始数据S。注意到如果原始数据S的比特长度不是处理单位比特长度b×2的整数倍,也可能通过例如将原始数据的尾部填上零来将原始数据S的长度调整为处理单位比特长度b×2的整数倍,也能够应用上述的本实施例的划分处理。
接着,将参考图7右侧所示的表格,描述用于从划分数据恢复原始数据的处理。这是对于保密信息管理系统1的原始数据恢复单元12的功能的描述。
首先,请求保密信息管理系统恢复原始数据S。接着,保密信息管理系统从贮存服务器3以及终端2获取划分数据D(1),D(2)和D(3),并如下地从获得的划分数据D(1),D(2)和D(3)恢复原始数据S。
首先,可以如下地从划分部分数据D(2,1)和D(3,1)获得第一原始部分数据S(1)。
D(2,1)*D(3,1)=(S(1)*R(1))*R(1)
               =S(1)*(R(1)*R(1))
               =S(1)*0
               =S(1)
更具体地,D(2,1)为“00000011”并且D(3,1)为“10110001”,从而S(1)变为“10110010”。
同样,可以如下地从其它划分部分数据获得第一原始部分数据S(2)。
D(2,2)*D(3,2)=(S(2)*R(2))*R(2)
               =S(2)*(R(2)*R(2))
               =S(2)*0
               =S(2)
更具体地,D(2,2)为“00000010”并且D(3,2)为“00110101”,从而S(2)变为“00110111”。
普遍地,当j为奇数时,关系:
D(2,j)*D(3,j)=(S(j)*R(j))*R(j)
               =S(j)*(R(j)*R(j))
               =S(j)*0
               =S(j)
成立,因此可以通过计算D(2,j)*D(3,j)获得S(j)。
同样,普遍地,当j为奇数时,关系:
D(2,j+1)*D(3,j+1)=(S(j+1)*R(j+1))*R(j+1)
                   =S(j+1)*(R(j+1)*R(j+1))
                   =S(j+1)*0
                   =S(j+1)
成立,因此可以通过计算D(2,j+1)*D(3,j+1)获得S(j+1)。
接着,通过获得D(1)和D(3)恢复原始数据S的情况如下。即,关系:
D(1,1)*D(3,1)*D(3,2)=(S(1)*R(1)*R(2))*R(1)*R(2)
                       =S(1)*(R(1)*R(1))*(R(2)*R(2))
                       =S(1)*0*0
                       =S(1)
成立,因此,可以通过计算D(1,1)*D(3,1)*D(3,2)获得S(1)。更具体地,D(1,1)为“00110110”,D(3,1)为“10110001”并且D(3,2)为“00110101”,从而S(1)变为“10110010”。
相似地,关系:
D(1,2)*D(3,1)*D(3,2)=(S(2)*R(1)*R(2))*R(1)*R(2)
                       =S(2)*(R(1)*R(1))*(R(2)*R(2))
                       =S(2)*0*0
                       =S(2)
成立,因此,可以通过计算D(1,2)*D(3,1)*D(3,2)获得S(2)。更具体地,D(1,2)为“10110011”,D(3,1)为“10110001”并且D(3,2)为“00110101”,从而S(2)变为“00110111”。
普遍地,当j为奇数时,关系:
D(1,j)*D(3,j)*D(3,j+1)
=(S(j)*R(j)*R(j+1))*R(j)*R(j+1)
=S(j)*(R(j)*R(j))*(R(j+1)*R(j+1))
=S(j)*0*0
=S(j)
成立,因此,可以通过计算D(1,j)*D(3,j)*D(3,j+1)获得S(j)。
普遍地,当j为奇数时,关系:
D(1,j+1)*D(3,j)*D(3,j+1)
=(S(j+1)*R(j)*R(j+1))*R(j)*R(j+1)
=S(j+1)*(R(j)*R(j))*(R(j+1)*R(j+1))
=S(j+1)*0*0
=S(j+1)
成立,因此,可以通过计算D(1,j+1)*D(3,j)*D(3,j+1)获得S(j+1)。
接着,通过获得划分数据D(1)和D(2)获得原始数据S的情况如下。
即,关系:
D(1,1)*D(2,1)=(S(1)*R(1)*R(2))*(S(1)*R(1))
               =(S(1)*S(1))*(R(1)*R(1))*R(2)
               =0*0*R(2)
               =R(2)
成立,因此,可以通过计算D(1,1)*D(2,1)获得R(2)。更具体地,D(1,1)为“00110110”,D(2,1)为“00000011”,从而R(2)变为“00110101”。
相似地,关系:
D(1,2)*D(2,2)=(S(2)*R(1)*R(2))*(S(2)*R(2))
               =(S(2)*S(2))*R(1)*(R(2)*R(2))
               =0*R(1)*0
               =R(1)
成立,因此,可以通过计算D(1,2)*D(2,2)获得R(1)。更具体地,D(1,2)为“10110011”,D(2,2)为“00000010”,从而R(1)变为“10110001”。
使用这些R(1)和R(2),如下地获得S(1)和S(2)。即关系:
D(2,1)*R(1)=(S(1)*R(1))*R(1)
            =S(1)*(R(1)*R(1))
            =S(1)*0
            =S(1)
成立,因此可以通过计算D(2,1)*R(1)获得S(1)。更具体地,更具体地,D(2,1)为“00000011”,R(1)为“10110001”,从而S(1)为“10110010”。
相似地,关系:
D(2,2)*R(2)=(S(2)*R(2))*R(2)
            =S(2)*(R(2)*R(2))
            =S(2)*0
            =S(2)
成立,因此可以通过计算D(2,2)*R(2)获得S(2)。更具体地,更具体地,D(2,2)为“00000010”,R(2)为“00110101”,从而S(2)为“00110111”。
普遍地,当j为奇数时,关系:
D(1,j)*D(2,j)=(S(j)*R(j)*R(j+1))*(S(j)*R(j))
               =(S(j)*R(j))*(R(j)*R(j))*R(j+1)
               =0*0*R(j+1)
               =R(j+1)
成立,因此可以通过计算D(1,j)*D(2,j)获得R(j+1)。
同样,普遍地,当j为奇数时,关系:
D(1,j+1)*D(2,j+1)
=(S(j+1)*R(j)*R(j+1))*(S(j+1)*R(j+1))
=(S(j+1)*S(j+1))*R(j)*(R(j+1)*R(j+1))
=0*R(j)*0
=R(j)
成立,因此可以通过计算D(1,j+1)*D(2,j+1)获得R(j)。
使用获得的R(j)和R(j+1),如下地获得S(j)和S(j+1)。即,关系:
D(2,j)*R(j)=(S(j)*R(j))*R(j)
            =S(j)*(R(j)*R(j))
            =S(j)*0
            =S(j)
成立,因此可以通过计算D(2,j)*R(j)获得S(j)。
相似地,关系:
D(2,j+1)*R(j+1)=(S(j+1)*R(j+1))*R(j+1)
                =S(j+1)*(R(j+1)*R(j+1))
                =S(j+1)*0
                =S(j+1)
成立,因此可以通过计算D(2,j+1)*R(j+1)获得S(j+1)。
如上所述,当通过从原始数据的顶部开始根据处理单位比特长度b重复划分处理生成了划分数据,能够通过使用三个划分数据中的两个恢复原始数据,而不需要使用全部的三个划分数据D(1),D(2)和D(3)。
作为本发明的另一个实施例,可能通过使用具有比原始数据的比特长度短的比特长度的随机数R来执行原始数据划分处理。
即,假定随机数R是具有与上面的S,D(1),D(2)和D(3)相同的比特长度的数据,但是随机数R可以具有比原始数据S更短的比特长度,并且可以在划分数据D(1),D(2)和D(3)的生成中重复地使用该具有更短比特长度的随机数R。
注意到因为在该实施例中保密信息管理系统1生成三个划分数据D(1),D(2)和D(3),这里已经描述了划分次数是三的情况,但是保密共享方案A也可以适用于划分次数是n的情况。
接着,将参考图9,描述在划分次数为n并且处理单位比特长度是b的情况下的通用的划分处理。
首先,将原始数据S给到保密信息管理系统1(步骤S401)。接着,对保密信息管理系统1指定划分次数n(任意整数n≥3)(步骤S403)。同样,确定处理单位比特长度b(步骤S405),其中n是大于零的任意整数。接着,判断原始数据S的比特长度是否是b×(n-1)的整数倍,并且如果不是整数倍,将原始数据的尾部填上零(步骤S407)。同样,将指示整数倍的变量m设置为0(步骤S409)。
接着,判断从原始数据的第b×(n-1)×m+1个比特开始是否存在b×(n-1)个比特(步骤S411)。作为判断结果,如果不存在数据,处理将前进到步骤S421,但是当前变量m在步骤S409中设置为0,从而数据存在,处理前进到步骤S413。
在步骤S413中,将从原始数据S的第b×((n-1)×m+j-1)+1比特开始的b比特的数据设置为原始部分数据S((n-1)×m+j),同时将变量j从1变化到n-1,从而生成由处理单位比特长度b的原始数据S的划分得到的n-1组原始部分数据S(1),S(2),......,S(n-1)。
接着,将从随机数生成单元15生成的具有等于处理单位比特长度b的随机数设置为随机数部分数据R((n-1)×m+j),同时将变量j从1变化到n-1,从而生成由处理单位比特长度b的随机数R的划分得到的n-1组随机数部分数据R(1),R(2),......,R(n)(步骤S415)。
接着,在步骤S417,根据如同在步骤S417中所示的用于生成划分数据的定义公式,生成构成多个划分数据D(i)的每一个的每个划分部分数据D(i,(n-1)×m+j),同时将变量i从1变化到n,并且对于每个变量i,将变量j从1变化到n-1。作为结果,生成了下列的划分数据D。
划分数据D
=n组划分数据D(i)=D(1),D(2),......,D(n)
第一划分数据D(1)
=n-1组划分部分数据D(1,j)
=D(1,1),D(1,2),......,D(1,n-1)
第二划分数据D(2)
=n-1组划分部分数据D(2,j)
=D(2,1),D(2,2),......,D(2,n-1)
......    ......    ......
第n划分数据D(n)
=n-1组划分部分数据D(3,j)
=D(n,1),D(n,2),......,D(n,n-1)
在以这种方式对于变量m=0的情况生成划分数据D之后,将变量m递增1(步骤S419),并且流程回到步骤S411,其中对于对应于m=1的情况的从原始数据S的第b×(n-1)比特开始的数据执行相似的划分处理。最终,当作为步骤S411的判断的结果,处理了原始数据的所有数据的时候,处理从步骤S411前进到步骤S421,其中将如上述生成的划分数据D(1)到D(n)分别存储到贮存服务器3和终端2,然后结束划分处理。
现在,在上述的修改中,可能存在可以通过在构成一个和相同的划分数据的划分部分数据之间执行计算来消除随机数分量(component)的情况。即,例如在划分为三个的情况下,划分部分数据如图8所示,定义如下:
D(1,1)=S(1)*R(1)*R(2),D(1,2)=S(2)*R(1)*R(2),......
D(2,1)=S(1)*R(1),D(2,2)=S(2)*R(2),......
D(3,1)=R(1),D(3,2)=R(2),......
对于D(1),例如如果获得了D(1,1)和D(1,2),接着是:
D(1,1)*D(1,2)
=(S(1)*R(1)*R(2))*(S(2)*R(1)*R(2))
=S(1)*S(2)*(R(1)*R(1))*(R(2)*R(2))
=S(1)*S(2)*0*0
=S(1)*S(2)
普遍地,D(1,j)*D(1,j+1)=S(1)*S(j+1),其中j=2×m+1并且m≥0为任意整数。
如同从上述的定义可以看到的,通过原始数据和随机数上的计算生成了D(1,1)和D(1,2)。并且原始数据的内容不能从D(1,1)和D(1,2)单独的每个确定,但是通过执行D(1,1)*D(1,2)的计算,能够获得S(1)*S(2)。这不同于原始数据本身,但是不包含任何随机数分量。
当消除了随机数分量,产生下面的问题。即对于单个原始部分数据,如果S(2)的部分变得已知,将可能恢复S(1)的部分,从而可以认为这是不安全的。例如,当原始数据是根据标准数据格式的数据,并且S(2)是该数据格式中包含报头信息或者是填充(例如填写为0的数据区域)部分等,该部分可以包括特定于该数据格式的关键字或者固定的字符串,从而可能猜测它的内容。还有,可以从已知的S(2)部分和S(1)*S(2)的值恢复S(1)部分。
解决上述问题的一个可能方式如下。
图10以如上所述获得的原始格式以及通过本处理获得的改进的格式显示了在划分次数n=3的情况下的划分部分数据。如图10所示,在本处理中,互换如图8所示的D(1,j+1)和D(2,j+1)(旋转一次),其中j=2×m+1并且m≥0是任意整数。
在此情况中,如下所示,即使在构成一个和相同的划分数据的划分部分数据之间执行计算,也不能消除随机数分量。从图10中可看到:
D(1,j)*D(1,j+1)
=(S(j)*R(j)*R(j+1))*(S(j+1)*R(j+1))
=S(j)*S(j+1)*R(j)*(R(j+1)*R(j+1))
=S(j)*S(j+1)*R(j)*0
=S(j)*S(j+1)*R(j)
D(2,j)*D(2,j+1)
=(S(j)*R(j))*(S(j+1))*R(j)*R(j+1))
=S(j)*S(j+1)*(R(j)*R(j))*R(j+1)
=S(j)*S(j+1)*0*R(j+1)
=S(j)*S(j+1)*R(j+1)
D(3,j)*D(3,j+1)=R(j)*R(j+1)
同时,在此情况中,如下所示,原始数据可以从三个划分数据中的两个划分数据来恢复的属性保持不变。
在通过获得D(1)和D(2)恢复原始数据的情况中,由于图10的D(1)和D(2)是通过简单地互换构成图8的D(1)和D(2)的划分部分数据获得的,应该很明显可以恢复原始数据。
在通过获得D(1)和D(3),或者D(2)和D(3)恢复原始数据的情况中,由于D(3)是仅包括随机数的划分数据,能够通过以如同需要的一样多的随机数对于每个D(1)和D(2)的划分部分数据执行异或运算,消除随机数部分来恢复原始数据。
另一方面,在划分次数n≥4的情况下,可以使用图20所示的通用处理。图21和22显示了以如上所述获得的原始格式以及通过本处理获得的改进格式在划分次数n=4的情况下的划分数据,并且图23和24以如上所述获得的原始格式以及通过本处理获得的改进格式显示了在划分次数n=5的情况下的划分数据。
在图20所示的处理中,首先,通过使用上述的保密共享方案A直接生成了划分数据D(1,1)到D(n,p),其中D(n,p)是数据的尾部(步骤(S901)。接着,将表示整数倍的变量m设置为0(步骤902),并且将变量j设置为j=((n-1)×m)+1,同时将变量i设置为i=1(步骤S903)。
接着,对于在步骤S903设置的j的值,如果划分数据D(1,j)存在(步骤S904,是),则将划分数据D(i,j)设置为D(1,j)=D(1,j)*D(n,j)(步骤S905)。如同可以从图21到24可以看到的,D(n,j)为R(j),从而步骤S905成功地从D(1,j)中除去了R(j)分量。接着,将划分数据D(1,j),D(2,j),......D((n-1),j)旋转i-1次(步骤S906)。该操作在图20中表示为旋转((i-1),D(1,j),D(2,j),......D((n-1),j))。
这里,旋转的操作是通过一次旋转将D(i,j)顺序地移位到D(i+1,j)的位置,将D(n-1,j)顺序地移位到D(i,j)的位置。例如,在图21中,D(1,1),D(2,1)和D(3,1)旋转(1-(4-1)×0-1)=0次(未改变),而D(1,2),D(2,2)和D(3,2)旋转(2-(4-1)×0-1)=1次,从而D(1,2)移位到D(2,2)的位置,D(2,2)移位到D(3,2)的位置,D(3,2)移位到D(1,2)的位置,并且D(1,3),D(2,3)和D(3,3)旋转(3-(4-1)×0-1)=2次,从而D(1,3)移位到D(3,3)的位置,D(2,3)移位到D(1,3)的位置,D(3,3)移位到D(2,3)的位置,诸如此类。
换句话说,步骤S905和S908的操作相当于对D(1,j),D(2,j),...D(n-1,j)旋转(j-(n-1)×m-1)次,且对于所有m值,取D(1,j)和R(j),D(2,j+1)和R(j+1),...D(n-1,j+n-1)和R(j+n-1)的异或。
接着,将变量j和i递增1(步骤S907),并且只要变量i小于划分次数n(步骤S908是),处理回到步骤S905,并且对于j的下一个值重复执行步骤S905到S907,直到i变得等于n(步骤S908否)。
当i变得等于n,将变量m递增1(步骤S909),并且处理回到步骤S903,从而对于下一个值j=((n-1)×m)+1重复步骤S903到S908。
当对于所有的D(i,j)执行了步骤S903到S908(步骤S904否),将得到的划分数据D(1,1)到D(n,p)贮存在贮存服务器和终端中并且结束处理(步骤S910)。
应当注意到图20中步骤S906处的旋转((i-1),D(1,j),D(2,j),......D((n-1),j))的操作可以概括为:在诸如图21到图24所示的那些划分部分数据的表格中属于m的相同值的列中将不同列旋转不同次的操作。
接着,将描述通过进一步将随机数给到已经划分过一次的划分数据来生成新的划分数据(再次划分数据)的再次划分处理。这是在用户丢失了用户自己的划分数据的情况下保密信息管理系统1的再次划分数据生成单元16的功能的描述,并且这里再次地将描述划分次数为三的范例情况。本实施例中的再次划分处理可以由下面的两种方法实现。
(随机数附加合成方案)
图11显示了随机数附加合成方案中的数据再划分处理的概要。
如图11所示,首先获得划分数据D(1),D(2)和D(3)(步骤S501),接着在随机数生成单元15生成在再次划分时候要使用的随机数R’(步骤S503)。
接着,根据预定规则将随机数R’组合到划分数据D(1),D(2)和D(3)的每个中(步骤S505)。这通过根据下面将描述的规则,使用由划分数据D(1),D(2)和D(3)的划分部分数据和随机数R’的随机数部分数据的异或(XOR)运算来完成,然后生成新的划分数据D’(1),D’(2)和D’(3)(步骤S507)。
图12的表格示出了在通过使用是原始数据S的长度的一半的处理单位比特长度b将原始数据S划分为三个(划分数量n=3)的情况下,划分部分数据的定义公式,在再次组合随机数之后的划分部分数据的定义公式,以及在从划分部分数据恢复原始数据S的情况下的计算公式。
现在,将描述划分部分数据D(i,j)的定义公式。
首先,对于第一划分数据D(1),如图10所示,第一划分部分数据D(1,1)由定义公式S(1)*R(1)*R(2)定义,并且第二划分部分数据D(1,2)由定义公式S(2)*R(2)定义。注意到定义公式的通用形式对于D(1,j)是S(j)*R(j)*R(j+1),并且对于D(1,j+1)是S(j+1)*R(j+1)(其中假定j为奇数)。
同样,对于第二划分数据D(2),如图10所示,第一划分部分数据D(2,1)由定义公式S(1)*R(1)定义,并且第二划分部分数据D(2,2)由定义公式S(2)*R(1)*R(2)定义。注意到定义公式的通用形式对于D(2,j)是S(j)*R(j),并且对于D(2,j+1)是S(j+1)*R(j)*R(j+1)(其中假定j为奇数)。
同样,对于第三划分数据D(3),如图10所示,第一划分部分数据D(3,1)由定义公式R(1)定义,并且第二划分部分数据D(3,2)由定义公式R(2)定义。注意到定义公式的通用形式对于D(3,j)是R(j),并且对于D(3,j+1)是R(j+1)(其中假定j为奇数)。
现在,将描述在再次组合随机数R’之后划分部分数据D’(i,j)的定义公式。
首先,对于第一划分数据D’(1),如图12所示,第一划分部分数据D’(1,1)由定义公式D(1,1)*R’(1)*R’(2),即S(1)*R(1)*R(2)*R’(1)*R’(2)定义,并且第二划分部分数据D’(1,2)由定义公式D’(1,2)*R’(2),即S(2)*R(2)*R’(2)定义。注意到定义公式的通用形式对于D’(1,j)是D(i,j)*S(j)*R’(j)*R’(j+1),并且对于D’(1,j+1)是D(1,j+1)*R’(j)*R’(j+1)(其中假定j为奇数)。
同样,对于第二划分数据D’(2),如图12所示,第一划分部分数据D’(2,1)由定义公式D(2,1)*R’(1),即S(1)*R(1)*R’(1)定义,并且第二划分部分数据D’(2,2)由定义公式D(2,2)*R’(1)*R’(2),即S(2)*R(1)*R(2)*R’(1)*R’(2)定义。注意到定义公式的通用形式对于D’(2,j)是D(2,j)*R’(j),并且对于D’(2,j+1)是D(2,j+1)*R’(j)*R’(j+1)(其中假定j为奇数)。
同样,对于第三划分数据D’(3),如图12所示,第一划分部分数据D’(3,1)由定义公式D(3,1)*R’(1),即R(1)*R’(1)定义,并且第二划分部分数据D’(3,2)由定义公式D(3,2)*R’(2),即R(2)*R’(2)定义。注意到定义公式的通用形式对于D’(3,j)是D(3,j)*R’(j),并且对于D’(3,j+1)是D(3,j+1)*R’(j+1)(其中假定j为奇数)。
这样,通过将对应于通过划分数据的定义公式组合到划分部分数据D(i,j)中的随机数部分数据R(j)的随机数部分数据R’(j)组合来计算异或运算,获得了再次划分部分数据D’(i,j)。这对于任意数量的划分都是正确的。
注意到,在用户丢失用户自己的划分数据的情况下,上述的划分数据D(1),D(2)和D(3)中的一个丢失,从而需要从剩下的两个划分数据中恢复丢失的划分数据并接着生成再次划分数据。这里,将描述从剩下的两个划分数据生成丢失的划分数据的方法。
首先,将描述划分数据D(3)丢失从而要从划分数据D(1)和D(2)生成划分数据D(3)的情况。更具体地,在图12的例子中,关系:
D(1,1)*D(2,1)=(S(1)*R(1)*R(2))*(S(1)*R(1))
               =R(2)*(S(1)*S(1))*(R(1)*R(1))
               =R(2)
D(1,2)*D(2,2)=(S(2)*R(2))*(S(2)*R(1)*R(2))
               =R(1)*(S(2)*S(2))*(R(2)*R(2))
               =R(1)
成立并且D(3,1)=R(1),D(3,2)=R(2),从而从D(1,1)*D(2,1)和D(1,2)*D(2,2)生成划分数据D(3)。
同样,在划分数据D(1)丢失从而要从划分数据D(2)和D(3)生成划分数据D(1)的情况下,关系:
D(1,1)=D(2,1)*R(2)
D(2,1)=D(2,2)*R(1)
成立并且D(3,1)=R(1),D(3,2)=R(2),从而从D(2,1)*D(3,2)和D(2,2)*D(3,1)生成划分数据D(1)。
同样,在划分数据D(2)丢失从而要从划分数据D(1)和D(3)生成划分数据D(2)的情况下,关系:
D(2,1)=D(1,1)*R(2)
D(2,2)=D(1,2)*R(1)
成立并且D(3,1)=R(1),D(3,2)=R(2),从而从D(1,1)*D(3,2)和D(1,2)*D(3,1)生成划分数据D(2)。
接着,将参考图12右侧所示的表格,描述用于从再次划分数据恢复原始数据的处理。这是对于保密信息管理系统1的原始数据恢复单元12在用户接收到再次划分数据之后的业务使用的时候的功能的描述。
首先,可以如下地从划分部分数据D’(2,1)和D’(3,1)获得第一原始部分数据S(1)。
D’(2,1)*D’(3,1)
=(S(1)*R(1)*R’(1))*(R(1)*R’(1))
=S(1)*(R(1)*R(1))*(R’(1)*R’(1))
=S(1)*0*0
=S(1)
同样,可以如下地从其它划分部分数据获得第二原始部分数据S(2)。
D’(2,2)*D’(3,1)*D’(3,2)
=(S(2)*R(1)*R(2)*R’(1)*R’(2)*(R(1)*R’(1))*
(R’(2)*R’(2))
=S(2)*(R(1)*R(1))*(R(2)*R(2))*(R’(1)*R’(1))*
(R’(2)*R’(2))
=S(2)*0*0*0*0
=S(2)
普遍地,当j为奇数时,关系:
D’(2,j)*D’(3,j)
=(S(j)*R(j)*R’(j))*(R(j)*R’(j))
=S(j)*(R(j)*R(j))*(R’(j)*R’(j))
=S(j)*0*0
=S(j)
成立,从而可以通过计算D’(2,j)*D’(3,j)获得S(j)。
同样,普遍地,当j为奇数时,关系:
D’(2,j+1)*D’(3,j)*D’(3,j+1)
=(S(j+1)*R(j)*R(j+1)*R’(j)*R’(j+1))*R’(j+1)*(R(j)
*R’(j))*(R’(j+1)*R’(j+1))
=S(j+1)*(R(j)*R(j))*(R(j+1)*R(j+1))*(R’(j)*R’(j))
*(R’(j+1)*R’(j+1))
=S(j+1)*0*0*0*0
=S(j+1)
成立,从而可以通过计算D’(2,j+1)*D’(3,j)*D’(3,j+1)获得S(j+1)。
接着,通过获得D’(1)和D’(3)来恢复原始数据S的情况如下。即关系:
D’(1,1)*D’(3,1)*D’(3,2)
=(S(1)*R(1)*R(2)*R’(1)*R’(2))*(R(1)*R’(1))*
(R’(2)*R’(2))
=S(1)*(R(1)*R(1))*(R(2)*R(2))*(R’(1)*R’(1))*
(R’(2)*R’(2))
=S(1)*0*0*0*0
=S(1)
成立,从而可以通过计算D’(1,1)*D’(3,1)*D’(3,2)获得S(1)。
相似地,关系:
D’(1,2)*D’(3,2)
=(S(2)*R(2)*R’(2))*(R(2)*R’(2))
=S(2)*(R(2)*R(2))*(R’(2)*R’(2))
=S(2)*0*0
=S(2)
成立,从而可以通过计算D’(1,2)*D’(3,2)获得S(2)。
普遍地,当j为奇数时,关系:
D’(1,j)*D’(3,j)*D’(3,j+1)
=(S(j)*R(j)*R(j+1)*R’(j)*R’(j+1))*(R(j)*R’(j))*
(R’(j+1)*R’(j+1))
=S(j)*(R(j)*R(j))*(R(j+1)*R(j+1))*(R’(j)*R’(j))
*(R’(j+1)*R’(j+1))
=S(j)*0*0*0*0
=S(j)
成立,从而可以通过计算D’(1,j)*D’(3,j)*D’(3,j+1)获得S(j)。
同样,普遍地,当j为奇数时,关系:
D’(1,j+1)*D’(3,j+1)
=(S(j+1)*R(j+1)*R’(j+1))*(R(j+1)*R’(j+1))
=S(j+1)*(R(j+1)*R(j+1))*(R’(j+1)*R’(j+1))
=S(j+1)*0*0
=S(j+1)
成立,从而可以通过计算D’(1,j+1)*D’(3,j+1)获得S(j+1)。
接着,通过获得D’(1,j+1)和D’(3,j+1)来恢复原始数据S的情况如下。
即关系:
D’(1,1)*D’(2,1)
=(S(1)*R(1)*R(2)*R’(1)*R’(2))*(S(1)*R(1)*R’(1))
=S(1)*S(1)*(R(1)*R(1))*(R’(1)*R’(1))*R(2)
*R’(2)
=0*0*R(2)*R’(2)
=R(2)*R’(2)
成立,从而可以通过计算D’(1,1)*D’(2,1)获得R(2)*R’(2)。
相似地,关系:
D’(1,2)*D’(2,2)
=(S(2)*R(2)*R’(2))*(S(2)*R(1)*R(2)*R’(1)*R’(2))
=S(2)*S(2)*(R(1)*R’(1))*(R(2)*R(2))*(R’(2)
*R’(2))
=0*R(1)*R’(1)*0*0
=R(1)*R’(1)
成立,从而可以通过计算D’(1,2)*D’(2,2)获得R(1)*R’(1)。
使用这些获得的R(1)*R’(1)和R(2)*R’(2),可以如下地获得S(1)和S(2)。即,关系:
D’(2,1)*R(1)*R’(1)
=(S(1)*R(1)*R’(1))*(R(1)*R’(1))
=S(1)*(R(1)*R(1))*(R’(1)*R’(1))
=S(1)*0*0
=S(1)
成立,从而可以通过计算D’(2,1)*R(1)*R’(1)获得S(1)。
相似地,关系:
D’(1,2)*R(2)*R’(2)
=(S(2)*R(2)*R’(2))*R(2)*R’(2)
=S(2)*(R(2)*R(2))*(R’(2)*R’(2))
=S(2)*0*0
=S(2)
成立,从而可以通过计算D’(1,2)*R(2)*R’(2)获得S(2)。
普遍地,当j为奇数时,关系:
D’(1,j)*D’(2,j)
=(S(j)*R(j)*R(j+1)*R’(j)*R’(j+1))*(S(j)*R(j)
*R’(j))
=S(j)*S(j)*(R(j)*R(j))*(R’(j)*R’(j))*R(j+1)
*R’(j+1)
=0*0*0*R(j+1)*R’(j+1)
=R(j+1)*R’(j+1)
成立,从而可以通过计算D’(1,j)*D’(2,j)获得R(j+1)*R’(j+1)。
同样,当j为奇数时,关系:
D’(1,j+1)*D’(2,j+1)
=(S(j+1)*R(j+1)*R’(j+1))*(S(j+1)*R(j)*R(j+1)
*R’(j)*R’(j+1))
=S(j+1)*S(j+1)*(R(j)*R’(j))*(R(j+1)*R(j+1))
*(R’(j+1)*R’(j+1))
=0*R(j)*R’(j)*0*0
=R(j)*R’(j)
成立,从而可以通过计算D’(1,j+1)*D’(2,j+1)获得R(j)*R’(j)。
使用这些获得的R(j)*R’(j)和R(j+1)*R’(j+1),可以如下地获得S(j)和S(j+1)。即,关系:
D’(2,j)*R(j)*R’(j)
=(S(j)*R(j)*R’(j))*(R(j)*R’(j))
=S(j)*(R(j)*R(j))*(R’(j)*R’(j))
=S(j)*0*0
=S(j)
成立,从而可以通过计算D’(2,j)*R(j)*R’(j)获得S(j)。
相似地,关系:
D’(1,j+1)*R(j+1)*R’(j+1)
=(S(j+1)*R(j+1)*R’(j+1))*R(j+1)*R’(j+1)
=S(j+1)*(R(j+1)*R(j+1))*(R’(j+1)*R’(j+1))
=S(j+1)*0*0
=S(j+1)
成立,从而可以通过计算D’(1,j+1)*R(j+1)*R’(j+1)获得S(j+1)。
如上所述,当由随机数附加合成方案生成了再次划分数据,能够通过使用三个划分数据中的两个再次划分数据来恢复原始数据,而不需要使用所有的三个再次划分数据D’(1),D’(2)和D’(3)。
同时,在随机数附加组合方案中,能够不用恢复原始数据一次(原始数据不以可见形式出现)而执行数据再次划分处理,从而更安全的数据管理变为可能。
(随机数重写方案)
图13显示了随机数重写方案中的数据再划分处理的概要。
如图13所示,首先获得划分数据D(1),D(2)和D(3)(步骤S601),接着在随机数生成单元15生成在再次划分时候要使用的随机数R’(步骤S603)。
接着,根据上面描述的随机数附加组合方案将随机数R’组合到划分数据D(1),D(2)和D(3)的每个中(步骤S605)。接着将旧的随机数R从组合随机数R’到其中的划分数据中删除(步骤S607),然后生成新的划分数据D’(1),D’(2)和D’(3)(步骤S609)。
图14的表格示出了在通过使用是原始数据S的长度的一半的处理单位比特长度b将原始数据S划分为三个(划分次数n=3)的情况下,划分部分数据的定义公式,在再次组合随机数R’之后的划分部分数据的定义公式,在将随机数R删除之后的划分部分数据的定义公式,以及在从划分部分数据恢复原始数据S的情况下的计算公式。
在该方案中,直到步骤S605的处理与上述的随机数附加组合方案相同,因此将略去它们的描述,而将描述在将旧的随机数R删除之后的划分部分数据的定义公式。
首先,对于第一划分数据D’(1),如图14中所示,第一划分部分数据D’(1,1)由定义公式(S(1)*R(1)*R(2)*R’(1)*R’(2))*R(1)*R(2),即S(1)*R’(1)*R’(2)定义,并且第二划分部分数据D’(1,2)由定义公式(S(2)*R(2)*R’(2))*R(2),即S(2)*R’(2)定义。注意到定义公式的通用形式对于D’(1,j)是S(j)*R’(j)*R’(j+1),并且对于D’(1,j+1)是S(j+1)*R’(j+1)(其中假定j为奇数)。
同样,对于第二划分数据D’(2),如图14所示,第一划分部分数据D’(2,1)由定义公式(S(1)*R(1)*R’(1))*R(1),即S(1)*R’(1)定义,并且第二划分部分数据D’(2,2)由定义公式(S(2)*R(1)*R(2)*R’(1)*R’(2))*R(1)*R(2),即S(2)*R’(1)*R’(2)定义。注意到定义公式的通用形式对于D’(2,j)是S(j)*R’(j),并且对于D’(2,j+1)是S(j+1)*R’(j)*R’(j+1)(其中假定j为奇数)。
同样,对于第三划分数据D’(3),如图14所示,第一划分部分数据D’(3,1)由定义公式(R(1)*R’(1))*R(1),即R’(1)定义,并且第二划分部分数据D’(3,2)由定义公式(R(2)*R’(2))*R(2),即R’(2)定义。注意到定义公式的通用形式对于D’(3,j)是R’(j),并且对于D’(3,j+1)是R’(j+1)(其中假定j为奇数)。
这样,通过将对应于通过划分数据D(i,j)的定义公式组合到划分部分数据D(i,j)中的随机数部分数据R(j)的随机数部分数据R’(j),且之后组合随机数部分数据从而将随机数部分数据消除,从而进行异或运算来获得再次划分部分数据D’(i,j)。
结果,再次划分部分数据D’(i,j)的定义公式中,随机数部分数据R(j)由原始部分数据D(i,j)的定义公式中的随机数部分数据R’(j)替换。
接着,将参考图14右侧所示的表格,描述用于从再次划分数据恢复原始数据的处理。这是对于保密信息管理系统1的原始数据恢复单元12在用户接收到再次划分数据之后的业务使用的时候的功能的描述。
首先,可以如下地从划分部分数据D’(2,1)和D’(3,1)获得第一原始部分数据S(1)。
D’(2,1)*D’(3,1)
=(S(1)*R’(1))*R’(1)
=S(1)*((R’(1)*R’(1))
=S(1)*0
=S(1)
同样,可以如下地从划分部分数据D’(2,1)和D’(3,1)获得第一原始部分数据S(2)。
D’(2,2)*D’(3,1)*D’(3,2)
=(S(2)*R’(1)*R’(2))*R’(1)*R’(2)
=S(2)*(R(1)*R’(1))*(R’(2)*R’(2))
=S(2)*0*0
=S(2)
普遍地,当j为奇数时,关系:
D’(2,j)*D’(3,j)
=(S(j)*R’(j))*R’(j)
=S(j)*((R’(j)*R’(j))
=S(j)*0
=S(j)
成立,从而可以通过计算D’(2,j)*D’(3,j)获得S(j)。
同样,普遍地,当j为奇数时,关系:
D’(2,j+1)*D’(3,j)*D’(3,j+1)
=(S(j+1)*R’(j)*R’(j+1))*R’(j)*R’(j+1)
=S(j+1)*(R’(j)*R’(j))*(R’(j+1)*R’(j+1))
=S(j+1)*0*0
=S(j+1)
成立,从而可以通过计算D’(2,j+1)*D’(3,j)*D’(3,j+1)获得S(j+1)。
接着,通过获得D’(1)和D’(3)来恢复原始数据S的情况如下。即关系:
D’(1,1)*D’(3,1)*D’(3,2)
=(S(1)*R’(1)*R’(2))*R’(1))*R’(2))
=S(1)*(R’(1)*R’(1))*(R’(2)*R’(2))
=S(1)*0*0
=S(1)
成立,从而可以通过计算D’(1,1)*D’(3,1)*D’(3,2)获得S(1)。
相似地,关系:
D’(1,2)*D’(3,2)
=(S(2)*R’(2))*R’(2)
=S(2)*(R’(2)*R’(2))
=S(2)*0
=S(2)
成立,从而可以通过计算D’(1,2)*D’(3,2)获得S(2)。
普遍地,当j为奇数时,关系:
D’(1,j)*D’(3,j)*D’(3,j+1)
=(S(j)*R’(j)*R’(j+1))*R’(j))*R’(j+1))
=S(j)*(R’(j)*R’(j))*(R’(j+1)*R’(j+1))
=S(j)*0*0
=S(j)
成立,从而可以通过计算D’(1,j)*D’(3,j)*D’(3,j+1)获得S(j)。
同样,普遍地,当j为奇数时,关系:
D’(1,j+1)*D’(3,j+1)
=(S(j+1)*R’(j+1))*R’(j+1)
=S(j+1)*(R’(j+1)*R’(j+1))
=S(j+1)*0
=S(j+1)
成立,从而可以通过计算D’(1,j+1)*D’(3,j+1)获得S(j+1)。
接着,通过获得D’(1)和D’(2)来恢复原始数据S的情况如下。
即关系:
D’(1,1)*D’(2,1)
=(S(1)*R’(1)*R’(2))*(S(1)*R’(1))
=S(1)*S(1)*(R’(1)*R’(1))*R’(2)
=0*0*R’(2)
=R’(2)
成立,从而可以通过计算D’(1,1)*D’(2,1)获得R’(2)。
相似地,关系:
D’(1,2)*D’(2,2)
=(S(2)*R’(2))*(S(2)*R’(1)*R’(2))
=(S(2)*S(2))*(R’(2)*R’(2))*R’(1)
=0*0*R’(1)
=R’(1)
成立,从而可以通过计算D’(1,2)*D’(2,2)获得R’(1)。
使用这些获得的R(1)*R’(1)和R(2)*R’(2),可以如下地获得S(1)和S(2)。即,关系:
D’(2,1)*R’(1)
=(S(1)*R’(1))*R’(1)
=S(1)*(R’(1)*R’(1))
=S(1)*0
=S(1)
成立,从而可以通过计算D’(2,1)*R’(1)获得S(1)。
相似地,关系:
D’(1,2)*R’(2)
=(S(2)*R’(2))*R’(2)
=S(2)*(R’(2)*R’(2))
=S(2)*0
=S(2)
成立,从而可以通过计算D’(1,2)*R(2)*R’(2)获得S(2)。
普遍地,当j为奇数时,关系:
D’(1,j)*D’(2,j)
=(S(j)*R’(j)*R’(j+1))*(S(j)*R’(j))
=S(j)*S(j)*(R’(j)*R’(j))*R’(j+1)
=0*0*R’(j+1)
=R’(j+1)
成立,从而可以通过计算D’(1,j)*D’(2,j)获得R’(j+1)。
同样,当j为奇数时,关系:
D’(1,j+1)*D’(2,j+1)
=(S(j+1)*R’(j+1))*(S(j+1)*R’(j)*R’(j+1))
=(S(j+1)*S(j+1))*(R’(j+1)*R(j+1))*R’(j)
=0*0*R’(j)
=R’(j)
成立,从而可以通过计算D’(1,j+1)*D’(2,j+1)获得R’(j)。
使用这些获得的R’(j)和R’(j+1),可以如下地获得S(j)和S(j+1)。即,关系:
D’(2,j)*R’(j)
=(S(j)*R’(j))*R’(j)
=S(j)*(R’(j)*R’(j))
=S(j)*0
=S(j)
成立,从而可以通过计算D’(2,j)*R’(j)获得S(j)。
相似地,关系:
D’(1,j+1)*R’(j+1)
=(S(j+1)*R’(j+1))*R’(j+1)
=S(j+1)*(R’(j+1)*R’(j+1))
=S(j+1)*0
=S(j+1)
成立,从而可以通过计算D’(1,j+1)*R’(j+1)获得S(j+1)。
如上所述,当由随机数重写方案生成了再次划分数据,能够通过使用三个划分数据中的两个再次划分数据来恢复原始数据,而不需要使用所有的三个再次划分数据D’(1),D’(2)和D’(3)。
同时,在随机数附加重写方案中,能够不用恢复原始数据一次(原始数据不以可见形式出现)而执行数据再次划分处理,从而更安全的数据管理变为可能。
<操作>
接着,将描述使用根据该实施例的保密信息管理系统1的整个计算机系统的操作。这里,图15显示了在保密信息管理系统1中注册保密信息S的操作,图16显示了当用户使用业务时保密信息管理系统1的操作,而图17显示了当用户丢失用户自己的划分数据D时保密信息管理系统1的操作。
(1)保密信息注册处理
首先,用户通过通信网络4将保密信息S从终端2发送到保密信息管理系统1(步骤S310)。当接收到保密信息S,保密信息管理系统1通过使用保密信息共享方案A将保密信息S划分为三个数据(划分数据)D(1),D(2)和D(3)。
接着,保密信息管理系统1将这样生成的划分数据通过通信网络4分别发送到贮存服务器3a和3b以及终端2(步骤S330)。
接着,贮存服务器3a和3b分别将接收到的划分数据D(1)和D(2)存储到它们诸如硬盘的存储设备中(步骤S340)。同时,终端2将接收到的划分数据D(3)存储到它诸如硬盘的存储设备中(步骤S350)。
以这种方式,即使对于终端2以及贮存服务器3a和3b的划分数据的任何一个发生丢失,毁坏等,也可以根据剩下的两个划分数据恢复原始的保密信息3。
(2)业务使用处理
在用户使用业务提供系统5的情况下,首先,将保持在终端2处的划分数据D(3)通过通信网络4发送到保密信息管理系统1(步骤S410)。
在从终端2接收到划分数据D(3)时,保密信息管理系统1向贮存服务器3a和3b请求其余的划分数据D(1)和D(2),并且接收这些划分数据D(1)和D(2)(步骤S420)。
接着,保密信息管理系统1通过使用保密共享方案A从划分数据D(1),D(2),D(3)中的任意两个恢复出保密信息S(步骤S430)。接着,将恢复的保密信息S发送至业务提供系统5(步骤440),并且通过记录恢复并且发送了保密信息S的事实生成了使用日志(步骤S450)。
当从保密信息管理系统1接收到保密信息S,业务提供系统5判断该保密信息的正确性,并且通过通信网络4提业务给终端2(步骤460),从而用户可以接收想要的业务(步骤S470)。
(3)在划分数据丢失的时候的处理
在用户丢失划分数据D(3)的情况下(例如,存储划分数据D(3)的终端2丢失的情况下),首先,用户报告该事实给保密信息管理系统1(例如通过呼叫保密信息管理系统1的操作员)(步骤S510)。
作为响应,保密信息管理系统1向贮存服务器3a和3b请求划分数据,并且分别从贮存服务器3a和3b接收划分数据D(1)和D(2)(步骤S520)。
接着,保密信息管理系统1通过使用保密共享方案A从划分数据D(1)和D(2)中生成三个新的数据(再次划分数据)D’(1),D’(2),D’(3)(步骤S530)。
这里,再次划分数据D’(1)和D’(2)是根据上面描述的随机数附加组合方案或者随机数重写方案,分别从划分数据D(1)和D(2)生成的。另一方面,对于D’(3),首先从划分数据D(1)和D(2)生成划分数据D(3),接着根据上面描述的随机数附加组合方案或者随机数重写方案从划分数据D(3)生成划分数据D’(3)。
接着,保密信息管理系统1将这样生成的再次划分数据通过通信网络4分别发送到贮存服务器3a和3b以及终端2(在用户丢失了存储划分数据D(3)的终端2的情况下由用户重新购买的终端2)(步骤S240)。
接着,贮存服务器3a和3b分别将接收到的再次划分数据D’(1)和D’(2)存储到它们诸如硬盘的存储设备中(步骤S550)。同时,终端2将接收到的再划分数据D’(3)存储到它诸如硬盘的存储设备中(步骤S560)。这样,用户就能够再次使用业务。
从而,根据该实施例,通过使用保密共享方案A将在接收预定的业务时必需的保密信息S划分为多个划分数据,并且只要求用户保存划分数据的一部分,从而即使当用户保留的划分数据丢失,也可以从剩下的划分数据中恢复保密信息,并且接着通过使用保密共享方案A生成再次划分数据,且重新要求用户仅保留再次划分数据的一部分,从而不需要改变保密信息S。
结果,即使当用户丢失了用户自己的划分数据,也可能通过简单地报告该丢失再次接收业务,而不需要要求再次发出保密信息S的处理。
特别是,根据该实施例的保密共享方案A是用于根据期望的处理比特长度将保密信息划分为期望划分数目划分数据的数据划分方法,其中,通过以处理单元长度的单元划分保密信息生成多个原始部分数据;对应于多个原始部分数据的各个,从短于或者等于保密信息的比特长度的长度的随机数生成多个处理单位比特长度的随机数部分数据;通过计算原始部分数据和随机数部分数据的异或,生成构成每个划分数据的处理单位比特长度的每个划分部分数据,来生成期望数量划分划分数据。同时可以从生成的划分数据中预定组的划分数据中恢复保密信息,并还有通过从新生成的随机数生成多个处理单位比特长度的随机数部分数据生成期望划分数目再次划分数据,并通过计算划分部分数据和随机数部分数据的异或,生成处理单位比特长度的再次划分部分数据,同时可以从生成的再次划分数据中预定组的再次划分数据中恢复保密信息,从而能够再次划分保密信息而不需要恢复保密信息。结果,可以更安全地管理用户的保密信息。
同时,即使当获得丢失的划分数据的第三人访问保密信息管理系统1,也不能够恢复保密信息S从而不能使用业务,从而保证了安全。
此外,在保密信息管理系统1处维持用户使用日志,从而即使第三人获得丢失的划分数据并且在从用户丢失划分数据直到用户报告丢失的期间内非法地使用了业务,可以根据使用日志判断非法使用的存在或者不存在。
注意到,本实施例的保密共享方案A不要求包括多项式计算,残值(residue)计算等的倍长的整数计算处理,从而即时在处理很多大容量数据的情况下,也可能容易和迅速地执行数据的划分和恢复。
注意到,在上面,保密信息S通过通信网络4从终端2给到保密信息管理系统1,但是该实施例不限制于该情况,还可能使用不同于通信网络4的机制,例如,诸如邮寄记录了保密信息S的记录介质。相似地,在上面,用户通过通信网络4接收要保持的划分数据,但是该实施例不限制于该情况,还可能使用不同于通信网络4的机制,例如,诸如邮寄记录了划分数据的记录介质。
同时,在上面,在用户进行业务使用的时候,保密信息管理系统1恢复保密信息S,但是该实施例不限制于该情况,对于用户的终端2还可以从存储在终端2的划分数据和以及从保密信息管理系统1中获得的划分数据中通过使用保密共享方案恢复保密信息S,并且发送该保密信息到业务提供系统5。在该情况下,保密信息管理系统适合于在恢复保密信息的时候,发送如同预定数目减去用户保持的划分数据的数量那样多的、存储在贮存服务器中的划分数据的组合,到终端。
然而,注意到,在该情况下,如果用户丢失了终端2而恢复的保密信息S仍然存储在其中,则不能解决本发明要解决的问题,从而需要提供在将保密信息发送到业务提供系统5之后立即将它从终端2中删除的机制,或者用于防止终端2的数据的非法读取的机制。
此外,在上面,再次划分处理在来自用户的请求下执行,但是也可以由保密信息管理系统1以预定的定时自发地执行再次划分处理。
现在将参考图18和图19,描述本发明的第三实施例。
传统地,作为限制对用户拥有的数据的访问的方法,存在通过加密数据来限制对数据的访问的方法。例如,为了防止其它人对要隐藏的数据或者重要的保密数据的访问,将数据管理在加密的状态。在此情况下,除了秘钥的拥有者之外,加密的数据不能由任何人访问。
然而,在期望将对这种数据的访问权限转移到另一个人的情况下(包括期望将加密的数据本身传送给另一个人的情况),存在用户通过使用自己的秘钥解密数据的需求,以及另一个人在传送之后通过使用自己的密钥加密数据的需求。在此情况下,加密的数据解密一次并且在非加密状态下使用,从而如果该状态的数据泄露,那么存在不能充分保证安全性的问题。
第三实施例是上述第二实施例的变化,即使在使用加密传送处于访问限制下的数据的访问权限给另一个人的情况下,也能够通过避免由于数据解密引起的数据泄露的危险,而充分地保证安全。
图18显示了根据本发明的第三实施例的访问权限管理系统的整体示意性配置。
如图18所示,在访问权限管理系统130中,用户拥有的客户端(从此处以后简单地称为终端)103i(i=a,b)以及访问权限管理服务器105通过通信网络102连接,从而每个终端103i和权限管理服务器105可以相互通信。访问权限管理服务器105还与由互相独立的硬件形成的多个(在本实施例中假定为二)数据贮存服务器计算机(从此处以后简单地称为贮存服务器)106a和106b连接。在本实施例中,在一对终端103a和103b中,将终端103a的用户称为X(访问权限发送端),并且将终端103b的用户称为Y(访问权限接收端)。
每个终端103i都是用于保存应该限制访问的数据S的终端,并且具有存储器单元131和通信单元132。
存储器单元131存储应该限制访问权限的数据S以及从访问权限管理服务器105发送的划分数据D(3)。在图18中,将终端103a的划分数据称为D(3),并将终端103b的划分数据称为D’(3)。
通信单元132执行终端103i和访问权限管理服务器105之间的数据的发送和接收。
该访问权限管理服务器105通过使用上述的保密共享方案A,将X具有访问权限的数据划分为多个数据,并且将划分数据分别传送到贮存服务器106a和106b以及终端103a,从而划分数据分别贮存在贮存服务器106a和106b以及终端103a上。在图18中,访问权限管理服务器105将数据S划分为三个划分数据D(1),D(2)和D(3),并且将它们分别存储在贮存服务器106a和106b以及终端103a上。
另外,访问权限管理服务器105通过使用上述的保密共享方案A,从划分数据D(1),D(2)和D(3)生成再次划分数据D’(1),D’(2)和D’(3),并将它们分别存储在贮存服务器106a和106b以及终端103b上。
还注意到,在该实施例中,将描述通过将数据S划分为三个来贮存它的范例情况,但是本发明不限制于将数据S划分为三个的这种情况,而是本发明也可以适用于划分为n(n为大于或者等于2的整数)个的情况。还有,发送到终端103i的划分数据的数量不必要是一,而是可以是多个。此外,在该实施例中,将划分数据D(1)和D(2)(再次划分数据D’(1)和D’(2))分配给贮存服务器106,并且将划分数据D(3)(再次划分数据D’(3))分配给终端103i,但是也可以将任意的划分数据分配给任意的贮存服务器106和终端103i。进一步地,在该实施例中,将划分数据的一部分(再次划分数据)贮存在贮存服务器106a和106b中,但是也可以将它们管理在访问权限管理服务器105的内部。
访问权限管理服务器105具有更详细的配置,其中具有随机数生成单元151,用于生成在从数据S生成多个划分数据D中使用的随机数R,以及在生成再次划分数据D’中使用的随机数R’;用于通过使用保密共享方案A将数据S划分为多个划分数据D的划分数据生成单元152;再次划分数据生成单元153,用于在从X到Y传送访问权限时,通过使用保密共享方案A从多个划分数据D生成多个再次划分数据D’;用于通过使用保密共享方案A从多个再次划分数据D’恢复出数据S的数据恢复单元154;以及用于相对于终端103i,以及贮存服务器106a和106b,发送或者接收数据的通信单元155。
这里,终端103i,访问权限管理服务器105,以及贮存服务器106a和106b中的每个由一电子设备形成,其具有至少一个带有计算功能和控制功能的中央处理单元(CPU),带有存储程序和数据的功能的诸如RAM的主存储单元(存储器)。这种设备和系统除了主存储单元之外还可以包括诸如硬盘的辅助存储单元。
这里,终端103i的通信单元132,访问权限管理服务器105的随机数生成单元151,划分数据生成单元152,再次划分数据生成单元153,数据恢复单元154以及通信单元155通过CPU的计算和控制功能完成。同时,终端103i以及贮存服务器106a和106b的存储器单元131通过主存储器单元和附加存储器单元的功能实现。
同时,用于根据该实施例执行不同处理的程序存储在主存储器单元或者硬盘中。还可能在诸如硬盘、软盘,CD-ROM,MO,DVD-ROM等的计算机可读记录介质中记录该程序,并且还可能通过通信网络传送该程序。
接着,将参考图19描述根据该实施例的访问权限管理系统130的操作。图19显示了在从X到Y发送访问权限的时候终端103a和103b和访问权限管理服务器105之间的数据交换的顺序。
首先,在X对于数据S具有访问权限的情况下,将数据S从X的终端103a发送到访问权限管理服务器105(步骤S610)。注意到,在传送数据D的时候,能够使用安全通信网络(例如诸如LAN,IP-VAN,专用线,电话线,而并非诸如互联网的开放通信网络)来防止通信内容的泄漏,或者使用诸如邮寄的递送机制,而不是通过通信网络的通信。
在从终端103a接收到数据S之后,访问权限管理服务器105生成X的随机数R(步骤S620),并通过使用上述的保密共享方案A生成三个数据(划分数据)D(1),D(2)和D(3)(步骤S430)。更具体地,访问权限管理服务器105生成:
D(1)=(S(1)*R(1)*R(2))||(S(2)*R(2))
D(2)=(S(1)*R(1))||(S(2)*R(1)*R(2))
D(3)=R(1)||R(2)
其中||表示比特序列和比特序列的连接。
接着,访问权限管理服务器105将划分数据D(1)和D(2)分别贮存在贮存服务器106a和106b中(步骤S640),并将划分数据D(3)通过通信网络102发送到X的终端103a(步骤S650)。注意到如上所述划分数据D(3)定义为D(3)=R(1)||R(2),从而划分数据D(3)的传送与随机数R的传送相同。
当从访问权限管理服务器105接收到划分数据D(3)时,终端103a将划分数据D(3)存储到存储器单元131中(步骤S660)。
通过上述操作,X对于数据S的访问权限将由访问权限管理服务器105管理。
接着,在X将数据S的访问权限转发给Y的情况下,将对于从X到Y的数据S的访问权限的转发的请求以及划分数据D(3),通过通信网络102从X的终端103a发送到访问权限管理服务器105(步骤S710)。
当从终端103a接收到对于从X到Y的访问权限的转发的请求以及划分数据D(3),访问权限管理服务器105生成Y的随机数R’(步骤S720),并通过使用上述的保密共享方案A从划分数据D(1),D(2)和D(3)生成三个新数据(再次划分数据)D’(1),D’(2)和D’(3)(步骤S730)。更具体地,例如,访问权限管理服务器105生成:
D’(1)=(S(1)*R’(1)*R’(2))||(S(2)*R’(2))
D’(2)=(S(1)*R’(1))||(S(2)*R’(1)*R’(2))
D’(3)=R’(1)||R’(2)
接着,访问权限管理服务器105将划分数据D’(1)和D’(2)分别贮存在贮存服务器106a和106b中(步骤S740),并将划分数据D’(3)通过通信网络102发送到X的终端103b(步骤S750)。注意到如上所述划分数据D’(3)定义为D’(3)=R’(1)||R’(2),从而再次划分数据D’(3)的传送与随机数R’的传送相同。
当从访问权限管理服务器105接收到再次划分数据D’(3),终端103b将再次划分数据D’(3)存储到存储器单元131中(步骤S760)。
通过上述操作,对于数据S的访问权限将从X发送到Y。
接着,在Y使用数据S的情况下,将对于数据S的使用请求以及再次划分数据D’(3),从X的终端103b发送到访问权限管理服务器105(步骤S810)。
当从终端103b接收到对于数据S的使用请求以及再次划分数据D’(3),访问权限管理服务器105获取贮存在贮存服务器106a和106b的再次划分数据D’(1)和D’(2),并通过使用上述的保密共享方案A从这些再次划分数据D’(1),D’(2)和D’(3)中的任意两个恢复数据S(步骤S820)。
接着,访问权限管理服务器105通过安全通信网络或者递送机制,将恢复的数据S发送到Y的终端103b(步骤S830)。
当从访问权限管理服务器105接收到数据S,终端103b将数据S存储到存储器单元131中(步骤S840),以这种方式,Y就可以在终端103b使用数据S。
这样,根据该实施例的访问权限管理系统130,提供了用于通过使用保密共享方案A加密数据的访问权限管理服务器105,以及终端103a和103b,其中访问权限管理服务器105通过使用X的随机数R和以及保密共享方案A从访问权限发送侧的终端103a的X的数据S生成划分数据,并将划分数据的一部分管理在终端103a处,其余的划分数据在访问权限管理服务器105中。接着,在对于数据S的访问权限从X转发到终端103b的Y处的情况下,访问权限管理服务器105通过使用Y的随机数R’和以及保密共享方案A,从划分数据生成再次划分数据,并且将再次划分数据的一部分管理在终端103b处,其余的划分数据在访问权限管理服务器105中,从而即使在要将对于通过加密限制了访问的数据的访问权限转送到另一个的情况下,可以传送访问权限而不需要解密数据一次。从而能够充分地保证安全。
特别是,根据该实施例的保密共享方案A是用于根据期望的处理比特长度将数据划分为期望划分数目划分数据的数据划分方法,其中,通过以处理单元长度的单元划分数据生成多个原始部分数据;对应于多个原始部分数据的各个,从短于或者等于数据的比特长度的长度的随机数生成多个处理单位比特长度的随机数部分数据;通过计算原始部分数据和随机数部分数据的异或,生成构成每个划分数据的处理单位比特长度的每个划分部分数据,来生成期望数量划分划分数据。同时可以从生成的划分数据中预定组的划分数据中恢复数据,并通过从新生成的随机数生成多个处理单位比特长度的随机数部分数据生成期望划分数目的再次划分数据,通过计算划分部分数据和随机数部分数据的异或,生成处理单位比特长度的再次划分部分数据,同时可以从生成的再次划分数据中预定组的再次划分数据中恢复数据,从而能够再次划分数据而不需要恢复数据。结果,可以更安全地管理用户的数据。
注意到,本实施例的保密共享方案A不要求包括多项式计算,残值计算等的倍长的整数计算处理,从而即时在处理很多大容量数据的情况下,也可能容易和迅速地执行数据的划分和恢复。
还要注意到,除了上面已经提到的那些,在不偏离本发明的新颖和优势的特点下,可以对上面的实施例进行修改和变化。因此,所有这种变化都预期落入所附权利要求的范围内。

Claims (10)

1.用于管理用户的保密信息的保密信息管理系统,包括:
数据划分单元,配置为通过使用保密共享方案将保密信息划分为多个划分数据,从而可以从预定数目的划分数据恢复保密信息;
划分数据存储单元,配置为将多个划分数据的一部分存储到用户的终端中作为用户的划分数据,将多个划分数据的剩余部分存储到一个或者多个贮存服务器;
数据再次划分单元,配置为通过使用保密共享方案,从存储在贮存服务器中的划分数据中预定数目的划分数据的组合,生成不同于由数据划分单元获得的多个划分数据的多个再次划分数据;
再次划分数据存储单元,配置为将多个再次划分数据的一部分存储到终端中作为新生成的用户的划分数据,将多个再次划分数据的剩余部分存储到贮存服务器中作为新生成的划分数据;
随机数生成单元,配置为在生成多个划分数据时生成随机数,并且在生成再次划分数据中生成新的随机数;以及
数据恢复单元,配置为在使用保密信息的时候,获取用户的划分数据,并通过使用保密共享方案,从用户的划分数据和在贮存服务器中存储的划分数据中预定数目的划分数据的组合,恢复保密信息,
其中,数据划分单元和数据再次划分单元使用的保密共享方案是根据期望的处理单位比特长度将保密信息划分为期望划分数目的划分数据的数据划分方法,在所述数据划分方法中,进一步包括:
通过将保密信息分成处理单位比特长度的单元生成多个原始部分数据,对应于多个原始部分数据中的各个数据,从短于或者等于保密信息的比特长度的长度的随机数生成多个处理单位比特长度的随机数部分数据,通过计算原始部分数据和随机数部分数据的异或,生成用来构成每个划分数据的处理单位比特长度的每个划分部分数据,来生成期望划分数目的划分数据;以及
通过从新生成的随机数生成多个处理单位比特长度的新随机数部分数据,并且通过计算划分部分数据和新随机数部分数据的异或,生成处理单位比特长度的再次划分部分数据,来生成期望划分数目的再次划分数据。
2.根据权利要求1所述的保密信息管理系统,进一步包括:
使用日志存储器单元,配置为在使用保密信息的时候,对将保密信息使用作为使用日志信息进行存储。
3.根据权利要求1所述的保密信息管理系统,进一步包括:
划分数据传送单元,配置为在恢复保密信息的时候,发送与预定数目减去用户保持的划分数据的数目之后的数量同样多的、存储在贮存服务器中的划分数据的组合到终端。
4.根据权利要求1所述的保密信息管理系统,进一步包括:
传送单元,配置为通过通信网络将要存储在终端中的划分数据的部分发送到终端。
5.根据权利要求1所述的保密信息管理系统,进一步包括:
接收单元,配置为通过通信网络接收来自终端的保密信息。
6.根据权利要求1所述的保密信息管理系统,其中数据再次划分单元通过计算多个未丢失的划分数据的异或生成一个丢失的划分数据,并接着生成再次划分数据。
7.根据权利要求1所述的保密信息管理系统,其中数据划分单元和数据再次划分单元使用保密共享方案,其通过计算每个划分数据以及对应于在生成每个划分部分数据中使用的随机数部分数据的新随机数部分数据的异或,生成构成每个再次划分数据的每个再次划分部分数据。
8.根据权利要求7所述的保密信息管理系统,其中数据划分单元和数据再次划分单元使用保密共享方案,其通过计算每个再次划分数据以及在生成对应于每个再次划分部分数据的每个划分部分数据中使用的旧随机数部分数据的异或,将旧随机数部分数据从构成每个再次划分数据的每个再次划分部分数据中删除。
9.根据权利要求1所述的保密信息管理系统,其中数据再次划分单元在从终端接收到用户的划分数据时,从存储在终端中的用户划分数据、以及存储在贮存服务器中的划分数据中预定数目的划分数据的组合,生成多个再次划分数据;
再次划分数据存储单元在将保密信息的访问权限从一个用户发送到另一个用户的时候,将多个再次划分数据的一部分存储到该另一个用户的另一个终端中作为另一个用户的划分数据,将多个再次划分数据的剩余部分存储到贮存服务器中作为新的划分数据。
10.用于管理用户的保密信息的保密信息管理方法,包括以下步骤:
通过使用保密共享方案将保密信息划分为多个划分数据,从而可以从预定数目的划分数据恢复保密信息;
将多个划分数据的一部分存储到用户的终端中作为用户的划分数据,将多个划分数据的剩余部分存储到一个或者多个贮存服务器;
通过使用保密共享方案,从存储在贮存服务器中的划分数据中预定数目的划分数据的组合,生成不同于由划分步骤获得的多个划分数据的多个再次划分数据;
将多个再次划分数据的一部分存储到终端中作为新生成的用户的划分数据,将多个再次划分数据的剩余部分存储到贮存服务器中作为新生成的划分数据,
其中,数据划分单元和数据再次划分单元使用的保密共享方案是根据期望的处理单位比特长度将保密信息划分为期望划分数目的划分数据的数据划分方法,在所述数据划分方法中,进一步包括:
通过将保密信息分成处理单位比特长度的单元生成多个原始部分数据,对应于多个原始部分数据中的各个数据,从短于或者等于保密信息的比特长度的长度的随机数生成多个处理单位比特长度的随机数部分数据,通过计算原始部分数据和随机数部分数据的异或,生成用来构成每个划分数据的处理单位比特长度的每个划分部分数据,来生成期望划分数目的划分数据;以及
通过从新生成的随机数生成多个处理单位比特长度的新随机数部分数据,并且通过计算划分部分数据和新随机数部分数据的异或,生成处理单位比特长度的再次划分部分数据,来生成期望划分数目的再次划分数据。
CN2005800043932A 2004-02-10 2005-02-10 基于保密共享方案的保密信息管理系统和方法 Active CN1918844B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP033352/2004 2004-02-10
JP2004033355A JP4708713B2 (ja) 2004-02-10 2004-02-10 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム
JP033355/2004 2004-02-10
JP2004033352A JP4602675B2 (ja) 2004-02-10 2004-02-10 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム
JP169001/2004 2004-06-07
JP2004169001A JP4664008B2 (ja) 2004-06-07 2004-06-07 アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム
PCT/JP2005/002514 WO2005076518A1 (en) 2004-02-10 2005-02-10 Secret information management scheme based on secret sharing scheme

Publications (2)

Publication Number Publication Date
CN1918844A CN1918844A (zh) 2007-02-21
CN1918844B true CN1918844B (zh) 2010-09-01

Family

ID=35003572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800043932A Active CN1918844B (zh) 2004-02-10 2005-02-10 基于保密共享方案的保密信息管理系统和方法

Country Status (2)

Country Link
JP (1) JP4602675B2 (zh)
CN (1) CN1918844B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4820688B2 (ja) 2006-05-12 2011-11-24 富士通株式会社 データ分散装置、情報分散機能を有する情報処理装置、情報処理装置のプログラム、および情報分散保存システム
JP4881119B2 (ja) 2006-09-29 2012-02-22 株式会社東芝 ユーザ認証方法、ユーザ側認証装置、および、プログラム
JP2008234017A (ja) * 2007-03-16 2008-10-02 Fuji Electric Holdings Co Ltd Icカードシステム、その情報処理端末、プログラム
JP4966232B2 (ja) * 2008-03-13 2012-07-04 株式会社東芝 分散情報追加装置、方法及びプログラム
WO2010055924A1 (ja) * 2008-11-14 2010-05-20 Okiセミコンダクタ株式会社 秘密情報伝送方法、秘密情報伝送システム及び秘密情報送信装置
WO2012046692A1 (ja) * 2010-10-06 2012-04-12 日本電信電話株式会社 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム
JP6108970B2 (ja) * 2013-06-10 2017-04-05 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ再生成装置、データ再生成方法およびプログラム
JP6087480B1 (ja) * 2016-02-03 2017-03-01 株式会社情報スペース 認証装置、認証システム及び認証プログラム
JP6534478B1 (ja) * 2018-08-16 2019-06-26 行徳紙工株式会社 ファイルの秘匿分散システム及び秘匿分散方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0723348A2 (en) * 1995-01-23 1996-07-24 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
US5675649A (en) * 1995-11-30 1997-10-07 Electronic Data Systems Corporation Process for cryptographic key generation and safekeeping
US6209091B1 (en) * 1994-01-13 2001-03-27 Certco Inc. Multi-step digital signature method and system
US6411716B1 (en) * 1995-06-05 2002-06-25 Certco, Inc. Method of changing key fragments in a multi-step digital signature system
CN1408153A (zh) * 1999-07-23 2003-04-02 英国电讯有限公司 数据发布

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3794457B2 (ja) * 1998-02-13 2006-07-05 株式会社ルネサステクノロジ データの暗号化復号化方法
JP3560860B2 (ja) * 1999-07-23 2004-09-02 株式会社東芝 秘密分散システム、装置及び記憶媒体
JP2001103045A (ja) * 1999-09-29 2001-04-13 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 暗号鍵バックアップ記憶装置
JP4194745B2 (ja) * 2000-09-19 2008-12-10 株式会社エヌ・ティ・ティ・データ 電子署名システム及び電子署名方法
JP2002312317A (ja) * 2001-04-11 2002-10-25 Casio Comput Co Ltd 認証システムおよび認証方法
JP2004048479A (ja) * 2002-07-12 2004-02-12 Kddi Corp 共有化された暗号化情報の暗号鍵管理方法
JP2004053968A (ja) * 2002-07-22 2004-02-19 Global Friendship Inc 電子情報送信システム
JP2004053969A (ja) * 2002-07-22 2004-02-19 Global Friendship Inc 電子割符生成方法およびプログラム
US7616766B2 (en) * 2002-12-19 2009-11-10 Ntt Communications Corporation Data division method and device using exclusive or calculation
JP4676695B2 (ja) * 2002-12-19 2011-04-27 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ分割方法、データ分割装置およびコンピュータプログラム
DE60329530D1 (de) * 2003-01-07 2009-11-12 Qualcomm Inc System, vorrichtung und verfahren zum auswechseln eines kryptographischen schlüssels
JP4610176B2 (ja) * 2003-04-15 2011-01-12 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム
US8085938B2 (en) * 2004-02-10 2011-12-27 Ntt Communications Corporation Secret information management scheme based on secret sharing scheme

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209091B1 (en) * 1994-01-13 2001-03-27 Certco Inc. Multi-step digital signature method and system
EP0723348A2 (en) * 1995-01-23 1996-07-24 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
US6411716B1 (en) * 1995-06-05 2002-06-25 Certco, Inc. Method of changing key fragments in a multi-step digital signature system
US5675649A (en) * 1995-11-30 1997-10-07 Electronic Data Systems Corporation Process for cryptographic key generation and safekeeping
CN1408153A (zh) * 1999-07-23 2003-04-02 英国电讯有限公司 数据发布

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
齐东旭,孙伟.基于Shamir协议的数字图像隐蔽传输.北方工业大学学报13 3.2001,13(3),1-5.
齐东旭,孙伟.基于Shamir协议的数字图像隐蔽传输.北方工业大学学报13 3.2001,13(3),1-5. *

Also Published As

Publication number Publication date
CN1918844A (zh) 2007-02-21
JP2005229178A (ja) 2005-08-25
JP4602675B2 (ja) 2010-12-22

Similar Documents

Publication Publication Date Title
CN1918844B (zh) 基于保密共享方案的保密信息管理系统和方法
EP1714423B1 (en) Secret information management scheme based on secret sharing scheme
CN108632248B (zh) 数据加密方法、数据查询方法、装置、设备及存储介质
Raman et al. Distributed storage meets secret sharing on the blockchain
CN102713995B (zh) 隐匿检索系统以及密码处理系统
CN101420428B (zh) 加密模块管理装置和方法
CN1413320B (zh) 鉴别匿名用户同时减少潜在“中间人”舞弊的方法
CN107005408A (zh) 公共密钥加密系统
CN107995299A (zh) 一种云环境下抗访问模式泄露的盲存储方法
JP2004213650A (ja) データ分割方法、データ分割装置およびコンピュータプログラム
CN107360252A (zh) 一种异构云域授权的数据安全访问方法
CN109409111A (zh) 一种面向加密图像的模糊搜索方法
JP4486851B2 (ja) 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム
Yuan Fair data transactions across private databases
Skarkala et al. Privacy preserving tree augmented naïve Bayesian multi-party implementation on horizontally partitioned databases
JP4664008B2 (ja) アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム
EP4096149A1 (en) A computer-implemented method for storing a payload data in nodes of a dlt network
JP5486468B2 (ja) 鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム
Jahan et al. Securely distributing files in cloud environment by dispensing asymmetric key management system applying hashing
Jacob et al. Towards the Secure Storage of Images on Multi-Cloud System
JPH02301240A (ja) 暗号鍵共有制御方式
Zhang A fully homomorphism encryption scheme based on LWR
Dhand et al. Securing Data Using Visual Cryptography
Ma et al. FFEC: Fast and forward-secure equivalence-based ciphertext comparability for multiple users in cloud environment
Chuang et al. An Efficient GDPR-Compliant Data Management for IoHT Applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1099152

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1099152

Country of ref document: HK