发明内容
针对现有技术存在的上述不足,本发明的目的是提供一种电子数据认证及验证方法,本方法可对保存过程中的电子数据的完整性、真实性提供权威、可信、精准的验证,通过验证能够确定电子数据是否发生过修改。
本发明的技术方案是这样实现的:
一种电子数据认证验证方法,首先由认证用户将待认证电子数据发送到认证验证服务器进行认证,然后在需要验证的时候向认证验证服务器发送验证请求即可进行验证,只有经过认证的电子数据才能进行验证。
本发明将用户分为行业用户和个人用户,根据不同的用户设计了不同的认证验证方法。如果认证用户为行业认证用户,则在认证用户进行认证和验证前,需要在认证用户和认证验证服务器间建立行业认证代理和行业认证网关,以使认证用户的信息系统不直接与认证验证服务器发生联系,从而确保认证客户的信息系统的安全。
行业认证用户电子数据的认证过程为:
A1:行业认证代理和行业认证网关在进行认证之前必须从CA申请设备数字证书以实现通信双方的实体认证;行业认证代理和行业认证网关在进行认证之前必须从CA申请数字签名证书以实现对信息的签名;
A2:在行业认证代理和行业认证网关间使用SSL协议建立基于TCP/IP的安全连接,完成对行业认证代理和行业认证网关的相互认证,交换数据加密密钥,为应用层数据的安全传输做准备;
A3:行业认证代理从行业信息系统获得需认证的电子数据,使用hash算法计算出需认证电子数据的hash值,该hash值和行业代码、行业代理Id、电子数据Id及其它需要附带信息一起组合成认证的电子数据原信息;
A4:行业认证代理使用hash算法计算电子数据原信息的hash值,并使用自身的私钥对电子数据原信息的hash值进行加密生成数字签名,并把数字签名和自身的数字证书附在电子数据原信息后面通过网络向行业认证网关发送认证请求;
A5:行业认证网关接收到电子数据认证请求后,使用对方数字证书中的公钥和签名算法对数字签名进行解密得到电子数据原信息的hash值,行业认证网关同时使用hash算法对A4步发送过来的电子数据原信息重新计算hash值,把重新计算得到的电子数据原信息hash值与解密得到的电子数据原信息hash值进行比较;如果比较结果一致,表示该信息是由同一个行业认证代理发送的且信息在传送过程中未被篡改;
A6:行业认证网关把需认证的电子数据的hash值发送到时间戳服务器请求加盖时间戳;
A7:时间戳服务器对需认证的电子数据的hash值和时间戳使用自身私钥进行数字签名,返回数字签名和时间戳;
A8:行业认证网关对接收到的时间戳进行验证,确信时间戳是可信的;
A9:行业认证网关把加盖时间戳的电子数据的hash值发送到行业认证服务器;
A10:行业认证服务器自动生成认证Id给上一步的电子数据hash值;
A11:根据电子数据的hash值生成hash链值,和时间戳、认证Id、行业单位Id、行业内部Id信息保存到认证数据库中;
A12:行业认证服务器依次通过行业认证网关和行业认证代理向认证用户返回认证结果,返回认证结果使用数字签名保证信息传输过程中的真实性和完整性;
行业用户电子数据验证处理过程为:
B1:行业用户向行业认证代理发起电子数据验证请求;
B2:行业认证代理使用hash算法计算待验证电子数据的hash值,和之前返回的认证结果一起构成验证请求数据;
B3:行业认证代理对验证请求数据进行数字签名,把验证请求数据和签名数据一起向行业认证网关发起电子数据验证请求;
B4:行业认证网关对接收的电子数据验证请求进行数字签名的验签,保证数据在传送过程中是完整的;
B5:行业认证网关向时间戳服务器提起时间戳验证请求;若一致,进入下一步,否则为验证失败,进入步骤B8;
B6:行业认证网关向行业认证验证服务器发起验证请求;
B7:行业认证服务器把接收的验证请求数据进行分析,与保存在认证数据库中的数据进行比较,若一致,返回验证成功信息,否则为验证失败;
B8:行业认证服务器依次通过行业认证网关和行业认证代理向行业用户返回验证结果。
行业用户可以是医院,此时待认证和验证的电子数据为电子病历。医疗行业使用本方法进行认证和验证,可以确保在后续的医疗事故认定中能够客观公正地进行。
个人用户电子数据认证处理过程为:
C1:个人用户通过WEB服务器登录电子数据认证服务器;
C2:个人用户选择将被认证的电子数据,向WEB服务器发送认证请求;
C3:WEB服务器接收到用户的认证请求后,使用hash算法对被认证电子数据和用户信息一起计算hash值;
C4:WEB服务器把hash值发送到时间戳服务器请求加盖时间戳;
C5:时间戳服务器对hash值和时间戳使用自身私钥进行数字签名,返回数字签名和时间戳;
C6:WEB服务器对接收到的时间戳进行验证,确信时间戳是可信的;
C7:WEB服务器把加盖时间戳的hash值发送到认证服务器;
C8:认证服务器自动分配认证Id给本次验证请求;
C9:根据摘要信息hash值计算hash链值,和时间戳、认证Id信息保存到认证信息数据库;
C10:认证服务器向WEB服务器返回认证结果,WEB服务器向个人用户显示认证结果信息,用户保存认证结果文件。
个人用户电子数据验证处理过程为:
D1:个人用户通过WEB服务器登录电子数据认证服务器;
D2:个人用户选择需验证的电子数据及对应的认证结果文件,向WEB服务器发送验证请求;
D3:WEB服务器接收到用户的验证请求后,使用hash算法对被验证电子数据和用户信息一起计算hash值,然后和认证结果文件一起向认证服务器发送验证请求;
D4:认证服务器根据hash值计算hash链值,然后和保存的hash链值比较,如果一致则进入下一步,不一致则向WEB服务器返回验证失败结果;
D5:认证服务器将认证结果文件中包含的时间戳信息发送到时间戳服务器进行验证,如果一致则验证成功,否则验证失败;并将验证结果返回给WEB服务器;
D6:WEB服务器向个人用户显示验证结果。
本发明先通过对电子数据的认证,再在需要的时候进行认证后的电子数据的验证。通过本验证方法,可以判断电子数据在保存过程中(认证到验证这个过程)是否发生过篡改,即可对保存过程中的完整性、真实性、抗抵赖性进行验证。本验证方法过程严密,逻辑性和权威性强,结果可靠,让人信服,能够对电子商务、电子政务、电子合同、行业信息、个人数据提供权威、可信、精准的认证及验证。
具体实施方式
为了防止电子数据(文件)在保存和转发过程中内容和时间被篡改、创建者的抵赖,本发明通过对电子数据(文件)的认证和验证,可以确定存储于某处的电子数据(文件)自创建后是完整的、真实的、是由指定人或系统创建的。
本发明使用单向Hash函数生成电子数据的数字hash值(即哈希值,也称数字指纹)后存储下来,通过重新生成待检验数据的数字hash值,再与所存储的信息进行比较可以检查待验证数据是否发生变化,从而实现数据完整性检验——如果数字hash值不完全相同,则数据已发生变化。上述数字hash值是具有固定长度的Hash数据。数字hash值的实际长度取决于完整性检验中采用的单向Hash函数,该长度和Hash函数本身的安全性一起对数据原始性、真实性,即信息安全领域的数据完整性检验的安全性产生影响。在关心原数据是否具有完整性时,通过重新生成Hash值并进行比较,来验证数据的完整性。数据原始性、真实性成立或完整性检验方法成立的条件是通过技术手段能够证明hash值由可信赖的一方持有。本发明根据hash值生成hash链值返回给认证请求方确保认证服务器保存的hash值是可信的。
本发明使用数字时间戳技术,数字时间戳技术是数字签名技术和权威时间源相结合的一种应用。数字时间戳是由权威第三方时间戳服务中心为电子文件签发的证明电子文件完整性和签发时间的电子凭证,可被符合标准的程序公开验证。它包括三部分:(1)需加时间戳的文件的摘要;(2)时间戳服务中心收到文件的日期和时间;(3)时间戳服务中心的数字签名。数字时间戳产生的过程为:用户首先将需要加时间戳的文件在本地计算机用Hash函数生成hash值,然后将该hash值发送到时间戳服务中心,时间戳服务中心在加入了收到文件hash值的日期和时间信息后再对该文件进行数字签名,然后形成时间戳文件返回用户,用户凭借时间戳文件及其验证渠道即可获得文件在特定时间、特定状态的权威证明。生活中书面签署文件的时间往往由签署人自己书写,而数字时间戳由权威第三方时间戳服务中心依收文时间来签注,确保了时间的中立和准确。
本发明采用图1的体系结构实现对电子数据的认证及验证。
在本发明的体系结构中,主要包括电子认证域、认证服务域、云数据中心,以证书服务域和国家授时中心做数字证书和可信时间源的支撑。
本发明不仅针对个人用户提供电子数据的认证及验证服务,也针对行业用户提供电子数据的认证服务。针对个人用户使用B/S架构以WEB方式提供服务,针对行业客户采用C/S架构与行业信息管理系统通信,提供认证业务。
本发明使用的数据存储采用云计算体系结构,可保证电子数据认证的海量存储及容错要求。
本发明所设计系统提供如下功能模块:
时间戳签发:对需要进行认证的电子数据加盖时间戳,签发合法有效时间戳。
时间戳验证:对需要验证的电子数据(文件)的时间戳信息进行验证,鉴别是否是本系统时间戳服务器签发的时间戳。
信息摘要:系统对待认证电子数据采用hash算法计算其hash值(信息摘要)。
数字签名:对电子数据的数据摘要信息使用本地服务器的私钥进行数字签名。
数据认证: 对接收认证的hash值进行解签确保hash值通过网络传送后的完整性,分配唯一的认证ID,保存认证数据,返回认证结果(hash链)。
消息验证:对接收认证的hash链值与保存的认证数据的hash链值进行验证,并返回验证结果。
算法管理:管理生成hash值的hash算法和用于数字签名的非对称密码算法。
本发明基于SOA架构,在进行业务扩展时只对行业代理进行扩展,核心认证功能保持不变,有利于向多个行业进行扩展。
本发明主要有两类处理过程:电子数据认证过程和电子数据验证过程。
本发明首先由认证用户将待认证电子数据发送到认证验证服务器进行认证,然后在需要验证的时候向认证验证服务器发送验证请求即可进行验证,只有经过认证的电子数据才能进行验证。
本发明将用户分为行业用户和个人用户,根据不同的用户设计了不同的认证验证方法。如果认证用户为行业认证用户,则在认证用户进行认证和验证前,需要在认证用户和认证验证服务器间建立行业认证代理和行业认证网关,以使认证用户的信息系统不直接与认证验证服务器发生联系,从而确保认证客户的信息系统的安全。
行业认证用户电子数据的认证过程为(其流程同时参见图2):
A1:行业认证代理和行业认证网关在进行认证之前必须从CA(数字证书认证中心)申请设备数字证书以实现通信双方的实体认证;行业认证代理和行业认证网关在进行认证之前必须从CA申请数字签名证书以实现对信息的签名;
A2:在行业认证代理和行业认证网关间使用SSL协议建立基于TCP/IP的安全连接,完成对行业认证代理和行业认证网关的相互认证,交换数据加密密钥,为应用层数据的安全传输做准备;
A3:行业认证代理从行业信息系统获得需认证的电子数据,使用hash算法计算出需认证电子数据X的hash值,该hash值和行业代码(区分电子病历、版权认证等)、行业代理(行业单位,如医院)Id、电子数据Id及其它需要附带信息一起组成认证的电子数据原信息X2;
A4:行业认证代理使用hash算法计算电子数据原信息X2的hash值h,并使用自身的私钥对电子数据原信息X2的hash值h进行加密生成数字签名hc,并把数字签名hc和自身的数字证书附在电子数据原信息后面通过网络向行业认证网关发送认证请求;
A5:行业认证网关接收到电子数据认证请求后,使用对方数字证书中的公钥和签名算法对数字签名进行解密得到电子数据原信息的hash值,行业认证网关同时使用hash算法对A4步发送过来的电子数据原信息重新计算hash值,把重新计算得到的电子数据原信息hash值与解密得到的电子数据原信息hash值进行比较;如果比较结果一致,表示该信息是由同一个行业认证代理发送的且信息在传送过程中未被篡改;
A6:行业认证网关把需认证的电子数据的hash值发送到时间戳服务器请求加盖时间戳;
A7:时间戳服务器对hash值和时间戳使用自身私钥进行数字签名,返回数字签名和时间戳;
A8:行业认证网关对接收到的时间戳进行验证,确信时间戳是可信的;
A9:行业认证网关把加盖时间戳的电子数据的hash值发送到行业认证服务器;
A10:行业认证服务器自动生成认证Id(序列号)给电子数据;
A11:根据电子数据的hash值生成hash链值,和时间戳、认证Id、行业单位Id、行业内部Id信息保存到认证数据库;
A12:行业认证服务器依次通过行业认证网关和行业认证代理向认证用户返回包含hash链值、时间戳、认证Id等信息的认证结果,对返回的认证结果进行数字签名保证信息传输过程中的真实性和完整性。
行业用户电子数据验证处理过程为(其流程同时参见图3):
B1:行业用户向行业代理发起电子数据验证请求;
B2:行业代理使用hash算法计算待验证电子数据X的hash值,和之前返回的认证结果一起构成验证请求数据;
B3:行业代理对验证请求数据进行数字签名,把验证请求数据和签名数据一起向行业认证网关发起电子数据验证请求;
B4:行业认证网关对接收的电子数据验证请求进行数字签名的验签,保证数据在传送过程中是完整的;
B5:行业认证网关向时间戳服务器提起时间戳验证请求;若一致,进入下一步,否则为验证失败,进入步骤B8;
B6:行业认证网关向行业认证验证服务器发起验证请求;
B7:行业认证服务器把接收的验证请求数据进行分析,与保存在认证数据库中的数据进行比较,若一致,返回验证成功信息,否则为验证失败;
B8:行业认证服务器通过行业代理向行业用户返回验证结果。
行业用户可以是医院,此时待认证和验证的电子数据为电子病历。医疗行业使用本方法进行认证和验证,可以确保在后续的医疗事故认定中能够客观公正地进行。
个人用户电子数据认证处理过程为(其流程同时参见图4):
C1:个人用户通过WEB服务器登录电子数据认证服务器;
C2:个人用户选择将被认证的电子数据,向WEB服务器发送认证请求;
C3:WEB服务器接收到用户的认证请求后,使用hash算法对被认证电子数据和用户信息一起计算hash值;
C4:WEB服务器把电子数据和用户信息的hash值发送到时间戳服务器请求加盖时间戳;
C5:时间戳服务器对电子数据和用户信息的hash值和时间戳使用自身私钥进行数字签名,返回数字签名和时间戳;
C6:WEB服务器对接收到的时间戳进行验证,确信时间戳是可信的;
C7:WEB服务器把加盖时间戳的摘要信息发送到认证服务器;
C8:认证服务器自动分配认证Id给本次验证请求;
C9:根据hash值生成hash链值,和时间戳、认证Id信息保存到认证信息数据库;
C10:认证服务器向WEB服务器返回认证结果,WEB服务器向个人用户显示认证结果信息,用户保存认证结果文件。
个人用户电子数据验证处理过程为(其流程同时参见图5):
D1:个人用户通过WEB服务器登录电子数据认证服务器;
D2:个人用户选择需验证的电子数据及对应的认证结果文件,向WEB服务器发送验证请求;
D3:WEB服务器接收到用户的验证请求后,使用hash算法对被验证电子数据和用户信息一起计算hash值,然后和认证结果文件一起向认证服务器发送验证请求;
D4:认证服务器根据电子数据和用户信息的hash值生成hash链值,然后和保存的hash链值比较,如果一致则进入下一步,不一致则向WEB服务器返回验证失败结果;
D5:认证服务器将认证结果文件中包含的时间戳信息发送到时间戳服务器进行验证,如果一致则验证成功,否则验证失败;并将验证结果返回给WEB服务器;
D6:WEB服务器向个人用户显示验证结果。
本发明基于一种电子数据认证验证云服务系统而实现,服务系统包括认证客户端(个人用户为WEB终端,行业用户为行业认证代理)、认证服务网关、认证服务器、时间戳服务器(国家授时中心)、云数据中心等功能实体以及各个功能实体之间的安全通信通道。本发明为个人用户和行业用户提供公正的电子数据认证及验证服务,本发明使用第三方CA颁发的数字证书可以对电子数据的使用人身份进行认证及验证,通过使用国家授时中心的法定时间源,可对电子数据的时间进行固化,通过认证服务器可对电子数据的内容进行认证,防止对电子数据内容的篡改。本发明对电子数据在何时由何人创建进行全方位的保护,解决了电子数据的防篡改及真实性及防抵赖问题。本发明部署行业认证客户端,可以更好的解决与不同的行业信息系统的接口问题,可以让本发明为各个行业的电子数据提供认证及验证服务;同时为个人用户提供WEB访问方式,个人用户可以在任何时间地点使用认证及验证服务。
本发明先通过对电子数据的认证,再在需要的时候进行认证后的电子数据的验证。通过本验证方法,可以判断电子数据在保存过程中(认证到验证这个过程)是否发生过篡改,即可对保存过程中的完整性、真实性、抗抵赖性进行验证。本验证方法过程严密,逻辑性和权威性强,结果可靠,让人信服,能够对电子商务、电子政务、电子合同、行业信息、个人数据提供权威、可信、精准的认证及验证。
本发明中行业代理与行业信息系统直接通信,或作为一个嵌入模块运行在行业信息系统,实现电子数据认证云平台与行业信息系统的协议适配,也使电子数据认证云平台方便用于不同种类的行业信息系统的认证及验证。当本发明要适用于新的行业时,只需增加一个行业代理,不用对其它功能实体重新部署。
本发明中的认证网关用于核心系统与外部系统的桥梁,起到信息交互和安全隔离的作用,使核心认证实体不直接暴露在互联网上,保证了核心认证业务的安全运行。
本发明中的认证服务器实现对各类电子数据的认证和验证功能。
本发明中的时间戳服务器为电子数据签发可信的时间戳标签,保证时间的合法性及不可更改性。
本发明中的云数据中心能保障电子数据认证及验证结果的可靠存储及容灾处理。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。