基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统与流程

文档序号:18357216发布日期:2019-08-06 23:18阅读:307来源:国知局
基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统与流程

本申请涉及安全通信技术领域,特别是涉及基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统。



背景技术:

迅速发展的internet给人们的生活、工作带来了巨大的方便,人们可以坐在家里通过internet收发电子邮件、打电话、进行网上购物、银行转账等活动。同时网络信息安全也逐渐成为一个潜在的巨大问题。一般来说网络信息面临着以下几种安全隐患:网络信息被窃取、信息被篡改、攻击者假冒信息、恶意破坏等。

其中身份认证是其中一种保护人们网络信息的一种手段。身份认证也称为“身份验证”或“身份鉴别”,是指在计算机及计算机网络系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限,进而使计算机和网络系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获得资源的访问权限,保证系统和数据的安全,以及授权访问者的合法利益。

而当前确保身份认证成功的主要是依靠密码技术,而在如今的密码学领域中,主要有两种密码系统,一是对称密钥密码系统,即加密密钥和解密密钥使用同一个。另一个是公开密钥密码系统,即加密密钥和解密密钥不同,其中一个可以公开。目前大部分的身份认证使用算法的主要依靠公钥密码体系。

公开密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。由于加密钥匙是公开的,密钥的分配和管理就很简单,公开密钥加密系统还能够很容易地实现数字签名。

自公钥加密问世以来,学者们提出了许多种公钥加密方法,它们的安全性都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类系统目前被认为是安全和有效的:大整数因子分解系统(代表性的有rsa)、离散对数系统(代表性的有dsa)和椭圆离散对数系统(ecc)。

但是随着量子计算机的发展,经典非对称密钥加密算法将不再安全,无论加解密还是密钥交换方法,量子计算机都可以通过公钥计算得到私钥,因此目前常用的非对称密钥将在量子时代变得不堪一击。目前量子密钥分发设备qkd可确保协商的密钥无法被获取。但是qkd主要用于量子干线,用户端设备到量子通信服务站依旧为经典网络,因此依靠非对称算法很难保证身份认证过程的安全。

现有技术存在的问题:

1.量子通信服务站与量子密钥卡之间使用对称密钥池,其容量巨大,对量子通信服务站的密钥存储带来压力;

2.由于对称密钥池密钥容量巨大,量子通信服务站不得不将密钥加密存储于普通存储介质例如硬盘内,而无法存储于量子通信服务站的密钥卡内;

3.由于对称密钥池密钥容量巨大,给密钥备份造成麻烦。



技术实现要素:

基于此,有必要针对上述技术问题,提供基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统。

本申请公开了基于非对称密钥池对和随机数的量子通信服务站密钥协商方法,实施在主动方,所述量子通信服务站密钥协商方法包括:

生成并向被动方发送信息m1,所述信息m1包括认证参数na和设备参数ida;

获取来自所述被动方的信息m4,所述信息m4包括票据ticketa,利用会话密钥kab加密的认证参数na和认证参数nc;所述票据ticketa是由所述服务站根据信息m1生成,所述会话密钥kab由所述服务站生成,所述认证参数nc是由被动方信任所述会话密钥kab后生成;解密并验证票据ticketa中的认证参数na后信任所述会话密钥kab;利用会话密钥kab验证被会话密钥kab加密的认证参数na后完成对被动方的认证;向被动方发送信息m5,所述信息m5包括利用所述会话密钥kab加密的所述认证参数nc;所述认证参数nc供所述被动方完成对主动方的认证。

本申请公开了基于非对称密钥池对和随机数的量子通信服务站密钥协商方法,实施在服务站,所述量子通信服务站密钥协商方法包括:

获取来自被动方的利用服务站公钥pkqi加密的加密参数k2,利用所述加密参数k2加密的信息m2;所述加密参数k2由被动方生成,所述信息m2包括信息m1,被动方生成的认证参数nb以及被动方的设备参数idb;所述信息m1包括主动方的设备参数ida和主动方生成的认证参数na;解密后生成加密参数k3,会话密钥kab,票据密钥k3a和票据密钥k3b并生成票据ticketa和票据ticketb,所述票据ticketa包括利用主动方公钥加密的票据密钥k3a,利用所述票据密钥k3a加密的设备参数ida,认证参数na,设备参数idb,会话密钥kab;所述票据ticketb包括利用被动方公钥加密的票据密钥k3b,利用所述票据密钥k3b加密的设备参数idb,认证参数nb,设备参数ida,会话密钥kab;制作包含票据ticketa和票据ticketb的信息m3,向被动方发送利用被动方公钥加密的加密参数k3,利用所述加密参数k3加密的信息m3;

所述票据ticketa用于供所述主动方信任所述会话密钥kab,所述票据ticketb用于供所述被动方信任所述会话密钥kab。

本申请公开了基于非对称密钥池对和随机数的量子通信服务站密钥协商方法,实施在被动方,所述量子通信服务站密钥协商方法包括:

获取来自主动方的信息m1,所述信息m1包括主动方的设备参数ida和主动方生成的认证参数na;生成认证参数nb和加密参数k2并制作信息m2,所述信息m2包括所述信息m1,认证参数nb以及设备参数idb;向服务站发送利用服务站公钥pkqi加密的加密参数k2,利用所述加密参数k2加密的信息m2;所述信息m2供所述服务站生成主动方和被动方之间的会话密钥kab以及供主动方和被动方验证的相应票据;

获取来自服务站的利用被动方公钥加密的加密参数k3,利用所述加密参数k3加密的信息m3;所述信息m3包括票据ticketa和票据ticketb,所述票据ticketa和票据ticketb是由服务站根据所述信息m1和信息m2生成;解密并验证认证参数nb后信任会话密钥kab并生成认证参数nc,向所述主动方发送信息m4,所述信息m4包括票据ticketa,利用会话密钥kab加密的认证参数na和认证参数nc;所述ticketa用于供所述主动方信任会话密钥kab,所述认证参数na用于供主动方认证被动方;

获取来自主动方的利用所述会话密钥kab加密的所述认证参数nc,解密并验证所述认证参数nc完成对所述主动方的认证。

本申请公开了基于非对称密钥池对和随机数的量子通信服务站密钥协商方法,所述量子通信服务站密钥协商方法包括:

主动方生成并向被动方发送信息m1,所述信息m1包括主动方的设备参数ida和主动方生成的认证参数na;

所述被动方生成认证参数nb和加密参数k2并利用所述信息m1制作信息m2,所述信息m2包括所述信息m1,认证参数nb以及被动方的设备参数idb;向服务站发送利用服务站公钥pkqi加密的加密参数k2,利用所述加密参数k2加密的信息m2;

所述服务站获取、解密后生成加密参数k3,会话密钥kab,票据密钥k3a和票据密钥k3b并生成票据ticketa和票据ticketb,所述票据ticketa包括利用主动方公钥加密的票据密钥k3a,利用所述票据密钥k3a加密的设备参数ida,认证参数na,设备参数idb,会话密钥kab;所述票据ticketb包括利用被动方公钥加密的票据密钥k3b,利用所述票据密钥k3b加密的设备参数idb,认证参数nb,设备参数ida,会话密钥kab;制作包含票据ticketa和票据ticketb的信息m3,向被动方发送利用被动方公钥加密的加密参数k3,利用所述加密参数k3加密的信息m3;

所述被动方获取、解密并验证认证参数nb后信任会话密钥kab并生成认证参数nc,向所述主动方发送信息m4,所述信息m4包括票据ticketa,利用会话密钥kab加密的认证参数na和认证参数nc;

所述主动方获取、解密并验证票据ticketa中的认证参数na后信任所述会话密钥kab;利用会话密钥kab验证被会话密钥kab加密的认证参数na后完成对被动方的认证;向被动方发送信息m5,所述信息m5包括利用所述会话密钥kab加密的所述认证参数nc;

所述被动方获取、解密并验证所述认证参数nc完成对所述主动方的认证。

进一步的,所述服务站分为服务站qa和服务站qb,所述主动方为服务站qa的子设备,所述被动方为服务站qb的子设备;

所述服务站qb获取来自被动方的利用服务站qb公钥pkqbi加密的加密参数k2’,利用所述加密参数k2’加密的信息m2’;所述加密参数k2’由被动方生成,所述信息m2’包括信息m1,被动方生成的认证参数nb以及被动方的设备参数idb;所述信息m1包括主动方的设备参数ida和主动方生成的认证参数na;解密后生成加密参数k3’,会话密钥kab和票据密钥k3b’并生成票据ticketb’,所述票据ticketb’包括利用被动方公钥加密的票据密钥k3b’,利用所述票据密钥k3b’加密的设备参数idb,认证参数nb,设备参数ida,会话密钥kab;所述服务站qb将所述设备参数ida,设备参数idb,认证参数na以及会话密钥kab加密发送给所述服务站qa;

所述服务站qa获取、解密后生成票据密钥k4a与票据ticketa’,所述票据ticketa’包括利用主动方公钥加密的票据密钥k4a,利用所述票据密钥k4a加密的设备参数ida,认证参数na,设备参数idb,会话密钥kab;将所述票据ticketa’加密发送给所述服务站qb;

所述服务站qb获取、解密后生成信息m5’,信息m5’包括票据ticketa’与票据ticketb’,并向被动方发送利用被动方公钥加密的加密参数k5’,利用所述加密参数k5’加密的信息m5’;

所述票据ticketa’用于供所述主动方信任所述会话密钥kab,所述票据ticketb’用于供所述被动方信任所述会话密钥kab。

进一步的,所述会话密钥kab拆分成消息加解密密钥kabe和消息认证密钥kaba。

本申请公开了一种主动方设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述量子通信服务站密钥协商方法的步骤。

本申请公开了一种服务站设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述量子通信服务站密钥协商方法的步骤。

本申请公开了一种被动方设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述量子通信服务站密钥协商方法的步骤。

本申请公开了基于非对称密钥池的量子通信服务站身份认证系统,包括设有主动方,被动方,服务站以及通信网络;所述主动方配置有主动方密钥卡,所述主动方密钥卡内存储有服务站公钥池,主动方公钥以及主动方私钥;所述被动方配置有被动方密钥卡,所述动方密钥卡内存储有服务站公钥池,被动方公钥以及被动方私钥;所述服务站配置有服务站密钥卡,所述服务站密钥卡内存储有服务站私钥池,主动方公钥池以及被动方公钥池;

所述主动方,被动方以及服务站通过所述通信网络实现上述技术方案中所述量子通信服务站密钥协商方法的步骤。

本申请中,使用的密钥卡是独立的硬件隔离设备。公钥、私钥和其他相关参数均存储在密钥卡中的数据安全区,被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解。由于在经典网络中均无涉及公私钥及算法参数的传递,因此非对称密钥被破解的风险很低,另外,服务站与服务站之间采用qkd进行加密传输消息,所以消息的安全性得到极大的保障。密钥卡保障了通信双方在群组中的通信安全,也极大的提高了身份认证的安全性。同时非对称密钥池解决了对称密钥池给量子通信服务站带来密钥存储压力,降低了存储成本。例如,原先用户的对称密钥池大小均为1g,用户个数为n,则量子通信服务站需要存储n个g的密钥池,而如果存储非对称密钥池,用户端存储密钥池大小同样为1g,量子通信服务站同样只需要存储1g大小的密钥池。

同时,本专利对基于对称密钥算法的认证流程进行改进,使得认证流程中的数据被真随机数密钥加密,而真随机数密钥被非对称密钥加密保护。被公钥加密的真随机数密钥只能被私钥拥有者解密,其他任何人均无法解密,因此提升了基于对称密钥算法的认证流程的安全性。另外,由于非对称密钥的加密对象为真随机数,即任何对手无法猜测加密前的明文,因此量子计算机无法通过明文与密文的对比而逆推出非对称密钥,即本文的非对称加密方式具有抗量子计算的特性。

附图说明

图1为本发明中服务站密钥卡的密钥池分布示意图;

图2为本发明中客户端密钥卡的密钥池分布示意图;

图3为实施例1的身份认证流程图;

图4为实施例2的身份认证流程图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。其中本申请中的服务站在未做特殊说明的情况下均为量子通信服务站,本申请中的各名称以字母和数字组合为准,例如q,服务站q,服务站在下文表示同一含义,即服务站q;再例如认证参数na,na在下文中表示同一含义,即认证参数na,其余名称同理。

本申请公开了基于非对称密钥池对和随机数的量子通信服务站密钥协商方法,实施在主动方,量子通信服务站密钥协商方法包括:

生成并向被动方发送信息m1,信息m1包括认证参数na和设备参数ida;获取来自被动方的信息m4,信息m4包括票据ticketa,利用会话密钥kab加密的认证参数na和认证参数nc;票据ticketa是由服务站根据信息m1生成,会话密钥kab由所述服务站生成,认证参数nc是由被动方信任会话密钥kab后生成;解密并验证票据ticketa中的认证参数na后信任会话密钥kab;利用会话密钥kab验证被会话密钥kab加密的认证参数na后完成对被动方的认证;向被动方发送信息m5,信息m5包括利用会话密钥kab加密的认证参数nc;认证参数nc供被动方完成对主动方的认证。

本申请公开了基于非对称密钥池对和随机数的量子通信服务站密钥协商方法,实施在服务站,量子通信服务站密钥协商方法包括:

获取来自被动方的利用服务站公钥pkqi加密的加密参数k2,利用加密参数k2加密的信息m2;加密参数k2由被动方生成,信息m2包括信息m1,被动方生成的认证参数nb以及被动方的设备参数idb;信息m1包括主动方的设备参数ida和主动方生成的认证参数na;解密后生成加密参数k3,会话密钥kab,票据密钥k3a和票据密钥k3b并生成票据ticketa和票据ticketb,票据ticketa包括利用主动方公钥加密的票据密钥k3a,利用票据密钥k3a加密的设备参数ida,认证参数na,设备参数idb,会话密钥kab;票据ticketb包括利用被动方公钥加密的票据密钥k3b,利用票据密钥k3b加密的设备参数idb,认证参数nb,设备参数ida,会话密钥kab;制作包含票据ticketa和票据ticketb的信息m3,向被动方发送利用被动方公钥加密的加密参数k3,利用加密参数k3加密的信息m3;

票据ticketa用于供主动方信任会话密钥kab,票据ticketb用于供被动方信任会话密钥kab。

本申请公开了基于非对称密钥池对和随机数的量子通信服务站密钥协商方法,实施在被动方,量子通信服务站密钥协商方法包括:

获取来自主动方的信息m1,信息m1包括主动方的设备参数ida和主动方生成的认证参数na;生成认证参数nb和加密参数k2并制作信息m2,信息m2包括信息m1,认证参数nb以及设备参数idb;向服务站发送利用服务站公钥pkqi加密的加密参数k2,利用加密参数k2加密的信息m2;信息m2供服务站生成主动方和被动方之间的会话密钥kab以及供主动方和被动方验证的相应票据;

获取来自服务站的利用被动方公钥加密的加密参数k3,利用加密参数k3加密的信息m3;信息m3包括票据ticketa和票据ticketb,票据ticketa和票据ticketb是由服务站根据信息m1和信息m2生成;解密并验证认证参数nb后信任会话密钥kab并生成认证参数nc,向主动方发送信息m4,信息m4包括票据ticketa,利用会话密钥kab加密的认证参数na和认证参数nc;ticketa用于供主动方信任会话密钥kab,认证参数na用于供主动方认证被动方;

获取来自主动方的利用会话密钥kab加密的认证参数nc,解密并验证认证参数nc完成对主动方的认证。

本申请公开了基于非对称密钥池对和随机数的量子通信服务站密钥协商方法,量子通信服务站密钥协商方法包括:

主动方生成并向被动方发送信息m1,信息m1包括主动方的设备参数ida和主动方生成的认证参数na;

被动方生成认证参数nb和加密参数k2并利用信息m1制作信息m2,信息m2包括信息m1,认证参数nb以及被动方的设备参数idb;向服务站发送利用服务站公钥pkqi加密的加密参数k2,利用加密参数k2加密的信息m2;

服务站获取、解密后生成加密参数k3,会话密钥kab,票据密钥k3a和票据密钥k3b并生成票据ticketa和票据ticketb,票据ticketa包括利用主动方公钥加密的票据密钥k3a,利用票据密钥k3a加密的设备参数ida,认证参数na,设备参数idb,会话密钥kab;票据ticketb包括利用被动方公钥加密的票据密钥k3b,利用票据密钥k3b加密的设备参数idb,认证参数nb,设备参数ida,会话密钥kab;制作包含票据ticketa和票据ticketb的信息m3,向被动方发送利用被动方公钥加密的加密参数k3,利用加密参数k3加密的信息m3;

被动方获取、解密并验证认证参数nb后信任会话密钥kab并生成认证参数nc,向主动方发送信息m4,信息m4包括票据ticketa,利用会话密钥kab加密的认证参数na和认证参数nc;

主动方获取、解密并验证票据ticketa中的认证参数na后信任会话密钥kab;利用会话密钥kab验证被会话密钥kab加密的认证参数na后完成对被动方的认证;向被动方发送信息m5,信息m5包括利用会话密钥kab加密的认证参数nc;

被动方获取、解密并验证认证参数nc完成对主动方的认证。

在一实施例中,例如实施例2,服务站分为服务站qa和服务站qb,主动方为服务站qa的子设备,被动方为服务站qb的子设备;

服务站qb获取来自被动方的利用服务站qb公钥pkqbi加密的加密参数k2’,利用加密参数k2’加密的信息m2’;加密参数k2’由被动方生成,信息m2’包括信息m1,被动方生成的认证参数nb以及被动方的设备参数idb;信息m1包括主动方的设备参数ida和主动方生成的认证参数na;解密后生成加密参数k3’,会话密钥kab和票据密钥k3b’并生成票据ticketb’,票据ticketb’包括利用被动方公钥加密的票据密钥k3b’,利用票据密钥k3b’加密的设备参数idb,认证参数nb,设备参数ida,会话密钥kab;服务站qb将设备参数ida,设备参数idb,认证参数na以及会话密钥kab加密发送给服务站qa;

服务站qa获取、解密后生成票据密钥k4a与票据ticketa’,票据ticketa’包括利用主动方公钥加密的票据密钥k4a,利用票据密钥k4a加密的设备参数ida,认证参数na,设备参数idb,会话密钥kab;将票据ticketa’加密发送给服务站qb;

服务站qb获取、解密后生成信息m5’,信息m5’包括票据ticketa’与票据ticketb’,并向被动方发送利用被动方公钥加密的加密参数k5’,利用加密参数k5’加密的信息m5’;

票据ticketa’用于供主动方信任会话密钥kab,票据ticketb’用于供被动方信任会话密钥kab。

在一实施例中,会话密钥kab拆分成消息加解密密钥kabe和消息认证密钥kaba。

本申请公开了一种主动方设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述技术方案中量子通信服务站密钥协商方法的步骤。

本申请公开了一种服务站设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述技术方案中量子通信服务站密钥协商方法的步骤。

本申请公开了一种被动方设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述技术方案中量子通信服务站密钥协商方法的步骤。

本申请公开了基于非对称密钥池的量子通信服务站身份认证系统,包括设有主动方,被动方,服务站以及通信网络;主动方配置有主动方密钥卡,主动方密钥卡内存储有服务站公钥池,主动方公钥以及主动方私钥;被动方配置有被动方密钥卡,动方密钥卡内存储有服务站公钥池,被动方公钥以及被动方私钥;服务站配置有服务站密钥卡,服务站密钥卡内存储有服务站私钥池,主动方公钥池以及被动方公钥池;

主动方,被动方以及服务站通过通信网络实现上述技术方案中量子通信服务站密钥协商方法的步骤。

本申请中的技术方案具体的实现场景中可以为为在一个基于非对称密钥池体系下的任意两个对象a、b进行相互的身份认证。本申请的密钥池体系中每个对象都具有密钥卡,可存储大数据量的密钥,也具备处理信息的能力。本申请中,对象a和对象b的本地系统中都存在相应需求的算法。

密钥卡的描述可见申请号为“201610843210.6”的专利。当为移动终端时,密钥卡优选为密钥sd卡;当为固定终端时,密钥卡优选为密钥usbkey或主机密钥板卡。

与申请号为“201610843210.6”的专利相比,密钥卡的颁发机制有所类似。本专利的密钥卡颁发方为密钥卡的主管方,一般为群组的管理部门,例如某企业或事业单位的管理部门;密钥卡被颁发方为密钥卡的主管方所管理的成员,一般为某企业或事业单位的各级员工。用户端首先到密钥卡的主管方申请开户。当用户端进行注册登记获批后,将得到密钥卡(具有唯一的密钥卡id)。密钥卡存储了客户注册登记信息。同一量子通信服务站下的客户端密钥卡中的公钥池都下载自同一个密钥管理服务器,且其颁发的每个客户端密钥卡中存储的公钥池是完全一致的。优选为,密钥卡中存储的密钥池大小可以是1g、2g、4g、8g、16g、32g、64g、128g、256g、512g、1024g、2048g、4096g等等。

密钥卡从智能卡技术上发展而来,是结合了密码学技术、硬件安全隔离技术、量子物理学技术(搭载量子随机数发生器的情况下)的身份认证和加解密产品。密钥卡的内嵌芯片和操作系统可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,密钥卡成为私钥和密钥池的安全载体。每一个密钥卡都有硬件pin码保护,pin码和硬件构成了用户使用密钥卡的两个必要因素。即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的密钥卡和用户pin码,才可以登录系统。即使用户的pin码被泄露,只要用户持有的密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的密钥卡遗失,拾到者由于不知道用户pin码,也无法仿冒合法用户的身份。总之,密钥卡使得密钥等绝密信息不以明文形式出现在主机的磁盘及内存中,从而能有效保证绝密信息的安全。

本申请中,密钥卡分为服务站密钥卡和客户端密钥卡。如图1所示,服务站密钥卡的密钥区主要存储有客户端公钥池和服务站私钥池;如图2所示,客户端密钥卡的密钥区主要存储有服务站公钥池和一对公私钥对。所述密钥卡均由密钥管理服务器颁发。

密钥管理服务器在颁发密钥卡之前会选择一种既支持加解密又支持签名的算法。密钥管理服务器根据客户端的数量产生相应数量并符合该算法规范的数作为私钥和公钥。密钥管理服务器产生相应数量的id,并选取相应数量的公私钥对,取其中的公钥与id进行组合得到id/公钥,以id/公钥的形式写入到同一文件中形成公钥池文件,即上述客户端公钥池。同时,密钥管理服务器将对应的私钥也以相同的方式写入到文件中形成私钥池文件,即客户端私钥池。客户端私钥池中各私钥的id与客户端公钥池中对应的公钥的id相同。密钥管理服务器再次产生大量的符合该算法规范的数作为私钥和公钥。密钥管理服务器将公私钥分别写入到两个文件内形成服务站公钥池和服务站私钥池。服务站公钥池内的公钥与服务站私钥池中相同位置的私钥对应。密钥管理服务器将颁发的首个密钥卡定义为服务站密钥卡,并将服务站私钥池和客户端公钥池以及相关算法参数写入密钥卡的密钥区。密钥管理服务器后续颁发的密钥卡均为客户端密钥卡。密钥管理服务器随机数选取一个未分配的id分配给密钥卡,并从客户端公钥池和客户端私钥池取相同id的公私钥与服务站公钥池写入密钥卡的密钥区,相关参数一起写入到密钥卡内。

本文所述随机数,均为真随机数,优选为量子随机数。

实施例1

系统说明

本实施例的场景如图4所示,本图中,包括客户端a即主动方、客户端b即被动方和量子通信服务站q即服务站,简称为服务站q。客户端a和客户端b都配有客户端密钥卡,量子通信服务站q配有服务站密钥卡。上述密钥卡均为同一个密钥管理服务器颁发的同一批次的密钥卡。设客户端a的id为ida,公钥为pka,私钥为ska;设客户端b的id为idb,公钥为pkb,私钥为skb。

步骤1:客户端a向客户端b发起协商密钥请求。

客户端a根据匹配的密钥卡中的随机数发生器生成随机数na,与自己的id即ida一起作为m1发送至客户端b。

步骤2:客户端b加密m1并转发至量子通信服务站q。

客户端b收到m1后,根据自己匹配的密钥卡中的随机数发生器生成随机数nb和k2,将nb与m1、idb一起组成m2,可表示为m1||idb||nb。使用k2加密m2得到{m2}k2。然后客户端b生成随机数ri,使用非对称密钥指针函数fkp对ri进行计算得到密钥位置指针kpi,在服务站公钥池中提取服务站公钥pkqi。使用pkqi加密k2得到{k2}pkqi。发送到服务站q的消息可表示为

ri||{m2}k2||{k2}pkqi。

步骤3:服务站q生成ticketb和ticketa并发送到客户端b。

服务站q收到客户端b发送的消息后,使用ri在私钥池中提取skqi,解密得到k2,进一步解密得到m2,解析m2得到ida、idb、na和nb。

服务站q根据匹配的密钥卡中的随机数发生器生成用户端a与用户端b通信的会话密钥kab,再生成密钥k3a和k3b,使用k3a加密idb、nb、ida以及kab作为第一部分。根据ida在客户端公钥池中提取pka,使用pka加密k3a作为第二部分。两部分一起组成ticketa,可表示为

{ida||na||idb||kab}k3a||{k3a}pka。使用同样的方式制作ticketb,可表示为{idb||nb||ida||kab}k3b||{k3b}pkb。

将ticketa和ticketb一起组成m3,服务站q根据匹配的密钥卡中的随机数发生器生成k3,使用k3加密m3。服务站q根据idb在客户端公钥池中提取pkb,使用pkb加密k3。将{m3}k3||{k3}pkb发送至客户端b。

步骤4:客户端b验证ticketb。

客户端b收到消息后。使用私钥skb解密获得k3,使用k3解密获得ticketa和ticketb。使用私钥skb解密ticketb第二部分获得k3b,再解密得到与客户端a通信的会话密钥kab,客户端b鉴别nb是否与本地nb相等,若相等,则信任会话密钥kab作为与客户端a通信的密钥。客户端b根据匹配的密钥卡中的随机数发生器生成随机数nc,使用kab加密步骤1中收到的na和nc,再与ticketa一起作为m4发送至客户端a。m4可表示为ticketa||{na||nc}kab。

步骤5:客户端a验证ticketa。

客户端a收到m4后,使用私钥ska解密ticketa第二部分获得k3a,再解密得到与客户端b通信的会话密钥kab,客户端a鉴别na是否与本地na相等,若相等,则信任会话密钥kab作为与客户端b通信的密钥。

客户端a使用会话密钥kab解密得到na和nc,将na与本地na进行对比,若通过,则完成对客户端b的认证。

客户端a使用kab加密nc并作为m5发送至客户端b。m5可表示为{nc}kab。

步骤6:客户端b验证客户端a。

客户端b收到m5后,使用kab解密得到nc。将nc与本地nc进行对比,若通过,则完成对客户端a的认证。

步骤7:客户端a与客户端b进行安全通信。

客户端a与客户端b可利用密钥kab进行消息加解密和消息认证。优选为,将kab拆分成kabe和kaba,分别作为消息加解密和消息认证密钥。

实施例2

系统说明

本实施例的场景如图3所示,本图中,包括客户端a即主动方、客户端b即被动方、服务站包括量子通信服务站qa和量子通信服务站qb,简称为服务站qa和服务站qb。qa和qb分别带有各自的密钥管理服务器。客户端a和客户端b都配有客户端密钥卡,量子通信服务站qa和量子通信服务站qb配有服务站密钥卡。上述客户端a归属于量子通信服务站qa,客户端b归属于量子通信服务站qb,即a、b的密钥卡分别由qa、qb的密钥管理服务器所颁发。设客户端a的id为ida,公钥为pka,私钥为ska;设客户端b的id为idb,公钥为pkb,私钥为skb。

步骤1:客户端a向客户端b发起协商密钥请求。

客户端a根据匹配的密钥卡中的随机数发生器生成随机数na,与自己的id即ida一起作为m1发送至客户端b。

步骤2:客户端b加密m1并转发至量子通信服务站qb。

客户端b收到m1后,根据自己匹配的密钥卡中的随机数发生器生成随机数nb和k2’,将nb与m1、idb一起组成m2’,可表示为m1||idb||nb。使用k2’加密m2’得到{m2’}k2’。然后客户端b生成随机数ri’,使用非对称密钥指针函数fkp对ri’进行计算得到密钥位置指针kpi’,在服务站公钥池中提取服务站公钥pkqbi。使用pkqbi加密k2’得到{k2’}pkqbi。发送到服务站qb的消息可表示为ri’||{m2’}k2’||{k2’}pkqbi。

步骤3:服务站qb生成ticketb’并向服务站qa请求ticketa’。

服务站qb收到客户端b发送的消息后,使用ri’在私钥池中提取skqbi,解密得到k2’,进一步解密得到m2’,解析m2’得到ida、idb、na和nb。

服务站qb根据匹配的密钥卡中的随机数发生器生成用户端a与用户端b通信的会话密钥kab,再生成密钥k3b’,使用k3b’加密ida、na、idb以及kab作为第一部分。根据idb在客户端公钥池中提取pkb,使用pkb加密k3b’作为第二部分。两部分一起组成ticketb’,可表示为{idb||nb||ida||kab}k3b’

||{k3b’}pkb。

然后服务站qb向服务站qa请求ticketa’。服务站qb将ida、na、idb以及kab使用通过qkd协商的密钥加密发送至服务站qa。

步骤4:量子通信服务站qa制作ticketa’并发送至量子通信服务站qb。

服务站qa接收到qkd密钥加密的消息后,使用qkd密钥解密得到ida、na、idb和kab。服务站qa根据匹配的密钥卡中的随机数发生器生成密钥k4a’,使用k4a’加密idb、nb、ida以及kab作为第一部分。根据ida在客户端公钥池中提取pka,使用pka加密k4a’作为第二部分。两部分一起组成ticketa’,可表示为{ida||na||idb||kab}k4a’||{k4a’}pka。然后使用通过qkd协商的密钥对ticketa’进行加密,发送至服务站qb。

步骤5:量子通信服务站qb向客户端b发送ticketa’和ticketb’。

服务站qb接收到qkd密钥加密的ticketa’后,使用qkd密钥解密。然后与ticketb’一起组成m5’。服务站qb根据匹配的密钥卡中的随机数发生器生成k5’,使用k5’加密m5’。服务站qb根据idb在客户端公钥池中提取pkb,使用pkb加密k5’。将{m5’}k5’||{k5’}pkb发送至客户端b。

步骤6:客户端b验证ticketb’。

客户端b收到消息后。使用私钥skb解密获得k5’,使用k5’解密获得ticketa’和ticketb’。使用私钥skb解密ticketb’第二部分获得k3b’,再解密得到与客户端a通信的会话密钥kab,客户端b鉴别nb是否与本地nb相等,若相等,则信任会话密钥kab作为与客户端a通信的密钥。客户端b根据匹配的密钥卡中的随机数发生器生成随机数nc,使用kab加密步骤1中收到的na和nc,再与ticketa’一起作为m6’发送至客户端a。m6’可表示为ticketa’||{na||nc}kab。

步骤7:客户端a验证ticketa’.

客户端a收到m6’后,使用私钥ska解密ticketa’第二部分获得k4a’,再解密得到与客户端b通信的会话密钥kab,客户端a鉴别na是否与本地na相等,若相等,则信任会话密钥kab作为与客户端b通信的密钥。

客户端a使用会话密钥kab解密得到na和nc,将na与本地na进行对比,若通过,则完成对客户端b的认证。

客户端a使用kab加密nc并作为m7’发送至客户端b。m7’可表示为{nc}kab。

步骤8:客户端b验证客户端a。

客户端b收到m7’后,使用kab解密得到nc。将nc与本地nc进行对比,若通过,则完成对客户端a的认证。

步骤9:客户端a与客户端b进行安全通信。

客户端a与客户端b可利用密钥kab进行消息加解密和消息认证。优选为,将kab拆分成kabe和kaba,分别作为消息加解密和消息认证密钥。

关于主动方设备、被动方设备、及服务站设备以及系统的具体限定可以参见上文中对于量子通信服务站认证方法的限定,在此不再赘述。上述各设备中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储身份认证的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于非对称密钥池对和随机数的量子通信服务站密钥协商方法。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中根据上述公开的技术方案的具体步骤的归纳可以得到权利要求中实施在主动方的基于非对称密钥池对和随机数的量子通信服务站密钥协商方法,实施在被动方的基于非对称密钥池对和随机数的量子通信服务站密钥协商方法以及实施在服务站的基于非对称密钥池对和随机数的量子通信服务站密钥协商方法,因此不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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