签名控制方法、签名控制程序以及信息处理装置与流程

文档序号:33197594发布日期:2023-02-04 15:02阅读:87来源:国知局
签名控制方法、签名控制程序以及信息处理装置与流程

1.本发明涉及签名控制方法、签名控制程序以及信息处理装置。


背景技术:

2.以往,为了防止文档信息的篡改,有时对文档信息给予电子的签名信息。另外,有将利用多个秘密密钥分别给予不同的多个文档信息的多个签名信息聚合为单一的签名信息的被称为聚合署名的技术。
3.作为先行技术,例如有根据第一数据部分生成第一签名要素,根据生成的第一签名要素和第二数据部分生成第一中间签名要素,根据生成的第一中间签名要素和第一秘密密钥生成第二签名要素的技术。
4.专利文献1:日本特开2013-118706号公报
5.专利文献2:日本特开2019-212241号公报
6.然而,在现有技术中,有导致验证签名信息的合法性时花费的成本的增大化这样的问题。例如,在聚合署名的技术中,为了验证生成的单一的签名信息的合法性,而预先管理与多个秘密密钥对应的多个公开密钥。因此,公开密钥的数目越增加,导致验证签名信息的合法性时的处理成本以及管理公开密钥时的管理成本的越增大化。


技术实现要素:

7.在一个侧面,本发明的目的在于实现验证签名信息的合法性时花费的成本的降低化。
8.根据一个实施方式,提出签名控制方法、签名控制程序以及信息处理装置,在签名控制方法中,获取多个文档信息和与上述多个文档信息的各个文档信息对应的签名信息,基于获取到的上述多个文档信息,生成将获取到的与上述多个文档信息的各个文档信息对应的签名信息聚合而得到的聚合签名信息,将生成的上述聚合签名信息与上述多个文档信息和将与上述多个文档信息的各个文档信息对应的公开密钥信息聚合而得到的聚合公开密钥信息建立对应关系地输出。
9.根据一方式,能够实现验证签名信息的合法性时花费的成本的降低化。
附图说明
10.图1是表示实施方式所涉及的签名控制方法的一实施例的说明图。
11.图2是表示签名控制系统200的一个例子的说明图。
12.图3是表示信息处理装置100的硬件构成例的框图。
13.图4是表示控制信息管理表格400的存储内容的一个例子的说明图。
14.图5是表示验证侧终端207的硬件构成例的框图。
15.图6是表示签名控制系统200的功能构成例的框图。
16.图7是表示与制作者对应的签名侧终端201的具体的功能构成例的框图。
17.图8是表示与批准者对应的签名侧终端202的具体的功能构成例的框图。
18.图9是表示验证侧终端207的具体的功能构成例的框图。
19.图10是表示私人ca服务器204的具体的功能构成例的框图。
20.图11是表示文档管理服务器205的具体的功能构成例的说明图。
21.图12是表示签名控制系统200的动作的一个例子的说明图。
22.图13是表示签名控制系统200的动作的具体例的说明图(其一)。
23.图14是表示签名控制系统200的动作的具体例的说明图(其二)。
24.图15是表示签名控制系统200的动作的具体例的说明图(其三)。
25.图16是表示验证签名的一个例子的说明图。
26.图17是表示设定辅助参数d的一个例子的说明图(其一)。
27.图18是表示设定辅助参数d的一个例子的说明图(其二)。
28.图19是表示修正聚合签名的一个例子的说明图(其一)。
29.图20是表示修正聚合签名的一个例子的说明图(其二)。
30.图21是表示签名控制系统200的效果的说明图。
31.图22是表示密钥生成处理顺序的一个例子的流程图。
32.图23是表示文档制作处理顺序的一个例子的流程图。
33.图24是表示文档批准处理顺序的一个例子的流程图。
34.图25是表示文档裁决处理顺序的一个例子的流程图。
35.图26是表示签名聚合处理顺序的一个例子的流程图。
36.图27是表示重新验证处理顺序的一个例子的流程图。
37.图28是表示其它的签名聚合处理顺序的一个例子的流程图。
38.图29是表示无效化处理顺序的一个例子的流程图。
具体实施方式
39.以下,参照附图,对本发明所涉及的签名控制方法、签名控制程序以及信息处理装置的实施方式进行详细的说明。
40.(实施方式所涉及的签名控制方法的一实施例)
41.图1是表示实施方式所涉及的签名控制方法的一实施例的说明图。信息处理装置100是用于生成给予文档信息的签名信息的计算机。信息处理装置100是服务器或者pc(personal computer:个人计算机)等。
42.为了文档信息的篡改防止或者为了表明文档信息的内容的证明、确认、批准或者同意等意思而利用签名信息。例如,在商业上,考虑在法人制作并向法人外发出的最终版的文档信息赋予代表法人的签名信息,并向法人外发出。法人外的验证者对在最终版的文档信息赋予的代表法人的签名信息进行验证,确认是否最终版的文档信息未被篡改而合法。在eu圈,有利用被称为e-seal的签名信息作为代表法人的签名信息的趋势。
43.具体而言,考虑在法人内,根据批准流程,多个批准者在对文档信息进行修订的同时对文档信息赋予个人的签名信息,在文档信息成为最终版之后,服务器对最终版的文档信息赋予代表法人的签名信息的用例。在这样的用例中,服务器在文档信息成为最终版之前,仅在确认了由各个批准者给予文档信息的签名信息全部合法的情况下,对文档信息赋
予代表法人的签名信息。
44.然而,在这样的用例中,有错误地对非法的文档信息赋予代表法人的签名信息的情况。非法的文档信息例如是对法人的攻击者制作的文档信息、进行了篡改的文档信息、或者违反批准流程而未被至少任意一个批准者批准的文档信息等。
45.例如,在这样的用例中,对最终版的文档信息赋予代表法人的签名信息的服务器被破解的结果是,有对非法的文档信息赋予代表法人的签名信息的情况。该情况下,法人外的验证者基于代表法人的签名信息,错误地将非法的文档信息判断为合法的文档信息。另外,该情况下,法人外的验证者不能够对多个批准者根据批准流程对文档信息进行批准并对文档信息赋予个人的签名信息的过程进行验证,而难以验证文档信息是否合法。
46.这里,错误地对非法的文档信息赋予代表法人的签名信息的风险具体而言能够参考总务省公开的下述非专利文献1所记载的内容。
47.非专利文献1:西山晃,“日本的e-seal的用例和课题”,[online],2019年3月19日,japan trust service forum,[2020年6月26日检索],因特网<url:https://www.soumu.go.jp/main_content/000607659.pdf>
[0048]
因此,期望能够对多个批准者根据批准流程对文档信息赋予个人的签名信息的过程进行验证,并且能够仅对合法的文档信息正确地赋予代表法人的签名信息。换句话说,期望避免错误地对非法的文档信息赋予代表法人的签名信息的风险。
[0049]
与此相对,存在被称为聚合署名的技术。聚合署名例如是将利用多个秘密密钥信息分别对不同的多个文档信息赋予的多个签名信息聚合为单一的签名信息的技术。这里,聚合署名的安装方式例如有基于bls签名的安装方式或者基于格子密码的安装方式等。
[0050]
考虑将该聚合署名应用于上述的用例,将多个批准者分别对不同版的文档信息赋予的签名信息聚合为单一的签名信息,并赋予给最终版的文档信息这样的方法。根据该方法,考虑法人外的验证者能够通过基于与多个秘密密钥信息对应的多个公开密钥信息,对单一的签名信息进行验证,来验证多个批准者根据批准流程对文档信息赋予个人的签名信息的过程。在数学上,验证单一的签名信息相当于验证成为聚合源的多个签名信息。
[0051]
另一方面,在该方法中,将与多个秘密密钥信息对应的多个公开密钥信息以法人外的验证者能够参照的方式登记在公开用的存储器装置。这里,若批准者的数目增加,则登记于存储器装置的公开密钥信息的数目也增加。因此,导致管理公开密钥信息时所花费的管理成本的增大化。另外,导致验证单一的签名信息时所花费的处理成本的增大化。
[0052]
因此,在本实施方式中,对能够通过实现验证签名信息的合法性时使用的公开密钥信息的数目的降低化,来实现验证签名信息的合法性时所花费的管理成本以及处理成本的降低化的签名控制方法进行说明。
[0053]
在图1中,信息处理装置100具有签名聚合算法。签名聚合算法规定生成将多个签名信息聚合而得到的一个聚合签名信息的方法。信息处理装置100具有密钥聚合算法。密钥聚合算法规定生成将多个公开密钥信息聚合而得到的一个聚合公开密钥信息的方法。
[0054]
(1-1)信息处理装置100获取多个文档信息和与多个文档信息的各个文档信息对应的签名信息。文档信息例如是合同书或者源代码等由多人进行修订的文档信息。在图1的例子中,信息处理装置100获取文档1~3和与文档1~3对应的签名1~3。
[0055]
(1-2)信息处理装置100基于获取到的多个文档信息,生成将获取到的与多个文档
信息的各个文档信息对应的签名信息聚合而得到的聚合签名信息。在图1的例子中,信息处理装置100根据签名聚合算法,基于文档1~3,生成将与文档1~3对应的签名1~3聚合而得到的聚合签名信息110。
[0056]
(1-3)信息处理装置100基于获取到的多个文档信息的各个文档信息所对应的公开密钥信息,生成将与各个文档信息对应的公开密钥信息聚合而得到的聚合公开密钥信息。在图1的例子中,信息处理装置100根据密钥聚合算法,基于公开密钥束120,生成将公开密钥束120聚合而得到的聚合公开密钥信息121。
[0057]
(1-4)信息处理装置100将生成的聚合签名信息与生成的聚合公开密钥信息和多个文档信息建立对应关系地输出。信息处理装置100以能够确定与聚合公开密钥信息和多个文档信息的对应关系的方式输出聚合签名信息。将聚合签名信息与多个文档信息建立对应关系例如是指将聚合签名信息与最终版的文档信息和最终版以外的文档信息的散列值建立对应关系。
[0058]
在图1的例子中,信息处理装置100与文档1~3建立对应关系地输出生成的聚合签名信息110和生成的聚合公开密钥信息121。具体而言,信息处理装置100与文档1~3建立对应关系地将生成的聚合签名信息110和生成的聚合公开密钥信息121以能够在其它的计算机中参照的方式输出。其它的计算机例如是与验证者对应的计算机。
[0059]
由此,信息处理装置100能够实现在与验证者对应的计算机中参照的公开密钥信息的数目的降低化,能够实现管理公开密钥信息时所花费的管理成本以及利用公开密钥信息时所花费的处理成本的降低化。另外,信息处理装置100能够使验证者侧能够基于聚合签名信息验证生成成为聚合签名信息的聚合源的多个签名信息的经过。因此,信息处理装置100能够防止在验证者侧错误地将非法的文档信息判断为合法的文档信息的情况。
[0060]
(1-5)其它的计算机具有单密钥验证算法。其它的计算机接受与多个文档信息建立有对应关系的聚合签名信息和聚合公开密钥信息。其它的计算机例如从信息处理装置100接收与多个文档信息建立有对应关系的聚合签名信息和聚合公开密钥信息。
[0061]
(1-6)其它的计算机基于多个文档信息、接受到的聚合签名信息以及接受到的聚合公开密钥信息,验证接受到的聚合签名信息的合法性。其它的计算机例如获取与多个文档信息的各个文档信息对应的散列值。然后,其它的计算机例如根据单密钥验证算法,基于获取到的散列值、接受到的聚合签名信息以及接受到的聚合公开密钥信息,验证接受到的聚合签名信息的合法性。
[0062]
由此,其它的计算机能够基于聚合签名信息,验证生成成为聚合签名信息的聚合源的多个签名信息的经过。因此,能够避免其它的计算机错误地将非法的文档信息判断为合法的文档信息的情况。
[0063]
这里,虽然对信息处理装置100生成将与各个文档信息对应的公开密钥信息聚合而得到的聚合公开密钥信息的情况进行了说明,但并不限定于此。例如,也可以有与信息处理装置100分开地存在生成将与各个文档信息对应的公开密钥信息聚合而得到的聚合公开密钥信息的生成装置的情况。该情况下,生成装置向验证者侧提供聚合公开密钥信息。信息处理装置100以能够确定与聚合公开密钥信息对应的方式将生成的聚合签名信息提供给验证者侧。
[0064]
(签名控制系统200的一个例子)
[0065]
接下来,使用图2,对应用了图1所示的信息处理装置100的签名控制系统200的一个例子进行说明。
[0066]
图2是表示签名控制系统200的一个例子的说明图。在图2中,签名控制系统200包括与制作者对应的签名侧终端201、与批准者对应的签名侧终端202、与裁决者对应的签名侧终端203、私人ca服务器204以及文档管理服务器205。并且,签名控制系统200包括公共ca服务器206和与验证者对应的验证侧终端207。
[0067]
在签名控制系统200中,各个签名侧终端201~203与私人ca服务器204经由有线或者无线的网络210连接。网络210例如是lan(local area network:局域网)、wan(wide area network:广域网)、因特网等。
[0068]
另外,在签名控制系统200中,各个签名侧终端201~203与文档管理服务器205经由有线或者无线的网络210连接。另外,在签名控制系统200中,私人ca服务器204与公共ca服务器206经由有线或者无线的网络210连接。
[0069]
另外,在签名控制系统200中,文档管理服务器205与验证侧终端207经由有线或者无线的网络210连接。另外,在签名控制系统200中,公共ca服务器206与验证侧终端207经由有线或者无线的网络210连接。
[0070]
签名侧终端201是由制作文档信息的制作者使用的计算机。签名侧终端201基于制作者的操作输入,生成新的文档信息。签名侧终端201生成秘密密钥信息与公开密钥信息的密钥信息对。签名侧终端201基于生成的密钥信息对的秘密密钥信息,生成对生成的新的文档信息赋予的签名信息。签名侧终端201将生成的新的文档信息与生成的签名信息建立对应关系地发送到文档管理服务器205。签名侧终端201将生成的密钥信息对的公开密钥信息发送到私人ca服务器204。签名侧终端201例如是服务器、pc、平板终端或者智能手机等。
[0071]
签名侧终端202是由对文档信息进行批准的批准者使用的计算机。签名侧终端202基于批准者的操作输入,从文档管理服务器205获取赋予了签名信息的文档信息。签名侧终端202基于批准者的操作输入,对获取到的文档信息进行修订,生成新的文档信息。签名侧终端202生成秘密密钥信息与公开密钥信息的密钥信息对。签名侧终端202基于生成的密钥信息对的秘密密钥信息,生成对生成的新的文档信息赋予的签名信息。签名侧终端202将生成的新的文档信息与生成的签名信息建立对应关系地发送给文档管理服务器205。签名侧终端202将生成的密钥信息对的公开密钥信息发送到私人ca服务器204。签名侧终端202例如是服务器、pc、平板终端或者智能手机等。
[0072]
签名侧终端203是由裁决文档信息的裁决者使用的计算机。签名侧终端203基于裁决者的操作输入,从文档管理服务器205获取赋予了签名信息的文档信息。签名侧终端203基于裁决者的操作输入,对获取到的文档信息进行修订,生成新的文档信息。签名侧终端203生成秘密密钥信息与公开密钥信息的密钥信息对。签名侧终端203基于生成的密钥信息对的秘密密钥信息,生成对生成的新的文档信息赋予的签名信息。签名侧终端203将生成的新的文档信息与生成的签名信息建立对应关系地发送到文档管理服务器205。签名侧终端203将生成的密钥信息对的公开密钥信息发送给私人ca服务器204。签名侧终端203例如是服务器、pc、平板终端或者智能手机等。
[0073]
私人ca服务器204是管理公开密钥信息的计算机。私人ca服务器204具有作为图1所示的信息处理装置100的功能。私人ca服务器204生成将多个公开密钥信息聚合而得到的
聚合公开密钥信息。私人ca服务器204将生成的聚合公开密钥信息发送给公共ca服务器206。私人ca服务器204例如是服务器或者pc等。
[0074]
文档管理服务器205是管理与文档信息建立有对应关系的签名信息的计算机。文档管理服务器205具有作为图1所示的信息处理装置100的功能。文档管理服务器205生成将多个签名信息聚合而得到的聚合签名信息。文档管理服务器205将生成的聚合签名信息存储于在图4后述的控制信息管理表格400。文档管理服务器205将生成的聚合签名信息发送到验证侧终端207。文档管理服务器205例如是服务器或者pc等。
[0075]
公共ca服务器206是管理聚合公开密钥信息的计算机。公共ca服务器206从私人ca服务器204接收聚合公开密钥信息。公共ca服务器206将接收到的聚合公开密钥信息发送到验证侧终端207。公共ca服务器206例如是服务器或者pc等。
[0076]
验证侧终端207是由验证者使用的计算机。验证侧终端207从文档管理服务器205接收聚合签名信息。验证侧终端207从公共ca服务器206接收聚合公开密钥信息。验证侧终端207基于接收到的聚合公开密钥信息,验证接收到的聚合签名信息是否合法。验证侧终端207例如是服务器或者pc等。
[0077]
这里,对签名控制系统200包括一个与批准者对应的签名侧终端202的情况进行了说明,但并不限定于此。例如,也可以有签名控制系统200包括多个与批准者对应的签名侧终端202的情况。这里,对私人ca服务器204与文档管理服务器205为不同的装置的情况进行了说明,但并不限定于此。例如,也可以有私人ca服务器204与文档管理服务器205为一体的情况。
[0078]
(信息处理装置100的硬件构成例)
[0079]
接下来,使用图3,对应用于私人ca服务器204以及文档管理服务器205的信息处理装置100的硬件构成例进行说明。
[0080]
图3是表示信息处理装置100的硬件构成例的框图。在图3中,信息处理装置100具有cpu(central processing unit:中央处理器)301、存储器302、网络i/f(interface:接口)303、记录介质i/f304以及记录介质305。另外,各构成部通过总线300彼此连接。
[0081]
这里,cpu301担负信息处理装置100的整体的控制。存储器302例如具有rom(read only memory:只读存储器)、ram(random access memory:随机存取存储器)以及闪存rom等。具体而言,例如,闪存rom、rom存储各种程序,ram作为cpu301的工作区使用。通过将存储于存储器302的程序加载到cpu301,使cpu301执行编码的处理。
[0082]
网络i/f303通过通信线路与网络210连接,并经由网络210与其它的计算机连接。而且,网络i/f303管理网络210与内部的接口,控制从其它的计算机的数据的输入输出。网络i/f303例如是调制解调器、lan适配器等。
[0083]
记录介质i/f304根据cpu301的控制进行对记录介质305的数据的读/写的控制。记录介质i/f304例如是磁盘驱动器、ssd(solid state drive:固盘)、usb(universal serial bus:通用串行总线)端口等。记录介质305是存储在记录介质i/f304的控制下写入的数据的非易失性存储器。记录介质305例如是磁盘、半导体存储器、usb存储器等。记录介质305也可以能够从信息处理装置100拆装。
[0084]
信息处理装置100除了上述的构成部之外,例如也可以具有键盘、鼠标、显示器、打印机、扫描仪、麦克、扬声器等。另外,信息处理装置100也可以具有多个记录介质i/f304、记
录介质305。另外,信息处理装置100也可以不具有记录介质i/f304或者记录介质305。
[0085]
(控制信息管理表格400的存储内容)
[0086]
接下来,使用图4,对控制信息管理表格400的存储内容的一个例子进行说明。例如通过图3所示的信息处理装置100的存储器302、记录介质305等存储区域实现控制信息管理表格400。
[0087]
图4是表示控制信息管理表格400的存储内容的一个例子的说明图。如图4所示,控制信息管理表格400具有签名者、文档信息、签名对象、秘密密钥、公开密钥以及签名信息的字段。控制信息管理表格400通过对每个签名者在各字段设定信息,作为记录400-a存储控制信息。a是任意的整数。
[0088]
在签名者的字段设定有识别对文档信息赋予签名信息的签名者的识别信息。签名者例如包括法人。在文档信息的字段设定有被赋予签名信息的文档信息。文档信息也可以包括表示文责者或者裁决者的批准流程信息。文责者例如是制作者或者批准者。批准流程信息能够确定能够基于将哪些公开密钥信息聚合而得到的聚合公开密钥信息验证对文档信息赋予的聚合签名信息的合法性。在签名对象的字段设定有与文档信息对应的散列值。在秘密密钥的字段设定有在生成签名信息时使用的秘密密钥信息。在公开密钥的字段设定有与秘密密钥信息对应的公开密钥信息。在签名信息的字段设定有对文档信息赋予的签名信息。
[0089]
(验证侧终端207的硬件构成例)
[0090]
接下来,使用图5,对验证侧终端207的硬件构成例进行说明。
[0091]
图5是表示验证侧终端207的硬件构成例的框图。在图5中,验证侧终端207具有cpu501、存储器502、网络i/f503、记录介质i/f504以及记录介质505。另外,各构成部通过总线500彼此连接。
[0092]
这里,cpu501担负验证侧终端207的整体的控制。存储器502例如具有rom、ram以及闪存rom等。具体而言,例如闪存rom、rom存储各种程序,ram作为cpu501的工作区使用。通过将存储于存储器502的程序加载到cpu501,使cpu501执行编码的处理。
[0093]
网络i/f503通过通信线路与网络210连接,并经由网络210与其它的计算机连接。而且,网络i/f503管理网络210与内部的接口,控制来自其它的计算机的数据的输入输出。网络i/f503例如是调制解调器、lan适配器等。
[0094]
记录介质i/f504根据cpu501的控制进行对记录介质505的数据的读/写的控制。记录介质i/f504例如是磁盘驱动器、ssd、usb端口等。记录介质505是存储在记录介质i/f504的控制下写入的数据的非易失性存储器。记录介质505例如是磁盘、半导体存储器、usb存储器等。记录介质505也可以能够从验证侧终端207拆装。
[0095]
验证侧终端207除了上述的构成部之外,例如也可以具有键盘、鼠标、显示器、打印机、扫描仪、麦克、扬声器等。另外,验证侧终端207也可以具有多个记录介质i/f504、记录介质505。另外,验证侧终端207也可以不具有记录介质i/f504或者记录介质505。
[0096]
(签名控制系统200的功能构成例)
[0097]
接下来,使用图6,对签名控制系统200的功能构成例进行说明。
[0098]
图6是表示签名控制系统200的功能构成例的框图。在签名控制系统200中,信息处理装置100包括第一存储部600、第一获取部601、第一生成部602、修正部603、解析部604、第
二生成部605以及第一输出部606。
[0099]
例如,通过图3所示的存储器302、记录介质305等存储区域实现第一存储部600。以下,对第一存储部600包括于信息处理装置100的情况进行说明,但并不限定于此。例如,也可以有第一存储部600包括于与信息处理装置100不同的装置,且能够从信息处理装置100参照第一存储部600的存储内容的情况。
[0100]
第一获取部601~第一输出部606作为信息处理装置100的控制部的一个例子发挥作用。具体而言,例如通过使cpu301执行存储于图3所示的存储器302、记录介质305等存储区域的程序或者通过网络i/f303,实现第一获取部601~第一输出部606的功能。各功能部的处理结果例如存储于图3所示的存储器302、记录介质305等存储区域。
[0101]
第一存储部600存储在各功能部的处理中参照或者更新的各种信息。第一存储部600存储多个文档信息。文档信息例如是合同书或者源代码等等由多人进行修订的文档信息。多个文档信息例如包括表示第一文档的多个版的各个版的文档信息。
[0102]
第一存储部600对每个签名者存储密钥对。密钥对包括秘密密钥信息和公开密钥信息。签名者例如包括法人。第一存储部600根据规定的批准流程,按照每个规定的签名者存储密钥对。第一存储部600存储的密钥对的公开密钥信息也可以包括不与第一存储部600存储的任何文档信息对应的公开密钥信息。
[0103]
第一存储部600与文档信息建立对应关系地存储对文档信息赋予的签名信息。第一存储部600例如按照预先决定的每个签名者,将文档信息、公开密钥信息以及签名信息建立对应关系地存储。具体而言,第一存储部600存储图4所示的控制信息管理表格400。
[0104]
第一获取部601获取各功能部的处理所使用的各种信息。第一获取部601将获取到的各种信息存储于第一存储部600或者输出到各功能部。另外,第一获取部601也可以将存储于第一存储部600的各种信息输出到各功能部。第一获取部601例如基于利用者的操作输入,获取各种信息。第一获取部601例如也可以从与信息处理装置100不同的装置接收各种信息。
[0105]
第一获取部601获取多个文档信息和与多个文档信息的各个文档信息对应的签名信息。第一获取部601例如通过从各个签名侧终端201~203收集文档信息和与文档信息对应的签名信息,获取多个文档信息和与多个文档信息的各个文档信息对应的签名信息。第一获取部601例如也可以基于利用者的操作输入,获取多个文档信息和与多个文档信息的各个文档信息对应的签名信息。
[0106]
第一获取部601也可以接受开始任意一个功能部的处理的开始触发。开始触发例如是有利用者的规定的操作输入。开始触发例如也可以是从其它的计算机接收了规定的信息。开始触发例如也可以是任意一个功能部输出了规定的信息。第一获取部601例如也可以接受获取了多个文档信息和与多个文档信息的各个文档信息对应的签名信息这一情况,作为开始第一生成部602~第二生成部605的处理的开始触发。
[0107]
第一生成部602基于获取到的多个文档信息,生成将获取到的与多个文档信息的各个文档信息对应的签名信息聚合而得到的聚合签名信息。
[0108]
第一生成部602基于与获取到的多个文档信息的各个文档信息对应的散列值,生成聚合签名信息。第一生成部602例如利用schnorr签名算法。能够基于获取到的多个文档信息、第一生成部602生成的聚合签名信息、以及第二生成部605生成的聚合公开密钥信息
来验证第一生成部602生成的聚合签名信息的合法性。由此,第一生成部602能够得到能够在验证者侧验证文档信息的合法性的聚合签名信息。
[0109]
第一生成部602基于安全质数和与获取到的多个文档信息的各个文档信息对应的散列值,生成聚合签名信息。第一生成部602例如基于安全质数和与获取到的多个文档信息的各个文档信息对应的散列值,设定参数。然后,第一生成部602基于设定的参数,生成聚合签名信息。由此,第一生成部602能够实现生成聚合签名信息时所涉及的处理量的降低化。
[0110]
第一生成部602基于由种子和与上述第一文档的各个版对应的散列值形成的散列链,生成检查散列值。由此,第一生成部602能够得到能够在验证者侧精度更好地验证文档信息的合法性的检查散列值。
[0111]
第二生成部605基于与获取到的多个文档信息的各个文档信息对应的公开密钥信息,生成将与各个文档信息对应的公开密钥信息聚合而得到的聚合公开密钥信息。与文档信息对应的公开密钥信息是生成与文档信息对应的签名信息时使用的秘密密钥信息所对应的公开密钥信息。由此,第二生成部605能够实现在验证者侧验证聚合签名信息的合法性时使用的公开密钥信息的数目的减少化,能够实现验证聚合签名信息的合法性时所花费的成本的降低化。
[0112]
第二生成部605生成将与获取到的多个文档信息的各个文档信息对应的公开密钥信息、和不与获取到的多个文档信息中的任何文档信息对应的公开密钥信息聚合而得到的聚合公开密钥信息。第二生成部605例如即使第一存储部600存储不与任何文档信息对应的公开密钥信息,也生成将第一存储部600存储的公开密钥信息聚合而得到的聚合公开密钥信息。由此,第二生成部605能够根据规定的批准流程,得到聚合公开密钥信息。
[0113]
修正部603基于不与任何文档信息对应的公开密钥信息,生成对生成的聚合签名信息进行修正后的修正签名信息。由此,即使违反规定的批准流程,未生成基于任何秘密密钥信息的签名信息,修正部603也能够得到能够基于聚合公开密钥信息验证的修正签名信息。
[0114]
解析部604在判定为与多个文档信息建立对应关系地输出的聚合签名信息不合法的情况下,确定成为聚合源的多个签名信息中的哪个签名信息不合法。解析部604例如验证成为聚合源的多个签名信息的各个签名信息是否合法。
[0115]
解析部604例如在判定为聚合签名信息不合法的情况下,获取将成为聚合签名信息的聚合源的签名信息中的一部分的签名信息聚合而得到的聚合签名信息、和将一部分的签名信息以外的签名信息聚合而得到的聚合签名信息的两个聚合签名信息。然后,解析部604对获取到的两个聚合签名信息的各个聚合签名信息的合法性进行验证。由此,解析部604能够确定成为聚合源的多个签名信息中的哪个签名信息不合法,能够在验证者侧进行把握。
[0116]
并且,例如考虑判定为获取到的两个聚合签名信息中的至少任意一个聚合签名信息不合法的情况。该情况下,解析部604例如新获取将成为判定为不合法的任意一个聚合签名信息的聚合源的签名信息中的一部分的签名信息聚合而得到的聚合签名信息、和将一部分的签名信息以外的签名信息聚合而得到的聚合签名信息的两个聚合签名信息。然后,解析部604对新获取到的两个聚合签名信息的各个聚合签名信息的合法性进行验证。由此,解析部604能够确定成为聚合源的多个签名信息中的哪个签名信息不合法,能够在验证者侧
进行把握。
[0117]
第一输出部606输出至少任意一个功能部的处理结果。输出形式例如是向显示器的显示、向打印机的打印输出、基于网络i/f303的向外部装置的发送或者向存储器302、记录介质305等存储区域的存储。由此,第一输出部606能够向利用者通知至少任意一个功能部的处理结果。
[0118]
第一输出部606输出生成的聚合签名信息。第一输出部606例如将生成的聚合签名信息与表示批准流程且能够确定聚合公开密钥信息的信息一起与多个文档信息建立对应关系地输出到验证者。由此,第一输出部606能够使验证者侧能够验证文档信息的合法性。
[0119]
第一输出部606输出生成的聚合公开密钥信息。第一输出部606例如将生成的聚合公开密钥信息输出到验证者。具体而言,第一输出部606将生成的聚合公开密钥信息以能够由验证者进行参照的方式登记于公共ca服务器206。由此,第一输出部606能够使验证者侧能够验证文档信息的合法性。
[0120]
第一输出部606将生成的聚合签名信息与生成的聚合公开密钥信息和多个文档信息建立对应关系地输出。第一输出部606例如将生成的聚合签名信息与生成的聚合公开密钥信息和获取到的多个文档信息建立对应关系地输出到获取到的多个文档信息的验证者。聚合签名信息例如通过与多个文档信息的最终版的文档信息和与最终版以外的文档信息对应的散列值建立对应关系,而与多个文档信息建立对应关系。聚合签名信息例如根据与聚合签名信息建立有对应关系的最终版的文档信息所包括的识别文责者以及裁决者的信息,与聚合公开密钥信息建立对应关系。由此,第一输出部606能够使验证者侧能够验证文档信息的合法性。
[0121]
第一输出部606输出验证了获取到的两个聚合签名信息的各个聚合签名信息的合法性的结果。第一输出部606例如以能够由利用者进行参照的方式输出验证了获取到的两个聚合签名信息的各个聚合签名信息的合法性的结果。由此,第一输出部606能够使利用者能够把握哪个签名信息不合法,哪个批准者的批准行为有问题。
[0122]
第一输出部606输出生成的修正签名信息。第一输出部606例如将生成的修正签名信息与表示批准流程且能够确定聚合公开密钥信息的信息一起与多个文档信息建立对应关系地输出到验证者。由此,第一输出部606能够使验证者侧能够验证文档信息的合法性。
[0123]
第一输出部606将生成的修正签名信息与生成的聚合公开密钥信息和多个文档信息建立对应关系地输出。第一输出部606例如将生成的修正签名信息与生成的聚合公开密钥信息和多个文档信息建立对应关系地输出到验证者。由此,即使在违反规定的批准流程,未生成基于任何秘密密钥信息的签名信息,修正部603也能够使验证者侧能够验证文档信息的合法性。
[0124]
第一输出部606例如将检查散列值与聚合签名信息建立对应关系地输出。由此,第一输出部606能够使验证者侧能够精度更好地验证文档信息的合法性。
[0125]
在签名控制系统200中,验证侧终端207包括第二存储部610、第二获取部611、验证部612以及第二输出部613。
[0126]
第二存储部610例如由图5所示的存储器502、记录介质505等存储区域实现。以下,对第二存储部610包括于验证侧终端207的情况进行说明,但并不限定于此。例如,也可以有第二存储部610包括于与验证侧终端207不同的装置,且能够从验证侧终端207参照第二存
储部610的存储内容的情况。
[0127]
第二获取部611~第二输出部613作为验证侧终端207的控制部的一个例子发挥作用。具体而言,第二获取部611~第二输出部613例如通过使cpu501执行存储于图5所示的存储器502、记录介质505等存储区域的程序或者通过网络i/f503,实现其功能。各功能部的处理结果例如存储于图5所示的存储器502、记录介质505等存储区域。
[0128]
第二存储部610存储在各功能部的处理中参照或者更新的各种信息。第二存储部610存储与多个文档信息建立有对应关系的、将与多个文档信息的各个文档信息对应的签名信息聚合而得到的聚合签名信息、和将与多个文档信息的各个文档信息对应的公开密钥信息聚合而得到的聚合公开密钥信息。第二存储部610例如存储与多个文档信息中的最终版的文档信息、和与多个文档信息中的最终版以外的文档信息对应的散列值的组合建立有对应关系的聚合签名信息和聚合公开密钥信息。
[0129]
第二获取部611获取各功能部的处理所使用的各种信息。第二获取部611将获取到的各种信息存储于存储部或者输出到各功能部。另外,第二获取部611也可以将存储于存储部的各种信息输出到各功能部。第二获取部611例如基于利用者的操作输入,获取各种信息。第二获取部611例如也可以从与验证侧终端207不同的装置接收各种信息。
[0130]
第二获取部611获取与多个文档信息建立有对应关系的聚合签名信息和聚合公开密钥信息。第二获取部611例如从生成聚合签名信息的装置获取与多个文档信息建立有对应关系的聚合签名信息。第二获取部611例如从生成聚合公开密钥信息的装置获取与多个文档信息建立有对应关系的聚合公开密钥信息。
[0131]
第二存储部610例如通过从信息处理装置100接收来获取与最终版的文档信息和与最终版以外的文档信息对应的散列值的组合建立有对应关系的聚合签名信息和聚合公开密钥信息。第二存储部610例如也可以基于验证者的操作输入,接受与多个文档信息建立有对应关系的聚合签名信息和聚合公开密钥信息。
[0132]
第二获取部611也可以接受开始任意一个功能部的处理的开始触发。开始触发例如是有利用者的规定的操作输入。开始触发例如也可以是从其它的计算机接收了规定的信息。开始触发例如也可以是任意一个功能部输出了规定的信息。第二获取部611例如接受获取了与多个文档信息建立有对应关系的聚合签名信息和聚合公开密钥信息这一情况,作为开始验证部612的处理的开始触发。
[0133]
验证部612基于多个文档信息、接受到的聚合签名信息以及接受到的聚合公开密钥信息,验证接受到的聚合签名信息的合法性。验证部612例如基于与多个文档信息的各个文档信息对应的散列值、接受到的聚合签名信息以及接受到的聚合公开密钥信息,验证接受到的聚合签名信息的合法性。由此,验证部612能够验证聚合签名信息的合法性,能够验证文档信息的合法性。
[0134]
第二输出部613输出至少任意一个功能部的处理结果。输出形式例如是向显示器的显示、向打印机的打印输出、基于网络i/f503的向外部装置的发送或者向存储器502、记录介质505等存储区域的存储。由此,第二输出部613能够向利用者通知至少任意一个功能部的处理结果。第二输出部613例如输出验证部612进行验证的结果。
[0135]
这里,对信息处理装置100不具有验证部612的情况进行了说明,但并不限定于此。例如,也可以有信息处理装置100具有验证部612的情况。另外,这里,对信息处理装置100具
有第二生成部605的情况进行了说明,但并不限定于此。例如,也可以有信息处理装置100不具有第二生成部605,而存在具有第二生成部605的其它的计算机的情况。
[0136]
(签名控制系统200的具体的功能构成例)
[0137]
接下来,使用图7~图11,对签名控制系统200的具体的功能构成例进行说明。例如,使用图7~图11,对签名控制系统200所包括的各种装置的具体的功能构成例进行说明。
[0138]
首先,使用图7,对与制作者对应的签名侧终端201的具体的功能构成例进行说明。
[0139]
图7是表示与制作者对应的签名侧终端201的具体的功能构成例的框图。在签名控制系统200中,与制作者对应的签名侧终端201包括密钥对生成部700、数据接收部701、种子值生成部702、文档制作部703、散列值计算部704、签名生成部705以及数据发送部706。
[0140]
另外,与制作者对应的签名侧终端201包括秘密密钥存储部710和公开密钥存储部720。秘密密钥存储部710存储在签名侧终端201生成的秘密密钥。公开密钥存储部720存储在签名侧终端201生成的公开密钥。
[0141]
密钥对生成部700生成秘密密钥与公开密钥的密钥对,将秘密密钥存储于秘密密钥存储部710,并将公开密钥存储于公开密钥存储部720。数据接收部701接收用于生成消息的数据。种子值生成部702生成种子。文档制作部703基于接收到的数据生成消息。散列值计算部704计算与生成的消息对应的散列值。签名生成部705基于计算出的散列值,生成给予消息的签名。
[0142]
数据发送部706将赋予了生成的签名的带签名消息发送给文档管理服务器205。在文档管理服务器205中,在图11后述的带签名文档存储部1110存储赋予了生成的签名的带签名消息。数据发送部706将公开密钥发送给私人ca服务器204。在私人ca服务器204中,在图10后述的个人公开密钥存储部1010存储公开密钥。
[0143]
接下来,使用图8,对与批准者对应的签名侧终端202的具体的功能构成例进行说明。
[0144]
图8是表示与批准者对应的签名侧终端202的具体的功能构成例的框图。在签名控制系统200中,与批准者对应的签名侧终端202包括密钥对生成部800、数据接收部801、文档制作部802、散列值计算部803、签名生成部804以及数据发送部805。
[0145]
另外,与批准者对应的签名侧终端202包括秘密密钥存储部810和公开密钥存储部820。秘密密钥存储部810存储在签名侧终端202生成的秘密密钥。公开密钥存储部820存储在签名侧终端202生成的公开密钥。
[0146]
密钥对生成部800生成秘密密钥与公开密钥的密钥对,将秘密密钥存储于秘密密钥存储部810,并将公开密钥存储于公开密钥存储部820。数据接收部801从文档管理服务器205接收带签名消息。数据接收部801接收用于对接收到的带签名消息进行修订来生成新的消息的数据。文档制作部802基于接收到的带签名消息和接收到的数据,生成新的消息。散列值计算部803计算与生成的消息对应的散列值。签名生成部804基于计算出的散列值,生成给予消息的签名。
[0147]
数据发送部805将赋予了生成的签名的带签名消息发送给文档管理服务器205。在文档管理服务器205中,在图11后述的带签名文档存储部1110存储赋予了生成的签名的带签名消息。数据发送部805将公开密钥发送到私人ca服务器204。在私人ca服务器204中,在图10后述的个人公开密钥存储部1010存储公开密钥。
[0148]
另外,与裁决者对应的签名侧终端203的具体的功能构成例例如与批准者所对应的签名侧终端202的具体的功能构成例相同。
[0149]
接下来,使用图9,对验证侧终端207的具体的功能构成例进行说明。
[0150]
图9是表示验证侧终端207的具体的功能构成例的框图。在签名控制系统200中,验证侧终端207包括数据接收部901、散列链验证部902以及聚合签名验证部903。另外,验证侧终端207包括带聚合签名文档存储部910。另一方面,公共ca服务器206包括组织公开密钥存储部900。组织公开密钥存储部900存储聚合公开密钥。
[0151]
带聚合签名文档存储部910存储带聚合签名消息。带聚合签名消息例如从文档管理服务器205发送。数据接收部901从公共ca服务器206接收验证聚合签名的合法性时所使用的聚合公开密钥。散列链验证部902基于对带聚合签名消息赋予的检查散列值,验证与带聚合签名消息对应的散列链的合法性。若与带聚合签名消息对应的散列链合法,则散列链验证部902将带聚合签名消息交给聚合签名验证部903。聚合签名验证部903基于聚合公开密钥,验证对带聚合签名消息赋予的聚合签名的合法性。
[0152]
接下来,使用图10,对私人ca服务器204的具体的功能构成例进行说明。
[0153]
图10是表示私人ca服务器204的具体的功能构成例的框图。在签名控制系统200中,私人ca服务器204包括聚合公开密钥生成部1001和公开密钥登记申请部1002。另外,私人ca服务器204包括个人公开密钥存储部1010。个人公开密钥存储部1010存储在各个签名侧终端201~203生成的公开密钥。
[0154]
聚合公开密钥生成部1001将存储于个人公开密钥存储部1010的在各个签名侧终端201~203生成的公开密钥聚合,生成聚合公开密钥。公开密钥登记申请部1002将生成的聚合公开密钥发送给公共ca服务器206。在公共ca服务器206中,在图9所示的组织公开密钥存储部900存储生成的聚合公开密钥。
[0155]
接下来,使用图11,对文档管理服务器205的具体的功能构成例进行说明。
[0156]
图11是表示文档管理服务器205的具体的功能构成例的说明图。在签名控制系统200中,文档管理服务器205包括聚合签名生成部1101和数据发送部1102。另外,文档管理服务器205包括带签名文档存储部1110。带签名文档存储部1110存储在各个签名侧终端201~203生成的带签名消息。
[0157]
聚合签名生成部1101将带签名文档存储部1110所存储的对带签名消息赋予的签名聚合,生成聚合签名。聚合签名生成部1101将生成的聚合签名赋予给最终版的消息,生成带聚合签名消息。数据发送部1102将生成的带聚合签名消息发送给验证侧终端207。在验证侧终端207,在图9所示的带聚合签名文档存储部910存储生成的带聚合签名消息。
[0158]
(签名控制系统200的动作的一个例子)
[0159]
接下来,使用图12,对签名控制系统200的动作的一个例子进行说明。
[0160]
图12是表示签名控制系统200的动作的一个例子的说明图。在图12中,位数设为p。在生成秘密密钥时或者在生成签名时等使用的余数组为z
p
=z/z
p
。在生成公开密钥时或者在生成签名时等使用的值为g。密码学的散列函数为h(x)。h(x)例如利用sha256或者sha-3等secure hash algorithm(安全散列算法)。
[0161]
签名侧终端201~203从余数组z
p
均匀随机地选择x,设定为秘密密钥。签名侧终端201~203将x:=g
x
设定为与秘密密钥x对应的公开密钥。签名侧终端201~203基于秘密密
钥x对消息m生成签名。签名侧终端201~203例如从余数组z
p
均匀随机地选择r,设定签名要素r:=gr。
[0162]
签名侧终端201~203例如设定消息散列c:=h(r||m)。签名侧终端201~203设定签名要素s:=r+xc(mod(p-1))。签名侧终端201~203将签名要素s、r设定为对消息m的签名(s,r),并发送到文档管理服务器205。
[0163]
在图12的例子中,假设存在消息m1、m2、m3。文档管理服务器205具有消息m1、m2、m3和与各个消息m1、m2、m3对应的三个签名(s1,r1)、(s2,r2)、(s3,r3)。
[0164]
文档管理服务器205将三个签名(s1,r1)、(s2,r2)、(s3,r3)聚合为单一的聚合签名(s’,r’)。文档管理服务器205例如设定辅助参数d={di=(π
[j

[1,2,3]-[i]]cj
)}={d1=c2×
c3,d2=c3×
c1,d3=c1×
c2}(mod(p-1))。文档管理服务器205例如设定签名要素s’:=s1×
d1+s2×
d2+s3×
d3(mod(p-1))。文档管理服务器205例如设定签名要素r’:=r
1(d1)
×r2(d2)
×r3(d3)
。文档管理服务器205设定单一的聚合签名(s’,r’)。
[0165]
文档管理服务器205将三个公开密钥x1、x2、x3聚合为单一的聚合公开密钥x’。文档管理服务器205例如设定单一的聚合公开密钥x’=x1×
x2×
x3。由此,文档管理服务器205在验证单一的聚合签名(s’,r’)的合法性时,能够不使用三个公开密钥x1、x2、x3,能够只要使用单一的聚合公开密钥x’即可。因此,文档管理服务器205能够实现验证单一的聚合签名(s’,r’)的合法性时使用的公开密钥的数目的减少化,能够实现验证单一的聚合签名(s’,r’)的合法性时所花费的成本的降低化。
[0166]
验证侧终端207基于聚合公开密钥x’,验证聚合签名(s’,r’)的合法性。验证侧终端207设定消息散列c1:=h(r1||m1),c2:=h(r2||m2),c3:=h(r3||m3)。验证侧终端207计算c’:=c1×
c2×
c3,并判定g
(s')
与r
’×
(x’)
(c')
是否一致。验证侧终端207在判定为一致的情况下,判定为单一的聚合签名(s’,r’)合法。另一方面,验证侧终端207在判定为不一致的情况下,判定为单一的聚合签名(s’,r’)不合法。
[0167]
由此,验证侧终端207能够验证单一的聚合签名(s’,r’)的合法性,判断消息m1、m2、m3是否合法。另外,验证侧终端207能够验证单一的聚合签名(s’,r’)的合法性,判断三个签名(s1,r1)、(s2,r2)、(s3,r3)是否合法。因此,验证侧终端207能够实现安全性的提高。验证侧终端207能够不管签名的数目,而基于单一的聚合公开密钥x’,验证单一的聚合签名(s’,r’)的合法性,能够实现验证所涉及的处理量的降低化。
[0168]
(签名控制系统200的动作的具体例)
[0169]
接下来,使用图13~图15,对签名控制系统200的动作的具体例进行说明。
[0170]
图13~图15是表示签名控制系统200的动作的具体例的说明图。在具体例中,签名控制系统200能够从验证者隐藏多版的文档中最终版以外的文档,并且基于最终版的文档的内容,验证生成多版的文档的过程。
[0171]
在图13中,制作者制作文档第一版。批准者制作基于文档第一版的文档第二版。裁决者制作基于文档第二版的文档第三版。文档第三版确定为文档最终版。这样,是阶段性地修正文档的状况。
[0172]
文档管理服务器205获取由制作者在签名侧终端201生成的文档第一版和与文档第一版对应的签名1:=(s1,r1)。文档管理服务器205获取由批准者在签名侧终端202生成的基于文档第一版的文档第二版和与文档第二版对应的签名2:=(s2,r2)。文档管理服务器
205获取由裁决者在签名侧终端203生成的基于文档第二版的文档第三版和与文档第三版对应的签名3:=(s3,r3)。文档管理服务器205获取基于文档第三版的文档最终版。
[0173]
文档管理服务器205将签名1:=(s1,r1)、签名2:=(s2,r2)、以及签名3:=(s3,r3)聚合为单一的聚合签名(s’,r’)。单一的聚合签名(s’,r’)成为代表法人的e-seal。
[0174]
文档管理服务器205例如设定辅助参数d={di=(π
[j

[1,2,3]-[i]]cj
)}={d1=c2×
c3,d2=c3×
c1,d3=c1×
c2}(mod(p-1))。具体而言,使用图17以及图18后述设定辅助参数d的一个例子。
[0175]
文档管理服务器205例如设定签名要素s’:=s1×
d1+s2×
d2+s3×
d3(mod(p-1))。文档管理服务器205例如设定签名要素r’:=r
1(d1)
×r2(d2)
×r3(d3)
。文档管理服务器205生成单一的聚合签名(s’,r’)。
[0176]
私人ca服务器204将公开密钥x1、x2、x3聚合,生成聚合公开密钥x’=x1·
x2·
x3。私人ca服务器204将聚合公开密钥x’发送到在公司外存在的公共ca服务器206。这里,暂时移至图14的说明。
[0177]
在图14中,文档管理服务器205生成散列链1400,生成检查散列值chk
hash
。文档管理服务器205例如基于由种子值和文档各版的消息散列hsi形成的散列链1400,生成检查散列值chk
hash

[0178]
具体而言,文档管理服务器205利用散列函数,基于种子值和文档第一版的消息散列hs1,计算第一散列值。具体而言,文档管理服务器205利用散列函数,基于计算出的第一散列值和文档第二版的消息散列hs2,计算第二散列值。具体而言,文档管理服务器205利用散列函数,基于计算出的第二散列值和文档第三版的消息散列hs3,计算第三散列值。
[0179]
文档管理服务器205将第三散列值设定为检查散列值chk
hash
。文档管理服务器205将种子值、文档第一版的消息散列hs1、文档第二版的消息散列hs2、文档最终版=文档第三版、检查散列值chk
hash
的组合汇总为验证用信息。
[0180]
返回到图13的说明,文档管理服务器205将汇总的验证用信息与生成的单一的聚合签名(s’,r’)建立对应关系地发送到验证侧终端207。验证侧终端207接收汇总的验证用信息和生成的单一的聚合签名(s’,r’)。验证侧终端207从公共ca服务器206获取生成的聚合公开密钥x’。这里,暂时移至图15的说明。
[0181]
在图15中,验证侧终端207生成散列链1500,生成检查散列值chk
hash
。验证侧终端207例如基于由种子值、文档第一版的消息散列hs1、文档第二版的消息散列hs2、文档最终版形成的散列链1500,生成检查散列值chk
hash

[0182]
具体而言,验证侧终端207利用散列函数,基于种子值和文档第一版的消息散列hs1,计算第一散列值。具体而言,验证侧终端207利用散列函数,基于计算出的第一散列值和文档第二版的消息散列hs2,计算第二散列值。具体而言,验证侧终端207利用散列函数,计算文档最终版=文档第三版的消息散列hs3。具体而言,验证侧终端207利用散列函数,基于计算出的第二散列值和文档第三版的消息散列hs3,计算第三散列值。
[0183]
验证侧终端207将第三散列值设定为检查散列值chk
hash
。验证侧终端207判定设定的检查散列值chk
hash
是否与接收到的验证用信息所包括的检查散列值chk
hash
一致。这里,验证侧终端207在判定为一致的情况下,判定为散列链1500合法。另一方面,验证侧终端207在判定为不一致的情况下,判定为散列链1500不合法,文档最终版不合法。
[0184]
返回到图13的说明,验证侧终端207在判定为散列链1500合法的情况下,基于接收到的聚合公开密钥x’,验证接收到的单一的聚合签名(s’,r’)的合法性。验证侧终端207例如获取消息散列c1=h(r1||m1)、c2=h(r2||m2)、c3=h(r3||m3),计算c’=c1c2c3。这里,验证侧终端207若g
(s')
≡r’(x’)c′
,则判定为单一的聚合签名(s’,r’)合法。另一方面,验证侧终端207若不为g
(s')
≡r’(x’)c′
,则判定为单一的聚合签名(s’,r’)不合法,文档最终版不合法。
[0185]
若散列链1500合法,并且单一的聚合签名(s’,r’)合法,则验证侧终端207判定为文档最终版合法。由此,验证侧终端207能够防止验证者错误地将非法的文档识别为合法的文档。验证侧终端207即使不获取多个公开密钥,若获取单一的聚合公开密钥x’,则也能够验证单一的聚合签名(s’,r’)的合法性。因此,验证侧终端207能够实现验证单一的聚合签名(s’,r’)的合法性时所花费的成本的降低化。验证侧终端207验证散列链1500的合法性,所以能够确认文档第一版以及文档第二版未被篡改或者被置换。因此,验证侧终端207能够实现安全性的提高。
[0186]
(验证签名的一个例子)
[0187]
接下来,使用图16,对在判定为单一的聚合签名(s’,r’)不合法的情况下,文档管理服务器205验证签名的一个例子进行说明。
[0188]
图16是表示验证签名的一个例子的说明图。在图16中,文档管理服务器205判定为单一的聚合签名(s’,r’)不合法,检测到验证失败。文档管理服务器205例如从验证侧终端207接收单一的聚合签名(s’,r’)验证失败的通知。该情况下,考虑成为单一的聚合签名(s’,r’)的聚合源的至少任意一个签名存在验证失败的原因。
[0189]
因此,期望文档管理服务器205发现成为验证失败的原因的签名,并使签名侧终端201~203重新生成成为验证失败的原因的签名。文档管理服务器205例如通过验证成为聚合源的n个签名的各个签名j(j=1~n)的合法性,发现成为验证失败的原因的签名。由此,文档管理服务器205能说签名侧终端201~203重新生成成为验证失败的原因的签名。
[0190]
这里,对文档管理服务器205验证成为聚合源的n个签名的各个签名j(j=1~n)的合法性,并发现成为验证失败的原因的签名的情况进行了说明,但并不限定于此。例如,也可以有文档管理服务器205进一步实现发现成为验证失败的原因的签名时所涉及的处理量的降低化的情况。
[0191]
该情况下,文档管理服务器205预先在生成单一的聚合签名s
1,1
=(s’,r’)时,生成将成为聚合源的j+1个签名中的一部分的签名聚合而得到的聚合签名s
x,y
,并登记于列表。文档管理服务器205例如将按编号顺序排列的j+1个签名中相邻的签名彼此聚合,生成属于段x=k的聚合签名s
x=k,y
,并登记于列表。例如,y=1、2、3、


[0192]
文档管理服务器205递归地反复将属于下段x=i+1的聚合签名s
x=i+1,y
中相邻的签名彼此聚合,生成属于上段x=i的聚合签名s
x=i,y
,并以能够确定聚合源与聚合目的地之间的关系的方式登记于列表。最终,文档管理服务器205生成单一的聚合签名s
1,1
=(s’,r’)。
[0193]
文档管理服务器205若检测到单一的聚合签名(s’,r’)验证失败,则读出列表。文档管理服务器205验证列表中属于段x=2的聚合签名s
x=2,y
的合法性。文档管理服务器205反复验证成为属于上段x=i的聚合签名s
x=i,y
中判定为不合法的聚合签名s
x=i,y
的聚合源的、属于下段x=i+1的聚合签名s
x=i+1,y
的合法性。由此,文档管理服务器205能够发现不合
法的签名j。另外,文档管理服务器205能够将发现成为验证失败的原因的签名时所涉及的处理量抑制为o(log(n))。
[0194]
(设定辅助参数d的一个例子)
[0195]
接下来,使用图17以及图18,对文档管理服务器205设定辅助参数d的一个例子进行说明。
[0196]
图17以及图18是表示设定辅助参数d的一个例子的说明图。文档管理服务器205利用余数的性质,高效地计算辅助参数d。文档管理服务器205例如将位数p设定为安全质数。安全质数是将p=2q+1的q设为质数的p。
[0197]
(17-1)文档管理服务器205通过2k除法算法,对各个消息散列ci进行二进制展开,变形为公式1711~171n所示的“ci’←
2^(-ti)
·ci”的形式。
[0198]
(17-2)文档管理服务器205通过ti排序算法,按照t1≤t2≤

≤tn的顺序对公式1711~171n所示的“ci’←
2^(-ti)
·ci”的形式进行排序。
[0199]
(17-3)文档管理服务器205通过c计算算法,计算公式1720所示的c。
[0200]
(17-4)文档管理服务器205通过倒数计算算法,对各个c
i’,计算公式1731~173n所示的倒数yi。
[0201]
(17-5)文档管理服务器205通过d计算算法,基于计算出的c,并基于各个倒数yi,计算公式1741~174n所示的di。
[0202]
(17-6)文档管理服务器205对计算出的di进行汇总,设定公式1750所示的辅助参数d。接下来,移至图18的说明。
[0203]
图18的表1800示出设定辅助参数d时所花费的处理时间。表1800例如示出利用图17所示的方法,设定辅助参数d时所花费的处理时间。另外,表1800例如示出利用计算d={di=пj∈
[n]-[i]cj
}(mod(p-1))的方法,设定辅助参数d时所花费的处理时间,作为比较例。
[0204]
如表1800所示,文档管理服务器205根据图17所示的方法,与作为比较例的方法相比,能够降低设定辅助参数d时所花费的处理时间。文档管理服务器205例如能够使处理时间不为o(n2)而为o(n)。文档管理服务器205根据图17所示的方法,即使签名的数目增加,也能够以比较短的处理时间,设定辅助参数d。
[0205]
(修正聚合签名的一个例子)
[0206]
接下来,使用图19以及图20,对修正聚合签名的一个例子进行说明。
[0207]
图19以及图20是表示修正聚合签名的一个例子的说明图。例如,有批准流程所规定的任意一个批准者不能够对文档进行批准,不能够操作签名侧终端201~203,而不能够对文档赋予签名的情况。具体而言,有任意一个批准者在休假中或者出差中等状态下不在,而不能够操作签名侧终端201~203,不能够对文档赋予签名的情况。
[0208]
然而,若在任意一个批准者处于休假中或者出差中等状态的情况下,在签名控制系统200中,不能够生成能够通过聚合公开密钥进行验证的聚合签名,则导致签名控制系统200的便利性的降低。因此,期望在签名控制系统200中,暂时使公开密钥无效化,即使任意一个批准者未对文档赋予签名,也能够生成能够通过聚合公开密钥进行验证的聚合签名。另外,从作业成本的观点等来看不优选在批准者处于休假中或者出差中等状态的情况下,变更批准流程,重新分发聚合公开密钥。
[0209]
在图19中,文档管理服务器205基于消息mi和与任意一个批准者对应的无效化的
公开密钥pk
rev
,修正未聚合与任意一个批准者对应的签名的聚合签名,生成修正签名。修正签名是能够通过聚合了与任意一个批准者对应的公开密钥pk
rev
的聚合公开密钥x’进行验证的签名。例如,i=1、2、3。这里,移至图20的说明,对文档管理服务器205修正聚合签名的具体例进行说明。
[0210]
在图20中,文档管理服务器205接受无效化的公开密钥x2的指定。这里,已生成的聚合签名为(s”=s1c3+s3c1,r”=r
1(c3)r3(c2)
),是未聚合能够通过公开密钥x2进行验证的签名(s2,r2)的信息。文档管理服务器205修正聚合签名(s”,r”),生成能够通过聚合公开密钥x’=x1x2x3进行验证的修正签名。修正签名为了能够通过聚合公开密钥x’=x1x2x3进行验证,以下述式(1)成立的方式生成即可。
[0211]g(s')
≡r’(x’)
(c')
(mod(p))
[0212]
∵g
(s')
≡r”(x1x3)
(c1c3)
[0213]
≡x
2(-c1c3)
r”(x1x2x3)
(c1c3)
[0214]
≡r’(x’)
(c')

(1)
[0215]
具体而言,文档管理服务器205以上述式(1)成立的方式,修正聚合签名(s”,r”)。更具体而言,文档管理服务器205基于聚合签名(s”,r”)、消息m1、m3、无效化的公开密钥pk2=x2,生成能够通过聚合公开密钥x’=x1x2x3进行验证的修正签名s’=(s”,r’=x
2(-c1c3)
r”)。由此,文档管理服务器205即使批准者不在,也能够生成能够通过聚合公开密钥x进行验证的修正签名s’。因此,文档管理服务器205能够暂时使公开密钥无效化,能够实现签名控制系统200的便利性的提高。
[0216]
(签名控制系统200的效果)
[0217]
接下来,使用图21,对签名控制系统200的效果进行说明。
[0218]
图21是表示签名控制系统200的效果的说明图。图21的表2100示出在私人ca服务器204进行管理的公开密钥的数目、以及在公共ca服务器206进行管理的公开密钥的数目。表2100例如示出在签名控制系统200中,由私人ca服务器204进行管理的公开密钥的数目、以及由公共ca服务器206进行管理的公开密钥的数目。另外,表2100例如示出在以往的私人ca服务器204进行管理的公开密钥的数目、以及在以往的公共ca服务器206进行管理的公开密钥的数目。
[0219]
如表2100所示,签名控制系统200与以往相比,能够将在公共ca服务器206进行管理的公开密钥的数目从n个减少到一个。因此,签名控制系统200能够实现管理公开密钥时所花费的成本以及利用公开密钥时所花费的成本的降低化。
[0220]
具体而言,若公开密钥的数据长为2048[bit],则在以往的公共ca服务器206中,在批准者存在100人的情况下,存储有2048
×
100[bit]的信息。因此,以往,验证聚合签名的合法性时所花费的处理成本为o(n)。
[0221]
另一方面,签名控制系统200在验证聚合签名的合法性时,利用单一的聚合公开密钥即可,所以能够将验证聚合签名的合法性时所花费的处理成本降低至o(1)。签名控制系统200能够不管批准者的数目,而将在公共ca服务器206进行管理的信息固定为2048[bit]。
[0222]
(密钥生成处理顺序)
[0223]
接下来,使用图22,对签名控制系统200执行的密钥生成处理顺序的一个例子进行说明。例如,通过图3所示的cpu301、存储器302或者记录介质305等存储区域以及网络i/
f303等实现密钥生成处理。
[0224]
图22是表示密钥生成处理顺序的一个例子的流程图。在图22中,私人ca服务器204将密钥生成请求发送给与制作者、批准者以及裁决者对应的签名侧终端201~203(步骤s2201)。
[0225]
另一方面,签名侧终端201~203若接收到密钥生成请求,则生成秘密密钥xi与公开密钥xi的密钥对(步骤s2202)。接下来,签名侧终端201~203存储生成的秘密密钥xi(步骤s2203)。然后,签名侧终端201~203存储生成的公开密钥xi(步骤s2204)。然后,签名侧终端201~203将生成的公开密钥xi发送给私人ca服务器204(步骤s2205)。
[0226]
另一方面,私人ca服务器204从各个签名侧终端201~203接收公开密钥xi(步骤s2206)。i=1、2、3。接下来,私人ca服务器204生成将公开密钥xi聚合而得到的聚合公开密钥x’并存储(步骤s2207)。然后,私人ca服务器204将包括聚合公开密钥x’的聚合公开密钥x’的数字证书的制作委托发送给公共ca服务器206(步骤s2208)。
[0227]
另一方面,公共ca服务器206若接受聚合公开密钥x’的数字证书的制作委托,则制作聚合公开密钥x’的数字证书,并发送给私人ca服务器204(步骤s2209)。
[0228]
另一方面,私人ca服务器204存储接收到的聚合公开密钥x’的数字证书(步骤s2210)。接下来,私人ca服务器204制作公开密钥xi的数字证书并存储(步骤s2211)。其后,签名控制系统200结束密钥生成处理。
[0229]
(文档制作处理顺序)
[0230]
接下来,使用图23,对签名控制系统200执行的文档制作处理顺序的一个例子进行说明。例如,通过图3所示的cpu301、存储器302或者记录介质305等存储区域以及网络i/f303等实现文档制作处理。
[0231]
图23是表示文档制作处理顺序的一个例子的流程图。在图23中,签名侧终端201生成种子,并发送到文档管理服务器205(步骤s2301)。
[0232]
另一方面,文档管理服务器205接收种子(步骤s2302)。
[0233]
另一方面,签名侧终端201生成文档m1(步骤s2303)。接下来,签名侧终端201基于种子和文档m1,生成散列值hs1(步骤s2304)。然后,签名侧终端201获取秘密密钥x1(步骤s2305)。
[0234]
接下来,签名侧终端201基于秘密密钥x1,生成对文档m1的签名σ1(步骤s2306)。然后,签名侧终端201将文档m1、散列值hs1以及签名σ1发送给文档管理服务器205(步骤s2307)。
[0235]
另一方面,文档管理服务器205从签名侧终端201接收文档m1、散列值hs1以及签名σ1(步骤s2308)。接下来,文档管理服务器205判定接收到的散列值hs1是否与接收到的种子和接收到的文档m1对应(步骤s2309)。
[0236]
这里,在接收到的散列值hs1不与接收到的种子和接收到的文档m1对应的情况下(步骤s2309:验证失败),文档管理服务器205向签名侧终端201发送验证失败的通知。然后,签名侧终端201移至步骤s2312的处理。另一方面,在接收到的散列值hs1与接收到的种子和接收到的文档m1对应的情况下(步骤s2309:验证成功),文档管理服务器205判断为验证成功,并移至步骤s2310、s2311的处理。
[0237]
文档管理服务器205获取公开密钥x1(步骤s2310)。然后,文档管理服务器205基于
公开密钥x1,判定接收到的签名σ1是否合法(步骤s2311)。
[0238]
这里,在接收到的签名σ1不合法的情况(步骤s2311:验证失败),文档管理服务器205向签名侧终端201发送验证失败的通知。然后,签名侧终端201移至步骤s2312的处理。另一方面,在接收到的签名σ1合法的情况下(步骤s2311:验证成功),文档管理服务器205判断为验证成功,并移至步骤s2313的处理。
[0239]
在步骤s2312中,签名侧终端201若接受验证失败的通知,则重新生成签名σ1(步骤s2312)。然后,签名侧终端201返回到步骤s2301的处理。
[0240]
在步骤s2313中,文档管理服务器205将接收到的文档m1、接收到的散列值hs1以及接收到的签名σ1存储于本装置具有的控制信息管理表格400(步骤s2313)。接下来,文档管理服务器205向签名侧终端201发送登记了文档m1的通知(步骤s2314)。
[0241]
另一方面,签名侧终端201接收登记了文档m1的通知(步骤s2315)。其后,签名控制系统200结束文档制作处理。
[0242]
(文档批准处理顺序)
[0243]
接下来,使用图24,对签名控制系统200执行的文档批准处理顺序的一个例子进行说明。例如,通过图3所示的cpu301、存储器302或者记录介质305等存储区域、以及网络i/f303等实现文档批准处理。
[0244]
图24是表示文档批准处理顺序的一个例子的流程图。在图24中,文档管理服务器205将存储的文档m1、散列值hs1以及签名σ1发送给与批准者对应的签名侧终端202(步骤s2401)。
[0245]
另一方面,签名侧终端202接收文档m1、散列值hs1以及签名σ1(步骤s2402)。接下来,签名侧终端202生成文档m2(步骤s2403)。然后,签名侧终端202基于散列值hs1和文档m2,生成散列值hs2(步骤s2404)。
[0246]
接下来,签名侧终端202获取秘密密钥x2(步骤s2405)。然后,签名侧终端202基于秘密密钥x2,生成对文档m2的签名σ2(步骤s2406)。然后,签名侧终端202将文档m2、散列值hs2以及签名σ2发送给文档管理服务器205(步骤s2407)。
[0247]
另一方面,文档管理服务器205从签名侧终端202接收文档m2、散列值hs2以及签名σ2(步骤s2408)。然后,文档管理服务器205判定接收到的散列值hs2是否与散列值hs1和接收到的文档m2对应(步骤s2409)。
[0248]
这里,在接收到的散列值hs2不与散列值hs1和接收到的文档m2对应的情况下(步骤s2409:验证失败),文档管理服务器205向签名侧终端202发送验证失败的通知。然后,签名侧终端202移至步骤s2412的处理。另一方面,在接收到的散列值hs2与散列值hs1和接收到的文档m2对应的情况下(步骤s2409:验证成功),文档管理服务器205判断为验证成功,移至步骤s2410、s2411的处理。
[0249]
文档管理服务器205获取公开密钥x2(步骤s2410)。然后,文档管理服务器205基于公开密钥x2,判定接收到的签名σ2是否合法(步骤s2411)。
[0250]
这里,在接收到的签名σ2不合法的情况(步骤s2411:验证失败),文档管理服务器205向签名侧终端202发送验证失败的通知。然后,签名侧终端202移至步骤s2412的处理。另一方面,在接收到的签名σ2合法的情况下(步骤s2411:验证成功),文档管理服务器205判断为验证成功,并移至步骤s2413的处理。
[0251]
在步骤s2412中,签名侧终端202若接受验证失败的通知,则重新生成签名σ2(步骤s2412)。然后,签名侧终端202返回到步骤s2402的处理。
[0252]
在步骤s2413中,文档管理服务器205将接收到的文档m2、接收到的散列值hs2以及接收到的签名σ2存储于本装置具有的控制信息管理表格400(步骤s2413)。接下来,文档管理服务器205向签名侧终端202发送登记了文档m2的通知(步骤s2414)。
[0253]
另一方面,签名侧终端202接收登记了文档m2的通知(步骤s2415)。其后,签名控制系统200结束文档批准处理。
[0254]
(文档裁决处理顺序)
[0255]
接下来,使用图25,对签名控制系统200行的文档裁决处理顺序的一个例子进行说明。例如,通过图3所示的cpu301、存储器302或者记录介质305等存储区域、以及网络i/f303等实现文档裁决处理。
[0256]
图25是表示文档裁决处理顺序的一个例子的流程图。在图25中,文档管理服务器205将存储的文档m2、散列值hs2以及签名σ2发送给与裁决者对应的签名侧终端203(步骤s2501)。
[0257]
接下来,签名侧终端203接收文档m2、散列值hs2以及签名σ2(步骤s2502)。然后,签名侧终端203生成文档m3(步骤s2503)。然后,签名侧终端203基于散列值hs2和文档m3,生成散列值hs3(步骤s2504)。
[0258]
接下来,签名侧终端203获取秘密密钥x3(步骤s2505)。然后,签名侧终端203基于秘密密钥x3,生成对文档m3的签名σ3(步骤s2506)。然后,签名侧终端203将文档m3、散列值hs3以及签名σ3发送给文档管理服务器205(步骤s2507)。
[0259]
另一方面,文档管理服务器205从签名侧终端203接收文档m3、散列值hs3以及签名σ3(步骤s2508)。然后,文档管理服务器205判定接收到的散列值hs3是否与散列值hs2和接收到的文档m3对应(步骤s2509)。
[0260]
这里,在接收到的散列值hs3不与散列值hs2和接收到的文档m3对应的情况下(步骤s2509:验证失败),文档管理服务器205向签名侧终端203发送验证失败的通知。然后,签名侧终端203移至步骤s2512的处理。另一方面,在接收到的散列值hs3与散列值hs2和接收到的文档m3对应的情况下(步骤s2509:验证成功),文档管理服务器205判断为验证成功,并移至步骤s2510、s2511的处理。
[0261]
文档管理服务器205获取公开密钥x3(步骤s2510)。然后,文档管理服务器205基于公开密钥x3,判定接收到的签名σ3是否合法(步骤s2511)。
[0262]
这里,在接收到的签名σ3不合法的情况下(步骤s2511:验证失败),文档管理服务器205向签名侧终端203发送验证失败的通知。然后,签名侧终端203移至步骤s2512的处理。另一方面,在接收到的签名σ3合法的情况(步骤s2511:验证成功),文档管理服务器205判断为验证成功,并移至步骤s2513的处理。
[0263]
在步骤s2512中,签名侧终端203若接受验证失败的通知,则重新生成签名σ3(步骤s2512)。然后,签名侧终端203返回到步骤s2502的处理。
[0264]
在步骤s2513中,文档管理服务器205将接收到的文档m3、接收到的散列值hs3以及接收到的签名σ3存储于本装置具有的控制信息管理表格400(步骤s2513)。接下来,文档管理服务器205基于接收到的文档m3,生成最终版的文档mf,并存储于本装置具有的控制信息
管理表格400(步骤s2514)。然后,文档管理服务器205向签名侧终端203发送登记了文档m3的通知(步骤s2515)。
[0265]
另一方面,签名侧终端203接收登记了文档m3的通知(步骤s2516)。然后,签名控制系统200结束文档裁决处理。
[0266]
(签名聚合处理顺序)
[0267]
接下来,使用图26,对签名控制系统200执行的签名聚合处理顺序的一个例子进行说明。例如,通过图3所示的cpu301、存储器302或者记录介质305等存储区域、以及网络i/f303等实现签名聚合处理。
[0268]
图26是表示签名聚合处理顺序的一个例子的流程图。在图26中,文档管理服务器205向验证侧终端207发送发送文档的通知(步骤s2601)。另一方面,验证侧终端207若接受通知,则向文档管理服务器205发送组织的公开密钥证书的请求(步骤s2602)。
[0269]
接下来,文档管理服务器205将登记完毕的公开密钥x’的数字证书发送给验证侧终端207(步骤s2603)。另一方面,验证侧终端207对接收到的公开密钥x’的数字证书进行验证(步骤s2604)。验证侧终端207在验证失败的情况下,向文档管理服务器205发送验证失败的通知。然后,验证侧终端207移至步骤s2609的处理。
[0270]
另一方面,文档管理服务器205在接受到验证失败的通知的情况下,确认公开密钥x’是否有效(步骤s2605)。也可以若公开密钥x’无效,则文档管理服务器205重新生成公开密钥x’。
[0271]
接下来,文档管理服务器205获取散列值hsi和签名信息σi(步骤s2606)。然后,文档管理服务器205基于散列值hsi和签名信息σi,生成聚合签名信息σ’(步骤s2607)。然后,文档管理服务器205将最终版的文档mf与生成的聚合签名信息σ’建立对应关系地发送到验证侧终端207(步骤s2608)。
[0272]
另一方面,验证侧终端207验证散列链(步骤s2609)。验证侧终端207若验证成功,则移至步骤s2610的处理。验证侧终端207若验证失败,则向文档管理服务器205发送验证失败的通知。
[0273]
在步骤s2610中,验证侧终端207验证聚合签名信息σ’(步骤s2610)。验证侧终端207若验证成功,则移至步骤s2611的处理。验证侧终端207若验证失败,则向文档管理服务器205发送验证失败的通知。
[0274]
在步骤s2611中,验证侧终端207对文档mn识别为验证成功(步骤s2611)。
[0275]
另一方面,文档管理服务器205若接受验证失败的通知,则通过利用re-verify,执行图27所后述的重新验证处理,来实施原因调查(步骤s2612)。然后,签名控制系统200结束签名聚合处理。
[0276]
(重新验证处理顺序)
[0277]
接下来,使用图27,对文档管理服务器205执行的重新验证处理顺序的一个例子进行说明。例如,通过图3所示的cpu301、存储器302或者记录介质305等存储区域、以及网络i/f303实现重新验证处理。
[0278]
图27是表示重新验证处理顺序的一个例子的流程图。在图27中,文档管理服务器205验证聚合签名信息s
1,1
,并确认验证失败(步骤s2701)。
[0279]
接下来,文档管理服务器205验证聚合签名信息s
2,1
(步骤s2702)。文档管理服务器
205若验证成功,则移至步骤s2703的处理。另一方面,文档管理服务器205若验证失败,则移至步骤s2704的处理。
[0280]
在步骤s2703中,文档管理服务器205对聚合签名信息s
2,2
进行验证(步骤s2703)。文档管理服务器205若验证成功,则判断为不存在非法的签名,并结束重新验证处理。另一方面,文档管理服务器205若验证失败,则执行与步骤s2704以后的处理相同的处理。
[0281]
在步骤s2704中,文档管理服务器205对聚合签名信息s
3,1
进行验证(步骤s2704)。文档管理服务器205若验证成功,则移至步骤s2705的处理。另一方面,文档管理服务器205若验证失败,则移至步骤s2706的处理。
[0282]
在步骤s2705中,文档管理服务器205对聚合签名信息s
3,2
进行验证(步骤s2705)。文档管理服务器205若验证成功,则判断为不存在非法的签名,并结束重新验证处理。另一方面,文档管理服务器205若验证失败,则执行与步骤s2706以后的处理相同的处理。
[0283]
在步骤s2706中,文档管理服务器205对聚合签名信息s
4,1
进行验证(步骤s2706)。文档管理服务器205根据验证成功以及验证失败,递归地执行验证聚合签名信息s
x》4,y
的处理。其后,文档管理服务器205移至步骤s2707的处理。
[0284]
在步骤s2707中,文档管理服务器205确定验证失败的签名σi,重新生成验证失败的签名σi,并重新生成聚合签名信息σ’(步骤s2707)。接下来,文档管理服务器205输出重新生成的聚合签名信息σ’(步骤s2708)。然后,文档管理服务器205结束重新验证处理。
[0285]
(其它的签名聚合处理顺序)
[0286]
接下来,使用图28,对签名控制系统200执行的其它的签名聚合处理顺序的一个例子进行说明。例如,通过图3所示的cpu301、存储器302或者记录介质305等存储区域、以及网络i/f303等实现其它的签名聚合处理。
[0287]
图28是表示其它的签名聚合处理顺序的一个例子的流程图。在图28中,文档管理服务器205向验证侧终端207发送发送文档的通知(步骤s2801)。另一方面,验证侧终端207若接受通知,则向文档管理服务器205发送组织的公开密钥证书的请求(步骤s2802)。
[0288]
接下来,文档管理服务器205向验证侧终端207发送登记完毕的公开密钥x’的数字证书(步骤s2803)。另一方面,验证侧终端207对接收到的公开密钥x’的数字证书进行验证(步骤s2804)。验证侧终端207在验证失败的情况下,向文档管理服务器205发送验证失败的通知。然后,验证侧终端207移至步骤s2810的处理。
[0289]
另一方面,文档管理服务器205在接受到验证失败的通知的情况下,确认公开密钥x’是否有效(步骤s2805)。也可以若公开密钥x’无效,则文档管理服务器205重新生成公开密钥x’。
[0290]
接下来,文档管理服务器205获取散列值hsi和签名信息σi(步骤s2806)。然后,文档管理服务器205基于散列值hsi和签名信息σi,生成聚合签名信息σ’(步骤s2807)。
[0291]
接下来,文档管理服务器205执行在图29后述的无效化处理(步骤s2808)。然后,文档管理服务器205将最终版的文档mn与生成的聚合签名信息σ’建立对应关系地发送给验证侧终端207(步骤s2809)。
[0292]
另一方面,验证侧终端207对散列链进行验证(步骤s2810)。验证侧终端207若验证成功,则移至步骤s2811的处理。验证侧终端207若验证失败,则向文档管理服务器205发送验证失败的通知。
[0293]
在步骤s2811中,验证侧终端207对聚合签名信息σ’进行验证(步骤s2811)。验证侧终端207若验证成功,则移至步骤s2812的处理。验证侧终端207若验证失败,则向文档管理服务器205发送验证失败的通知。
[0294]
在步骤s2812中,验证侧终端207识别为对文档mn验证成功(步骤s2812)。
[0295]
另一方面,文档管理服务器205若接受验证失败的通知,则通过利用re-verify,执行图27所示的重新验证处理,实施原因调查(步骤s2813)。然后,签名控制系统200结束签名聚合处理。
[0296]
(无效化处理顺序)
[0297]
接下来,使用图29,对文档管理服务器205执行的无效化处理顺序的一个例子进行说明。例如,通过图3所示的cpu301、存储器302或者记录介质305等存储区域、以及网络i/f303实现无效化处理。
[0298]
图29是表示无效化处理顺序的一个例子的流程图。在图29中,文档管理服务器205判定是否存在想要暂时无效化的公开密钥(步骤s2901)。这里,在不存在想要暂时无效化的公开密钥的情况下(步骤s2901:否),文档管理服务器205结束无效化处理。在存在想要暂时无效化的公开密钥的情况下(步骤s2901:是),文档管理服务器205移至步骤s2902的处理。
[0299]
在步骤s2902中,文档管理服务器205向私人ca服务器204询问成为无效化的对象的公开密钥(步骤s2902)。另一方面,私人ca服务器204根据询问,向文档管理服务器205发送成为无效化的对象的公开密钥(步骤s2903)。
[0300]
文档管理服务器205基于成为无效化的对象的公开密钥,生成修正了聚合签名信息σ’后的修正签名信息σ”(步骤s2904)。接下来,文档管理服务器205输出修正签名信息σ”(步骤s2905)。然后,文档管理服务器205结束无效化处理。
[0301]
如以上说明的那样,根据信息处理装置100,能够获取多个文档信息和与多个文档信息的各个文档信息对应的签名信息。根据信息处理装置100,能够基于获取到的多个文档信息,生成将获取到的与多个文档信息的各个文档信息对应的签名信息聚合而得到的聚合签名信息。根据信息处理装置100,能够将生成的聚合签名信息与将与多个文档信息的各个文档信息对应的公开密钥信息聚合而得到的聚合公开密钥信息和多个文档信息建立对应关系地输出。由此,信息处理装置100即使验证聚合签名信息时使用的密钥信息为一个,也能够验证聚合签名信息,能够实现验证聚合签名信息时所花费的成本的降低化。
[0302]
根据信息处理装置100,能够基于与获取到的多个文档信息的各个文档信息对应的公开密钥信息,生成聚合公开密钥信息。由此,信息处理装置100能够实现验证聚合签名信息时使用的密钥信息的数目的减少化,能够实现验证聚合签名信息时所花费的成本的降低化。
[0303]
根据信息处理装置100,能够基于与获取到的多个文档信息的各个文档信息对应的散列值,生成聚合签名信息。由此,信息处理装置100能够生成将基于散列值的签名信息聚合而得到的聚合签名信息。
[0304]
根据信息处理装置100,能够基于获取到的多个文档信息、生成的聚合签名信息以及生成的聚合公开密钥信息验证生成的聚合签名信息的合法性。由此,信息处理装置100即使验证聚合签名信息时使用的密钥信息为一个,也能够验证聚合签名信息,能够实现验证聚合签名信息时所花费的成本的降低化。
[0305]
根据信息处理装置100,能够接受与多个文档信息建立有对应关系的聚合签名信息和聚合公开密钥信息。根据信息处理装置100,能够基于多个文档信息、接受到的聚合签名信息以及接受到的聚合公开密钥信息,验证接受到的聚合签名信息的合法性。由此,信息处理装置100能够验证聚合签名信息的合法性,确认多个文档信息是否被篡改,能够实现安全性的提高。
[0306]
根据信息处理装置100,能够检测聚合签名信息不合法。根据信息处理装置100,能够获取将成为聚合签名信息的聚合源的签名信息中的一部分的签名信息聚合而得到的聚合签名信息、和将一部分的签名信息以外的签名信息聚合而得到的聚合签名信息的两个聚合签名信息。根据信息处理装置100,能够输出验证了获取到的两个聚合签名信息的各个聚合签名信息的合法性后的结果。由此,信息处理装置100能够确定成为聚合签名信息不合法的原因的、成为聚合源的任意一个签名信息。
[0307]
根据信息处理装置100,能够检测获取到的两个聚合签名信息中的至少任意一个聚合签名信息不合法。根据信息处理装置100,能够新获取将成为任意一个聚合签名信息的聚合源的签名信息中的一部分的签名信息聚合而得到的聚合签名信息、和将一部分的签名信息以外的签名信息聚合而得到的聚合签名信息的两个聚合签名信息。根据信息处理装置100,能够输出验证了新获取到的两个聚合签名信息的各个聚合签名信息的合法性后的结果。由此,信息处理装置100能够确定成为聚合签名信息不合法的原因的、成为聚合源的任意一个签名信息。
[0308]
根据信息处理装置100,能够生成将与获取到的多个文档信息的各个文档信息对应的公开密钥信息、和不与获取到的多个文档信息中的任何文档信息对应的公开密钥信息聚合而得到的聚合公开密钥信息。根据信息处理装置100,能够基于不与任何文档信息对应的公开密钥信息,生成对生成的聚合签名信息进行修正后的修正签名信息。根据信息处理装置100,能够将生成的修正签名信息与聚合公开密钥信息和获取到的多个文档信息建立对应关系地输出。由此,即使基于任意一个公开密钥信息的签名信息不存在,信息处理装置100也能够生成能够基于聚合公开密钥信息验证的修正签名信息。
[0309]
根据信息处理装置100,能够基于与生成与获取到的多个文档信息的各个文档信息对应的签名信息时使用的秘密密钥信息对应的公开密钥信息,生成聚合公开密钥信息。由此,信息处理装置100能够将能够验证签名信息的公开密钥信息聚合,生成聚合公开密钥信息。
[0310]
根据信息处理装置100,作为多个文档信息,能够采用表示第一文档的多个版的各个版的文档信息。由此,信息处理装置100能够应用于不断修订文档的状况。
[0311]
根据信息处理装置100,能够将基于由种子和与第一文档的各个版对应的散列值形成的散列链生成的散列值与聚合签名信息建立对应关系地输出。由此,信息处理装置100能够确认多个文档信息是否被篡改,能够实现安全性的提高。
[0312]
根据信息处理装置100,能够基于安全质数和与获取到的多个文档信息的各个文档信息对应的散列值,生成聚合签名信息。由此,信息处理装置100能够实现生成聚合签名信息时所花费的处理时间的降低化。
[0313]
根据信息处理装置100,能够利用schnorr签名算法,生成聚合签名信息。由此,信息处理装置100能够生成将基于schnorr签名算法的签名信息聚合而得到的聚合签名信息。
[0314]
根据信息处理装置100,能够将生成的聚合签名信息与聚合公开密钥信息和获取到的多个文档信息建立对应关系地输出到关于获取到的多个文档信息的验证者。由此,信息处理装置100能够使验证者验证聚合签名信息的合法性,能够使其确认多个文档信息是否被篡改,能够使安全提高。
[0315]
根据信息处理装置100,能够按照预先决定的每个签名者,将文档信息、公开密钥信息以及签名信息建立对应关系。由此,信息处理装置100能够容易地生成聚合签名信息和聚合公开密钥信息。
[0316]
根据信息处理装置100,能够从生成将与多个文档信息的各个文档信息对应的签名信息聚合而得到的聚合签名信息的装置接受与多个文档信息建立有对应关系的聚合签名信息。根据信息处理装置100,能够从生成将与多个文档信息的各个文档信息对应的公开密钥信息聚合而得到的聚合公开密钥信息的装置接受与多个文档信息建立有对应关系的聚合公开密钥信息。根据信息处理装置100,能够基于多个文档信息、接受到的聚合签名信息以及接受到的聚合公开密钥信息,验证接受到的聚合签名信息的合法性。由此,信息处理装置100能够验证聚合签名信息的合法性,确认多个文档信息是否被篡改,能够实现安全性的提高。
[0317]
此外,能够通过在pc或者工作站等计算机执行预先准备的程序来实现在本实施方式中进行了说明的签名控制方法。在本实施方式中进行了说明的签名控制程序记录于能够由计算机读取的记录介质,通过由计算机从记录介质读出来执行。记录介质是硬盘、软盘、cd(compact disc:光盘)-rom、mo(magneto optical disc:磁光盘)、dvd(digital versatile disc:数字多用光盘)等。另外,也可以经由因特网等网络分发在本实施方式中进行了说明的签名控制程序。
[0318]
附图标记说明:100

信息处理装置,110

聚合签名信息,120

公开密钥束,121

聚合公开密钥信息,200

签名控制系统,201~203

签名侧终端,204

私人ca服务器,205

文档管理服务器,206

公共ca服务器,207

验证侧终端,210

网络,300、500

总线,301、501

cpu,302、502

存储器,303、503

网络i/f,304、504

记录介质i/f,305、505

记录介质,400

控制信息管理表格,600

第一存储部,601

第一获取部,602

第一生成部,603

修正部,604

解析部,605

第二生成部,606

第一输出部,610

第二存储部,611

第二获取部,612

验证部,613

第二输出部,700、800

密钥对生成部,701、801、901

数据接收部,702

种子值生成部,703、802

文档制作部,704、803

散列值计算部,705、804

签名生成部,706、805、1102

数据发送部,710、810

秘密密钥存储部,720、820

公开密钥存储部,900

组织公开密钥存储部,902

散列链验证部,903

聚合签名验证部,910

带聚合签名文档存储部,1001

聚合公开密钥生成部,1002

公开密钥登记申请部,1010

个人公开密钥存储部,1101

聚合签名生成部,1110

带签名文档存储部,1400、1500

散列链,1711~171n、1720、1731~173n、1741~174n、1750

公式,1800、2100

表。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1