CN1941692B - 用于获取时间戳的系统、装置和方法 - Google Patents
用于获取时间戳的系统、装置和方法 Download PDFInfo
- Publication number
- CN1941692B CN1941692B CN200610139964.XA CN200610139964A CN1941692B CN 1941692 B CN1941692 B CN 1941692B CN 200610139964 A CN200610139964 A CN 200610139964A CN 1941692 B CN1941692 B CN 1941692B
- Authority
- CN
- China
- Prior art keywords
- timestamp
- data
- generator
- hashed value
- private key
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提供了一种用于维持电子归档文档的存在的证明的时间戳获取装置,其包括:接收所述文档数据的散列值的接收单元12;将所述散列值传送给时间戳提供装置30a的传送部件15c;将利用私钥编码的时间戳插入未更新数据16b并进行存储的存储处理部件15d,其中该未更新数据与自从私钥被更新时起所接收的时间戳有关;检测私钥的更新的更新检测部件11;针对包含于未更新数据16b中的所有时间戳计算散列值的计算部件13b;传送所述散列值的传送部件13c;存储处理部件13d,当时间戳被接收时将未更新数据16b移至过去的数据16c并存储它,并且将新接收的时间戳作为新的未更新数据16b存储。
Description
相关申请的交叉引用
本申请根据35USC§119主张2005年9月30日提交的日本专利申请2005-287736的优先权,在此引入其全部内容作为参考。
技术领域
本发明涉及用于获取时间戳以更新该时间戳的系统、装置、程序和方法。
背景技术
时间戳广泛用于证明文档在每个时刻的存在。所谓的时间戳机关(authority)所拥有的时间戳提供装置产生时间戳。例如通过使用数字签名技术,时间戳提供装置对设置文档的电子数据的“时间”和“散列(Hash)值”的数据等产生利用唯一私钥签名的时间戳。相应于在依据包含于时间戳中的“时间”的时刻的“散列值”,该时间戳证明了电子数据的存在。
通常,在时间戳由于某些原因似乎危及安全(compromise)的情况下,公开了这样的技术:通过用其它私钥对已存在的时间戳重新产生时间戳,来扩展有效期。(例如,参考Time Business Forum(TBF)于2005年2月的“GUIDELINE OF TIME STAMP FOR LONG-RUNGUARANTEE”,2005年7月15日搜索的:URL:http//www.scat.or.jp/time/PDF/choukihosyouguidelineVer1.1.pdf)。此外,根据私钥的更新定时而重复签名的技术,在日本专利公开公报(Kokai)2002-6739中被公开。
然而,根据上面在“GUIDELINE OF TIME STAMP FOR LONG-RUNGUARANTEE”中所公开的技术,当时间戳在过去某一(时间)点危及安全时,该时间戳变为无效,而不给予更新该时间戳的机会。因此,存在不能证明文档存在的问题。
此外,根据上面在日本专利公开公报(Kokai)2002-6739中公开的技术,尽管对由于私钥危及安全所造成的篡改存在抵御,然而由于它不是时间戳,因此,存在不能在较长时期内证明文档在最初签名时存在的问题。
发明内容
因此,实现本发明以解决上面提到的问题。本发明的实施例提供用于获取时间戳以维持对文档存在的证明的系统、装置、程序和方法。
为解决上面提到的问题,根据本发明实施例的时间戳提供系统包括时间戳提供装置和时间戳获取装置,所述时间戳提供装置连接到所述时间戳获取装置。所述时间戳提供装置包括:时间戳产生部件,其被配置用来针对包括时间和接收自所述时间戳获取装置的散列值的数据、通过使用已更新私钥来产生时间戳;以及时间戳传送部件,其被配置用来将由所述时间戳产生部件产生的时间戳传送给所述时间戳获取装置。所述时间戳获取装置包括:接收单元,其被配置用来从终端接收文档数据或根据文档数据所计算的散列值中的一个;第一计算部件,其被配置用来计算所接收的文档数据的散列值;第一传送部件,其被配置用来将接收自终端的散列值和由第一计算部件根据文档数据所计算的散列值中的一个传送给所述时间戳提供装置;第一存储处理部件,其被配置用来当从所述时间戳提供装置接收了针对由所述第一传送部件传送的散列值所产生的时间戳时,将所述时间戳添加给未更新数据并且将该时间戳存储在存储单元中,其中所述未更新数据是与自从时间戳提供装置所使用的私钥上次被更新时起从该时间戳提供装置接收的时间戳有关的数据;更新检测部件,其被配置用来检测由所述时间戳提供装置使用的时间戳的私钥的更新;第二计算部件,其被配置用来当更新检测部件检测私钥的更新时,针对包含于未更新数据中的所有时间戳计算一个散列值;第二传送装置,其被配置用来将所计算的散列值传送给所述时间戳提供装置;以及第二存储处理部件,其被配置用来当从所述时间戳提供装置接收了针对由所述第二传送部件传送的散列值所产生的时间戳时,将未更新数据移至过去的数据并且将该未更新数据存储到存储单元中,并且用来将新接收的时间戳作为新的未更新数据存储在存储单元中,其中所述过去的数据是与在私钥上次被所述时间戳提供装置更新之前从该时间戳提供装置接收的时间戳有关的数据。
根据本发明另一实施例的连至所述时间戳提供装置的时间戳获取装置,其中所述时间戳提供装置传送通过数据的已更新私钥所产生的时间戳,其中所述数据包括时间和接收的散列值,所述时间戳获取装置包括:接收单元,其被配置用来从终端接收文档数据和根据文档数据所计算的散列值中的一个;第一计算部件,其被配置用来计算所接收文档数据的散列值;第一传送部件,其被配置用来将接收自终端的散列值和由所述第一计算部件根据文档数据所计算的散列值中的一个传送给所述时间戳提供装置;第一存储处理部件,其被配置用来当从所述时间戳提供装置接收了针对由所述第一传送部件传送的散列值而产生的时间戳时,将该时间戳添加给未更新数据并且将该时间戳存储在存储单元中,其中所述未更新数据是与自从所述时间戳提供装置所使用的私钥上次被更新时起从该时间戳提供装置接收的时间戳有关的数据;更新检测部件,其被配置用来检测由所述时间戳提供装置使用的时间戳的私钥的更新;第二计算部件,其被配置用来当所述更新检测部件检测私钥的更新时,针对包含于未更新数据中的所有时间戳计算一个散列值;第二传送装置,其被配置用来将所计算的散列值传送给所述时间戳提供装置;以及第二存储处理部件,其被配置用来当从所述时间戳提供装置接收了针对由所述第二传送部件传送的散列值而产生的时间戳时,将未更新数据移至过去的数据并将该未更新数据存储到存储单元中,并且用来将新接收的时间戳作为新的未更新数据存储在存储单元中,其中所述过去的数据是与在私钥上次被所述时间戳提供装置更新之前从该时间戳提供装置接收的时间戳有关的数据。
根据本发明另一实施例的用于获取时间戳的计算机可执行程序产品,所述计算机可执行程序产品包括:从终端接收文档数据和根据文档数据所计算的散列值中的一个;计算所接收的文档数据的散列值;将接收自终端的散列值和根据所述文档数据所计算的散列值中的一个传送给所述时间戳提供装置;当针对包括时间和所传送的散列值的数据、从所述时间戳提供装置接收了利用已更新私钥所产生的时间戳时,将所述时间戳添加给未更新数据,其中所述未更新数据是与自从所述时间戳提供装置所使用的私钥上次被更新时起从该时间戳提供装置接收的时间戳有关的数据,并且将所述时间戳存储在存储单元中;检测由所述时间戳提供装置使用的时间戳的私钥的更新;当所述更新检测部件检测私钥的更新时,针对包含于未更新数据中的所有时间戳计算一个散列值;将所计算的散列值传送给所述时间戳提供装置;并且,当针对包括时间和所传送的散列值的数据、从所述时间戳提供装置接收利用已更新私钥所产生的时间戳时,将未更新数据移至过去的数据并将未更新数据存储到存储单元中,并且将新接收的时间戳作为新的未更新数据存储到存储单元中,其中所述过去的数据是与在私钥上次被所述时间戳提供装置更新之前从该时间戳提供装置接收的时间戳有关的数据。
附图说明
-图1说明了具有根据本发明实施例的时间戳获取装置的时间戳获取系统;
-图2示出了根据本发明实施例的时间戳获取装置的硬件结构图的例子;
-图3说明了由每个时间戳提供装置使用以编码未更新数据和过去的数据的私钥;
-图4是说明获取已更新私钥的时间戳的过程的流程图;
-图5说明了当私钥被更新时对图3所示的未更新数据和过去的数据的更新;
-图6是说明获取已更新私钥的公钥证书的过程的流程图;
-图7说明了当获取公钥证书时对图5所示的未更新数据的更新;
-图8是说明在新文档数据注册时的过程的流程图;
-图9说明了当注册新的文档数据时对图7所示的未更新数据的更新;
-图10示出了具有根据本发明第一变型实施例的时间戳获取装置的时间戳获取系统;
-图11是由根据本发明第一变型实施例的时间戳获取装置所使用的重要性数据的例子;
-图12示出了具有根据本发明第二变型实施例的时间戳获取装置的时间戳获取系统。
具体实施方式
下面将参考附图描述本发明的各个不同的实施例。应当指出,相同或相似的参考标记贯穿所有附图应用于相同或相似的部分和元件,并且省略或简化对相同或相似部分和元件的描述。然而应当指出,附图只是示意图。
时间戳获取系统
图1示出了根据本发明实施例的时间戳获取系统。
时间戳获取系统1包括时间戳获取装置10、终端20a到20c,以及时间戳提供装置30a到30c,并且它们通过网络40相互连接。
根据本发明实施例的时间戳获取装置10从终端20a、20b或20c接收文档数据的散列值H以获取存在证明。然后,时间戳获取装置10从时间戳提供装置30a、30b或30c获取时间戳10,其中该时间戳是通过用私钥签名(编码)时间和散列值H而产生的。
时间戳提供装置30a定期更新存储在时间戳提供装置30中的私钥。当所使用的私钥被连接的时间戳提供装置30a至30c中任一个更新时,时间戳获取装置10从其它连接的时间戳提供装置获取已更新私钥的公钥证书D的时间戳。公钥证书D证明对应于公钥的私钥是由时间戳提供装置30a至30c所使用的私钥。
后文将基于图1和图2描述时间戳获取装置10的构成细节。
终端20a至20c中每个都是通用信息处理终端(例如个人计算机(PC)等),其包括存储单元,并且该存储单元存储文档数据以请求存在的证明。此外,终端20a至20c中每个都将存储在存储单元中的文档数据或根据该文档数据所计算的散列值H传送给时间戳获取装置10。由于每个终端20a至20c是相同的构成,因此下面将描述终端20a。即使终端20a被合适的终端20b或20c取代,它仍是相似的。另外,包含于时间戳获取系统1中的终端不限于三个。
每个时间戳提供装置30a至30c包括时间戳产生部件和时间戳传送部件(图中未示出)。所述时间戳产生部件从时间戳获取装置10接收“散列值H”。此后,所述时间戳产生部件通过用存储在该时间戳提供装置中的私钥签名数据来产生“时间戳S”,其中所述数据包括“时间”和所接收的“散列值H”。所述时间戳传送部件将由时间戳产生部件产生的时间戳S传送给时间戳获取装置10。
包含于“时间戳S”中的“时间”例如是产生包括散列值的时间戳的时间,或接收散列值的时间。每个时间戳提供装置30a至30c定期或不定期地更新用于编码的私钥。每个时间戳提供装置30a至30c例如是所谓的时间戳局所拥有的装置。由于每个时间戳提供装置30a至30c是相同的构成,因此将在下面描述时间戳提供装置30a。即使时间戳提供装置30a被合适的时间戳提供装置30b或30c取代,它仍是相似的。另外,包含于时间戳获取系统1中的终端(时间戳提供装置)不限于三个。
时间戳获取装置
如图1所示,时间戳获取装置10包括更新检测单元11、接收单元12、已更新时间戳获取单元13、证书获取部件14、数据注册部件15、私钥数据16a、未更新数据16b、过去的数据16c以及证书数据16d。
如图2所示,根据本发明实施例的时间戳获取装置10包括中央处理单元101、只读存储器(ROM)102、随机存取存储器(RAM)103以及输入和输出接口109,所有这些都通过总线110相互连接。同时,输入单元104、显示单元105、通信控制单元106、存储单元107以及可移动磁盘108连接到输入和输出接口109。
中央处理单元101基于来自输入单元104的输入信号从ROM 102中读取并执行用于启动时间戳获取装置10的启动程序,并且然后读取存储在存储单元107中的操作系统。此外,中央处理单元101是这样的处理设备:其被配置用来基于来自输入单元104、通信控制单元106等的输入信号来控制各个设备;读取存储在存储单元107等中的程序和数据并且将所述程序和数据载入RAM 103;并且基于从RAM 103中读取的程序的命令来实现后文将描述的一系列处理,包括数据计算和数据处理。
输入单元104包括例如键盘或鼠标的输入单元,以允许操作员输入例如输入字符的各种操作。输入单元104基于操作员的操作产生输入信号,并且通过输入和输出接口109和总线110将该输入信号传送给中央处理单元101。显示单元105是阴极射线管(CRT)显示器、液晶显示器等,其例如是这样的设备:被配置用来通过总线110和输入和输出接口109从中央处理控制设备101接收要在显示单元105上显示的输出信号,并且显示中央处理单元101的处理结果。
通信控制单元106是例如局域网(LAN)卡或调制解调器的设备,其是被配置用来将时间戳获取装置10连接到例如互联网或LAN的通信网络的设备。通过通信控制单元106传送至或接收自通信网络的数据,通过输入和输出接口109以及总线110、作为输入信号或输出信号被发送至中央处理控制设备101或由其接收。
存储单元107是半导体存储设备、磁盘设备等,其被配置用来存储要由中央处理单元101执行的程序和数据。可移动磁盘108代表光盘或软盘。由磁盘驱动写入或读出的信号通过输入和输出接口109以及总线110被发送到或接收自中央处理单元101。存储单元107存储私钥数据16a、未更新数据16b、过去的数据16c和证书数据16d。
应当指出,根据本发明实施例的时间戳获取装置10可以通过单个计算机或多个能互相通信的计算机来被实现。
更新检测单元11、接收单元12、已更新时间戳获取单元13、证书获取部件14和数据注册部件15,是作为时间戳获取装置10的中央处理单元101读取并执行时间戳获取程序的结果而被实现的。
根据本发明实施例的时间戳获取装置10可以如图1所示在单个计算机中被执行,并且也可以在能互相通信的多个计算机中被执行。另外,例如时间戳获取装置10可以是这样的构成:在外部提供存储单元107,也可以是这样的构成:在外部仅提供存储单元107的数据的一部分。
接下来,将基于图3描述每个时间戳提供装置30a至30c用于编码的私钥、私钥数据16a、未更新数据16b、过去的数据16c以及证书数据16d。在图3中,横坐标是时基,其示出过去向左边,而将来向右边。
尽管时间戳提供装置30a在过去已使用了“私钥A1”,然而从“时刻T2”起已经使用了“私钥A2(以下简写为“密钥A2”)”。此外,尽管时间戳提供装置30b在过去已使用了“私钥B1”,然而从“时刻T1”到“时刻T3”已经使用了“私钥B2”,并且然后从“时刻T3”起已经使用了“私钥B3(以下简写为“密钥B3”)”。时间戳提供装置30c已使用“私钥C1(以下简写为“密钥C1”)”。
私钥数据16a将连接到时间戳获取装置10的时间戳提供装置30a的标识符关联于所用私钥的标识符,以便时间戳提供装置30a在该时刻(时刻T0)产生时间戳S。在图3所示的例子中,私钥数据16a分别将时间戳提供装置30a关联于密钥A2、将时间戳提供装置30b关联于密钥B3,并且将时间戳提供装置30c关联于密钥C1。
未更新数据16b是与这样的时间戳S有关的数据:该时间戳S由时间戳获取装置10在私钥被任一时间戳提供装置30a上次更新之后接收。图3所示的未更新数据16b是与在时刻T3与当前(时刻T0)之间所接收的时间戳有关的数据的例子。
过去的数据16c是与这样的时间戳S有关的数据:该时间戳S由时间戳获取装置10在私钥上次被任一时间戳提供装置30a更新之前接收。图3所示的过去的数据16c是与在时刻T3之前所接收的时间戳有关的数据。
证书数据16d是用来积累公钥证书的数据,其中所述公钥证书由时间戳获取装置10从时间戳提供装置30a、30b或30c获得。图3所示的证书数据16d是这样的数据的例子:该数据用来积累密钥B2的公钥证书DB2、密钥A2的公钥证书DA2以及密钥B3的公钥证书DB3。然而,证书数据16d还积累图3未示出的、在时刻T1之前获得的过去的公钥证书。
更新检测单元11从存储单元107读取私钥数据16a。随后,更新检测单元11访问连接的时间戳提供装置30a并从其获得私钥,比较所述私钥,并且因而检测私钥的更新。尽管时间戳提供装置30a可能改变签名方案,然而时间戳提供装置30a根据新的签名方案来更新私钥。因此,当时间戳提供装置30a更新签名方案时,更新检测单元11也检测私钥的更新。
更具体地,更新检测单元11比较由时间戳提供装置30a提供的时间戳的私钥和包含于所读取私钥数据16a中的私钥。然后,当两个被比较的私钥不同时,更新检测单元11确定时间戳提供装置30a更新了私钥。这个由更新检测单元11进行的执行是通过比较私钥的公钥证书来被执行的。
接收单元12通过通信控制单元106接收被传送到连接的终端20a的文档数据或根据该文档数据所计算的散列值。所述文档数据是以电子数据方式的文档数据。
如图1所示,已更新时间戳获取单元13包括读取部件13a、计算部件13b、传送部件13c以及存储处理部件13d。
当私钥的更新被更新检测单元11检测时,读取部件13a从存储单元107读取未更新数据16b。
计算部件13b针对包含于由读取部件13a读取的未更新数据16b中的所有时间戳S来计算散列值H。这里,计算部件13b将包含于未更新数据16b中的所有时间戳看作一个数据,并且然后针对这一个数据计算一个散列值H。
传送部件13c将计算部件13b所计算的散列值H传送给更新私钥的时间戳提供装置30a。
存储处理部件13d从时间戳提供装置30a接收针对由传送部件13c传送的散列值H所产生的时间戳S。然后,存储处理部件13d将未更新数据16b移至过去的数据16c,并且将其存储在存储单元107中。此后,存储处理部件13d将新接收的时间戳S作为新的未更新数据16d存储在存储单元107中。
证书获取部件14包括获取部件14a、计算部件14b、传送部件14c以及存储处理部件14d。当私钥的更新被更新检测单元11检测时,获取部件14a从时间戳提供装置30a获得已更新私钥的公钥证书D。
计算部件14b计算获取部件14a所获得的公钥证书D的散列值H。
传送部件14c将计算部件14b所计算的散列值H传送给时间戳提供装置30b和30c。
存储处理部件14d从时间戳提供装置30b和30c接收针对由传送部件14c传送的散列值H而产生的时间戳S。然后,存储处理部件14d将所接收的时间戳S添加给未更新数据16b,并将其存储在存储单元107中。
数据注册部件15包括确定部件15a、计算部件15b、传送部件15c以及存储处理部件15d。
当从终端20a传送的数据被接收单元12接收时,确定部件15a确定所接收的数据是否是文档数据的散列值H。作为所述确定的结果,如果所接收的数据是散列值H,则确定部件15a确定所接收的数据是基于要接收存在证明的电子数据而计算的散列值H。另一方面,如果所接收的数据不是散列值H,则确定部件15a确定所接收的数据是要接收存在证明的文档数据。
如果所接收的数据不是文档数据的散列值H,则计算部件15b计算所接收数据的散列值H。
传送部件15c将接收自终端20a的散列值H或由计算部件15b计算的散列值H传送给时间戳提供装置30a,其中对于该时间戳提供装置私钥是最新被更新的。对于图3所示的例子,传送部件15c将散列值H传送给时间戳提供装置30b。
存储处理部件15d接收对于传送部件15c所传送的散列值H、由时间戳提供装置30a所产生的时间戳S。然后,存储处理部件15d将所接收的时间戳S添加给未更新数据16b,并将其存储在存储单元107中。
更新处理
下文将描述当更新私钥时的时间戳获取装置10的过程。
首先,用来获取已更新私钥的时间戳的过程将通过使用图4所示的流程图来进行描述。
在步骤S01,更新检测单元11等待检测连接的时间戳提供装置30a中私钥的更新。当私钥的更新被更新检测单元11检测时,在步骤S02,读取部件13a从存储单元107读取未更新数据16b。然后,在步骤S03,计算部件13b通过将包含于读取部件13a所读取的未更新数据16b中的所有时间戳S看作一个数据来计算散列值H。
在图3所示的例子中,计算部件13b通过将包含于未更新数据16b中的过去数据的时间戳SB3-2(时间戳通过使用密钥B3而被产生)、密钥C3的公钥证书DB3的时间戳SA2-3和时间戳SC1-3(时间戳通过使用密钥C1而被产生)、以及文档4的时间戳SB3-1(时间戳通过使用密钥B3而被产生)看作一个数据,来计算散列值H。
此后,在步骤S04,传送部件13c将计算部件13b所计算的散列值H传送给时间戳提供装置30a。然后,在步骤S05,存储处理部件13c接收了针对传送部件13c所传送的散列值H而产生的时间戳S。此外,在步骤S06,存储处理部件13d将读取部件13a所读取的未更新数据16b移至过去的数据16c,并将其存储在存储单元107中。此外,在步骤S07,存储处理部件13d将所接收的时间戳S作为新的未更新数据16b存储在存储单元107中。
在时间戳提供装置30c所使用的私钥在图3所示的时刻T4变成私钥C2的情况下,将基于图5描述时间戳获取装置10获取私钥的时间戳S的例子。传送部件13c将计算部件13b在步骤S03所计算的散列值H传送给时间戳提供装置30c。此外,用密钥C2来标记由存储处理部件13d针对传送部件13c所传送的散列值H而接收的时间戳SC2-1。存储处理部件13d将所接收的时间戳SC2-1插入未更新数据16b中,并将其存储在存储单元107中。
接下来,将通过使用图6所示的流程图来描述用于获取已更新私钥的公钥证书的过程。
当私钥的更新被更新检测单元11检测时,获取部件14a在步骤S12从时间戳提供装置30a获取已更新私钥的公钥证书D。此后,在步骤S13,计算部件14b计算获取部件14a所获取的公钥证书D的散列值H。然后,在步骤S14,传送部件14c将计算部件13b所计算的散列值H传送给与时间戳提供装置30a不同的时间戳提供装置30b和/或30c,其中时间戳提供装置30a已更新了私钥。
例如,如图5所示,当时间戳提供装置30c在时刻T4将时间戳的私钥从密钥C1更新为密钥C2时,获取部件14a从时间戳提供装置30c获取密钥C2的公钥证书DC2。然后,计算部件14b计算所获密钥C2的公钥证书DC2的散列值H。此外,传送部件14c将计算部件14b所计算的散列值H传送给与时间戳提供装置30c不同的时间戳提供装置30a和/或30b。
此后,在步骤S15,存储处理部件14d等待接收针对传送部件14c所传送的散列值H而产生的时间戳S。在步骤S16,接收时间戳S的存储处理部件14d将获取部件14a所获得的公钥证书D添加给证书数据16d,并将其存储在存储单元107中。此外,在步骤S17,存储处理部件14d将所接收的时间戳S添加给未更新数据16b,并将其存储在存储单元107中。
在图5所示情形的情况下,将基于图7描述时间戳获取装置10获取公钥证书的例子。存储处理部件14d从时间戳提供装置30a接收针对公钥证书DC2的散列值H而产生的时间戳SA2-3,并且从时间戳提供装置30b接收针对公钥证书DC2的散列值H而产生的时间戳SB2-3。然后,存储处理部件14d将时间戳SA2-3和SB2-3添加给未更新数据16b,并将它们存储在存储单元107中。此外,存储处理部件14d将公钥证书DC2添加给证书数据16d,并将其存储在存储单元107中。
注册处理
接下来,将基于图8所示的流程描述当时间戳获取装置10注册文档数据时的过程。
在步骤S21,接收单元12等待由终端20a传送的数据。当所述数据被接收单元12接收时,确定部件15a在步骤S22确定所接收数据是否是文档数据的散列值H。作为所述确定的结果,如果所述数据不是文档数据的散列值H,则计算部件15b确定该数据为文档数据,并在步骤S23计算该文档数据的散列值H。
然后,在步骤S24,传送部件15c将接收单元12所接收的散列值H或计算部件15b所计算的散列值H传送给时间戳提供装置30a,其中时间戳提供装置30a最新更新了私钥。
例如,当是文档数据的文档5被接收单元12接收时,传送部件15c传送计算部件15b所计算的文档5的散列值H。此外,当文档5的散列值H被接收单元12接收时,传送部件15c传送由接收单元12所接收的散列值H。
此后,在步骤S25,接收单元12等待接收针对传送部件15c所传送的散列值H而产生的时间戳S。在步骤S26,存储处理部件15d将接收单元12所接收的时间戳S添加给未更新数据16b,并将其存储在存储单元107中。
例如,如图9所示,时间戳SC2-2作为未更新数据16b而被存储在存储单元107中,其中该时间戳是针对接收自时间戳提供装置30c的文档5的散列值H而产生的。
根据上面提到的本发明的实施例,当更新由连接的时间戳提供装置所使用的私钥时,所述时间戳获取装置用新的时间戳盖写(overwrite)过去的时间戳。结果,即使过去的时间戳在所述盖写之后危及安全,过去文档数据的存在也可以通过新的时间戳而被证明。
此外,即使公钥证书危及安全,公钥证书在一段时间内的有效存在也可以通过获取针对该公钥证书的其它时间戳提供装置的时间戳来被证明。因此,不必失去公钥证书的有效性。
第一变型例
图10中示出了根据本发明的第一变型例的时间戳获取装置10a。根据第一变型例的时间戳获取装置10a与上面基于图1所描述的时间戳获取装置10的不同之处在于:在数据注册部件15中包括重要性确定部件15e。
重要性确定部件15e接收电子数据或由接收单元12从终端20a接收的电子数据的散列值以及说明电子数据的重要性的级别数据。然后,重要性确定部件15e将相应于所接收电子数据的重要性级别的移动指示输出给计算部件15b。
将基于图11描述说明电子数据重要性的级别的例子。在图11所示的例子中,重要性级别被设置为从L1到L4的四个分级。级别L1是最高重要性级别,而级别L4是最低重要性级别。
在图11所示的例子中,由于所确定的级别为L1的文档是重要的,因此时间戳获取装置10a从所有的时间戳提供装置30a至30c获取时间戳S。更具体地,重要性确定部件15e将传送被确定为级别L1的文档数据的散列值H的移动指示,输出给所有的时间戳提供装置30a至30c,其中时间戳提供装置30a至30c向传送部件13c提供时间戳SA、SB和SC。
在文档被确定为级别L2的情况下,时间戳获取装置10a从时间戳提供装置30a获取预定数目的时间戳S。例如,所述预定数目可以是1,并且时间戳可以仅从私钥更新时间最接近的时间戳提供装置30a来获得。在图11所示的例子中,重要性确定部件15e将传送被确定为级别L2的文档数据的散列值H的移动指示,输出给时间戳提供装置30a和30b,其中时间戳提供装置30a和30b向传送部件13c提供时间戳SA和SB。
在文档被确定为级别L3的情况下,时间戳获取装置10a根据预定的定时来全体地获取时间戳S。例如,每当级别L3的散列值H以预定数目被接收时,考虑这样的方法:其用来获取通过将这些接收的预定数目的散列值看作是一个数据而产生的时间戳S。此外,还考虑这样的方法:用来获取通过将定期接收的级别为L3的所有散列值看作是一个数据而产生的时间戳S。
此外,在文档被确定为级别L4的情况下,时间戳获取装置10a仅计算散列值H,并且将其添加给未更新数据。然后,当私钥下次被更新时,时间戳获取装置10a利用这个新私钥的散列值、其它时间戳S和其它散列值H来计算散列值,并且将所述散列值H传送给时间戳提供装置30a。结果,时间戳获取装置10a获得了所产生的时间戳。
如上面所指出的,所述时间戳获取装置和时间戳提供装置之间的访问可以通过根据重要性级别提供时间戳的获取而被限制,并且同时可以减少获取时间戳的成本。
第二变型例
图12示出了根据本发明的第二变型例的时间戳获取装置10b。根据第二变型例的时间戳获取装置10b与上面基于图1所提及的时间戳获取装置10的不同之处在于:在更新检测单元11中具有时间戳提供装置的检测部件11a并且具有提供装置数据16f。由于时间戳获取装置10b和上面基于图1提到的时间戳获取装置10在其它构成方面是相同的,并且过程也是相同的,因此省略其描述。
提供装置数据16f具有连接到时间戳获取装置10b的时间戳提供装置30a的标识符。
当时间戳提供装置的检测部件11a检测到时间戳提供装置30a新近被连接时,时间戳提供装置的检测部件11a执行与时间戳提供装置的私钥更新被检测时相似的操作,其中时间戳提供装置30a是由与包含于提供装置数据16f中的标识符不同的标识符来标识的。
如上面所提到的,当添加与网络连接的时间戳提供装置时,执行类似于更新私钥情况的过程。此外,执行对私钥的监视以及对其它时间戳提供装置的监视,并且当更新私钥时,执行更新操作。结果,由于新获得的时间戳的数目增加,因此进一步减小了时间戳变为无效的风险。
尽管已经阐明了本发明的实施例,然而可以在不背离本发明的精神和基本特征的情况下用其它特殊形式来体现本发明。根据所公开的内容,各种可选实施例、实现的例子以及操作技术对于本领域的技术人员而言是显而易见的。
本实施例因此无论从哪方面来看都是说明性的,而非限制性的,本发明的范围由所附的权利要求来指示,而不是由前面的描述来指示,并且在权利要求书的等价的意义和范围内的所有改变因而包含于其中。
Claims (11)
1.一种时间戳提供系统,其包括时间戳提供装置和时间戳获取装置,其中所述时间戳提供装置与所述时间戳获取装置相连接,
所述时间戳提供装置包括:
时间戳产生部件,其被配置用来针对包括时间和散列值的数据、通过使用已更新私钥来产生时间戳,其中所述散列值接收自所述时间戳获取装置;以及
时间戳传送部件,其被配置用来将所述时间戳产生部件所产生的时间戳传送给所述时间戳获取装置,并且
所述时间戳获取装置包括:
接收单元,其被配置用来从终端接收文档数据和根据文档数据所计算的散列值中的一个;
第一计算部件,其被配置用来计算所接收的文档数据的散列值;
第一传送部件,其被配置用来将接收自所述终端的散列值和由所述第一计算部件根据所述文档数据所计算的散列值中的一个传送给所述时间戳提供装置;
第一存储处理部件,其被配置用来当针对所述第一传送部件所传送的散列值而产生的时间戳从所述时间戳提供装置被接收时,将所述时间戳添加给未更新数据,并且将所述时间戳存储在存储单元中,其中所述未更新数据是与自从所述时间戳提供装置所用的私钥上次被更新时起从该时间戳提供装置接收的时间戳有关的数据;
更新检测部件,其被配置用来检测所述时间戳提供装置所使用的时间戳的私钥的更新;
第二计算部件,其被配置用来当所述更新检测部件检测所述私钥的更新时,针对包含于所述未更新数据中的所有时间戳计算一个散列值;
第二传送部件,其被配置用来将所述第二计算部件所计算的散列值传送给所述时间戳提供装置;以及
第二存储处理部件,其被配置用来当针对所述第二传送部件所传送的散列值而产生的时间戳从所述时间戳提供装置被接收时,将所述未更新数据移至过去的数据,并且将所述未更新数据存储在所述存储单元中,并且用来将新接收的时间戳作为新的未更新数据存储在所述存储单元中,其中所述过去的数据是与在私钥上次被所述时间戳提供装置更新之前从所述时间戳提供装置接收的时间戳有关的数据。
2.一种时间戳获取装置,其与所述时间戳提供装置相连接,其中所述时间戳提供装置传送依据数据的已更新私钥而产生的时间戳,所述数据包括时间和所接收的散列值,所述时间戳获取装置包括:
接收单元,其被配置用来从终端接收文档数据和根据文档数据所计算的散列值中的一个;
第一计算部件,其被配置用来计算所接收的文档数据的散列值;
第一传送部件,其被配置用来将接收自所述终端的散列值和由所述第一计算部件根据所述文档数据所计算的散列值中的一个传送给所述时间戳提供装置;
第一存储处理部件,其被配置用来当针对所述第一传送部件所传送的散列值而产生的时间戳从所述时间戳提供装置被接收时,将所述时间戳添加给未更新数据,并且将所述时间戳存储在存储单元中,其中所述未更新数据是与自从所述时间戳提供装置所使用的私钥上次被更新时起从所述时间戳提供装置接收的时间戳有关的数据;
更新检测部件,其被配置用来检测所述时间戳提供装置所使用的时间戳的私钥的更新;
第二计算部件,其被配置用来当所述更新检测部件检测所述私钥的更新时,针对包含于所述未更新数据中的所有时间戳计算一个散列值;
第二传送部件,其被配置用来将所述第二计算部件所计算的散列值传送给所述时间戳提供装置;以及
第二存储处理部件,其被配置用来当针对所述第二传送部件所传送的散列值而产生的时间戳从所述时间戳提供装置被接收时,将所述未更新数据移至过去的数据,并且将所述未更新数据存储在所述存储单元中,并且用来将新接收的时间戳作为新的未更新数据存储在所述存储单元中,其中所述过去的数据是与在私钥上次被所述时间戳提供装置更新之前从所述时间戳提供装置接收的时间戳有关的数据。
3.根据权利要求2的时间戳获取装置。该时间戳获取装置还包括:
获取部件,其与多个时间戳提供装置相连接,并且被配置用来当所述更新检测部件检测所述私钥的更新时,从所述时间戳提供装置获取已更新私钥的公钥证书;
第三计算部件,其被配置用来计算所获取的公钥证书的散列值;
第三传送部件,其被配置用来将所述公钥证书的散列值传送给与接收所述公钥证书的时间戳提供装置不同的时间戳提供装置;以及
第三存储处理部件,其被配置用来将对于被传送公钥证书的散列值的被接收时间戳插入所述未更新数据,并将所接收的时间戳存储在所述存储单元中。
4.根据权利要求3的时间戳获取装置,其中,所述第三传送部件将所述第三计算部件所计算的散列值传送给所述时间戳提供装置,其中所述私钥对于该时间戳提供装置最新被更新。
5.根据权利要求2的时间戳获取装置,其还包括:
重要性确定部件,其被配置用来当所述接收单元从所述终端接收电子数据、电子数据的散列值和电子数据的重要性级别中的一个时,从所述存储单元读取重要性数据,其中所述重要性数据包括用以获取各个重要性级别的时间戳的相应移动指示;并且用来输出与所接收的电子数据的重要性级别相关的移动指示。
6.根据权利要求3的时间戳获取装置,其还包括:
时间戳提供装置的检测部件,其被配置用来当由与包含于所述提供装置数据中的标识符不同的标识符所标识的新的时间戳提供装置的连接被检测时,将与所述更新检测部件检测所述私钥的更新时所输出的信号相同的信号输出到所述第二计算部件,其中所述提供装置数据包括与所述时间戳获取装置相连接的时间戳提供装置的标识符;并且用来然后将所述新的时间戳提供装置作为所述更新检测部件的监视目标。
7.一种获取时间戳的方法,其包括以下步骤:
从终端接收文档数据和根据文档数据所计算的散列值中的一个;
根据所接收的文档数据计算散列值;
将接收自所述终端的散列值和根据从终端接收的文档数据所计算的散列值中的一个传送给时间戳提供装置;
当针对包括时间和所传送散列值的数据从所述时间戳提供装置接收利用已更新私钥而产生的时间戳时,将所述时间戳添加给未更新数据,其中所述未更新数据是与自从所述时间戳提供装置所使用的私钥上次被更新时起从该时间戳提供装置接收的时间戳有关的数据,并且将所述时间戳存储在存储单元中;
检测所述时间戳提供装置所使用的时间戳的私钥的更新;
在检测到所述私钥的更新之后,针对包含于所述未更新数据中的所有时间戳计算一个散列值;
将针对包含于所述未更新数据中的所有时间戳所计算的散列值传送给所述时间戳提供装置;以及
当针对包括时间和所传送散列值的数据从所述时间戳提供装置接收利用所述已更新私钥而产生的时间戳时,将所述未更新数据移至过去的数据并将所述未更新数据存储在所述存储单元中,并且将新接收的时间戳作为新的未更新数据存储在所述存储单元中,其中所述过去的数据是与在私钥上次被所述时间戳提供装置更新之前从该时间戳提供装置接收的时间戳有关的数据。
8.根据权利要求7的方法,其还包括以下步骤:
从多个时间戳提供装置获取所述时间戳,并且当所述私钥的更新在所述更新检测被检测时,从所述时间戳提供装置获取所述已更新私钥的公钥证书;
计算所获取的公钥证书的散列值;
将所述公钥证书的散列值传送给与接收所述公钥证书的时间戳提供装置不同的时间戳提供装置;以及
将对于被传送公钥证书的散列值的被接收时间戳插入所述未更新数据,并且将所接收的时间戳存储在所述存储单元中。
9.根据权利要求8的方法,其中
在传送所述公钥证书的散列值时,将所述获取的公钥证书的散列值传送给对于其最新更新了所述私钥的时间戳提供装置。
10.根据权利要求7的方法,其还包括:
当所述接收单元从所述终端接收电子数据、电子数据的散列值和电子数据的重要性级别中的一个时,从所述存储单元读取重要性数据,其中所述重要性数据包括用以获取各个重要性级别的时间戳的相应移动指示,并且输出与所接收的电子数据的重要性级别相关的移动指示。
11.根据权利要求7的方法,其还包括:
当由与包含于所述提供装置数据中的标识符不同的标识符所标识的新的时间戳提供装置的连接被检测时,发送与检测所述私钥的更新时所发送的信号相同的信号,其中所述提供装置数据包括所述时间戳提供装置的标识符;并且然后将所述新的时间戳提供装置作为所述更新检测的监视目标。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP287736/2005 | 2005-09-30 | ||
JP2005287736A JP4150037B2 (ja) | 2005-09-30 | 2005-09-30 | タイムスタンプ取得システム、タイムスタンプ取得装置、タイムスタンプ取得プログラム及びタイムスタンプ取得方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1941692A CN1941692A (zh) | 2007-04-04 |
CN1941692B true CN1941692B (zh) | 2010-10-20 |
Family
ID=37903241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610139964.XA Active CN1941692B (zh) | 2005-09-30 | 2006-09-28 | 用于获取时间戳的系统、装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7890764B2 (zh) |
JP (1) | JP4150037B2 (zh) |
CN (1) | CN1941692B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11552801B2 (en) * | 2019-05-10 | 2023-01-10 | Samsung Electronics Co., Ltd. | Method of operating memory system with replay attack countermeasure and memory system performing the same |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8565431B2 (en) * | 2008-03-17 | 2013-10-22 | Sony Corporation | System and method for scrambling wireless signals using a secure time value |
US9379895B2 (en) | 2008-07-24 | 2016-06-28 | Zscaler, Inc. | HTTP authentication and authorization management |
US9003186B2 (en) * | 2008-07-24 | 2015-04-07 | Zscaler, Inc. | HTTP authentication and authorization management |
JP4558099B1 (ja) * | 2010-02-03 | 2010-10-06 | メキキ・クリエイツ株式会社 | デジタルデータ内容証明システム、データ証明装置、ユーザ端末、コンピュータプログラム及び方法 |
US9378388B2 (en) * | 2010-04-20 | 2016-06-28 | International Business Machines Corporation | Managing keys used for encrypting data |
CN102447542B (zh) * | 2010-10-09 | 2014-12-10 | 中兴通讯股份有限公司 | 一种网络设备配置数据差异自识别的方法及系统 |
US9088420B2 (en) * | 2012-10-16 | 2015-07-21 | The Boeing Company | System and method for improved geothentication based on a hash function |
US9923719B2 (en) | 2014-12-09 | 2018-03-20 | Cryptography Research, Inc. | Location aware cryptography |
WO2017055676A1 (en) * | 2015-09-30 | 2017-04-06 | Nokia Technologies Oy | Message verification |
CN106254425A (zh) * | 2016-07-22 | 2016-12-21 | 北京京东尚科信息技术有限公司 | 用于移动设备向云端传送数据的方法及系统、移动终端 |
CN106452916B (zh) * | 2016-11-21 | 2019-11-01 | 北京小米移动软件有限公司 | 服务质量信息的获得方法及装置、客户端和服务器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547344A (zh) * | 2003-12-17 | 2004-11-17 | 上海市高级人民法院 | 时间戳在远程鉴章系统中的应用方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529602B1 (en) * | 1997-08-19 | 2003-03-04 | Walker Digital, Llc | Method and apparatus for the secure storage of audio signals |
EP1018239A4 (en) | 1997-09-22 | 2005-07-13 | Proofspace Inc | METHOD AND SYSTEM FOR DIGITAL HORODATORS WITH TRANSIENT KEYS |
US6587945B1 (en) * | 1998-12-28 | 2003-07-01 | Koninklijke Philips Electronics N.V. | Transmitting reviews with digital signatures |
JP3515408B2 (ja) | 1999-02-15 | 2004-04-05 | 日本電信電話株式会社 | 時刻認証装置 |
JP4631132B2 (ja) | 2000-06-05 | 2011-02-16 | 三菱電機株式会社 | デジタル署名の有効期限延長システム、デジタル署名有効期限延長装置、およびデジタル署名有効期限延長方法 |
JP2002006739A (ja) | 2000-06-20 | 2002-01-11 | Hitachi Ltd | 認証情報生成装置およびデータ検証装置 |
US20050004899A1 (en) * | 2003-04-29 | 2005-01-06 | Adrian Baldwin | Auditing method and service |
JP2005204126A (ja) | 2004-01-16 | 2005-07-28 | Amano Corp | 電子署名方法および電子署名装置 |
US20050235140A1 (en) * | 2004-03-11 | 2005-10-20 | Hui Chi-Kwong | System and method for secure preservation and long term archival of electronic documents |
JP2006135465A (ja) * | 2004-11-04 | 2006-05-25 | Fuji Xerox Co Ltd | 文書管理装置、および文書管理方法、並びにコンピュータ・プログラム |
-
2005
- 2005-09-30 JP JP2005287736A patent/JP4150037B2/ja active Active
-
2006
- 2006-09-22 US US11/525,035 patent/US7890764B2/en active Active
- 2006-09-28 CN CN200610139964.XA patent/CN1941692B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547344A (zh) * | 2003-12-17 | 2004-11-17 | 上海市高级人民法院 | 时间戳在远程鉴章系统中的应用方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11552801B2 (en) * | 2019-05-10 | 2023-01-10 | Samsung Electronics Co., Ltd. | Method of operating memory system with replay attack countermeasure and memory system performing the same |
Also Published As
Publication number | Publication date |
---|---|
CN1941692A (zh) | 2007-04-04 |
US20070079132A1 (en) | 2007-04-05 |
JP2007104024A (ja) | 2007-04-19 |
US7890764B2 (en) | 2011-02-15 |
JP4150037B2 (ja) | 2008-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1941692B (zh) | 用于获取时间戳的系统、装置和方法 | |
JP5062775B2 (ja) | 検索方法、検索装置、索引生成方法、索引生成装置 | |
US20200050595A1 (en) | Data storage layer index for efficient information retrieval | |
CN111869159B (zh) | 篡改检测系统及篡改检测方法 | |
US11442912B2 (en) | Blockchain-based information processing method and apparatus and computer-readable storage medium | |
EP1983757A1 (en) | Method and apparatus for acquiring domain information and domain-related data. | |
JP2006135465A (ja) | 文書管理装置、および文書管理方法、並びにコンピュータ・プログラム | |
JP2004355562A (ja) | 機器認証システム | |
CA2494513A1 (en) | Digital-signed digital document exchange supporting method and information processor | |
CN112311779B (zh) | 应用于区块链系统的数据访问控制方法及装置 | |
KR20080087917A (ko) | 일회용 비밀번호 생성방법과 키 발급 시스템 및 일회용비밀번호 인증 시스템 | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
EP1811437A1 (en) | Time proof server, terminal, and time proving method | |
JP3788976B2 (ja) | データ登録システム、データ登録方法及びプログラム | |
CN113162971B (zh) | 区块链节点管理方法、装置、计算机以及可读存储介质 | |
US20080005800A1 (en) | Confidential information protection system, confidential information restoring device, and tally generating device | |
Fan et al. | A blockchain-based data storage framework: A rotating multiple random masters and error-correcting approach | |
CN101667255A (zh) | 一种射频识别的安全认证方法、装置及系统 | |
CN110287733B (zh) | 一种文件防篡改方法和装置 | |
JP2009031849A (ja) | 電子申請用証明書発行システムおよび電子申請受付システム、並びにそれらの方法およびプログラム | |
JP4928364B2 (ja) | 認証方法、登録値生成方法、サーバ装置、クライアント装置及びプログラム | |
CN112732789A (zh) | 基于区块链的可搜索加密方法和电子设备 | |
CN110704451A (zh) | 基于区块链的所有权登记、举证的方法及装置 | |
CN113282908B (zh) | 合法性验证方法 | |
CN115225193B (zh) | 一种bmc时间同步方法、系统、装置及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |