一种用于时间戳服务器的数据库表构建方法与流程

文档序号:14914361发布日期:2018-07-11 00:18阅读:131来源:国知局

本发明涉及时间戳服务器领域,特别涉及一种用于时间戳服务器的数据库表构建方法。



背景技术:

随着信息化的不断发展,电子交易不断深入我们的生活当中。传统公钥基础设施可以保证交易双方之间身份认证,但要保证交易文件的不被篡改和事后抵赖显得有些力不从心。如果此时依靠一个可靠第三方时间戳权威(Time Stamp Authority,TSA)机构提供时间戳服务,在交易中加入一个可信的时间戳,此问题可以得到解决。可信时间戳是由权威可信时间戳服务中心签发的一个能证明数据电文(电子文件)在一个时间点是已经存在的、完整的、可验证的,具备法律效力的电子凭证,可信时间戳主要用于电子文件防篡改和事后抵赖,确定电子文件产生的准确时间,从而可以完美解决上述问题。

其中可信时间戳的技术原理即:将用户的电子数据的Hash值(哈希值)和权威时间源绑定,并由可信时间源负责授时和守时。在此基础上通过时间戳服务器,产生不可伪造的时间戳文件。电子数据及对应的可信时间戳电子凭证能有效证明电子数据的完整性及产生时间。在获取时间源为可靠时间源的前提下,通过验证时间戳的证书来验证时间戳的有效性。而对应的,在用户发送时间戳请求时,在请求消息的CertReq域设置为true,则相应的TSA应在响应消息中给出其公钥证书,该证书由响应消息中SigningCertificate属性ESSCertID指出,证书存放在响应消息中SignedData结构的Certificates域中。

对应时间戳服务器的证书获取,首先由时间戳服务器拥有者填写密钥主题、密钥算法,证书密钥长度以及代理点标识等,到一个可信的密钥申请设备中申请获得相应的密钥标识信息。接着针对这个相应的密钥标识信息以及之前的代理点主题生成相应时间戳服务器证书请求。拿着这个证书请求,到证书授权中心(CA),来获得相应的证书。之后,把获得的时间戳证书上传即可完成时间戳服务器对于证书的配置的需求。

从中不难发现,针对同一个时间戳服务器即存在证书有效期失效、证书被颁发机构吊销、以及时间戳服务器使用者更换证书等实际需求。为了验证证书的需求以及记录服务器的行为,每次证书的更新的版本都需要保存。同时如果只是更新时间戳服务器证书主题而不需要改变密钥,此时即无需重新生成新的密钥,而对于需要改变密钥算法的则需要重新更新密钥信息来生成新的时间戳服务器证书。同时,可以设想一下同一台时间戳服务器可以为很多代理点提供服务,而每个代理点需要用自己的证书作为唯一身份标识,因此,目前在管理时间戳服务器证书上还存在诸多问题,需要设计一种合理的方式来进行管理。



技术实现要素:

鉴于上述问题,提出了本发明,以便提供一种克服上述问题或至少部分地解决上述问题的用于时间戳服务器的数据库表构建方法。

根据本发明的一个方面,提供一种用于时间戳服务器的数据库表构建方法,所述方法包括:在所述时间戳服务器的数据库中构建密钥表,在所述密钥表中设置代理点字段和状态值字段,其中:所述密钥表用于对密钥的处理情况进行记录,所述代理点字段用于记录各代理点的详细信息以及各代理点处理密钥的情况,所述状态值字段用于管理各代理点对应的密钥及其更新、使用状况。

进一步的,用所述密钥表处理证书请求的过程包括:

所述时间戳服务器收到来自某一代理点的证书请求,并判断该代理点是否来自已经存在的合法代理点;

对于来自合法代理点的证书请求,所述时间戳服务器进一步判断该请求是更新证书操作还是重新上传一个新的证书;

若判断结果为进行证书的更新操作,则所述时间戳服务器读取所述数据库中之前的密钥表,检索所述之前密钥表中代理点字段和状态值字段,获取该代理点状态值为true的密钥信息;

若判断结果为需要重新上传一个新的证书,则对应的需要重新生成一个新的密钥,此时所述时间戳服务器调用密钥对生成设备的底层接口来生成密钥信息,并将生成的密钥信息及代理点信息插入到该密钥表中,设置此时的密钥条目状态值为true,同时将之前密钥表中状态值为true的密钥条目状态值更新为false。

进一步的,所述密钥请求可以来自客户端,也可以来自网页,其请求内容必须包含代理点信息及密钥的参数信息。

进一步的,所述密钥的参数信息包括密钥的算法类型和密钥的长度。

进一步的,所述代理点在密钥请求时附带的一个具体的参数,该参数提示所述时间戳服务器该进行更新密钥操作或者重新上传一个新的密钥操作。

进一步的,所述方法还包括:在所述数据库中构建证书表,所述证书表用于对证书的上传情况进行记录,所述证书表中设置有代理点字段和状态值字段,所述代理点字段用于记录各代理点的详细信息以及各代理点证书上传的情况,所述状态值字段用于管理各代理点对应的证书及其更新、使用状况。

进一步的,用所述证书表处理证书上传的过程包括:

所述时间戳服务器收到来自某一代理点的证书上传请求,并判断该代理点是否来自已经存在的合法代理点;

对于来自合法代理点的证书上传请求,则对上传的证书调用底层接口获得其证书对应的密钥标识信息;

将获得的密钥标识信息与数据库密钥表中当前代理点正在使用的密钥的标识信息进行比对,若比对一致,则调用底层接口上传证书,并将返回的证书信息和代理点信息一起存储到所述数据库的证书表中,同时针对该证书条目,设置其状态值为true,更新该代理点下其他所有证书状态值为fal se。

进一步的,用所述证书表处理时间戳颁发的过程包括:

所述时间戳服务器收到来自某一代理点的时间戳获取请求,并判断该代理点是否来自已经存在的合法代理点;

对于来自合法代理点的时间戳获取请求,则从数所述据库的证书表中获取该代理点下证书状态值为true的证书信息,用该证书信息制作时间戳信息并返给该代理点。

根据本发明的另一方面,还提供一种时间戳服务器,所述时间戳服务器包括数据库,其特征在于:在所述数据库中构建证书表,在所述证书表中设置有代理点字段和状态值字段,其中:所述证书表用于对证书的上传情况进行记录,所述代理点字段用于记录各代理点的详细信息以及各代理点证书上传的情况,所述状态值字段用于管理各代理点对应的证书及其更新、使用状况。

进一步的,在所述数据库中构建证书表,所述证书表用于对证书的上传情况进行记录,所述证书表中设置有代理点字段和状态值字段,所述代理点字段用于记录各代理点的详细信息以及各代理点证书上传的情况,所述状态值字段用于管理各代理点对应的证书及其更新、使用状况。

本发明可保证多代理点同时使用时间戳服务器时,各个代理点证书操作更加有效和便捷。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种实施例的用于时间戳服务器的数据库表构建方法流程示意图。

图2为本发明另一种实施例的利用密钥表处理密钥请求的流程示意图。

图3为本发明另一种实施例的利用证书表处理证书上传的流程示意图。

图4为本发明另一种实施例的时间戳服务器对某一代理点颁发时间戳的流程示意图。

图5为本发明另一种实施例的时间戳服务器的结构示意图。

具体实施方式

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例作进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

根据本发明的一个方面,如图1所示,提供一种用于时间戳服务器的数据库表构建方法,该方法包括:在数据库中构建密钥表,在密钥表中设置有代理点字段和状态值字段,其中:该密钥表用于对密钥的处理情况进行记录,代理点字段用于记录各代理点的详细信息以及各代理点处理密钥的情况,状态值字段用于管理各代理点对应的密钥及其更新、使用状况。

在实际操作工程中,默认为时间戳密钥生成设备的代理点信任链已经成功上传至时间戳服务器,常见的信任链有RSA2048、RSA1024、SM256等算法类型。另外,时间戳服务器可以直接调用密钥生成设备,在本申请里,统一用底层接口指代具体需要调用的接口。

如图2所示,为本发明利用密钥表处理证书请求的流程示意图,具体过程包括:

步骤S210,时间戳服务器收到来自某一代理点的证书请求,并判断该代理点是否来自已经存在的合法代理点。这个证书请求有可能来自客户端也有可能来自网页,其请求内容必须包含代理点信息、请求密钥的算法类型、密钥的长度等参数。时间戳服务器在接收这一请求之后,首先判断这一请求的代理点是否来自已经存在的合法代理点,如果不是则直接返回请求失败信息。

这里密钥的更新或者不更新,这要根据证书的需求。若证书只是更新操作,则只需从数据库中读取,状态值为true的密钥信息。

原因:若需要上传证书,例如证书的第一次上传此时密钥表中没有密钥信息,或者需要改变密钥的主题算法信息。此时需要重新生成密钥,插入数据库中更新状态值。

写反了,这里的更新还是上传说的是证书的更新还是重新上传,因为最终目的是生成时间戳服务器的证书。

步骤S220,对于来自合法代理点的证书请求,时间戳服务器进一步判断该请求是更新证书操作还是重新上传一个新的证书。对于更新证书操作,则执行步骤S230;对于重新上传一个新的证书,则执行步骤S240。这个操作具体判断可以通过代理点请求时附带的一个具体的参数来确定,该参数提示时间戳服务器该进行什么样的操作。

步骤S230,若判断结果为只进行证书的更新操作,则此时只需要时间戳服务器去读取数据库中之前的密钥表,检索密钥表中代理点字段和状态值字段的两个参数,获取该代理点在密钥信息列表中状态值为true的密钥信息。比如,证书需要更新日期,则相应的,获取到该代理点在密钥信息列表中状态值为true的密钥信息。

步骤S240,若判断结果是需要重新上传一个新的证书,则对应的需要重新生成一个新的密钥,此时需要调用密钥对生成设备的底层接口来生成密钥信息,并将生成的密钥信息及代理点信息插入到密钥表中,设置此时的密钥条目状态值为true(真),同时将之前密钥表中状态值为true的密钥条目状态值修改为fal se(假)。

时间戳服务器将生成的密钥信息及代理点信息插入到密钥表中,具体是指:代理点信息插入到密钥表的代理点字段,待更新的密钥信息插入到密钥表的对应的状态值字段,状态值字段含有密钥条目的状态值。拿到生成的密钥信息后,接着只需调用底层接口来获得证书请求信息,之后操作人员拿着证书请求信息到可信任的CA服务商处即可制成时间戳证书。例如,在证书的第一次上传时,此时密钥表中是没有此密钥信息的,此时需要重新生成密钥,插入数据库中更新状态值。

作为上述实施例的进一步改进,如图1所示,一种用于时间戳服务器的数据库表构建方法,该方法还包括:在数据库中构建证书表,在证书表中设置有代理点字段和状态值字段,其中,该证书表用于对证书的上传情况进行记录,代理点字段用于记录各代理点的详细信息以及各代理点证书上传的情况,状态值字段用于管理各代理点对应的证书及其更新、使用状况。由于一个代理点ID对应着一个用户,一个用户又对应着自己的证书,因此,代理点字段也可以等效为时间戳服务器针对多用户颁发时间戳时各用户拥有的各自的证书。

如图3所示,为本发明利用证书表处理证书上传的流程示意图,具体过程包括:

步骤S310,时间戳服务器收到来自某一代理点的证书上传请求,并判断该代理点是否来自已经存在的合法代理点。用户(代理点)在拿到所申请的证书后,在客户端或者浏览器进行证书上传操作。首先时间戳服务器要对请求的代理点进行检查,如果来自不是合法代理点的上传证书请求,则直接返回上传失败信息。

步骤S320,对于来自合法代理点的证书上传请求,则对上传的证书调用底层接口获得其证书对应的密钥标识信息。

步骤S330,将获得的密钥标识信息与数据库密钥表中当前代理点正在使用的密钥的标识信息进行比对,判断是否一致,若一致则进行下一步。从数据库密钥表中可以获取到当前代理点正在使用的密钥标识信息,即此时密钥状态条目为true的密钥标识。对于从密钥表中查询到该代理点下密钥信息为空,或者两者比对结果不一致的情况,都说明该证书的密钥与操作人员证书申请的密钥不是同一个,此时时间戳服务器应该返回证书上传失败的信息。

步骤S340,若密钥标识信息比对一致,则调用底层接口上传证书,并将返回的证书信息和代理点信息一起存储到数据库的证书表中,同时针对该证书条目,设置其状态值为true,更新该代理点下其他所有证书状态值为false,返回上传成功信息。

如图4所示,为本发明时间戳服务器对某一代理点颁发时间戳的流程示意图,具体过程包括:

步骤S410,时间戳服务器收到来自某一代理点的时间戳获取请求,并判断该代理点是否来自已经存在的合法代理点。如果来自不是合法的代理点的时间戳获取请求,则直接返回获取失败信息。

步骤S420,对于来自合法代理点的时间戳获取请求,则直接从数据库的证书表中获取该代理点下证书状态值为true的证书信息,用该证书信息制作时间戳信息并返给该代理点。

从上述实施例可以看出,本发明针对时间戳服务器多代理点同时运行下,提出一种时间戳服务器多代理点证书数据库表构建方法,针对密钥以及证书信息分别在数据库中构建两张表格,即密钥表和证书表,每个表格中均要添加代理点字段和状态值字段,同时字段类型选择应尽可能精确,以提高处理速度。本发明可保证多代理点同时使用时间戳服务器时,各个代理点证书操作更加有效,而且在密钥表及证书表中加入状态值这一字段,有效加快了时间戳服务器对于证书表、密钥表的检索速度。

根据本发明的另一方面,本发明还提供一种与上述实施例相对应的时间戳服务器,如图5所示,该时间戳服务器包括数据库500,在数据库500中构建密钥表510,该密钥表用于对密钥的处理情况进行记录。其中,密钥表中设置有代理点字段511和状态值字段512,代理点字段511用于记录各代理点的详细信息以及各代理点处理密钥的情况,状态值字段512用于管理各代理点对应的密钥及其更新、使用状况。

进一步的,在数据库中还构建证书表520,该证书表520用于对证书的上传情况进行记录。其中,证书表中设置有代理点字段521和状态值字段522,代理点字段521用于记录各代理点的详细信息以及各代理点证书上传的情况,状态值字段522用于管理各代理点对应的证书及其更新、使用状况。

本时间戳服务器可保证多代理点同时使用时间戳服务器时,各个代理点证书操作更加有效和便捷。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块流程并不一定是实施本发明所必须的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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