长期署名用服务器、长期署名用终端、长期署名用终端程序及长期署名验证用服务器的制作方法

文档序号:7915604阅读:174来源:国知局
专利名称:长期署名用服务器、长期署名用终端、长期署名用终端程序及长期署名验证用服务器的制作方法
技术领域
本发明涉及长期署名用服务器、长期署名用終端、长期署名用終端程序及长期署名验证用服务器,例如涉及编制长期署名数据的技木。
背景技术
为了证明电子数据的真实性,电子署名被广泛利用着,即用加密密钥将电子数据加密的方式进行电子署名,用与该加密密钥对应的公开密钥将电子数据解密的方式进行验证。用公开密钥将电子数据解密后,就能够确认该电子数据是用与该公开密钥对应的加密密钥加密的,因为持有该加密密钥的是署名者,所以能够认定该电子数据是该署名者 編制的数据。打个比方,加密密钥发挥作为印章的作用,公开密钥发挥作为印章证明书的作用。加密密钥由认证部门发行的公开密钥证明书分发,接收分发者能够利用该证明书确认公开密钥的真实性。可是在署名等中使用的加密算法存在着被破译的危险等,因此电子署名被设定了有效期限。另外,即使在有效期限内,也会由于署名者的缘故而失效,或者由于加密密钥的遗漏等使根证明书以下的所有的证明书失效等。为了解决该问题,如专利文献I所示,规定了 g在使电子署名的有效性持久的电子署名格式(以下称作“长期署名格式”)。该规定在日本国外用RFC5126及ETSI TS 101 733定义,在日本用JIS标准(JISX 5092/5093)定义。长期署名格式如图I所示,由ES、STS、ES-T、验证信息、ES-XL、ATS (1st,2nd, ···)构成。关于它们的内容将在下文的实施方式中讲述。图11是讲述现有的长期署名系统100的结构例的图。长期署名系统100由设置在客户机端的长期署名服务器101、存在于外部网络102的CA储存库103、TSA104等构成。首先,长期署名服务器101接收成为署名对象的电子数据(原本数据的散列值)(步骤5),用加密密钥电子署名后生成ES (步骤10),将它发送给TSA104,从而赋予署名时间戳(步骤15),输出ES-T (步骤20)。接着,长期署名服务器101接收输出的ES-T (步骤25),从CA储存库103中取得失效信息(步骤30),判断该失效信息是不是经过一定时间后发行的(步骤35)。这是为了获得最新的失效信息。再接着,长期署名服务器101取得证明书的认证路径(步骤40),赋予失效信息和根据认证路径判断的验证信息(步骤45)。
然后,长期署名服务器101生成成为ATS之本的信息,对它进行电子署名,同时还用TSA104赋予时间戳,生成ATS (步骤50),输出ES-A (步骤55)。经过上述步骤后,虽然能够取得长期署名数据,但是这时存在着必须在用户端设置长期署名服务器101,在用户端进行运用管理的问题。另外,由于不容易估计长期署名数据的利用率以及用户难以体会到立竿见影的效果,所以还存在着初始引入成本超出用户的设想成本,因而长期署名系统引入困难的问题。对于这个问题,例如如图12所示,可以采用第三方运营长期署名服务器101,用户用客户机终端106访问长期署名服务器101,从而编制长期署名数据的方法解決。可是这时,用户除了要将电子署名使用的加密密钥存放到长期署名服务器101中之外,还必须向长期署名服务器101发送成为长期署名数据的署名对象的 原本数据(公司内文书数据等),存在着必须向外部传送机密信息(加密密钥、原本数据)的问题。另外,验证长期署名数据时也同样需要向验证用的服务器提供机密信息,或者本公司具备验证用的服务器。专利文献I :日本特表2003 — 533940号公报。

发明内容
本发明的目的在于提供将加密密钥等保持在客户机端的状态下,在服务器端编制或者验证长期署名数据的方案。权利要求I所述的发明,提供一种长期署名用服务器,其特征在于具备署名对象数据取得単元,该署名对象数据取得単元取得署名对象数据;署名用数据发送単元,该署名用数据发送単元向长期署名用终端发送用于在所述取得的署名对象数据上进行电子署名的署名用数据;署名值接收単元,该署名值接收单元从所述长期署名用終端接收使用所述发送的署名用数据生成的所述署名对象数据的电子署名值;时间戳取得単元,该时间戳取得单元对于所述接收的电子署名值取得时间戳;以及署名数据生成単元,该署名数据生成単元至少使用所述取得的署名对象数据、所述接收的电子署名值及所述取得的时间戳,生成基本署名数据。权利要求2所述的发明,提供如权利要求I所述的长期署名用服务器,其特征在于具备函数值证明书接收単元,该函数值证明书接收单元从所述长期署名用終端接收用规定的函数计算原本数据后的函数值以及包含与生成所述电子署名值使用的加密密钥对应的公开密钥在内的公开密钥证明书;所述署名对象数据取得単元,至少使用所述接收的函数值以及所述公开密钥证明书生成署名对象数据,从而取得所述署名对象数据。权利要求3所述的发明,提供如权利要求2所述的长期署名用服务器,其特征在于具备验证信息取得単元,该验证信息取得単元取得验证所述接收的公开密钥证明书及所述时间戳的验证信息;所述署名数据生成単元,将所述取得的验证信息添加到所述基本署名数据中。权利要求4所述的发明,提供如权利要求3所述的长期署名用服务器,其特征在于具备长期验证信息取得単元,该长期验证信息取得単元取得用于在规定期间验证所述基本署名数据的长期验证信息;所述署名数据生成単元,将所述取得的长期验证信息添加到所述生成的基本署名数据中,生成长期署名数据。
权利要求5所述的发明,提供如权利要求4所述的长期署名用服务器,其特征在于具备长期验证信息編制用信息发送单元,该长期验证信息編制用信息发送单元向所述长期署名用终端发送用于编制长期验证信息的长期验证信息編制用信息;以及长期验证信息編制用函数值接收単元,该长期验证信息編制用函数值接收单元从所述长期署名用終端接收将所述原本数据添加到所述发送的长期验证信息編制用信息中后用规定函数计算的长期验证信息編制用函数值,所述长期验证信息取得単元,将时间戳赋予所述接收的长期验证信息編制用函数值后取得所述长期验证信息。权利要求6所述的发明,提供如权利要求4或5所述的长期 署名用服务器,其特征在于具备长期署名数据接收単元,该长期署名数据接收単元从长期署名用終端接收长期署名数据;长期验证信息抽出単元,该长期验证信息抽出単元从所述接收的长期署名数据中抽出长期验证信息;以及再次的长期验证信息取得単元,该再次的长期验证信息取得单元取得用于在规定期间验证所述抽出的长期验证信息的再次的长期验证信息,所述署名数据生成単元将所述取得的再次的长期验证信息添加到所述接收的长期署名数据中更新该长期署名数据。权利要求7所述的发明,提供如权利要求6所述的长期署名用服务器,其特征在于具备再次的长期验证信息編制用信息发送单元,该再次的长期验证信息編制用信息发送単元向所述长期署名用终端发送用于编制再次的长期验证信息的再次的长期验证信息编制用信息;以及再次的长期验证信息編制用函数值接收単元,该再次的长期验证信息編制用函数值接收单元从所述长期署名用終端接收将所述原本数据添加到所述发送的再次的长期验证信息編制用信息中后用规定函数计算的再次的长期验证信息編制用函数值,所述再次的长期验证信息取得単元,将时间戳赋予所述接收的再次的长期验证信息編制用函数值而取得所述再次的长期验证信息。权利要求8所述的发明,提供如权利要求I 7任一项所述的长期署名用服务器,其特征在于所述署名对象数据,包含用规定的函数计算所述接收的公开密钥证明书后的函数值。此外,用规定的函数计算该公开密钥证明书后的函数值,还包含用规定的函数计算署名对象特性后的函数值,该署名对象特性包含用规定的函数计算公开密钥证明书后的函数值。权利要求9所述的发明,提供如权利要求I 8所述的长期署名用服务器,其特征在于,具备程序发送单元,该程序发送单元向所述长期署名用终端发送用计算机实现下述功能的长期署名用終端程序用加密密钥进行电子署名的电子署名功能;向长期署名用服务器发送与所述加密密钥对应的公开密钥的公开密钥证明书的公开密钥证明书发送功能;向长期署名用服务器发送用规定的函数计算原本数据后的函数值的函数值发送功能;从所述长期署名用服务器接收用于在使用所述发送的公开密钥证明书和所述函数值而生成的署名对象数据上进行电子署名的署名用数据的署名用数据接收功能;以及使用所述接收的署名用数据,利用所述电子署名功能在所述署名对象数据上进行电子署名,将经过该电子署名的电子署名值发送给所述长期署名用服务器的署名值发送功能。权利要求10所述的发明,提供一种长期署名用終端,其特征在于,具备电子署名単元,该电子署名単元用加密密钥进行电子署名;公开密钥证明书发送单元,该公开密钥证明书发送単元向长期署名用服务器发送与所述加密密钥对应的公开密钥的公开密钥证明书;函数值发送単元,该函数值发送単元向长期署名用服务器发送用规定的函数计算原本数据后的函数值;署名用数据接收単元,该署名用数据接收单元从所述长期署名用服务器接收用于在使用所述发送的公开密钥证明书和所述函数值而生成的署名对象数据上进行电子署名的署名用数据;以及署名值发送単元,该署名值发送単元使用所述接收的署名用数据,利用所述电子署名単元在所述署名对象数据上进行电子署名,将经过该电子署名的电子署名值发送给所述长期署名用服务器。权利要求11所述的发明,提供如权利要求10所述的长期署名用終端,其特征在于具备长期验证信息編制用信息接收单元,该长期验证信息編制用信息接收单元从所述长期署名用服务器接收用于编制规定期间验证包含所述发送的函数值、公开密钥证明书、电子署名值在内的基本署名数据的长期验证信息的长期验证信息編制用信息;长期验证信息編制用函数值生成単元,该长期验证信息編制用函数值生成単元将所述原本数据添加到所述接收的长期验证信息編制用信息中,用规定函数计算添加了该原本数据的长期验证信息編制用信息而生成长期验证信息編制用函数值;以及长期验证信息編制用函数值发送单元,该长期验证信息編制用函数值发送単元将所述生成的长期验证信息編制用函数值发送给所述长期署名用服务器。 权利要求12所述的发明,提供如权利要求11所述的长期署名用終端,其特征在于具备长期署名数据发送単元,该长期署名数据发送単元向所述长期署名用服务器发送包含所述发送的函数值、公开密钥证明书、电子署名值在内的基本署名数据及包含在规定期间验证它们的长期验证信息在内的长期署名数据;再次的长期验证信息編制用信息接收单元,该再次的长期验证信息編制用信息接收单元从所述长期署名用服务器接收用于編制在规定期间验证所述发送的长期署名数据的长期验证信息的再次的长期验证信息的再次的长期验证信息編制用信息;再次的长期验证信息編制用函数值生成単元,该再次的长期验证信息編制用函数值生成単元将所述原本数据添加到所述接收的再次的长期验证信息编制用信息中,用规定函数计算添加了该原本数据的再次的长期验证信息編制用信息而生成再次的长期验证信息編制用函数值;以及再次的长期验证信息編制用函数值发送単元,该再次的长期验证信息編制用函数值发送単元向所述长期署名用服务器发送所述生成的再次的长期验证信息編制用函数值。权利要求13所述的发明,提供一种长期署名用終端程序,该程序用计算机实现下述功能用加密密钥进行电子署名的电子署名功能;向长期署名用服务器发送与所述加密密钥对应的公开密钥的公开密钥证明书的公开密钥证明书发送功能;向长期署名用服务器发送用规定的函数计算原本数据后的函数值的函数值发送功能;从所述长期署名用服务器接收用于在使用所述发送的公开密钥证明书和所述函数值而生成的署名对象数据上进行电子署名的署名用数据的署名用数据接收功能;以及使用所述接收的署名用数据,利用所述电子署名功能在所述署名对象数据上进行电子署名,将经过该电子署名的电子署名值发送给所述长期署名用服务器的署名值发送功能。权利要求14所述的发明,提供一种长期署名验证用服务器,其特征在于,具备长期署名数据接收単元,该长期署名数据接收単元从验证者終端接收长期署名数据,该长期署名数据被用包含署名对象数据和验证所述署名对象数据的验证信息及在规定期间验证所述署名对象数据和验证信息的长期验证信息的长期验证信息构成,用于验证原本数据的合法性;长期验证信息編制用信息发送单元,该长期验证信息編制用信息发送单元抽出所述长期署名数据包含的规定信息,编制长期验证信息編制用信息,向所述验证者终端发送该编制的长期验证信息編制用信息;长期验证信息編制用函数值接收単元,该长期验证信息編制用函数值接收单元从所述验证者終端接收将所述原本数据添加到所述发送的长期验证信息編制用信息中后用规定的函数计算后的长期验证信息編制用函数值;以及长期验证信息验证单元,该长期验证信息验证单元使用所述接收的长期验证信息編制用函数值,验证所述长期验证信息。权利要求15所述的发明,提供如权利要求14所述的长期署名验证用服务器,其特征在于具备署名对象数据验证単元,该署名对象数据验证単元使用所述验证信息验证所述署名对象数据;所述长期验证信息验证单元,在所述署名对象数据验证单元进行验证之后验证所述长期验证信息。权利要求16所述的发明,提供一种长期署名验证用服务器,其特征在于具备署名数据接收単元,该署名数据接收単元接收包含电子署名值和与生成该署名值时使用的加密密钥对应的公开密钥的公开密钥证明书在内的署名数据;函数值接收単元,该函数值接收单元接收用规定的函数计算原本数据而生成的函数值;函数值确认単元,该函数值确认単元使用所述公开密钥证明书,将所述电子署名值解密,比较该解密后的值和所述接收的函数值,从而确认所述接收的函数值的合法性;证明书确认单元,该证明书确认単元使用验证所述公开密钥证明书的合法性的认证路径涉及的证明书,确认所述公开密钥证明书的合法性。采用本发明后,能够使客户机终端分担使用加密密钥等的处理,从而在将难以拿到公司之外的加密密钥、原本数据保持在客户机端的情况下,在服务器端編制或验证长期署名数据。


图I是用于讲述本实施方式的概要的 图2是用于讲述长期署名系统的结构的图; 图3是用于讲述长期署名格式的 图4是用于讲述客户机终端和长期署名服务器编制长期署名数据的步骤的流程 图5是用于讲述ES編制处理的流程 图6是用于讲述ES — T編制处理的流程 图7是用于讲述ES — XL編制处理的流程 图8是用于讲述ES — A (1st)编制处通的流程 图9是用于讲述编制ES — A (2nd)的步骤的流程 图10是用于讲述长期署名数据的验证处理的流程 图11是用于讲述现有技术的长期署名系统的结构例的 图12是用于讲述现有技术中的第三方运营长期署名服务器的情况的图。
具体实施例方式(I)实施方式的概要图I是讲述本实施方式的概要的图。在规定的长期署名格式中配置ES、STS、验证信息、ATS (lst)、ATS (2nd),…而构成长期署名数据。这些长期署名数据的要素中,需要使用加密密钥和原本数据的处理的,是ES和ATS。长期署名系统I在客户机终端3中进行需要使用这些原本数据和加密密钥的处理,在长期署名服务器2中进行解析、生成长期署名数据的处理,从而能够在将原本数据和加密密钥保持在客户机终端3的内部的状态下,在长期署名服务器2中生成长期署名数据。更详细地说,客户机终端3对于原本数据计算散列值后,发送给长期署名服务器2,从而将原本数据保持在客户机终端3中。关于加密密钥,由长期署名服务器2发送用于編制ES的数据,再用加密密钥对它进行电子署名,从而将加密密钥保持在客户机终端3中。 另ー方面,长期署名服务器2解析和生成长期格式的表述形式即XML。这样,在长期署名系统I中能够将编制长期署名数据的处理分离成使用加密密钥和原本数据的处理,和解析、生成XML的处理,使客户机终端3分担前者、长期署名服务器2分担后者,从而能够在将加密密钥和原本数据保持在客户机终端3中的状态下,使长期署名服务器2生成长期署名数据。(2)实施方式的详细
图2是讲述长期署名系统I的结构的图。长期署名系统I采用通过互联网4使长期署名服务器2、客户机终端3、时间戳服务器5、储存库服务器6、7等可以通信地连接的结构。长期署名服务器2由 CPlXCentral Processing Unit)21>R0M(Read Only Memory)22、存储部23、输入输出I/F24、RAM (Random Access Memory)25、显示部26、通信控制部27等构成。 CPU21是按照存储部23等存储的程序进行信息处理及控制长期署名服务器2的各部的中央处理装置。在本实施方式中,一边和客户机终端3、时间戳服务器5、储存库服务器6、7通信,ー边编制长期署名数据。R0M22是只读存储器,存储长期署名服务器2动作所需的基本程序、參数等。RAM25是随机存取存储器,提供工作存储器等,该工作存储器可供长期署名服务器2和客户机终端3等通信,编制长期署名数据。存储部23例如使用硬盘等大容量的存储装置构成,存储使长期署名服务器2动作的OS (操作系统0perating System)及生成长期署名数据的程序等。显示部26例如具备使用液晶、CRT (阴极射线管Cathode Ray Tube)等的显示装置,显示供长期署名服务器2的运用担当者等操作长期署名服务器2的各种画面。输入输出I/F24例如具备各种操作开关、键盘、鼠标等的输入输出装置,运用担当者等能够通过输入输出I/F24操作长期署名服务器2。通信控制部27通过互联网4,与客户机终端3、时间戳服务器5、储存库服务器6、7等通信。此外,互联网4也可以是其它形态的通信网。长期署名服务器2能够利用通信控制部27,从客户机終端3接收电子署名值、原本数据的散列值(以下称作“原本散列值”)、公开密钥证明书等。客户机终端3由CPU31、R0M32、存储部33、通信控制部34、RAM35、显示部36、输入输出I/F37等构成。CPU31是按照存储部33等存储的程序进行信息处理及控制客户机终端3的各部的中央处理装置。
在本实施方式中,和长期署名服务器2进行各种信息的收发、用加密密钥进行电
罕卑々坐J启る寸οR0M32是只读存储器,存储客户机终端3动作所需的基本程序、參数等。RAM35是随机存取存储器,例如在客户机终端3和长期署名服务器2 —边通信ー边编制电子署名、原本散列值之际提供工作存储器。存储部33例如使用硬盘等大容量的存储装置构成,存储使客户机终端3动作的OS、进行电子署名的加密密钥、与该加密密钥对应的公开密钥的公开密钥证明书、成为长期署名对象的原本数据等。作为原本数据,例如除了用文字处理器、文本编辑程序等編制的电子文件之外,还可以是图像数据、声音数据等各种数据文件。另外,还可以采用每次编制时都从长期署名服务器2中下载供客户机终端3編制长期署名数据的程序(用JAVA (注册商标)等編制)的结构,或者采用使存储部33预先存储使用它的结构。显示部36例如具备使用液晶、CRT等的显示装置,显示供客户机终端3的用户操作客户机终端3的各种画面。输入输出I/F37例如具备键盘、鼠标、IC卡读写器等输入输出装置。IC卡读写器连接IC卡后,中介客户机终端3和IC卡的通信。IC 卡是具备 CPU、ROM、RAM、EEPROM (Electrically Erasable and ProgrammableROM)等的信息处理装置,例如存储用于对使用客户机终端3的用户进行认证的用户认证信息等。另外,还可以设置客户机终端3,使IC卡存储加密密钥、公开密钥证明书等,使用IC卡的加密密钥进行电子署名。通信控制部34通过互联网4,与长期署名服务器2进行通信。使用通信控制部34,与长期署名服务器2进行散列值、电子署名值的发送等。时间戳服务器5是发行时间戳的服务器,设置于TSA(Time Stamp Authority:时间戳服务中心)。时间戳服务器5具有根据时刻发送站发送的时刻修正的正确的时钟,一旦接收成为时间戳发行对象的电子数据,就将该时钟显示的当前的日期时刻附加在它的上面,用加密密钥进行电子署名(加密),从而发行时间戳。储存库服务器6 是设置于 TSA-CA (Time Stamp Authority CertificateAuthority:时间戳认证部门)的服务器,提供用于验证时间戳的公开密钥证明书(与时间戳使用的加密密钥对应的公开密钥的公开密钥证明书)的失效信息。由于未被失效信息列入表中的公开密钥证明书尚未失效,所以据此可以确认公开密钥证明书的有效性,依据该有效的公开密钥证明书可以确认时间戳的有效性。
储存库服务器7是设置于CA (Certificate Authority)的服务器,提供验证客户机終端3进行的电子署名使用的公开密钥证明书(与客户机终端3的加密密钥对应的公开密钥的公开密钥证明书)的失效信息。由于未被失效信息列入表中的公开密钥证明书没有失效,所以据此可以确认公开密钥证明书的有效性,依据该有效的公开密钥证明书可以确认客户机终端3进行的电子署名的有效性。储存库服务器6和储存库服务器7提供的失效信息,被定期、不定期(例如每隔24小时)地更新。图3是用于讲述本实施方式使用的长期署名数据的格式(长期署名格式)的图。本实施方式的长期署名数据,遵照XAdES (XML Advanced ElectronicSignatures)的规定,使用 XML (Extensible Markup Language)语言 记述。署名前XAdES数据是XML要素,存放着成为客户机终端3进行电子署名的对象的署名对象数据,由Keylnfo、署名对象特性、SignedInfo各要素构成。客户机终端3对署名前XAdES数据进行电子署名,从而生成ES。在KeyInfo中,设定着与客户机终端3进行电子署名时使用的加密密钥对应的公开密钥的公开密钥证明书。公开密钥证明书例如包含公开密钥、公开密钥的所有者、认证部门、认证部门的署名等。在署名对象特性中,设定公开密钥证明书的散列值。在SignedInfo中,设定着原本散列值及署名对象特性的散列值(以下称作“署名对象特性散列值”)。ES将上述署名前XAdES数据和SignatureValue作为要素构成。在SignatureValue中,设定着客户机终端3用加密密钥对SignedInfo进行署名的署名值。这样,客户机终端3对SignedInfo进行电子署名,从而对署名前XAdES数据进行署名。ES — T将上述ES和署名时间戳作为要素构成。在署名时间戳中,设定着向ES发行的STS (署名时间戳)。STS是在时间戳服务器5中,将当前的日期时刻赋予SignatureValue的散列值,用时间戳服务器5的加密密钥对它进行电子署名的数据。ES-XL (ES-XLong)将上述ES — T和验证信息作为要素构成。使用证明书组和失效信息组构成验证信息。用客户机终端3署名时使用的加密密钥的公开密钥证明书和时间戳服务器5在时间戳上使用的加密密钥的公开密钥证明书的认证路径上的公开密钥证明书,构成证明书组。该认证路径采用在下述证明书可靠链中,一直追溯到根认证部门为止地对公开密钥证明书的验证进行确认的形式根认证部门发行自我署名证明书,该根认证部门向子认证部门发行证明书,该子认证部门向孙认证部门发行证明书,……,末端的认证部门向个人、证明书所有者发行证明书。失效信息组由公开密钥证明书的失效信息构成。
ES-A (1st)将上述ES-XL和ATS (1st)作为要素构成。ATS (1st) (Archive Time Stamp :档案时间戳)是第一代的ATS,包含根据验证ES-T的信息、原本散列值、客户机终端3的电子署名、时间戳服务器5的时间戳(STS)等用规定的方法编制而成的散列值,可以利用ATS (1st),验证ES-XL的合法性。ES-A (2nd)将 ES-A (1st)和 ATS (2nd)作为要素构成。ATS (2nd)是第二代的ATS,包含根据验证ES- A (1st)的信息、原本散列值、客户机終端3的电子署名、时间戳服务器5的时间戳(STS、ATS (1st))等用规定的方法生成的散列值,可以利用ATS (2nd)验证ATS (1st)的合法性。虽然没有图示,但是能够进而将ES-A (2nd)和ATS (3rd)作为要素的ES-A (3rd)、将ES-A (3rd)和ATS (4th)作为要素的ES-A (4th)、……地进ー步更新换代。
如上所述地构成的长期署名数据,采用下述方法編制。首先编制到ES-XL为止,在署名时间戳和验证信息有效的期间取得ATS (1st),构筑ES-A (1st)。然后,在ATS (1st)失去有效性之前(时间戳令牌的公开密钥证明书的有效期限截止、失效前,或有关的加密算法被破译前),取得ATS (2nd)。以下同样,直到当前的ATS失去有效性之前,反复取得下一代的ATS。这样,对于ES-XL来说,被时间序列性地赋予ATS,可以获得最新的一代的ATS在有效期限内的长期署名数据。关于这样编制的长期署名数据的验证,将在后文中详述。图4是讲述客户机终端3和长期署名服务器2编制长期署名数据的步骤的流程图。此外,以下的处理是CPU21和CPU31按照规定的程序进行的。首先,客户机终端3和长期署名服务器2共同进行ES編制处理(步骤100)。接着,长期署名服务器2进行ES-T编制处理(步骤200)、及ES-XL编制处理(步骤300)。然后,客户机终端3和长期署名服务器2共同进行ES-A (1st)編制处理(步骤400)。这样就編制出长期署名数据(ES-A)。然后,虽然没有图示,但是编制的ES-A (1st),在有效期间内赋予ATS (2nd)后,被更新成为ES-A (2nd),以后反复更新换代,使长期署名数据一直保持有效性。长期署名数据的编制步骤大致由以上的阶段构成,下面讲述各阶段的详细步骤。图5是讲述步骤100的ES编制处理的流程图。首先,在客户机终端3毎次编制长期署名数据时,都要下载必要的程序(进行以下的处理的工具)情况时,在处理之前,从长期署名服务器2中下载程序后执行。客户机终端3已经存储了必要的程序时,执行它。接着,客户机终端3接收成为长期署名对象的原本数据的输入(步骤105)。这以用户在客户机终端3中指定成为对象的原本数据的文件等形式进行。再接着,客户机终端3接收与署名使用的加密密钥对应的公开密钥的公开密钥证明书的输入,向长期署名服务器2发送(步骤110)。
公开密钥证明书的输入由用户在客户机终端3中指定使用的公开密钥证明书等进行。长期署名服务器2从客户机終端3接收公开密钥证明书(步骤115)后,就利用XML编制署名前XAdES数据(步骤120)。这样,长期署名服务器2在从客户机終端3接收编制长期署名数据的要求后,就在RAM25中编制遵照XML的长期署名格式,以后在该格式中设定必要的数据,完成长期署名数据。
再接着,客户机终端3计算原本散列值,向长期署名服务器2发送(步骤125)。这样,由于客户机終端3向长期署名服务器2发送原本散列值,所以不需要将原本数据从客户机终端3中拿到外部。然后,长期署名服务器2从客户机終端3接收原本散列值(步骤130)。长期署名服务器2如上所述地从客户机终端3接收公开密钥证明书和原本散列值后,首先在署名前XAdES数据中编制KeyInfo的区,将从客户机终端3接收的公开密钥证明书设定在该区中(步骤135)。接着,长期署名服务器2在计算公开密钥证明书的散列值(以下称作“公开密钥证明书散列值”)的同时,还在署名前XAdES数据中编制署名对象特性的区,将公开密钥证明书散列值设定在该区中(步骤140)。再接着,长期署名服务器2计算署名对象特性散列值(步骤145),在署名前XAdES数据中编制SignedInfo的区,将原本散列值和署名对象特性散列值设定在该区中。长期署名服务器2这样地編制SignedInfo后,就从署名前XAdES数据中抽出SignedInfo的区,向客户机终端3发送(步骤150)。此外,在本实施方式中,长期署名服务器2向客户机终端3发送SignedInfo的区。但是作为变形例,还可以采用长期署名服务器2计算SignedInfo区的散列值向客户机终端3发送该散列值的结构。这时,客户机终端3只要用加密密钥将该散列值加密即可。这样,散列值的计算可以在长期署名服务器2和客户机终端3的某一个中进行。客户机终端3从长期署名服务器2接收SignedInfo后,就计算SignedInfo的散列值。然后用加密密钥对该散列值进行电子署名,编制署名值(即用加密密钥将SignedInfo的散列值加密而生成加密值),向长期署名服务器2发送该电子署名值(步骤155)。这样,署名前XAdES数据就被客户机终端3的加密密钥电子署名。长期署名服务器2从客户机终端3接收署名值后,就将它追加到署名前XAdES数据中,完成ES (步骤160)。这样,长期署名服务器2就可以在将原本数据和加密密钥保持在客户机终端3中的状态下,编制ES。图6是讲述步骤200的ES — T编制处理的流程图。首先,长期署名服务器2将在步骤100中编制的ES作为处理对象输入(步骤205)。这时,还可以采用验证ES的结构。接着,长期署名服务器2从ES中抽出SignatureValue区(步骤210),计算SignatureValue 的散列值(步骤 215)。
再接着,长期署名服务器2生成用于请求对应于SignatureValue的散列值的时间戳的TSQ (Time — stamp Request),向时间戳服务器5发送(步骤220)。时间戳服务器5接收TSQ后,就赋予当前的日期时刻,然后用加密密钥署名,生成TST (Time Stamp Token)。然后,时间戳服务器5使用发行的TST,生成TSR (Time 一 stamp Response),向长期署名服务器2发送(步骤225)。更详细地说,TST存在于TSR之中,从TSR中取出的TST被称作STS(署名时间戳)、ATS (档案库存储器时间戳)等。长期署名服务器2从时间戳服务器5接收TSR,从TSR中抽出TST (步骤230)。然后,长期署名服务器2在ES — T中编制署名时间戳区,将TST作为STS(署名时间戳)设定,完成ES — T的编制(步骤235)。 图7是讲述步骤300的ES — XL编制处理的流程图。首先,长期署名服务器2将在步骤200中编制的ES — T作为处理对象输入(步骤305)。接着,长期署名服务器2从ES — T中推断出必要的证明书信息,采用下述方法收集。首先,长期署名服务器2取得客户机终端3的公开密钥证明书即署名证明书(步骤310),进而取得该署名证明书的根证明书(步骤315)。接着,长期署名服务器2取得用于证明署名时间戳的TSA证明书(步骤320),再接着取得该TSA证明书的根证明书(步骤325)。这些取得对象的证明书组被长期署名服务器2存储。然后,为了确认客户机終端3的公开密钥证明书及STS的公开密钥证明书、用于验证它们的认证部门的证明书等是否被列入失效目录中,长期署名服务器2从证明书组的各证明书中推断出必要的失效信息,采用下述方法收集它们。此外,尽管合法的署名密钥所有者例如由于丢失了密钥等而向认证部门提出了失效申请,但是因为失效手续的事务处理、失效彳目息公布时机的关系,署名证明书的失效状态有可能尚未注册到失效信息中。这时,因为从失效之后到注册到失效信息为止需要时间,所以长期署名服务器2取得署名时间戳后,或者編制了证明书组后,经过了一定期间后(根据发行署名证明书的认证部门的运营章程而定,例如24小时或数天)就要收集失效信息。首先,长期署名服务器2访问CA的储存库服务器7,请求收集的署名证明书的CRL(Certificate Revocation List)(步骤 330)。对此,储存库服务器7向长期署名服务器2发送署名证明书的CRL (步骤335)。在这里,CRL是失效的证明书ー览表,将证明书和CRL加以对照后,能够判断证明书是否有效。接着,长期署名服务器2向储存库服务器7请求署名证明书的根证明书的ARL(Authority Revocation List)(步骤 340)。于是,储存库服务器7向长期署名服务器2发送署名证明书的根证明书的ARL(步骤 345)。
在这里,ARL是失效的自我署名证明书等的目录。由于在证明书可靠链中根的CA位于最高位,所以根的CA可以用自我署名证明书证明自己。然后,将根证明书和ARL加以对照,从而能够判断根证明书是否有效。利用署名证明书的CRL能够验证署名证明书的有效性,利用署名证明书的根证明书的ARL能够验证署名证明书的根证明书的有效性,通过验证署名证明书及署名证明书的根证明书,客户机终端3能够验证署名的真实性。接着,长期署名服务器2访问TSA — CA的储存库服务器6,请求TSA证明书的CRL(步骤350)。对此,储存库服务器6向长期署名服务器2发送TSA证明书的CRL (步骤355)。接着,长期署名服务器2向储存库服务器6请求TSA证明书的根证明书的ARL(步骤 360)。 对此,储存库服务器6向长期署名服务器2发送TSA证明书的根证明书的ARL(步骤 365)。利用TSA证明书的CRL能够验证TSA证明书的有效性,利用TSA证明书的根证明书的ARL能够验证TSA证明书的根证明书的有效性,通过验证TSA证明书及TSA证明书的根证明书,能够验证STS的合法性。客户机终端3如上所述地收集证明书组和失效信息组后,就使用它们构筑基于证明书可靠链的阶层的认证路径,将它追加到ES — T中,編制ES — XL (步骤370)。图8是讲述步骤400的ES — A (1st)编制处理的流程图。首先,长期署名服务器2将步骤300编制的ES — XL作为处理对象输入(步骤405)。这时,长期署名服务器2还能够采用验证ES — XL的结构。接着,长期署名服务器2在长期署名数据中编制ATS区(步骤410)。长期署名服务器2編制ATS区,編制ES — A (ISt)的准备完毕后,就向客户机终端3发送准备完毕的通知(步骤415)。客户机终端3接收该通知后,就读取原本数据(步骤420)。长期署名服务器2向客户机终端3发送了准备完毕的通知后,就編制ES — A( 1st)用的散列值对象数据编制用数据(步骤425)。具体地说,长期署名服务器2从ES — XL中抽出署名对象特性、SignedInfo,SignatureValue、Keylnfo、STS、证明书组、失效信息组,按照规定的格式设定它们后结合,生成散列值对象数据编制用数据。此外,该散列值对象数据编制用数据是从散列值对象数据中除去原本数据后的数据。长期署名服务器2編制署名值对象数据编制用数据后,就将它发送给客户机終端3 (步骤 425)。客户机终端3从长期署名服务器2接收散列值对象数据编制用数据后,就将步骤420读出的原本数据追加到它中(步骤430),編制散列值对象数据。接着,客户机终端3计算散列值对象数据的散列值,向长期署名服务器2发送该散列值(步骤435)。长期署名服务器2接收散列值对象数据的散列值后,就生成用于请求给它时间戳的TSQ,发送给时间戳服务器5 (步骤440)。时间戳服务器5接收TSQ后,就从TSQ中取出散列值对象数据的散列值,将当前的日期时刻赋予它,用加密密钥署名,从而生成TST。然后,时间戳服务器5使用TST生成TSR,向长期署名服务器2发送(步骤445)。长期署名服务器2从时间戳服务器5接收TSR后(步骤450),就从中抽出TST (步骤 460)。然后,长期署名服务器2将抽出的TST作为ATS (1st)追加到ES — XL中,生成ES — A (1st),向客户机终端3发送(步骤465)。 客户机终端3从长期署名服务器2接收ES — A (1st)后存储(步骤470)。经过以上步骤,能够在将原本数据和加密密钥(署名密钥)保持在客户机终端3的内部的状态下,在长期署名服务器2中编制长期署名数据(ES — A (1st))。如上所述地编制的ES — A (1st)虽然被保存在客户机端,但是必须在ATS (1st)的有效性失去之前,将ATS (2nd)赋予ES — A (1st)更新成为ES — A (2nd)。因此,下面讲述更新成为ES — A (2nd)的步骤。图9是讲述编制ES — A (2nd)的步骤的流程图。首先,客户机终端3向长期署名服务器2发送ES — A (1st)(步骤505)。还可以采用在输入ES — A (1st)之际用客户机终端3验证它的结构。长期署名服务器2从客户机终端3接收ES — A (1st)(步骤510)。然后,长期署名服务器2根据ES — A (1st)推断出ATS (1st)必要的证明书信息,采用下述方法收集它们。首先,长期署名服务器2取得ATS (1st)的TSA证明书(步骤515),进而取得TSA证明书的根证明书(步骤520)。这些证明书被长期署名服务器2存储。接着,长期署名服务器2访问TSA — CA的储存库服务器6,请求ATS (1st)的TSA证明书的CRL (步骤525)。储存库服务器6向长期署名服务器2发送CRL (步骤530)。然后,长期署名服务器2接收CRL。接着,长期署名服务器2向储存库服务器6请求ATS (1st)的TSA证明书的根证明书的ARL (步骤535),储存库服务器6向长期署名服务器2发送该根证明书的ARL (步骤540)。然后,长期署名服务器2接收ARL。再接着,长期署名服务器2根据这些证明书组(TSA证明书、TSA证明书的根证明书)和失效信息组(CRL、ARL)构筑认证路径(步骤545)。然后,长期署名服务器2将收集的证明书组和失效信息组分别追加到ATS (1st)的 certificates 区及 crls 区,更新 ATS (1st)(步骤 550)。接着,长期署名服务器2在更新了 ATS (1st)的ES — A (1st)中编制ATS (2nd)用的区,向客户机终端3发送编制ES — A (2nd)的准备完毕之意的准备完毕通知(步骤555)。随后的处理和图8的步骤420以后相同,能够在将原本数据和加密密钥保持在客户机终端3的内部的状态下,在长期署名服务器2中编制ES — A (2nd)。就是说,长期署名服务器2編制散列值对象数据编制用数据后,将它发送给客户机終端3。
客户机终端3将原本数据追加到散列值对象数据编制用数据中,计算散列值,向长期署名服务器2发送该散列值。长期署名服务器2将该散列值发送给时间戳服务器5,让它发行时间戳,将该时间戳追加到ES — A (1st)中,编制ES — A (2nd)。ES — A (3rd)、ES — A (4th)等下一代也同样编制。采用以上讲述的本实施方式后,可以获得如下效果。(I)能够实现将长期署名数据的编制步骤分离成为长期署名服务器2的步骤和客户机终端3的步骤进行的协议。(2)因为在客户机终端3中进行署名,所以不需要将加密密钥拿到客户机终端3的外部。 (3)因为计算原本数据的散列值后,发送给长期署名服务器2,所以不需要将原本数据拿到客户机终端3的外部。(4)在客户机终端3中只进行使用加密密钥和原本数据的处理,XML的解析、时间戳、验证信息的取得等计算机的负荷较大的处理由长期署名服务器2进行,所以能够减小客户机终端3的负荷。(5)例如即使是大型设计图纸、声音动画数据那种超过数兆字节的原本数据,也因为向长期署名服务器2发送的是原本散列值等,所以能够减少通信负荷。(6)因为能够在将加密密钥和原本数据保持在用户端的状态下,外包长期署名数据的编制,不需要在用户环境中构筑长期署名系统,所以用户不必进行运行管理(日志监视、失败监视、恢复处理等)。(7)因为不在用户环境中构筑长期署名系统,所以不必进行用于从用户环境取得时间戳及失效信息的网络设置(IP、开放端ロ等)。(8)因为长期署名服务器2具有用于取得认证路径的署名证明书的根证明书及TSA证明书的根证明书等,所以不需要在用户环境中保持这些信息。这样,例如即使TSA变更认证部门时,也不必在用户环境中重新注册新的认证部门证明书(根证明书、中间证明书)。(9)因为由长期署名服务器2取得时间戳,所以客户机终端3的用户端不必与TSA签订合同。(10)在长期署名格式出现版本修订、加密算法被破译时,只需长期署名服务器2予以应对,用户端不必应对。(11)通过长期署名数据的生成外包给长期署名服务器2,能够提供满足顾客下述需求的解决方案例如虽然需要长期署名系统,但是因为无法估计所需的处理文件数量,无法负担初期成本;由于不能确保操作长期署名系统的必要人员,所以不能够在本公司内安装服务器系统;不希望将加密密钥和原本数据拿到公司外。(12)通过利用长期署名格式,能够延长电子署名的有效性,或者应对加密算法被破译的情況。(13)能够提供确保机密地用云计算进行下述处理的系统用署名密钥在署名对象文件上署名,赋予署名时间戳后,編制ES — T,收集、赋予ES — T必要的验证信息(认证路径及失效信息),赋予档案库时间戳后编制ES — A0
(14)因为使客户机终端3与长期署名服务器2连接,不与时间戳服务器5、储存库服务器6、储存库服务器7连接,所以能够尽量減少客户机终端3的连接处,能够防止连接处过多而増大安全漏洞。而且,以上讲述的客户机终端3和长期署名服务器2的处理,是满足下述两个要求的一个例子(I)用长期署名服务器2进行负荷较大的处理,尽量減少客户机终端3的负荷;(2)为了減少客户机终端3的通信处,使客户机终端3的通信处为长期署名服务器2。作为变形例,还可以采用使客户机终端3进行长期署名服务器2的一部分处理的结构。例如在步骤100的ES的編制处理(图4)中,可以使客户机终端3进行所有的处理。另外,在步骤200的ES — T的編制处理中,可以使客户机终端3进行取得时间戳 的处理(步骤220、225)以外的处理。这时,客户机终端3只向长期署名服务器2发送时间戳处理所需的数据,长期署名服务器2取得时间戳服务器5赋予它的时间戳后,向客户机终端3发送。在这里,之所以使客户机终端3的通信处为长期署名服务器2,是因为要尽量減少客户机终端3的通信处的缘故。进而,在步骤300的ES — XL的編制处理中,可以使客户机终端3进行从储存库服务器6、储存库服务器7中收集失效信息的处理(步骤330 365)以外的处理(因为需要从外部取得失效彳目息)。这时,客户机终端3必须对证明书进行管理。另外,在开始进行ES — XL的编制处理之际,客户机终端3还必须确认是否能够取得必要的失效信息。这时,需要委托长期署名服务器2进行失效信息取得的检查。所以这时,客户机终端3向长期署名服务器2发送成为必要的失效信息的取得处的URL (Uniform Resource Locators)等,长期署名服务器2使用它收集失效信息后,向客户机终端3发送。另外,在步骤400的ES — A (1st)的編制处理中,可以使客户机终端3进行取得时间戳的处理(步骤440、445)以外的处理。这时,客户机终端3只向长期署名服务器2发送时间戳处理所需的数据,长期署名服务器2取得时间戳服务器5赋予它的时间戳后,向客户机终端3发送。在这里,之所以使客户机终端3的通信处为长期署名服务器2,是因为要尽量減少客户机终端3的通信处的缘故。进而,在图9的ES — A更新处理中,可以使客户机终端3进行从储存库服务器6中收集失效信息的处理(步骤525 540)和未图示的取得时间戳的处理(步骤440、445)以外的处理。这时,客户机终端3需要对证明书进行管理。另外,在开始进行ES — A更新处理之际,客户机终端3还必须确认是否能够取得必要的失效信息。这时,需要委托长期署名服务器2进行失效信息取得的检查。而且这时,客户机终端3向长期署名服务器2发送成为必要的失效信息的取得处的URL (Uniform Resource Locators)等,长期署名服务器2使用它收集失效信息后,向客户机终端3发送。采用以上讲述的本实施方式,可以获得下述结构。
在长期署名系统I中,使长期署名服务器2作为长期署名用服务器发挥作用,使客户机终端3作为长期署名用終端发挥作用。由于通过客户机终端3用加密密钥在SignedInfo中署名,从而在署名前XAdES数据中署名,所以署名前XAdES数据或SignedInfo可以作为署名对象数据发挥作用。另外,关于在SignedInfo中的署名,既可以将SignedInfo发送给客户机终端3,由客户机终端3计算SignedInfo的散列值后在该散列值中署名,还可以使长期署名服务器2计算SignedInfo的散列值后向客户机终端3发送,由客户机终端3在该散列值中署名。前者使SignedInfo作为署名用数据发挥作用,后者使SignedInfo的散列值作为署名用数据发挥作用。为了将用于生成署名前XAdES数据后在SignedInfo中署名的署名用数据(SignedInfo或SignedInfo的散列值)发送给客户机终端3,所以长期署名服务器2具备取得署名对象数据的署名对象数据取得単元和向长期署名用终端发送用于在所述取得的署 名对象数据上进行电子署名的署名用数据的署名用数据发送単元。而且,长期署名服务器2为了从客户机终端3接收SignedInfo的署名值,所以具备署名值接收単元,该署名值接收单元从所述长期署名用終端接收使用所述发送的署名用数据而生成的所述署名对象数据的电子署名值;为了让时间戳服务器5使用TST向署名前XAdES数据和署名值发行STS,所以具备时间戳取得単元,该时间戳取得単元对于所述接收的电子署名值取得时间戳。由于使ES — T作为基本署名数据发挥作用,长期署名服务器2根据署名前XAdES数据、署名值及STS生成ES — T,所以长期署名服务器2具备署名数据生成単元,该署名数据生成単元至少使用所述取得的署名对象数据(署名前XAdES数据)、所述接收的电子署名值(署名值)及所述取得的时间戳(STS),生成基本署名数据(ES — T)。另外,长期署名服务器2为了从客户机终端3接收原本数据散列值和与署名使用的加密密钥对应的公开密钥的公开密钥证明书,使用它们生成XAdES数据,所以具备函数值证明书接收単元,该函数值证明书接收单元从所述长期署名用終端接收用规定的函数(散列函数)计算原本数据后的函数值(原本散列值)以及包含与生成所述电子署名使用的加密密钥对应的公开密钥在内的公开密钥证明书;所述署名对象数据取得単元,至少使用所述接收的函数值(原本散列值)以及所述公开密钥证明书生成署名对象数据(XAdES数据)。进而,长期署名服务器2为了作为从客户机终端3接收的公开密钥证明书、STS的公开密钥证明书的验证信息收集证明书组和失效信息组,添加到ES-T中,生成ES-XL,所以具备验证信息取得単元,该验证信息取得単元取得验证所述接收的公开密钥证明书及验证所述时间戳的验证信息;所述署名数据生成単元,将所述取得的验证信息添加到所述基本署名数据(ES-T)中。长期署名服务器2将ATS (Ist)追加到ES-XL中,生成ES-A (1st),因为ATS是在有效期间内验证ES-XL的信息,所以具备长期验证信息取得単元,该长期验证信息取得单元取得用于在规定期间验证所述基本署名数据(ES-XL)的长期验证信息(ATS (1st));所述署名数据生成単元,将所述取得的长期验证信息添加到所述生成的基本署名数据而生成长期署名数据(ES- A (1st))。因为使长期署名服务器2在編制ATS (1st)之际,編制散列值对象数据编制数据后向客户机终端3发送,客户机终端3将原本数据添加到它中后计算散列值,长期署名服务器2赋予它时间戳而取得ATS (1st),所以具备长期验证信息編制用信息发送单元,该长期验证信息編制用信息发送单元向所述长期署名用终端发送用于编制长期验证信息的长期验证信息編制用信息(散列值对象数据编制数据);长期验证信息編制用函数值接收单元,该长期验证信息編制用函数值接收单元从所述长期署名用終端接收将所述原本数据添加到所述长期验证信息編制用信息中后用规定函数计算的长期验证信息編制用函数值(散列值);所述长期验证信息取得単元,将时间戳赋予所述接收的长期验证信息編制用函数值而取得所述长期验证信息(ATS (1st))。
另外,长期署名服务器2为了从客户机终端3接收应该延长有效期间的长期署名数据,抽出长期署名数据的最新的ATS后解析,所以具备长期署名数据接收単元,该长期署名数据接收単元从长期署名用終端接收长期署名数据;长期验证信息抽出単元,该长期验证信息抽出単元从所述接收的长期署名数据中抽出(最新的)长期验证信息。而且,长期署名服务器2为了取得用于在规定期间验证最新的ATS的下一代的ATS后追加到长期署名数据中,利用它延长长期署名数据的有效期间,所以具备再次的长期验证信息取得単元,该再次的长期验证信息取得単元取得用于在规定期间验证所述抽出的长期验证信息(最新的ATS)的再次的长期验证信息(下一代的ATS);所述署名数据生成単元将所述取得的再次的长期验证信息(下一代的ATS)添加到所述接收的长期署名数据(附帯最新的ATS的长期署名数据)中更新该长期署名数据。更详细的说,由于长期署名服务器2在生成用于编制下一代的ATS的信息后向客户机终端3发送(步骤510 步骤555),客户机终端3将原本数据添加到它中计算散列值向长期署名服务器2发送该函数值,所以长期署名服务器2具备再次的长期验证信息編制用信息发送单元,该再次的长期验证信息編制用信息发送单元向所述长期署名用终端发送用于编制再次的长期验证信息的再次的长期验证信息編制用信息;再次的长期验证信息編制用函数值接收単元,该再次的长期验证信息編制用函数值接收单元从所述长期署名用終端接收将所述原本数据添加到所述发送的再次的长期验证信息編制用信息中后用规定函数计算的再次的长期验证信息編制用函数值。而且,长期署名服务器2为了将时间戳赋予从客户机终端3接收的散列值(函数值)而取得下一代的ATS,所以所述再次的长期验证信息取得単元,将时间戳赋予所述接收的再次的长期验证信息編制用函数值中而取得所述再次的长期验证信息。另外,在署名前XAdES数据的署名对象特性中,包含公开密钥证明书散列值的元数据;所述署名对象数据,包含用规定的函数计算所述接收的公开密钥证明书的函数值(公开密钥证明书散列值)。另外,在客户机终端3毎次编制长期署名数据时都从长期署名服务器2中下载必要的程序的形态中,长期署名服务器2具备程序发送单元,该程序发送单元向所述长期署名用終端发送长期署名用終端程序,该程序使计算机实现下述功能用加密密钥进行电子署名的电子署名功能;向长期署名用服务器发送与所述加密密钥对应的公开密钥的公开密钥证明书的公开密钥证明书发送功能;向长期署名用服务器发送用规定的函数计算原本数据后的函数值的函数值发送功能;从所述长期署名用服务器接收用于在使用所述发送的公开密钥证明书和所述函数值而生成的署名对象数据上进行电子署名的署名用数据(SignedInfo或SignedInfo的散列值)的署名用数据接收功能;使用所述接收的署名用数据,利用所述电子署名功能在所述署名对象数据上进行电子署名,将经过该电子署名的电子署名值发送给所述长期署名用服务器的署名值发送功能。另ー方面,由于客户机終端3使用加密密钥将电子数据加密,从而进行电子署名,向长期署名服务器2发送与该加密密钥对应的公开密钥的公开密钥证明书,还计算原本散列值后向长期署名服务器2发送,所以具备用加密密钥进行电子署名的电子署名単元;向长期署名用服务器发送与所述加密密钥对应的公开密钥的公开密钥证明书的公开密钥证明书发送単元;向长期署名用服务器发送用规定的函数(散列函数)计算原本数据后的函数值(原本散列值)的函数值发送単元。
而且,因为客户机终端3从长期署名服务器2接收SignedInfo或SignedInfo的散列值,用加密密钥在SignedInfo的散列值中进行电子署名后,向长期署名服务器2发送经过该电子署名的署名值,所以具备从所述长期署名用服务器接收用于在使用所述发送的公开密钥证明书和所述函数值而生成的署名对象数据(署名前XAdES数据)上进行电子署名的署名用数据(SignedInfo或SignedInfo的散列值)的署名用数据接收单元;使用所述接收的署名用数据,利用所述电子署名単元在所述署名对象数据上进行电子署名,将经过该电子署名的电子署名值发送给所述长期署名用服务器的署名值发送単元。另外,因为散列值对象数据编制用数据作为用于编制长期验证信息(ATS)的长期验证信息編制用信息发挥作用,客户机终端3在长期署名服务器2編制ATS (1st)之际,从长期署名服务器2接收散列值对象数据编制用数据,所以具备长期验证信息編制用信息接收单元,该长期验证信息編制用信息接收单元从所述长期署名用服务器接收用于編制规定期间验证包含所述发送的函数值、公开密钥证明书、电子署名值在内的基本署名数据的长期验证信息的长期验证信息編制用信息(散列值对象数据编制用数据)。而且,因为客户机終端3将原本信息追加到散列值对象数据编制用数据中后计算散列值,向长期署名服务器2发送该散列值,所以具备长期验证信息編制用函数值生成単元,该长期验证信息編制用函数值生成単元将所述原本数据添加到所述接收的长期验证信息編制用信息中,用规定函数(散列函数)计算添加了该原本数据的长期验证信息編制用信息而生成长期验证信息編制用函数值(散列值);长期验证信息編制用函数值发送単元,该长期验证信息編制用函数值发送単元将所述生成的长期验证信息編制用函数值发送给所述长期署名用服务器。另外,客户机终端3向长期署名服务器2发送延长有效期间的长期署名数据,从长期署名服务器2接收用于編制验证最新一代的ATS的下一代的ATS的信息(散列值对象数据编制用数据)。因此,客户机终端3具备长期署名数据发送単元,该长期署名数据发送単元向所述长期署名用服务器发送包含所述发送的函数值、公开密钥证明书、电子署名值在内的基本署名数据及在规定期间验证它们的长期验证信息在内的长期署名数据(有效期间延长的对象的长期署名数据);再次的长期验证信息編制用信息接收单元,该再次的长期验证信息編制用信息接收单元从所述长期署名用服务器接收用于編制在规定期间验证所述发送的长期署名数据的长期验证信息(下一代的ATS)的再次的长期验证信息編制用信息(下一代的ATS用的散列值对象数据编制用数据)。
而且,因为客户机終端3将原本数据添加到该散列值对象数据编制用数据中后计算散列值,向长期署名服务器2发送该散列值,所以具备再次的长期验证信息編制用函数值生成単元,该再次的长期验证信息編制用函数值生成単元将所述原本数据添加到所述接收的再次的长期验证信息編制用信息中后用规定函数(散列函数)计算该添加了原本数据的再次的长期验证信息編制用信息,生成再次的长期验证信息編制用函数值(下一代ATS用的散列值);再次的长期验证信息編制用函数值发送単元,该再次的长期验证信息編制用函数值发送単元向所述长期署名用服务器发送所述生成的再次的长期验证信息編制用函数值。接着,使用图10的流程图,讲述长期署名数据的验证方法。下述验证者终端是取得长期署名数据和原本数据后使用长期署名数据验证原本数据的用户的终端,硬件上的结构和客户机终端3相同。例如假设こ接收甲编制的长期署名数据和原本数据后,こ用验证者终端验证它。
验证者終端存储长期署名数据和原本数据。
首先,验证者終端向长期署名服务器2发送长期署名数据(步骤605),长期署名服务器2接收它(步骤610)。接着,验证者終端计算原本数据的散列值,发送给长期署名服务器2 (步骤615),长期署名服务器2接收它(步骤620)。接着,长期署名服务器2验证原本散列值(步骤625)。该处理采用比较验证者终端发送的原本散列值和长期署名数据的XAdES内的原本散列值,确认两者一致的方法进行。再接着,长期署名服务器2验证公开密钥证明书(署名证明书)(步骤630)。该验证采用使用验证信息包含的证明书组及失效信息组,确认认证路径畅通以及认证路径上的证明书没有失效的方法进行。接着,长期署名服务器2验证署名值(步骤635)。该验证采用在使用从公开密钥证明书中取出的公开密钥将SignatureValue的署名值解密的同时,还计算SignedInfo的散列值,确认该解密后的值和散列值一致的方法进行。再接着,长期署名服务器2验证STS (步骤640 )。该验证采用计算SignatureValue的散列值,确认它和STS记述的散列值一致的方法进行。接着,长期署名服务器2验证STS证明书(署名时间戳证明书)(步骤645)。该验证采用除了用TST证明书将TSA署名值解密后确认之外,使用验证信息包含的证明书组及失效信息组,确认STS证明书的认证路径畅通以及认证路径上的证明书没有失效的方法进行。接着,长期署名服务器2根据ES-XL包含的数据编制被原本数据结合前的ATS的对象数据,編制散列值对象数据编制用数据,将它发送给验证者終端(步骤650)。验证者終端接收散列值对象数据编制用数据后,就结合原本数据后追加到它中,編制散列值对象数据(步骤655)。接着,验证者終端计算散列值对象数据的散列值,发送给长期署名服务器2 (步骤660)。长期署名服务器2从验证者終端接收该散列值后,确认它和ATS (1st)记述的散列值一致,从而验证ATS (1st)的散列值(步骤665)。接着,长期署名服务器2从自己的服务器内取得用于编制ATS (1st)的证明书的认证路径的证明书(根证明书)(步骤670)。再接着,长期署名服务器2从储存库服务器6中取得该认证路径上的证明书的失效信息(步骤675、680)。然后,长期署名服务器2通过确认认证路径畅通以及认证路径上的证明书没有失效的方法,验证ATS (1st)的证明书(步骤685)。 接着,长期署名服务器2还验证XAdES (步骤690 )。该验证采用通过确认各证明书、各失效信息、各时间戳之间的时刻的匹配性,确认格式的匹配性等的方法进行。长期署名服务器2通过以上验证后,生成验证結果,发送给验证者終端(步骤695)。而且,验证者終端从长期署名服务器2接收验证结果后,向验证者提示(步骤700)。此外,当ATS存在着ATS (2nd)、ATS (3rd)及更多下一代时,也同样进行验证。这样,采用以上验证方法后,验证者能够将原本数据保持在验证者终端的状态下,用长期署名服务器2进行长期署名数据的验证。因此例如在甲向こ提供原本数据和长期署名数据,不愿意向甲こ以外的人提交原本数据时,こ能够不向长期署名服务器2提供原本数据地利用长期署名数据确认原本数据的合法性。另外,即使生成ES - T使用的算法被破译了,直到生成ATS (1st)使用的算法被破译之前,也不会失去ES — A (1st)的证据性。然后,生成ATS (1st)使用的算法有可能被破译时,只要进而用最新的算法赋予ATS (2nd),就不会失去证据性。以后,反复用最新的算法更新换代,能够永远維持证据性。采用以上讲述的验证方法,能够获得下述结构。
一种长期署名验证用服务器,其特征在干,具备长期署名数据接收単元,该长期署名数据接收単元从验证者終端接收长期署名数据,该长期署名数据使用包含署名对象数据和验证所述署名对象数据的验证信息及在规定期间验证所述署名对象数据和验证信息的长期验证信息在内的长期验证信息构成,用于验证原本数据的正确性;长期验证信息编制用信息发送单元,该长期验证信息編制用信息发送单元抽出被所述署名对象数据包含的规定的信息,编制长期验证信息編制用信息,向所述验证者终端发送该编制的长期验证信息編制用信息;长期验证信息編制用函数值接收単元,该长期验证信息編制用函数值接收单元从所述验证者終端接收将所述原本数据添加到所述发送的长期验证信息編制用信息上后用规定的函数计算后的长期验证信息編制用函数值;长期验证信息验证单元,该长期验证信息验证单元使用所述接收的长期验证信息編制用函数值,验证所述长期验证信息(第I结构)。
第I结构的长期署名验证用服务器,其特征在于具备署名对象数据验证単元,该署名对象数据验证単元使用所述验证信息验证所述署名对象数据;所述长期验证信息验证単元,在所述署名对象数据验证单元进行验证之后验证所述长期验证信息(第2结构)。这样,本实施方式能够不将原本数据提交服务器端地在服务器端验证对原本数据进行的署名。这时,終端发送利用规定函数对原本数据加以运算后的函数值、该原本数据的署名数据(用加密密钥将原本数据的函数值加密后的署名值、与该加密密钥对应的公开密钥的公开密钥证明书),服务器用公开密钥将署名值解密,取出函数值,对该取出的函数值和终端发送来的函数值加以比较,从而判断原本数据(如果函数值合法,那么原本数据也合法)的合法性,同时还使用认证路径涉及的证明书确认公开密钥证明书的合法性。进而,署名数据是长期署名时,服务器编制使用构成署名数据的信息从用于編制旨在确认长期署名的函数值的信息中除去原本信息后的信息,发送给終端。 对此,終端将原本数据添加到该信息中后,计算出利用规定函数加以运算的函数值后发送给服务器,服务器使用该函数值,验证长期署名的合法性。符号说明
I长期署名系统 2长期署名服务器 3客户机终端 4互联网 5时间戳服务器 6储存库服务器 7储存库服务器。
权利要求
1.一种长期署名用服务器,其特征在于具备 署名对象数据取得単元,该署名对象数据取得単元取得署名对象数据; 署名用数据发送単元,该署名用数据发送単元向长期署名用终端发送用于在所述取得的署名对象数据上进行电子署名的署名用数据; 署名值接收単元,该署名值接收单元从所述长期署名用終端接收使用所述发送的署名用数据生成的所述署名对象数据的电子署名值; 时间戳取得単元,该时间戳取得单元对于所述接收的电子署名值取得时间戳;以及署名数据生成単元,该署名数据生成単元至少使用所述取得的署名对象数据、所述接收的电子署名值及所述取得的时间戳,生成基本署名数据。
2.如权利要求I所述的长期署名用服务器,其特征在于 具备函数值证明书接收単元,该函数值证明书接收单元从所述长期署名用終端接收用规定的函数计算原本数据后的函数值以及包含与生成所述电子署名值使用的加密密钥对应的公开密钥在内的公开密钥证明书; 所述署名对象数据取得単元,至少使用所述接收的函数值以及所述公开密钥证明书生成署名对象数据,从而取得所述署名对象数据。
3.如权利要求2所述的长期署名用服务器,其特征在于 具备验证信息取得単元,该验证信息取得単元取得验证所述接收的公开密钥证明书及所述时间戳的验证信息; 所述署名数据生成単元,将所述取得的验证信息添加到所述基本署名数据中。
4.如权利要求3所述的长期署名用服务器,其特征在于 具备长期验证信息取得単元,该长期验证信息取得単元取得用于在规定期间验证所述基本署名数据的长期验证信息; 所述署名数据生成単元,将所述取得的长期验证信息添加到所述生成的基本署名数据中,生成长期署名数据。
5.如权利要求4所述的长期署名用服务器,其特征在于具备 长期验证信息編制用信息发送单元,该长期验证信息編制用信息发送单元向所述长期署名用终端发送用于编制长期验证信息的长期验证信息編制用信息;以及 长期验证信息編制用函数值接收単元,该长期验证信息編制用函数值接收単元从所述长期署名用終端接收将所述原本数据添加到所述发送的长期验证信息編制用信息中后用规定函数计算的长期验证信息編制用函数值, 所述长期验证信息取得単元,将时间戳赋予所述接收的长期验证信息編制用函数值后取得所述长期验证信息。
6.如权利要求4或5所述的长期署名用服务器,其特征在于具备 长期署名数据接收単元,该长期署名数据接收単元从长期署名用終端接收长期署名数据; 长期验证信息抽出単元,该长期验证信息抽出単元从所述接收的长期署名数据中抽出长期验证信息;以及 再次的长期验证信息取得単元,该再次的长期验证信息取得単元取得用于在规定期间验证所述抽出的长期验证信息的再次的长期验证信息,所述署名数据生成単元将所述取得的再次的长期验证信息添加到所述接收的长期署名数据中更新该长期署名数据。
7.如权利要求6所述的长期署名用服务器,其特征在于具备 再次的长期验证信息編制用信息发送单元,该再次的长期验证信息編制用信息发送单元向所述长期署名用终端发送用于编制再次的长期验证信息的再次的长期验证信息編制用信息;以及 再次的长期验证信息編制用函数值接收単元,该再次的长期验证信息編制用函数值接收单元从所述长期署名用終端接收将所述原本数据添加到所述发送的再次的长期验证信息編制用信息中后用规定函数计算的再次的长期验证信息編制用函数值, 所述再次的长期验证信息取得単元,将时间戳赋予所述接收的再次的长期验证信息编制用函数值而取得所述再次的长期验证信息。
8.如权利要求1 7任一项所述的长期署名用服务器,其特征在于所述署名对象数据,包含用规定的函数计算所述接收的公开密钥证明书后的函数值。
9.如权利要求1 8所述的长期署名用服务器,其特征在干,具备程序发送单元,该程序发送单元向所述长期署名用终端发送用计算机实现下述功能的长期署名用終端程序 用加密密钥进行电子署名的电子署名功能; 向长期署名用服务器发送与所述加密密钥对应的公开密钥的公开密钥证明书的公开密钥证明书发送功能; 向长期署名用服务器发送用规定的函数计算原本数据后的函数值的函数值发送功倉泛; 从所述长期署名用服务器接收用于在使用所述发送的公开密钥证明书和所述函数值而生成的署名对象数据上进行电子署名的署名用数据的署名用数据接收功能;以及 使用所述接收的署名用数据,利用所述电子署名功能在所述署名对象数据上进行电子署名,将经过该电子署名的电子署名值发送给所述长期署名用服务器的署名值发送功能。
10.一种长期署名用終端,其特征在于,具备 电子署名単元,该电子署名単元用加密密钥进行电子署名; 公开密钥证明书发送单元,该公开密钥证明书发送単元向长期署名用服务器发送与所述加密密钥对应的公开密钥的公开密钥证明书; 函数值发送単元,该函数值发送単元向长期署名用服务器发送用规定的函数计算原本数据后的函数值; 署名用数据接收単元,该署名用数据接收单元从所述长期署名用服务器接收用于在使用所述发送的公开密钥证明书和所述函数值而生成的署名对象数据上进行电子署名的署名用数据;以及 署名值发送単元,该署名值发送単元使用所述接收的署名用数据,利用所述电子署名単元在所述署名对象数据上进行电子署名,将经过该电子署名的电子署名值发送给所述长期署名用服务器。
11.如权利要求10所述的长期署名用終端,其特征在于具备 长期验证信息編制用信息接收单元,该长期验证信息編制用信息接收单元从所述长期署名用服务器接收用于编制规定期间验证包含所述发送的函数值、公开密钥证明书、电子署名值在内的基本署名数据的长期验证信息的长期验证信息編制用信息; 长期验证信息編制用函数值生成単元,该长期验证信息編制用函数值生成単元将所述原本数据添加到所述接收的长期验证信息編制用信息中,用规定函数计算添加了该原本数据的长期验证信息編制用信息而生成长期验证信息編制用函数值;以及 长期验证信息編制用函数值发送単元,该长期验证信息編制用函数值发送単元将所述生成的长期验证信息編制用函数值发送给所述长期署名用服务器。
12.如权利要求11所述的长期署名用終端,其特征在于具备 长期署名数据发送単元,该长期署名数据发送単元向所述长期署名用服务器发送包含所述发送的函数值、公开密钥证明书、电子署名值在内的基本署名数据及包含在规定期间验证它们的长期验证信息在内的长期署名数据; 再次的长期验证信息編制用信息接收单元,该再次的长期验证信息編制用信息接收单元从所述长期署名用服务器接收用于編制在规定期间验证所述发送的长期署名数据的长期验证信息的再次的长期验证信息的再次的长期验证信息編制用信息; 再次的长期验证信息編制用函数值生成単元,该再次的长期验证信息編制用函数值生成単元将所述原本数据添加到所述接收的再次的长期验证信息編制用信息中,用规定函数计算添加了该原本数据的再次的长期验证信息編制用信息而生成再次的长期验证信息编制用函数值;以及 再次的长期验证信息編制用函数值发送単元,该再次的长期验证信息編制用函数值发送単元向所述长期署名用服务器发送所述生成的再次的长期验证信息編制用函数值。
13.—种长期署名用終端程序,该程序用计算机实现下述功能 用加密密钥进行电子署名的电子署名功能; 向长期署名用服务器发送与所述加密密钥对应的公开密钥的公开密钥证明书的公开密钥证明书发送功能; 向长期署名用服务器发送用规定的函数计算原本数据后的函数值的函数值发送功倉泛; 从所述长期署名用服务器接收用于在使用所述发送的公开密钥证明书和所述函数值而生成的署名对象数据上进行电子署名的署名用数据的署名用数据接收功能;以及 使用所述接收的署名用数据,利用所述电子署名功能在所述署名对象数据上进行电子署名,将经过该电子署名的电子署名值发送给所述长期署名用服务器的署名值发送功能。
14.一种长期署名验证用服务器,其特征在于,具备 长期署名数据接收単元,该长期署名数据接收単元从验证者終端接收长期署名数据,该长期署名数据被用包含署名对象数据和验证所述署名对象数据的验证信息及在规定期间验证所述署名对象数据和验证信息的长期验证信息的长期验证信息构成,用于验证原本数据的合法性; 长期验证信息編制用信息发送单元,该长期验证信息編制用信息发送单元抽出所述长期署名数据包含的规定信息,编制长期验证信息編制用信息,向所述验证者终端发送该编制的长期验证信息編制用信息; 长期验证信息編制用函数值接收単元,该长期验证信息編制用函数值接收単元从所述验证者終端接收将所述原本数据添加到所述发送的长期验证信息編制用信息中后用规定的函数计算后的长期验证信息編制用函数值;以及 长期验证信息验证单元,该长期验证信息验证单元使用所述接收的长期验证信息編制用函数值,验证所述长期验证信息。
15.如权利要求14所述的长期署名验证用服务器,其特征在于 具备署名对象数据验证単元,该署名对象数据验证単元使用所述验证信息验证所述署名对象数据; 所述长期验证信息验证单元,在所述署名对象数据验证单元进行验证之后验证所述长期验证信息。
16.一种长期署名验证用服务器,其特征在于具备 署名数据接收単元,该署名数据接收単元接收包含电子署名值和与生成该署名值时使用的加密密钥对应的公开密钥的公开密钥证明书在内的署名数据; 函数值接收単元,该函数值接收単元接收用规定的函数计算原本数据而生成的函数值; 函数值确认単元,该函数值确认単元使用所述公开密钥证明书,将所述电子署名值解密,比较该解密后的值和所述接收的函数值,从而确认所述接收的函数值的合法性; 证明书确认单元,该证明书确认単元使用验证所述公开密钥证明书的合法性的认证路径涉及的证明书,确认所述公开密钥证明书的合法性。
全文摘要
本发明在将加密密钥等保持在客户机端的状态下,在服务器端编制长期署名数据。在规定的长期署名格式中配置ES、STS、验证信息、ATS(1st)、ATS(2nd)而构成长期署名数据。这些要素中,需要使用加密密钥和原本数据的处理的,是ES和ATS。用客户机终端(3)进行需要使用这些加密密钥和原本数据的处理,用长期署名服务器(2)进行解析、生成长期署名数据的处理,从而能够在将加密密钥和原本数据保持在客户机终端(3)中的状态下,用长期署名服务器(2)生成长期署名数据。这样,将编制长期署名数据的处理分离成使用加密密钥和原本数据的处理,和解析、生成XML的处理,使客户机终端(3)分担前者、长期署名服务器(2)分担后者。
文档编号H04L9/32GK102687459SQ20108006140
公开日2012年9月19日 申请日期2010年7月6日 优先权日2009年11月13日
发明者上畑正和, 村尾进一, 柴田孝一 申请人:精工电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1