发明内容
本发明的目的在于提供一种基于量子密钥的电子印章管理方法及系统。该方案可以有效地描述电子印章的签发系统工作过程;将量子密钥管理融入电子印章签发管理系统,构建新型的电子印章签发模型,确保模型的正确性、完整性、及时性和可追溯性,实现在量子密钥分发的协同下,安全地进行印章印模的签发与验证,提高电子印章系统的可靠性和安全性。
为完成发明目的,本发明采用的技术方案是:
一种基于量子密钥的电子印章管理方法,包括以下步骤:
第一印章客户端与第二印章客户端分配用于通信加密的第一量子密钥;
从属于第一印章客户端的第一参与端将待盖章文件加密,生成第一密文,传递给所述第一印章客户端;所述第一印章客户端生成第一公钥证书,并传递给印章服务端;
所述印章服务端验证所述第一公钥证书的有效性,若验证通过,将印章印模发送给所述第一印章客户端;
所述第一印章客户端将所述第一密文、第一公钥证书和印章印模加密后作为第二密文传递给所述第二印章客户端。
在一些较优的实施例中,还包括步骤:
所述第二印章客户端解密所述第二密文后,验证所述第一公钥证书的有效性,若验证通过,则将所述第二密文传递给所述第二参与端。
在一些较优的实施例中,还包括步骤:
所述第二参与端解密所述第二密文后,将所述第一公钥证书和印章印模加载到所述第一密文中,完成盖章操作。
在一些较优的实施例中,还包括步骤:
所述第一印章客户端将第二密文存储在自身所属的第一私有区块链中;
所述第二印章客户端将第二密文存储在自身所属的第二私有区块链中;
所述印章客户端将第二密文存储在自身所属的公有区块链中。
在一些较优的实施例中,述第一印章客户端与第二印章客户端分配用于通信加密的第一量子密钥,具体包括步骤:
第一印章客户端与第二印章客户端共享量子密钥与对应的索引值,在本地分别建立第一密钥池和第二密钥池;
所述第一参与端将自身以及拟通信的所述第二参与端的身份信息传递给所述第一印章客户端;所述第一印章客户端从所述第一密钥池中选择第一量子密钥,并传递给所述第一参与端传递,并将自身、第一参与端、拟通信的所述第二参与端、第二印章客户端的身份信息与所述第一量子密钥对应的索引值加密,得到第一信息块;
所述第一印章客户端将所述第一信息块分别传递给所述第二印章客户端和密钥管理中心,并存储在所述第一私有区块链中;
所述第二印章客户端解压所述第一信息块,根据所述索引值在所述第二密钥池中查找对应的第一量子密钥,向所述第二参与端传递所述第一参与端身份信息和所述第一量子密钥,并将自身、第一参与端、拟通信的所述第二参与端、第一印章客户端的身份信息与所述第一量子密钥对应的索引值打包,得到第二信息块;
所述第二印章客户端将所述第二信息块传递给所述密钥管理中心,并存储在所述第二私有区块链中;
所述密钥管理中心将所述第一信息块和所述第二信息块存储在所述公有区块链中。
在一些较优的实施例中,所述第一印章客户端生成第一公钥证书具体包括:所述第一印章客户端根据所述第一参与端以及拟通信的所述第二参与端的身份信息,进行异或处理后生成第一公钥证书。
在一些较优的实施例中,所述第二印章客户端解密所述第二密文后,验证所述第一公钥证书的有效性,具体包括:
所述第二印章客户端解密所述第二密文后,将所述第一公钥证书传递至所述印章服务端,印章服务端验证所述第一公钥证书的有效性,并将验证结果反馈给所述第二印章客户端。
本发明还提供了一种基于量子密钥的电子印章管理方法的电子印章管理系统。
本发明与现有的技术相比,其有益的特点是:
1、通过使用量子密钥分发技术,可以确保密钥生成与分发过程中密钥的安全性,保证密钥不被窃听、篡改、替换;
2、通过使用量子密钥管理来构建电子印章管理系统,确保电子印章签发时的正确性、完整性、及时性和可追溯性,实现在量子密钥的保护下完成电子印章的管理工作;
3、通过使用区块链技术来记录电子印章以及密钥的使用过程,将监管、溯源融入电子印章管理,枃建电子印章的轨迹记录链,确保轨迹记录的正确性、完整性、及时性和可追溯性,实现在电子印章生命周期轨迹的监管和溯源中保护用户的隐私和电子印章的安全性。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步阐述。在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
如图1所示,一种基于量子密钥的电子印章管理方法,包括以下步骤:
步骤S1.第一印章客户端与第二印章客户端分配用于通信加密的第一量子密钥。
其中,本申请未明确指出时,所述第一量子密钥均主要用于通信加密。
应当理解的是,本申请所述量子密钥的分配是指量子密钥分发(quantumkeydistribution,QKD)。在量子通信领域,主要分为量子隐形传态和量子密钥分发两种。量子隐形传态中的纠缠对制备、分发和测量等关键技术还有待突破,目前处于理论研究和实验探索阶段,距离实用化尚有较大差距。目前,提到量子通信的时候,实际上是指的是量子密钥分发。
所述印章客户端是指能够管理和分发电子印章的客户端,其基本原理在于利用本发明所述方法与电子印章载体相结合,实现对电子印章的管理。其中,所述电子印章载体是指存储有电子印章的介质。在一些较优的实施例中,为了方便像实物印章一样对电子印章进行“专人专管”,一般都将电子印章存储在可移动介质上,且一个实物印章只能对应一个电子印章。其中,所述存储有电子印章的可移动介质可以是USB-KEY、IC卡、指纹仪或其他可移动介质。本领域技术人员应当理解的是,由于本发明主要涉及对电子印章在分发和验证环节的管理,因此对电子印章的具体载体并不作出限定,因此其既可以存储于可移动介质,也可以是存储于客户端本地存储介质,还可以存储于云端。
在一些较优的实施例中,如图2所示,所述步骤S1.第一印章客户端与第二印章客户端分配用于通信加密的第一量子密钥,具体包括步骤:
步骤S101.第一印章客户端与第二印章客户端共享量子密钥与对应的索引值,在本地分别建立第一密钥池和第二密钥池;
本发明中,第一印章客户端与第二印章客户端之间通过QKD设备进行量子密钥序列的共享,所述QKD设备可以使用国际上通用的量子密钥分发协议,如BB84协议、B92协议或E91协议,来进行量子密钥序列的分发。所述密钥池中量子密钥的数量可以根据需要设定。
步骤S102.所述第一参与端将自身以及拟通信的所述第二参与端的身份信息传递给所述第一印章客户端;所述第一印章客户端从所述第一密钥池中选择第一量子密钥,并传递给所述第一参与端传递,并将自身、第一参与端、拟通信的所述第二参与端、第二印章客户端的身份信息与所述第一量子密钥对应的索引值加密,得到第一信息块;
步骤S103.所述第一印章客户端将所述第一信息块分别传递给所述第二印章客户端和密钥管理中心,并存储在所述第一私有区块链中;
其中,所述第一私有区块链为私有链,即对单独的个人或实体开放的区块链,本实施例中,第一私有区块链仅对第一印章客户端开放,后述第二私有区块链采用同样的设置方法,且仅对第二印章客户端开放。
在一些较优的实施例中,第一印章客户端对第一信息块的加密方式可以是使用公钥PKA加密,公钥PKA对第二印章客户端、密钥管理中心均公开。在本发明中,基于传递信息时的安全考虑,所有信息的传递均可采用加密的方式。加密方法可以采用现有技术中的常规加密手段。加密内容还可以包括时间戳信息,本领域的技术人员可以知晓,所述时间戳是使用数字签名技术产生的数据,包括签名时间等信息,可以作为一份电子证据,以证明原始数据在签名时间之前已经存在或者数据存在于哪个特定时间点。在本发明后续的步骤中均可加入时间戳信息,因该方法为本领域的常规设置,故此后不再赘述。
步骤S104.所述第二印章客户端解压所述第一信息块,根据所述索引值在所述第二密钥池中查找对应的第一量子密钥,向所述第二参与端传递所述第一参与端身份信息和所述第一量子密钥,并将自身、第一参与端、拟通信的所述第二参与端、第一印章客户端的身份信息与所述第一量子密钥对应的索引值打包,得到第二信息块;
步骤S105.所述第二印章客户端将所述第二信息块传递给所述密钥管理中心,并存储在所述第二私有区块链中;
步骤S106.所述密钥管理中心将所述第一信息块和所述第二信息块存储在所述公有区块链中。
其中,所述公有区块链为公有链,是指全世界任何人都可读取、发送交易且交易能获得有效确认的、也可以参与其中共识过程的区块链。将第一信息块和第二信息块直接存储于公有区块链中时,密钥管理中心可以不共享加密信息所用的公钥PKA。这样可以进一步加强密钥分配和使用的安全性。
至此,完成用于通信加密的第一量子密钥的分配,其后的通信过程可根据实际情况利用第一量子密钥对通信内容进行加密和解密,理论上,为了达到更好的安全性,整个通信过程需要保证一次一密,即每一次信息的传递都采用不同的密钥来进行加密。由于本发明的重点在于电子印章的管理,对于密钥的使用方法与目的不做进一步的要求和限定。
步骤S2.从属于第一印章客户端的第一参与端将待盖章文件加密,生成第一密文,传递给所述第一印章客户端;所述第一印章客户端生成第一公钥证书,并传递给印章服务端。
其中,本发明所述参与端可以是与印章客户端连接的供用户使用的操作端,此时,一个印章客户端可以同时与多个参与端连接。在某些特殊的情况下,也可以不设置参与端,用户直接通过印章客户端进行操作,此时,参与端与印章客户端实质上为同一个操作端。
在一些较优的实施例中,第一密文的生成可以是利用签名算法对待盖章文件进行签名后得到,其所利用的签名算法可以是常规签名算法中的任意一种,如Hush签名算法、Rabin签名算法、RSA签名算法等。优选的,可以采用国家密码管理局发布的应用于商用密码体系的椭圆曲线公钥密码算法SM2。应当理解的是,签名加密后的所述第一密文,还需要用第一量子密钥加密才能进行信息传输。此操作在保证了信息的双重加密的同时,还为明文信息盖上了唯一识别邮戳,使得只有能识别对应签名算法的接受方才能获取明文信息。
应当理解的是,在参与端与印章客户端传递信息的过程中,该通信是被所述第一量子密钥加密的。除非其后有特别指明,否则本发明所述通信过程均由第一量子密钥加密,此后不再赘述。
进一步的,在另一些较优的实施例中,所述第一印章客户端生成第一公钥证书具体方法为:
所述第一印章客户端根据所述第一参与端以及拟通信的所述第二参与端的身份信息,进行异或处理后生成第一公钥证书。本领域技术人员应当知晓,在量子密钥生成的过程中,参与端之间的身份信息串是通过信道被安全共享的,此时,参与端对两串身份信息串进行异或操作处理,并使用与前述步骤S2中相同的明文签名算法相同的算法进行签名加密,即可得到所述第一公钥证书。
步骤S3.所述印章服务端验证所述第一公钥证书的有效性,若验证通过,将印章印模发送给所述第一印章客户端。
其中,公钥证书的有效性认证为本领域的基本操作,本领域技术人员可以根据需要和条条件选择合适的验证方法。在本发明的一种较优实施例中,所述所述第一公钥证书的有效性验证法法为:所述印章服务端接收所述第一公钥证书后进行异或处理,只有得到的结果为一串为0的公布信息时,则判定第一公钥证书有效,验证通过。
应当理解的是,所述印章印模可以是预先存储在所述印章服务端的存储介质中,根据印章客户端的申请将相应的印章印模发送给印章客户端。若印章印模存储于可移动存储介质中,则此时印章服务端发送给印章客户端的是使用对应印章印模的许可。本领域技术人员应当知晓,印章印膜的具体分发方式可以根据实际情况灵活设置,本发明不作进一步的限制。
步骤S4.所述第一印章客户端将所述第一密文、第一公钥证书和印章印模加密后作为第二密文传递给所述第二印章客户端。
至此,完成了电子印章的分发步骤。如图3所示,下面介绍电子印章的验证与使用过程。
步骤S5.所述第二印章客户端解密所述第二密文后,验证所述第一公钥证书的有效性,若验证通过,则将所述第二密文递给所述第二参与端。
在一些较优的实施例中,所述第一印章客户端将第二密文存储在自身所属的第一私有区块链中;所述第二印章客户端将第二密文存储在自身所属的第二私有区块链中;所述印章客户端将第二密文存储在自身所属的公有区块链中。
因为所述第二密文包含了电子印章全生命周期的相关信息,包括但不限于待盖章的源文件、文件发送端和接受端的身份信息以及印章印模信息等,因此,将第二密文存储于区块链中,可以确保电子印章全生命周期记录的正确性、完整性、及时性和可追溯性,还可以进一步地对电子印章在实际使用过程中的信息进行监管与溯源。印章管理中心或第三方监管机构可以通过解密公有区块链上的第二密文,获得参与通信的双方的身份信息、通信所使用的密钥的索引值、通信的发生和结束时间以及待盖章文件内容等信息;当任一参与端想要抵赖或篡改自身所持有的信息时,可根据私有区块链或共有区块链上的信息作出通信有效或无效的判断。
前述将第一量子密钥存储于区块链也是基于相似的原理和目的,并且量子密钥本身仅被直接参与通信的第一印章客户端与第二印章客户端知晓,密钥管理中心与印章服务端知晓的仅为量子密钥对应的索引值,区块链(无论是私有链还是公有链)上存储的同样仅为对应的索引值,由此可以确保密钥生成与分发过程中密钥的安全性,保证密钥不被窃听、篡改、替换。
在一些较优的实施例中,所述第二印章客户端解密所述第二密文后,验证所述第一公钥证书的有效性,具体包括:所述第二印章客户端解密所述第二密文后,将所述第一公钥证书传递至所述印章服务端,印章服务端验证所述第一公钥证书的有效性,并将验证结果反馈给所述第二印章客户端。
步骤S6.所述第二参与端解密所述第二密文后,将所述第一公钥证书和印章印模加载到所述第一密文中,完成盖章操作。
在一些较优的实施例中,所述印章印模的加载也可以由第一参与端在所述步骤S5中完成。另一方面,如图4所示,加载后的电子印章包括但不限于图中所列信息。其具体信息类别及内容由本领域技术人员根据实际需要设定。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。