签名履历保管装置、签名履历保管方法以及其程序的制作方法

文档序号:2400577阅读:196来源:国知局
专利名称:签名履历保管装置、签名履历保管方法以及其程序的制作方法
技术领域
本发明涉及长期确保数字签名的有效性的签名履历保管装置、签名履历保管方法以及其程序。
背景技术
确保电子文件的正当性的数字签名(以下简单地成为“签名”)是以密码技术为基础的技术,因此其安全性是由“密钥”的推定计算的难度来确保。因此,现有的数字签名可以在短时间内确保电子文件的正当性,但对于20年或30年等较长的时间未必可以确保电子文件的正当性。其原因在于,在较长的时间内,由于计算机的计算速度提高或密码破译算法改善等技术革新,“密钥”的推定成为可能。或者存在由于使用时的人为错误“密钥”泄漏的可能。
一旦“密钥”落入了恶意的第三者手中,就无法确保使用该“密钥”所生成的签名的正当性。因此,对公钥证明书设定了有效期,仅在该有效期内确保数字签名的有效性。在这样的数字签名中,对于要长期保存的电子文件无法确保其正当性。因此,为了解决该课题,开发了超过公钥证明书的有效期限、延长数字签名的有效性的技术。
例如在D.Pinkas,J.Ross,N.Pope,“RFC3126-Electronic Signature Formatsfor long term electronic signatures”,IETF(Internet Engineering TaskForce),Sep.2001,[On line],[平成17年9月5日检索],因特网<http//www.faqs.org/rfcs/rfc3126.html>(以下称为文献1)中公开了以下的技术预先取得再次验证签名时所需要的证据信息(证明局的证明书、证明书失效列表(CRLCertificate Revocation List)等),对该电子文件、签名、证据信息给予时间戳(time stamp),并在该时间戳的有效期到期之前再次给予新的时间戳,由此长期确保数字签名的有效性。
此外,在特开2001-331104号公报中(以下称为文献2)公开了称为磁滞(hysteresis)签名的技术在生成签名时作为履历保留该签名,在生成新的签名时使该新的签名反映上次的签名。根据该磁滞签名技术,对于已被磁滞签名的电子文件,只要之后还对后续的电子文件进行磁滞签名,就可以无需对各个电子文件进行再签名而延长该电子文件的签名的有效性。
此外,在磁滞签名技术中,例如通过报纸、杂志等定期刊物或因特网的网页(Websight)等公开媒体对签名履历的一部分进行公开,由此可以提高签名之间的连锁关系的正当性。
但是,在文献1公开的方法中,即使使用的证据信息相同也需要对每个签名保管证据信息,所以为了保管证据信息需要多个存储区域。而且,在时间戳的有效期到期之前,需要对电子文件、签名、证据信息等给予新的时间戳,所以在把有关的电子文件保管在磁带或DVD(Digital Versatile Disk)等外部的移动存储媒体中,且从计算机无法直接访问的情况下,使用十分不方便。
此外,在文献2中公开了在公钥证明书的有效期到期后或密钥泄漏时,对电子文件或签名的篡改进行检测的技术,但没有公开对该公钥证明书等的有效性进行验证的技术。

发明内容
本发明提供签名履历保管装置、签名履历保管方法以及其程序,它们可以解决以上的现有技术问题,可以削减保管证据信息等所需要的存储装置的存储容量以及使用时所花费的时间和劳力,而且,即使在公钥证明书的有效期到期后或密钥泄漏时,也可以验证公钥证明书等的有效性。
本发明提供一种签名履历保管装置、签名履历保管方法及其程序,该签名履历保管装置至少具备CPU和存储装置,将包含签名信息和用户证明书而构成的磁滞签名的签名履历保管在所述存储装置中,所述签名信息是在多个数字签名之间给予了由一方向函数确定的连锁关系的签名信息,所述用户证明书包含用于生成该签名信息的公钥信息,所提供的签名履历保管装置、签名履历保管方法及其程序的特征在于,所述存储装置具备签名履历列表和证明书列表,所述签名履历保管装置在生成了所述磁滞签名时,在该生成的磁滞签名中将所述签名信息的一部分作为签名记录登录在所述签名履历列表中,并将所述用户证明书的部分与所述签名记录对应地登录在所述证明书列表中。
根据本发明,在包含在磁滞签名中的信息中,将签名信息的部分作为签名记录保管在签名履历列表中,并将用户证明书(公钥信息)的部分与签名记录对应地保管在证明书列表中。通常,如果用户相同则对于该多个签名,用户证明书在该有效期期间相同,所以无需重复保管相同的用户证明书。因此,存储用户证明书的存储装置的存储容量变小。
此外,在本发明中,所述存储装置还具备可靠点(point)列表,该可靠点列表在登录在所述签名履历列表的签名记录中,将包含第一识别信息的信息作为可靠点数据进行登录,所述第一识别信息确定最新验证完成的签名记录。而且,所述签名履历保管装置在登录在所述签名履历列表的签名记录中,取出最新的签名记录,对于从所述取出的签名记录到由所述第一识别信息确定的签名记录的签名记录,使用登录在所述证明书列表中的所述用户证明书对所述签名记录的有效性以及所述签名记录的连锁关系的有效性进行验证,对于所述用户证明书,取得证明该用户证明书的有效性的证据信息,根据该取得的证据信息验证所述用户证明书的有效性,并将确定所述最新的签名记录的第二识别信息、所述收集到的证据信息、对由所述第二识别信息确定的签名记录以及所述证据信息进行了联结的信息的散列(hash)值作为可靠点数据登录在所述可靠点列表中。
即,在本发明中,恰当地或者在用户证明书的期限到期之前,对于登录在签名履历列表的签名记录验证该签名信息以及签名信息的连锁关系的有效性,同时取得对该验证中所使用的用户证明书的有效性进行证明的证据信息,将该取得的证据信息作为可靠点数据的一部分保管在可靠点列表中。因此,即使在用户证明书的期限已到期之后或密钥泄漏了时,也可以验证用户证明书的有效性。
此外,在本发明中,所述签名履历保管装置在所述可靠点列表中登录了新的可靠点数据时,消除登录在所述证明书列表中的用户证明书。因此,存储用户证明书的存储装置的存储容量进一步减小。
根据本发明,即使在用户证明书(公钥证明书)的有效期已到期之后或密钥泄漏了时,不仅可以验证电子文件的签名和其用户证明书的有效性,还可以削减存储装置的容量,进一步节省使用时所花费的时间和劳力。


图1举例表示使用了本发明实施方式的签名履历保管装置的磁滞签名文件管理系统的结构。
图2举例表示本发明实施方式的计算机的一般结构。
图3举例表示本发明实施方式的磁滞签名数据的形式。
图4举例表示本发明实施方式的签名记录数据的形式。
图5举例表示本实施方式的签名履历保管装置执行的签名登录处理的流程。
图6举例表示本实施方式的签名履历保管装置执行的可靠点构筑处理的流程。
图7举例表示本发明实施方式的可靠点构筑处理中包含的签名履历验证处理的详细流程。
图8举例表示构成本发明实施方式的可靠点列表的可靠点数据的形式。
图9举例表示本实施方式的签名履历保管装置执行的签名验证处理的流程。
具体实施例方式
图1举例表示使用了本发明实施方式的签名履历保管装置的磁滞签名文件管理系统的结构。如图1所示,磁滞签名文件管理系统10包含认证局装置101、签名生成装置102、文件保管装置103、签名履历保管装置104以及签名验证装置105,而且经由网络106相互连接这些装置。下面,对这些装置101~105以及该装置的结构及功能进行说明。
在图1中,认证局装置101是至少具备CPU(Central Processing Unit)和存储装置的计算机,具备证明书发行部107、CRL发行部108、CRL公开部109等功能块。
这里,证明书发行部107根据来自签名者等的请求,生成磁滞签名用密钥,同时发行与该密钥对应的公钥证明书。此外,CRL发行部108在进行所述已发行的公钥证明书的失效信息的管理的同时,定期地发行CRL。此外,CRL公开部109具有对签名者或验证者公开所述已发行的CRL的功能。
然后,签名生成装置102是至少具备CPU和存储装置的计算机,具备签名生成部110、文件登录部111等功能块。
这里,签名生成部110对将要给予磁滞签名的电子文件生成磁滞签名,并给予该磁滞签名。此外,文件登录部111将该电子文件和签名生成部110对该电子文件生成的磁滞签名登录在文件保管装置103中。
签名生成装置102还在该存储装置的规定区域存储生成签名所需要的数据(密钥、公钥证明书、上次生成的磁滞签名(以下称为“前签名”))。签名生成部110把这些数据和该电子文件作为输入来生成磁滞签名。对于此时所生成的磁滞签名的数据形式,另外使用图3进行说明。
此外,作为其他的实施方式,不将这些生成签名时需要的数据(密钥、公钥证明书、前签名)保管在签名生成装置102的存储装置中,而既可以保管在IC卡等外部存储媒体中,也可以在生成签名时从签名履历保管装置104取得。此外,作为其他的实施方式,签名生成装置102可以取得第三者发行的时间戳(例如参照RFC3161),并将所取得的时间戳给予给磁滞签名。
然后,文件保管装置103是至少具备CPU和存储装置的计算机,具有文件管理部112等功能块。
这里,文件管理部112将电子文件、磁滞签名、其他与该电子文件有关的数据(例如保存期限、文件生成日期等)存储在存储装置的规定区域并进行管理。此外,文件管路部112作为对该电子文件等的数据进行管理的功能的一部分,对应来自用户或其他装置的请求对电子文件等的数据进行登录,同时提供已登录的电子文件等的数据。
然后,签名履历保管装置104是至少具备CPU和存储装置的计算机,具备签名登录部113、可靠点构筑部114、签名验证部115等功能块。此外,签名履历保管装置104在存储装置116中具备对签名履历列表117、可靠点列表118、认证局证明书119、证明书列表120等磁滞签名的验证所需要的数据进行存储或保存的区域。此外,在本说明书中,将认证局装置101的公钥证明书称为“认证局证明书”,把已登录在签名履历保管装置104中的用户的公钥证明书称为“用户证明书”或简单地称为“证明书”。
这里,签名登录部113把签名生成装置102所生成的磁滞签名中包含的信息登录在签名履历列表117以及证明书列表120中。此外,可靠点构筑部114根据签名履历列表117中包含的磁滞签名的履历数据生成可靠点数据,并将所生成的可靠点数据登录在可靠点列表118中。此外,签名验证部115使用签名履历列表117、可靠点列表118、认证局证明书119、证明书列表120等的数据进行磁滞签名的验证。
此外,使用图5~图7以及图9对用于实现签名登录部113、可靠点构筑部114以及签名验证部115各自功能的处理流程进行详细的说明。此外,对于签名履历列表117的结构使用图4、对于可靠点列表118的结构使用图8进行详细说明。
此外,虽然省略了图示,但签名履历保管装置104具备从2台或多于2台的签名生成装置102接收磁滞签名的登录请求的功能块、以及管理多个签名履历的功能块。
然后,签名验证装置105是至少具备CPU和存储装置的计算机,具备文件取得部121、签名验证请求部122等功能块。
这里,文件取得部121从文件保管装置103取得成为验证对象的电子文件和与该电子文件有关的磁滞签名。此外,签名验证请求部122对签名履历保管装置104请求磁滞签名的验证。
此外,在本实施方式中,包含以下两个验证处理电子文件和磁滞签名的关系的有效性验证(以下称为“单体验证”)和使用了签名履历的磁滞签名的连锁关系的有效性的验证(以下称为“履历验证”)。其中,对于单体验证可以在签名验证装置105进行。此外,如果采取从签名履历保管装置104取得验证所必要的数据,则可以在签名验证装置105进行单体验证和履历验证两个验证。
图2表示本发明实施方式的计算机的一般的结构的例子。如图2所示,计算机201的结构为通过内部总线207相互连接CPU202、主存储装置203、辅助存储装置204、网络接口205、I/O接口206等。此外,在本说明书中,在对主存储装置203和辅助存储装置204进行总称的情况下,简单地称为“存储装置”。
这里,主存储装置203由作为半导体存储器的RAM(Random AccessMemory)等构成,此外辅助存储装置204由以硬盘、CD-ROM(Compact DiskRead Only Memory)、DVD等为存储媒体的非易失性存储装置构成。此外,网络接口205是将因特网、LAN(Local Area Network)等网络106与内部总线207连接的连接装置,I/O接口206是将显示装置、鼠标、键盘等输入输出装置与内部总线207连接的连接装置。
图1所示的认证局装置101、签名生成装置102、文件保管装置103、签名履历保管装置104、签名验证装置105的各个装置例如由图2所示的计算机构成。而且,这些各个装置所具有的各功能块的功能是通过CPU202执行加载在主存储装置203的规定的程序来实现。此外,该规定的程序通常存储在辅助存储装置204中,在执行之前加载到主存储装置203中。
在本实施方式中,如图1所示,签名生成装置102、文件保管装置103、签名履历保管装置104以及签名验证装置105各自由不同的计算机实现,但也可以由1个计算机来实现这些所有装置。或者可以由1个计算机实现2个或多于2个的装置。此外,认证局装置101通常不由与这些装置中的任何一个相同的计算机来实现。
然后,使用图3以及图4对本实施方式的磁滞签名数据的结构以及记录并保存该磁滞签名数据的签名履历列表117的结构进行说明。这里,图3表示本发明实施方式的磁滞签名数据的形式的例子,图4表示本发明实施方式的签名记录数据的形式的例子。这里,所谓签名记录数据是记录在签名履历列表117中的各个磁滞签名数据(但是,实际上如后所述,是从磁滞签名数据中去除了用户证明书的数据的数据)。
如图3所示,磁滞签名数据300的结构为包含[1]签名ID301“i”、[2]签名对象的电子文件“Mi”的散列值302“H(Mi)”、[3]与上次签名(连续号码为“i-1”)对应的签名记录数据“Pi-1”的散列值303“H(Pi-1)”、[4]对于联结了散列值302“H(Mi)”和散列值303“H(Pi-1)的数据的签名值304“Sign(H(Mi)||H(Pi-1))”、[5]用于唯一确定用户证明书306的证明书识别信息305、[6]用户证明书306。
这里,H(x)被称为散列函数,是从任意长度的输入数据输出固定长度值的函数。从确保信息安全性的目的来看,散列函数优选使用难以找出像给予相同输出值那样的两个不同的输入数据,而且难以找出输出值成为某个值的输入数据的函数。此外,即使公开散列函数的计算算法也没有关系。
此外,签名ID301是确定包含该磁滞签名的签名履历列表117的识别信息(签名履历ID)和该签名履历列表117内的连续号码联结而构成的(例如签名履历连续号码)。通过在签名ID301中包含签名履历ID,即使在具有多个签名履历列表117的情况下,也可以根据该签名ID301唯一地确定签名履历列表117。
此外,在证明书识别信息305中包含公钥证明书的发行源、所有者、证明书编号等信息。此外,在磁滞签名数据300中可以包含第三者发行的时间戳的一部分或全部。
然后,如图4所示,签名记录数据400是从磁滞签名数据300去除用户证明书306的数据。因此,签名记录数据400的结构为包含[1]签名ID301“i”、[2]签名对象的电子文件“Mi”的散列值302“H(Mi)”、[3]与上次签名(连续号码为“i-1”)对应的签名记录数据“Pi-1”的散列值303“H(Pi-1)”、[4]对于联结了散列值302“H(Mi)”和散列值303“H(Pi-1)”的数据的签名值304“Sign(H(Mi)||H(Pi-1))”、[5]用于唯一确定用户证明书306的证明书识别信息305。此外,此时在签名记录数据400中可以包含第三者发行的时间戳的一部分或全部。
在本实施方式中,当在签名生成装置102中生成了电子文件的磁滞签名时,签名生成装置102对签名履历保管装置104请求登录该磁滞签名。签名履历保管装置104根据该请求将磁滞签名数据300登录在签名履历列表117中。但是,实际上是把磁滞签名数据300中去除了用户证明书306的数据既签名记录数据400登录在签名履历列表117中。
包含在磁滞签名数据300中的用户证明书306不登录在签名列表117中,而是存储在证明书列表120中。一般地,用户证明书306很多时候对多个电子文件通用,但在证明书列表120中进行存储时,可以避免重复地存储相同的用户证明书306。此外,如后所述,每次构筑可靠点时去除存储在证明书列表120中的用户证明书306。因此,与将用户证明书306包含在签名记录数据400中后存储在签名履历列表117中的情况相比,可以大幅削减存储区域的使用量。
此外,在本实施方式中,对每个签名生成装置102生成签名履历列表117。例如,在具有两台签名生成装置102的情况下,在签名履历保管装置104中就存在两个签名履历列表117。此时,签名ID301例如是将签名履历ID和连续号码组合,一方为“log1_0001”、另一方为“log2_0001”的形式。此外,作为其他的实施方式,也可以对每个用户生成签名履历列表117。此时,因为在签名履历保管装置104中生成与用户数相同个数的签名履历列表117,所以签名ID301例如是将用户ID和连续号码组合的“user_0001”的形式。
如上所述,在本实施方式中,签名履历保管装置104在使磁滞签名数据300成为签名记录数据400后在签名履历列表117中进行登录时,通过参照签名ID301可以判定在哪一个签名履历列表117中进行登录。此外,作为其他的实施方式,对于请求了签名登录的用户或签名生成装置102,签名履历保管装置104进行用户认证或装置认证,可以将签名记录数据400登录在对已认证的用户或装置预先分配的签名履历列表117中。
然后,参照图5对签名履历保管装置104作为签名登录部113的功能执行的签名登录处理的流程进行说明。这里,图5表示本实施方式的签名履历保管装置执行的签名登录处理的流程。该处理是当在签名生成装置102中生成了电子文件的磁滞签名时,根据来自签名生成装置102的请求来执行。
在图5中,签名履历保管装置104接收从签名生成装置102发送的磁滞签名数据300(步骤S501)。然后,提取该接收到的磁滞签名数据300中包含的用户证明书306(步骤S502)。
然后,签名履历保管装置104对在步骤S502中提取的用户证明书306进行验证(步骤S503)。在该验证处理中包含将存储装置116中存储的认证局证明书119作为信任锚(trust anchor)进行的认证路径验证、有效期限的检查、失效确认的各个处理。此外,在该失效确认中,签名履历保管装置104取得认证局装置101公开的CRL并对其进行检查。在这些验证失败的情况下,对签名生成装置102返回错误,并结束签名登录处理(未图示)。
然后,签名履历保管装置104使用用户证明书306中包含的公钥,验证磁滞签名的签名值(步骤S504)。因为在磁滞签名数据300中包含签名对象的电子文件“Mi”的散列值302“H(Mi)”、和上次即连续号码为(i-1)的签名记录数据“Pi-1”的散列值303“H(Pi-1)”,所以即使在没有签名对象的电子文件的情况下,也可以进行签名值的验证。在该验证失败的情况下,对签名生成装置102返回错误,并结束签名登录处理(未图示)。
然后,签名履历保管装置104判定用户证明书306是否为在证明书列表120中完成登录的用户证明书(步骤S505),在用户证明书306为完成登录的用户证明书的情况下(在步骤S505为“是”),从磁滞签名数据300中去除用户证明书306作为签名记录数据400,并将该签名记录数据400登录到签名履历列表117中(步骤S507)。另一方面,在用户证明书306为未完成登录的用户证明书的情况下(在步骤S505为“否”),对证明书列表120追加用户证明书306(步骤S506),之后从磁滞签名数据300中去除用户证明书306作为签名记录数据400,并将该签名记录数据400登录到签名履历列表117中(步骤S507)。
此外,作为其他的实施方式,当在磁滞签名数据300的数据中包含时间戳的情况下,在签名值验证处理(步骤S504)之后进行时间戳的验证处理。
然后,参照图6以及图7对签名履历保管装置104作为可靠点构筑部114的功能执行的可靠点构筑处理的流程进行说明。这里,图6表示本实施方式的签名履历保管装置执行的可靠点构筑处理的流程,图7表示可靠点构筑处理中包含的签名履历验证处理的详细流程。
此外,所谓可靠点是在签名履历列表117中记录的签名记录数据400中的、完成了该单体验证以及履历验证的签名记录数据400中指出已进行了该验证时的最新的签名记录数据400的信息(例如签名ID301),如后所述,在可靠点数据中包含验证中使用的证据信息。因此,可靠点构筑处理是签名记录数据400的单体验证以及履历验证的处理,进一步是生成并保存可靠点数据的处理。由此,希望该可靠点构筑处理每日一次、每周一次等定期地执行。但是,在用户证明书的有效期限到期或进行失效手续的情况下,在这样的现象发生之前执行。
这里,首先就签名履历保管装置104的签名履历列表117为1个的情况来说明可靠点构筑处理的处理流程。此外,在以下的说明中,为了避免复杂,把记录在签名履历列表117中的各个签名记录数据400简单地称为“签名记录”。
在图6中,签名履历保管装置104参照签名履历列表117,从上次所构筑的可靠点之后的签名记录中取得最新的签名记录(步骤S601)。在构筑上次可靠点之后没有追加签名记录的情况下,返回错误并结束可靠点构筑处理(未图示)。
然后,签名履历保管装置104对在步骤S601中所取得的最新的签名记录进行签名记录验证(步骤S602)。在该签名记录验证中,使用该签名记录中包含的证明书识别信息305确定在证明书列表120中存储的用户证明书,并使用该已确定的用户证明书,而且还使用作为该签名记录自身所包含的签名对象数据的散列值302、303、签名值304验证该签名记录的有效性。然后,在该签名记录验证成功的情况下,进入到下一步骤S603,在验证失败的情况下,返送该签名记录的签名ID301,并结束可靠点构筑处理(未图示)。
此外,作为其他的实施方式,在该签名记录验证失败的情况下,可以废弃所述最新的签名记录,重新将前一个签名记录作为最新的签名记录来进行步骤S602之后的处理。
然后,签名履历保管装置104进行从在步骤S601取得的最新的签名记录开始到由上次构筑的可靠点确定的签名记录为止的签名记录的连锁关系的有效性的验证,即进行签名履历验证(步骤S603)。这里,中断图6的说明,参照图7对步骤S603的签名履历验证处理进行详细的说明。
在图7中,签名履历保管装置104首先将计数器变量i设为i=N-1(步骤S701)。这里,N是表示最新的签名记录的签名ID中包含的连续号码的数字。然后,签名履历保管装置104从签名履历列表117取得签名记录(i)(步骤S702)。然后,验证签名记录(i+1)中包含的上次签名记录(i)的散列值与上次签名记录(i)的实际的散列值一致(步骤S703)。在该验证成功的情况下,进入步骤S704,在失败的情况下,返送签名记录(i)的签名ID301,并结束签名履历验证处理(未图示)。
然后,签名履历保管装置104判断计数器变量i是否为i>T(步骤S704)。这里,T是表示作为上次可靠点的签名记录的签名ID中包含的连续号码的数字。然后,该判定结果为i>T的情况下(步骤S704中“是”),将计数器变量i设为i=i-1(步骤S705),并回到步骤S702再次执行步骤S702之后的处理。此外,在不是i>T的情况(步骤S704中“否”),即成为i=T的情况下结束签名履历验证处理。
再次回到图6的流程的说明。签名履历保管装置104在结束了签名履历验证处理(步骤S603)时,取得在证明书列表120中登录的全部的用户证明书(步骤S604)。然后,从认证局装置101作为证据信息取得各个用户证明书的验证所必需的认证局证明书119和CRL(步骤S605)。此时,在全部的用户证明书由同一认证局装置101发行的情况下,认证局证明书119和CRL分别有一个就可以。此外,在用户证明书由不同的多个认证局装置101发行的情况下,最多需要与认证局装置101的数量相同个数的认证局证明书119和CRL。
然后,签名履历保管装置104使用在步骤S605中取得的认证局证明书119和CRL验证用户证明书有效且没有失效(步骤S606)。在该验证中,在存在验证失败的用户证明书的情况下,返送该验证失败的用户证明书的识别信息,并进入下一步骤。此外,该情况是用户证明书验证失败的情况,因为不会篡改签名履历列表117,所以只是将验证失败的事件作为信息反送。此外,作为其他的实施方式,可以在验证失败时只返送错误后结束可靠点构筑处理。
然后,签名履历保管装置104对结合了最新的签名记录以及证据信息的数据散列值进行计算(步骤S607),所述证据信息包含认证局证明书119、CRL等。然后,将可靠点ID、最新的签名记录的签名ID、包含认证局证明书和CRL等的证据信息、在步骤S607中计算出的散列值作为可靠点数据登录在可靠点列表118中(步骤S608)。此外,可靠点ID是可以唯一地确定在本步骤中生成的可靠点数据的识别信息。
最后,签名履历保管装置104全部删除在证明书列表120中所登录的用户证明书,即对证明书列表120进行清除(步骤S609),并返送可靠点ID和散列值来结束可靠点构筑处理。
然后,就存在多个签名履历保管装置104的签名履历117列表的情况来对可靠点构筑处理的处理流程进行补充说明。
签名履历保管装置104在步骤S601对每个签名履历取得最新的签名记录。此时,对于从上次的可靠点构筑时没有更新的签名履历列表117不取得签名记录。例如,在存在M个签名履历列表117的情况下,在存在L个从上次的可靠点构筑时没有更新的、即没有追加新的签名记录的签名履历列表117时,从(M-L)个签名履历列表117分别取出一个最新的签名记录,合计取出(M-L)个最新的签名记录。
然后,签名履历保管装置104对每个签名履历列表117进行从步骤S602(签名记录验证)到步骤S603(签名履历验证)的处理。然后,进行从步骤S604(取得用户证明书)到步骤S606(验证用户证明书)的处理。然后,在步骤S607(散列值计算)中,对结合了在步骤S601(签名记录取得)中取得的(M-L)个最新的签名记录和证据信息的数据的散列值进行计算,所述证据信息包含认证局证明书119和CRL等。
在本实施方式中,即使在存在多个签名履历的情况下,可靠点数据也是为1个。因此,在步骤S608中,将(M-L)个最新的签名记录的签名ID包含在可靠点数据中,将该可靠点数据登录在可靠点列表118中。然后,在最后执行步骤S609的处理。
此外,希望通过以上的可靠点构筑处理求得的散列值以及可靠点ID在公开发行物,例如报纸、杂志、网站或者其他的期刊等公开媒体中进行公开。通过进行公开,可以验证有无可靠点列表118的可靠点数据的篡改。
图8表示构成本发明实施方式的可靠点列表的可靠点数据的形式。如图8所示,可靠点数据由可靠点ID801、签名ID列表802、可靠点散列值803、证据信息列表804构成。
这里,可靠点ID801是可以在可靠点列表118中唯一确定该可靠点数据的识别信息。此外,签名ID列表802是可靠点构筑时所取得的最新的签名ID的列表。此外,可靠点散列值803是可靠点构筑时计算出的散列值(参照图6步骤S607)。此外,证据信息列表804是在可靠点构筑时取得以及使用的认证局证明书119、CRL等。
此外,可靠点列表118的可靠点散列值803即使在无法使用报纸等公开的散列值的情况下,也可以在进行简易验证时作为信任锚来使用。此外,在必定使用报纸等公开的散列值的系统中,可以没有可靠点列表118的可靠点散列值803。
此外,在证据信息列表804中可以包含OCSP(Online Certificate StatusProtocol)响应(response)、ARL(Authority Revocation List)、用户证明书等。而且,作为其他的实施方式,当在磁滞签名中包含时间戳的情况下,在证据信息列表804中包含与时间戳相关联的证明书。
然后,参照图9对签名履历保管装置104作为签名验证部115的功能执行的签名验证处理的流程进行说明。这里,图9表示本实施方式的签名履历保管装置执行的签名验证处理的流程。该处理是当在签名验证装置105中发生了签名验证请求时,对应来自签名检验装置105的请求来执行。
在图9中,签名履历保管装置104首先输入磁滞签名、可靠点ID、可靠点的散列值等验证对象信息(步骤S900)。此时,可靠点ID以及可靠点散列值使用在作为公开处的报纸等中所刊登的值。然后,签名履历保管装置104参照可靠点列表118,从根据在步骤S900输入的可靠点ID所确定的可靠点数据中取得签名ID列表802和证据信息列表804(步骤S901)。
然后,签名履历保管装置104根据被输入的可靠点ID和可靠点的散列值,判定能否验证被输入的磁滞签名(步骤S902)。即,如果所输入的磁滞签名中包含的签名ID(ID1)和签名ID列表802中包含的签名ID(ID2)包含在同一签名履历列表117中,而且签名ID(ID2)比签名ID(ID1)新,则判定为可以验证。此外,是否包含在同一签名履历列表117中的判定通过比较包含在签名ID中的签名履历ID来进行。在该判定中,在可以验证的情况下进入下一步骤,在无法验证的情况下作为错误结束签名验证处理(未图示)。
然后,签名履历保管装置104从签名履历列表117取得根据签名ID列表802中列举的签名ID所确定的签名记录,并对联结了所取得的签名记录和证据信息列表804的数据的散列值进行计算(步骤S903)。然后,把在步骤S903中计算出的散列值与在步骤S900中输入的可靠点的散列值、即与已公开的散列值进行比较(步骤S904)。在该比较的结果为两者的散列值一致的情况下,进入下一步骤,在不一致的情况下作为错误结束签名验证处理(未图示)。
然后,签名履历保管装置104进行从可靠点中包含的签名ID(ID2)到验证对象的签名ID(ID1)的签名履历的验证(步骤S905)。此时,验证对象的签名履历由所输入的磁滞签名数据300中包含的签名ID来确定。该签名履历验证处理与图7的签名履历验证处理的流程大体相同。不同点在于T为从验证对象的磁滞签名数据300的签名ID减去1的值。
然后,签名履历保管装置104对被输入的磁滞签名和签名履历列表117上对应的签名记录进行比较(步骤S906)。但是,在此时的比较中,如图3以及图4所示,签名记录数据400是从磁滞签名数据300中去除了用户证明书306的形式,所以对去除了用户证明书306的通用部分的数据进行比较。在该比较结果为两者一致的情况下,进入下一步骤,在不一致的情况下作为错误结束签名验证处理(未图示)。
然后,签名履历保管装置104使用在证据信息列表804中包含的认证局证明书、CRL等来验证用户证明书(步骤S907)。该验证是进行使用了认证局证明书中包含的公钥的验证以及用户证明书是否包含在CRL中的检查。此外,不进行证明书有效期限的检查。
如上所述,即使在公钥证明书的有效期限已到期之后或密钥泄漏了时,也可以验证在电子文件所附加的磁滞签名以及其中所包含的用户证明书(公钥证明书)的有效性。此时,在公钥证明书的期限到期之前,无需对每个电子文件重新取得公钥证明书和时间戳,所以可以节省运用所花费的时间和劳力。此外,因为无需对每个电子文件或签名记录保存用户证明书,所以可以大幅削减保存用户证明书的存储装置的区域。
权利要求
1.一种签名履历保管装置,其至少具备CPU和存储装置,将包含签名信息和用户证明书而构成的磁滞签名的签名履历保管在所述存储装置中,所述签名信息在多个数字签名之间给予了由一方向函数确定的连锁关系,所述用户证明书包含用于生成该签名信息的公钥信息,其特征在于,所述存储装置具备签名履历列表和证明书列表,在生成了所述磁滞签名时,在该生成的磁滞签名中,将所述签名信息作为签名记录登录在所述签名履历列表中,并将所述用户证明书与所述签名记录对应地登录在所述证明书列表中。
2.根据权利要求1所述的签名履历保管装置,其特征在于,所述存储装置还具备可靠点列表,其在登录在所述签名履历列表的签名记录中,将包含第一识别信息的信息作为可靠点数据进行登录,所述第一识别信息确定最新的验证完成的签名记录,在登录在所述签名履历列表的签名记录中,取出最新的签名记录,对于从所述取出的签名记录到由所述第一识别信息确定的签名记录的签名记录,使用登录在所述证明书列表中的所述用户证明书对所述最新的签名记录的有效性以及从所述最新的签名记录到由所述第一识别信息确定的签名记录的签名记录的连锁关系的有效性进行验证,对于所述用户证明书,取得证明其有效性的证据信息,根据所述取得的证据信息验证所述用户证明书的有效性,将确定所述最新的签名记录的第二识别信息、所述收集到的证据信息、对由所述第二识别信息确定的签名记录以及所述证据信息进行了联结的信息的散列值作为可靠点数据登录在所述可靠点列表中。
3.根据权利要求2所述的签名履历保管装置,其特征在于,在所述可靠点列表中登录了新的可靠点数据时,将登录在所述证明书列表中的用户证明书全部除去。
4.根据权利要求2所述的签名履历保管装置,其特征在于,输入验证对象的磁滞签名、确定登录在所述可靠点列表中的一个可靠点数据的可靠点识别信息、作为由该可靠点识别信息确定的可靠点数据中包含的散列值过去已公开的公开散列值,从使用所述输入的可靠点识别信息确定的可靠点数据中取出确定所述签名记录的第三识别信息和所述证据信息,对联结了由所述第三识别信息确定的签名记录以及所述证据信息的信息的散列值进行计算,比较所述计算出的散列值和所述输入的公开散列值,对从由所述第三识别信息确定的签名记录开始到与所述输入的磁滞签名对应的签名记录的签名记录的连锁关系的有效性进行验证,比较所述输入的磁滞签名和与所述输入的磁滞签名对应的签名记录,使用所述取出的证据信息对所述输入的磁滞签名中包含的用户证明书进行验证。
5.根据权利要求2所述的签名履历保管装置,其特征在于,所述证据信息包含发行了所述用户证明书的认证局的公钥证明书和所述认证局发行的证明书失效列表。
6.根据权利要求1所述的签名履历保管装置,其特征在于,所述签名信息包含识别磁滞签名的签名ID,所述签名ID包含识别所述签名履历列表的信息。
7.根据权利要求6所述的签名履历保管装置,其特征在于,所述存储装置具备多个签名履历列表和证明书列表,在生成了所述磁滞签名时,在已生成的所述磁滞签名中根据所述签名信息中包含的所述签名ID确定所述多个签名履历列表的任意一个,将所述签名信息作为签名记录登录在所述已确定的签名履历列表中,将所述用户证明书登录在所述证明书列表中。
8.根据权利要求7所述的签名履历保管装置,其特征在于,具备可靠点列表,其在登录在所述各个签名履历列表的签名记录中,将包含第一识别信息的信息作为可靠点数据进行登录,所述第一识别信息从各个签名履历列表确定最新的验证完成的签名记录,在登录在所述各个签名履历列表中的签名记录中,从所述各个签名履历列表中取出最新的签名记录,对于从所述取出的签名记录开始到由所述第一识别信息确定的签名记录的签名记录,使用登录在所述证明书列表中的所述用户证明书对所述每个签名履历列表验证所述最新的签名记录的有效性以及从所述最新的签名记录开始到由所述第一识别信息确定的签名记录的签名记录的连锁关系的有效性,对于所述用户证明书取得证明该用户证明书的有效性的证据信息,根据所述取得的证据信息验证所述用户证明书的有效性,将确定所述最新的签名记录的多个第二识别信息、所述收集到的证据信息、由根据所述第二识别信息确定的多个签名记录以及所述证据信息构成的信息的散列值作为可靠点数据登录在所述可靠点列表中,输出确定已登录的所述可靠点数据的可靠点识别信息。
9.根据权利要求8所述的签名履历保管装置,其特征在于,输入验证对象的磁滞签名、确定登录在所述可靠点列表中的一个可靠点数据的可靠点识别信息、作为由所述可靠点识别信息确定的可靠点数据中包含的散列值公开的公开散列值,从使用所述输入的可靠点识别信息确定的可靠点数据中取出确定所述签名记录的多个第三识别信息和所述证据信息,对联结了由所述各个第三识别信息确定的签名记录以及所述证据信息的信息的散列值进行计算,比较所述计算出的散列值和所述输入的公开散列值,对从在所述多个第三识别信息中由所述输入的磁滞签名得到的信息所确定的签名记录开始到与所述输入的磁滞签名对应的签名记录中由所述第三识别信息确定的签名记录的签名记录的连锁关系的有效性进行验证,比较所述输入的磁滞签名和与所述输入的磁滞签名对应的签名记录,使用所述取出的证据信息对所述输入的磁滞签名中包含的用户证明书进行验证。
全文摘要
在公钥证明书的有效期已到期之后或密钥泄漏了时,也可以验证公钥证明书等的有效性。签名履历保管装置(104)具备签名履历列表(117)和证明书列表(120),将生成的磁滞签名的签名信息的部分作为签名记录登录在签名履历列表(117)中,将用户证明书的部分登录在证明书列表(120)中。此外,签名履历保管装置(104)具备可靠点列表(118),恰当地或在用户证明书期限到期之前对登录在签名履历列表(117)中的签名记录进行验证,把在已验证的签名记录中确定最新的签名记录的识别信息、对验证完成的签名记录的用户证明书的有效性进行验证的证据信息以及对这些信息进行了联结的信息的散列值登录在可靠点列表(118)中。
文档编号G09C1/00GK1949308SQ200610073149
公开日2007年4月18日 申请日期2006年4月6日 优先权日2005年10月11日
发明者伊藤信治, 本多义则, 布上裕康, 坂本圭司 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1