首页 / 专利库 / 人工智能 / 量子计算机 / 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统

基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统

阅读:252发布:2020-05-13

专利汇可以提供基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统专利检索,专利查询,专利分析的服务。并且本 申请 涉及一种基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统,本 发明 中,使用的密钥卡是独立的 硬件 隔离设备。公钥、私钥和其他相关参数均存储在密钥卡中的数据安全区,被恶意 软件 或恶意操作窃取密钥的可能性大大降低,也不会被 量子计算 机 获取并破解。由于在经典网络中均无涉及公私钥及 算法 参数的传递,因此非对称密钥被破解的 风 险很低,所以消息的安全性得到极大的保障。密钥卡保障了通信双方在群组中的通信安全,也极大的提高了身份认证的安全性,从而实现了抗量子计算的外网接入系统。,下面是基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统专利的具体信息内容。

1.基于一次性非对称密钥对和密钥卡的外网接入身份认证方法,其特征在于,所述外网接入身份认证方法包括:
客户端利用自身存储的一次性公钥PKQA和客户端私钥根据DH算法生成第一密钥KA,生成第一随机参数x并根据第一随机参数x生成客户端临时公钥X,利用客户端私钥和客户端临时公钥X生成第一签名,生成第一消息并发送给服务站,所述第一消息包括客户端设备参数以及利用第一密钥KA加密的第一签名和客户端临时公钥X;
服务站存储有新一次性私钥和旧一次性私钥,获取、解密所述第一消息后,利用新一次性私钥和客户端公钥生成所述第一密钥KA,解密并验证所述第一签名;验证失败后,利用旧一次性私钥和和客户端公钥生成所述第一密钥KA;解密并验证所述第一签名;验证通过后生成第二随机参数y并根据第二随机参数y生成服务站临时公钥Y,利用所述第二随机参数y和客户端临时公钥X生成第二密钥KS,生成一次性私钥SKQA’和一次性公钥PKQA',利用服务站临时公钥Y和旧一次性私钥生成第二签名,将一次性私钥SKQA’存储为新一次性私钥;生成第二消息,所述第二消息的至少一部分由所述第二密钥KS加密,向所述客户端发送所述第二消息;
客户端获取、解密所述第二消息后,验证所述第二签名,计算得到第二密钥KS,通过验证所述第二消息的内容后确认第二密钥KS为会话密钥;将所述第二消息内的PKQA’存储为一次性公钥PKQA;向所述服务站发送利用第二密钥KS加密的第三消息;
所述服务站获取、解密所述第三消息后,确认第二密钥KS为为会话密钥。
2.如权利要求1所述的外网接入身份认证方法,其特征在于,服务站存储有新一次性私钥和旧一次性私钥,获取、解密所述第一消息后,利用新一次性私钥和客户端公钥生成所述第一密钥KA,解密并验证所述第一签名;验证成功后,生成第二随机参数y并根据第二随机参数y生成服务站临时公钥Y,利用所述第二随机参数y和客户端临时公钥X生成第二密钥KS,生成一次性私钥SKQA’和一次性公钥PKQA',利用服务站临时公钥Y和旧一次性私钥生成第二签名,将所述新一次性私钥存储为旧一次性私钥,将一次性私钥SKQA’存储为新一次性私钥;生成第二消息,向所述客户端发送所述第二消息。
3.如权利要求1所述的外网接入身份认证方法,其特征在于,所述服务站验证确认第二密钥KS为为会话密钥后将所述旧一次性私钥置为无效值。
4.如权利要求1所述的外网接入身份认证方法,其特征在于,服务站存储有新一次性私钥和旧一次性私钥,获取、解密所述第一消息后,利用新一次性私钥和客户端公钥生成所述第一密钥KA,解密并验证所述第一签名;验证失败后,验证旧一次性私钥是否有效,验证通过后利用旧一次性私钥和和客户端公钥生成所述第一密钥KA。
5.如权利要求1所述的外网接入身份认证方法,其特征在于,所述客户端和/或所述服务站将所述会话密钥拆分为消息加解密钥和消息认证密钥。
6.如权利要求1所述的外网接入身份认证方法,其特征在于,所述客户端临时公钥X由所述第一随机参数x进行离散对数公钥计算得到,所述服务站临时公钥Y由第二随机参数y进行离散对数公钥计算得到。
7.一种客户端设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1中所述外网接入身份认证方法的中的客户端的步骤。
8.一种服务站设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1中所述外网接入身份认证方法的中的服务站的步骤。
9.基于一次性非对称密钥对和密钥卡的外网接入身份认证系统,其特征在于,包括设有客户端,服务站以及通信网络;所述客户端配置有客户端密钥卡,所述客户端密钥卡内存储有服务站公钥,客户端公钥以及客户端私钥;所述服务站配置有服务站密钥卡,所述服务站密钥卡内存储有服务站一次性私钥池,客户端公钥池;
所述客户端,服务站通过所述通信网络实现权利要求1中所述外网接入身份认证方法的步骤。

说明书全文

基于一次性非对称密钥对和密钥卡的外网接入身份认证方法

和系统

技术领域

背景技术

[0002] 当前互联网通信技术快速发展,我们的电脑、手机等设备都无时无刻在互联网传递、共享各种网络消息,同时网络消息以及各种应用消息都在外网与内网之间实现连接或共享(外网:互联网;内网:又称局域网,通常用防火墙或其他身份认证设备阻隔于互联网之外的局部网络)。
[0003] 内网相对而言是安全的,能阻挡大部分来自外网的黑客袭击,但仍会发生泄密事件。由于外网环境复杂存在许多不安全的因素,比如:黑客恶意漏洞攻击、病毒感染等等,时刻威胁着内网的安全。用户在使用外网的同时,需要访问内网,则可能会导致互联网上的不安全的因素通过客户端作为中继点进入内网,直接威胁内网的消息安全。因此为了确保网络的安全,可通过外网接入认证服务器对用户身份认证后,才允许连接到内网,并给予一定权限的对内网的访问服务。身份认证是消息安全的基本技术,系统通过审查用户的身份来确认该用户是否具有对某种资源的访问和使用权限,所以外网接入认证服务器可以被看作是外网成员接入内网网络系统的户。
[0004] 但是,外网接入认证服务器也是最容易遭受到攻击的环节。目前,一般采用防火墙来阻挡攻击,但是防火墙以及应用程序、VPN或以太网协议栈等软件的设计和配置都有可能出现漏洞。不仅如此,CPU本身也可能存在漏洞,那么内网还是有可能被蠕虫感染或者被直接攻击,这就存在外网接入认证服务器被入侵的险。因此,寻找一种更安全的外网接入认证系统及认证方法,是当前保证网络安全亟需解决的技术问题。
[0005] 随着量子计算机的发展,经典非对称加密算法将不再安全,无论是认证还是加解密领域。由于量子计算机的潜在威胁。因此现有基于量子通信服务站与量子密钥卡的外网接入认证系统及认证的方案,利用量子通信服务站与量子密钥卡之间的对称密钥池进行外网接入身份认证,以避免使用经典非对称加密算法的身份认证流程被量子计算机破解。
[0006] 现有技术存在的问题:
[0007] 1、现有基于对称密钥池进行身份认证的方案,量子通信服务站与量子密钥卡之间使用对称密钥池,其容量巨大,对量子通信服务站的密钥存储带来压
[0008] 2、现有基于对称密钥池进行身份认证的方案,由于对称密钥池密钥容量巨大,量子通信服务站不得不将密钥加密存储于普通存储介质例如硬盘内,而无法存储于量子通信服务站的密钥卡内;
[0009] 3、现有基于对称密钥池进行身份认证的方案,由于对称密钥池密钥容量巨大,给密钥备份造成麻烦。发明内容
[0010] 基于此,有必要针对上述技术问题,提供一种能够减少服务站存储数据量的基于一次性非对称密钥对和密钥卡的外网接入身份认证方法。
[0011] 本申请公开了基于一次性非对称密钥对和密钥卡的外网接入身份认证方法,所述外网接入身份认证方法包括:
[0012] 客户端利用自身存储的一次性公钥PKQA和客户端私钥根据DH算法生成第一密钥KA,生成第一随机参数x并根据第一随机参数x生成客户端临时公钥X,利用客户端私钥和客户端临时公钥X生成第一签名,生成第一消息并发送给服务站,所述第一消息包括客户端设备参数以及利用第一密钥KA加密的第一签名和客户端临时公钥X;
[0013] 服务站存储有新一次性私钥和旧一次性私钥,获取、解密所述第一消息后,利用新一次性私钥和客户端公钥生成所述第一密钥KA,解密并验证所述第一签名;验证失败后,利用旧一次性私钥和和客户端公钥生成所述第一密钥KA;解密并验证所述第一签名;验证通过后生成第二随机参数y并根据第二随机参数y生成服务站临时公钥Y,利用所述第二随机参数y和客户端临时公钥X生成第二密钥KS,生成一次性私钥SKQA’和一次性公钥PKQA',利用服务站临时公钥Y和旧一次性私钥生成第二签名,将一次性私钥SKQA’存储为新一次性私钥;生成第二消息,所述第二消息的至少一部分由所述第二密钥KS加密,向所述客户端发送所述第二消息;
[0014] 客户端获取、解密所述第二消息后,验证所述第二签名,计算得到第二密钥KS,通过验证所述第二消息的内容后确认第二密钥KS为会话密钥;将所述第二消息内的PKQA’存储为一次性公钥PKQA;向所述服务站发送利用第二密钥KS加密的第三消息;
[0015] 所述服务站获取、解密所述第三消息后,确认第二密钥KS为为会话密钥。
[0016] 优选的,服务站存储有新一次性私钥和旧一次性私钥,获取、解密所述第一消息后,利用新一次性私钥和客户端公钥生成所述第一密钥KA,解密并验证所述第一签名;验证成功后,生成第二随机参数y并根据第二随机参数y生成服务站临时公钥Y,利用所述第二随机参数y和客户端临时公钥X生成第二密钥KS,生成一次性私钥SKQA’和一次性公钥PKQA',利用服务站临时公钥Y和旧一次性私钥生成第二签名,将所述新一次性私钥存储为旧一次性私钥,将一次性私钥SKQA’存储为新一次性私钥;生成第二消息,向所述客户端发送所述第二消息。
[0017] 优选的,所述服务站验证确认第二密钥KS为为会话密钥后将所述旧一次性私钥置为无效值。
[0018] 优选的,服务站存储有新一次性私钥和旧一次性私钥,获取、解密所述第一消息后,利用新一次性私钥和客户端公钥生成所述第一密钥KA,解密并验证所述第一签名;验证失败后,验证旧一次性私钥是否有效,验证通过后利用旧一次性私钥和和客户端公钥生成所述第一密钥KA。
[0019] 优选的,所述客户端和/或所述服务站将所述会话密钥拆分为消息加解密钥和消息认证密钥。
[0020] 优选的,所述客户端临时公钥X由所述第一随机参数x进行离散对数公钥计算得到,所述服务站临时公钥Y由第二随机参数y进行离散对数公钥计算得到。
[0021] 本申请公开了一种客户端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述外网接入身份认证方法的中的客户端的步骤。
[0022] 本申请公开了一种服务站设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述外网接入身份认证方法的中的服务站的步骤。
[0023] 本申请公开了基于一次性非对称密钥对和密钥卡的外网接入身份认证系统,包括设有客户端,服务站以及通信网络;所述客户端配置有客户端密钥卡,所述客户端密钥卡内存储有服务站公钥,客户端公钥以及客户端私钥;所述服务站配置有服务站密钥卡,所述服务站密钥卡内存储有服务站一次性私钥池,客户端公钥池;
[0024] 所述客户端,服务站通过所述通信网络实现上述技术方案中所述外网接入身份认证方法的步骤。
[0025] 本发明中,使用的密钥卡是独立的硬件隔离设备。公钥、私钥和其他相关参数均存储在密钥卡中的数据安全区,被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解。由于在经典网络中均无涉及公私钥及算法参数的传递,因此非对称密钥被破解的风险很低,另外,服务站与服务站之间采用QKD进行密钥共享,所以消息的安全性得到极大的保障。密钥卡保障了通信双方的通信安全,也极大的提高了身份认证的安全性。
[0026] 同时一次性非对称密钥池解决了对称密钥池给量子通信服务站带来密钥存储压力,降低了存储成本。例如,原先用户的对称密钥池大小均为1G,用户个数为N,则量子通信服务站需要存储NG的密钥池,而如果存储一次性非对称密钥池,在用户个数为N的情况下,量子通信服务站只需要存储N个用户对应的N个一次性私钥及N个前次的一次性私钥的密钥池。而对于客户端来说,每个客户端的密钥卡不再需要存储大量密钥,对客户端的密钥卡没有较大存储需求,从而降低了客户端密钥卡的成本。本专利的一次性密钥对仅使用一次,且每次认证流程均更换为新的密钥对,能极大提升系统安全性,但并未增加存储量和密钥分配的工作量。附图说明
[0027] 图1为本发明中的抗量子计算外网接入服务站结构示意图;
[0028] 图2为本发明中抗量子计算外网接入服务站的密钥板卡的密钥池分布示意图;
[0029] 图3为本发明中客户端密钥卡的密钥池分布示意图;
[0030] 图4-1为本发明中客户端与抗量子计算外网接入服务站的第一认证流程图
[0031] 图4-2为本发明中客户端与抗量子计算外网接入服务站的第二认证流程图。

具体实施方式

[0032] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。其中本申请中的服务站在未做特殊说明的情况下均为量子通信服务站,本申请中的各名称以字母和数字组合为准,例如Q,服务站Q,服务站在下文表示同一含义,即服务站Q;再例如第一密钥KR1,KR1,真随机数KR1,第一密钥在下文中表示同一含义,即第一密钥KR1,其余名称同理。
[0033] 本发明实现场景为在一个基于非对称密钥体系下的任意一个客户端与服务站进行相互的身份认证。本发明的密钥体系中每个成员都具有密钥卡,其中服务站密钥卡可存储大数据量的密钥;密钥卡也具备处理消息的能力。本发明中,客户端与服务站的本地系统中都存在相应需求的算法。
[0034] 密钥卡的描述可见申请号为“201610843210.6”的专利。当为移动终端时,密钥卡优选为密钥SD卡;当为固定终端时,密钥卡优选为密钥USBkey或主机密钥板卡。
[0035] 与申请号为“201610843210.6”的专利相比,密钥卡的颁发机制有所类似。本专利的密钥卡颁发方为密钥卡的主管方,一般为群组的管理部门,例如某企业或事业单位的管理部门;密钥卡被颁发方为密钥卡的主管方所管理的成员,一般为某企业或事业单位的各级员工。客户端首先到密钥卡的主管方申请开户。当客户端进行注册登记获批后,将得到密钥卡(具有唯一的密钥卡ID)。密钥卡存储了客户注册登记消息。
[0036] 密钥卡从智能卡技术上发展而来,是结合了密码学技术、硬件安全隔离技术、量子物理学技术(搭载量子随机数发生器的情况下)的身份认证和加解密产品。密钥卡的内嵌芯片和操作系统可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,密钥卡成为私钥和密钥池的安全载体。每一个密钥卡都有硬件PIN码保护,PIN码和硬件构成了用户使用密钥卡的两个必要因素。即所谓“双因子认证”,用户只有同时取得保存了相关认证消息的密钥卡和用户PIN码,才可以登录系统。即使用户的PIN码被泄露,只要用户持有的密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的密钥卡遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。总之,密钥卡使得密钥等绝密消息不以明文形式出现在主机的磁盘及内存中,从而能有效保证绝密消息的安全。
[0037] 本发明中,密钥卡分为服务站密钥卡和客户端密钥卡。服务站密钥卡密钥区结构如图1所示,主要存储有客户端公钥池和服务站一次性私钥池。客户端密钥卡密钥区结构如图2所示,主要存储有服务站一次性公钥和客户端的公私钥对。所述密钥卡均由密钥管理服务器颁发。
[0038] 密钥管理服务器在颁发密钥卡之前选择Diffie-Hellman算法。密钥管理服务器根据客户端的数量产生相应数量并符合该算法规范的数作为私钥和公钥。密钥管理服务器产生相应数量的ID,并选取相应数量的公私钥对,取其中的公钥与ID进行组合得到ID/公钥,以ID/公钥的形式写入到同一文件中形成公钥池文件,即上述客户端公钥池。同时,密钥管理服务器将对应的私钥也以相同的方式写入到文件中形成私钥池文件,即客户端私钥池。客户端私钥池中各私钥的ID与客户端公钥池中对应的公钥的ID相同。密钥管理服务器再次产生大量的符合该算法规范的数作为私钥和公钥。密钥管理服务器将公私钥分别写入到两个文件内形成服务站公钥池和服务站私钥池。服务站公钥池内的公钥与服务站私钥池中相同位置的私钥对应。密钥管理服务器将颁发的首个密钥卡定义为服务站密钥卡,并将服务站私钥池和客户端公钥池以及相关算法参数写入密钥卡的密钥区。密钥管理服务器后续颁发的密钥卡均为客户端密钥卡。密钥管理服务器随机数选取一个未分配的ID分配给密钥卡,并从客户端公钥池和客户端私钥池取相同ID的公私钥与服务站公钥写入密钥卡的密钥区,相关参数一起写入到密钥卡内。由于服务站私钥池中的私钥在后续认证流程中均只使用一次,所以服务站私钥池也称为一次性私钥池。由于客户端密钥卡中的服务站公钥在后续认证流程中均只使用一次,所以服务站公钥也称为服务站一次性公钥。
[0039] 本文所述随机数,均为真随机数,优选为量子随机数。
[0040] 本申请公开了基于一次性非对称密钥对和密钥卡的外网接入身份认证方法,所述外网接入身份认证方法包括:
[0041] 客户端利用自身存储的一次性公钥PKQA和客户端私钥根据DH算法生成第一密钥KA,生成第一随机参数x并根据第一随机参数x生成客户端临时公钥X,利用客户端私钥和客户端临时公钥X生成第一签名,生成第一消息并发送给服务站,所述第一消息包括客户端设备参数以及利用第一密钥KA加密的第一签名和客户端临时公钥X;
[0042] 服务站存储有新一次性私钥和旧一次性私钥,获取、解密所述第一消息后,利用新一次性私钥和客户端公钥生成所述第一密钥KA,解密并验证所述第一签名;验证失败后,利用旧一次性私钥和和客户端公钥生成所述第一密钥KA;解密并验证所述第一签名;验证通过后生成第二随机参数y并根据第二随机参数y生成服务站临时公钥Y,利用所述第二随机参数y和客户端临时公钥X生成第二密钥KS,生成一次性私钥SKQA’和一次性公钥PKQA',所述一次性私钥SKQA’为所述服务站生成的真随机数,利用服务站临时公钥Y和旧一次性私钥生成第二签名,将一次性私钥SKQA’存储为新一次性私钥;生成第二消息,所述第二消息的至少一部分由所述第二密钥KS加密,向所述客户端发送所述第二消息;
[0043] 客户端获取、解密所述第二消息后,验证所述第二签名,计算得到第二密钥KS,通过验证所述第二消息的内容后确认第二密钥KS为会话密钥;将所述第二消息内的PKQA’存储为一次性公钥PKQA;向所述服务站发送利用第二密钥KS加密的第三消息;
[0044] 所述服务站获取、解密所述第三消息后,确认第二密钥KS为为会话密钥。
[0045] 优选的,服务站存储有新一次性私钥和旧一次性私钥,获取、解密所述第一消息后,利用新一次性私钥和客户端公钥生成所述第一密钥KA,解密并验证所述第一签名;验证成功后,生成第二随机参数y并根据第二随机参数y生成服务站临时公钥Y,利用所述第二随机参数y和客户端临时公钥X生成第二密钥KS,生成一次性私钥SKQA’和一次性公钥PKQA',利用服务站临时公钥Y和旧一次性私钥生成第二签名,将所述新一次性私钥存储为旧一次性私钥,将一次性私钥SKQA’存储为新一次性私钥;生成第二消息,向所述客户端发送所述第二消息。
[0046] 优选的,所述服务站验证确认第二密钥KS为为会话密钥后将所述旧一次性私钥置为无效值。
[0047] 优选的,服务站存储有新一次性私钥和旧一次性私钥,获取、解密所述第一消息后,利用新一次性私钥和客户端公钥生成所述第一密钥KA,解密并验证所述第一签名;验证失败后,验证旧一次性私钥是否有效,验证通过后利用旧一次性私钥和和客户端公钥生成所述第一密钥KA。
[0048] 优选的,所述客户端和/或所述服务站将所述会话密钥拆分为消息加解密钥和消息认证密钥。
[0049] 优选的,所述客户端临时公钥X由所述第一随机参数x进行离散对数公钥计算得到,所述服务站临时公钥Y由第二随机参数y进行离散对数公钥计算得到。
[0050] 本申请公开了一种客户端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述外网接入身份认证方法的中的客户端的步骤。
[0051] 本申请公开了一种服务站设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述外网接入身份认证方法的中的服务站的步骤。
[0052] 本申请公开了基于一次性非对称密钥对和密钥卡的外网接入身份认证系统,包括设有客户端,服务站以及通信网络;所述客户端配置有客户端密钥卡,所述客户端密钥卡内存储有服务站公钥,客户端公钥以及客户端私钥;所述服务站配置有服务站密钥卡,所述服务站密钥卡内存储有服务站一次性私钥池,客户端公钥池;
[0053] 所述客户端,服务站通过所述通信网络实现上述技术方案中所述外网接入身份认证方法的步骤。
[0054] 系统说明
[0055] 本实施例的场景如图4所示包括客户端A、抗量子计算外网接入服务站Q(简称为服务站Q)。Q带有密钥管理服务器,任意客户端都配有客户端密钥卡(任意客户端密钥卡皆为服务站Q的密钥管理服务器颁发,即客户端A归属于服务站Q)。设客户端A的ID为IDA,密钥卡中的一次性公钥为PKQA,客户端的公私钥分别为PKA/SKA。
[0056] 服务站中的一次性私钥池为保证认证流程安全性,带有附加的存储结构,即每个单元的存储格式为一次性私钥和前次的一次性私钥,初始情况下,前次的一次性私钥存储的是无效值,例如0。服务站可以根据IDA从一次性私钥池中找到PKQA对应的一次性私钥SKQA和前次的一次性私钥SKQAold。
[0057] 步骤1:客户端A向认证服务站Q发起身份认证请求
[0058] A方从己方密钥区取出服务站的一次性公钥PKQA,同时取出己方私钥SKA,通过Diffie-Hellman算法得出KA=PKQA^SKA。
[0059] A方根据匹配的密钥卡产生一个随机数x,利用x根据离散对数公钥计算算法得出密钥X=g^x。
[0060] A方根据己方私钥SKA对X进行签名得到SIGN(X,SKA),并与X重组信息为X||SIGN(X,SKA),SIGN(X,SKA)表示对X以SKA为私钥进行离散对数签名。
[0061] A方利用得到密钥KA对X||SIGN(X,SKA)进行对称加密得到{X||SIGN(X,SKA)}KA。
[0062] 最后A方将关键信息重组成M1发往Q请求身份认证,即M1=IDA||{X||SIGN(X,SKA)}KA。
[0063] 步骤2:Q方验证A方请求并回复
[0064] Q方接收到M1后进行解析,根据M1中的IDA从己方密钥区的一次性私钥池中取出与PKQA对应的一次性私钥SKQA,同时取出A方的公钥PKA,通过Diffie-Hellman算法得出KA=PKA^SKQA。
[0065] Q方利用KA对{X||SIGN(X,SKA)}KA进行解密得到X||SIGN(X,SKA),利用PKA对SIGN(X,SKA)进行签名验证。
[0066] 如果对SIGN(X,SKA)验证成功,则进入下一步2-1流程,流程图如图示4-1。
[0067] 如果对SIGN(X,SKA)验证失败,则进入下一步2-2流程,流程图如图示4-2。
[0068] 流程2-1:
[0069] Q方产生一个随机数y,利用y根据离散对数公钥计算算法得出密钥Y=g^y。
[0070] Q方利用Y根据Diffie-Hellman算法得出密钥KS=X^y。
[0071] Q方产生一个真随机数SKQA’,根据离散对数公钥计算算法得出密钥PKQA'=g^SKQA'。
[0072] Q方利用SKQA对Y进行签名得到SIGN(Y,SKQA),并与Y组成信息Y||SIGN(Y,SKQA)。
[0073] Q方利用KA对Y||SIGN(Y,SKQA)进行加密得到{Y||SIGN(Y,SKQA)}KA。
[0074] Q方将PKQA'、Y、X组成信息PKQA'||Y||X,并利用SKQA对PKQA'||Y||X进行签名得到SIGN(PKQA'||Y||X,SKQA),并与PKQA’组成信息PKQA’||SIGN(PKQA'||Y||X,SKQA)。
[0075] Q方利用KS对PKQA’||SIGN(PKQA'||Y||X,SKQA)加密得到{PKQA’||SIGN(PKQA'||Y||X,SKQA)}KS。
[0076] 最后Q方将信息重组成M2回复A方,即M2={Y||SIGN(Y,SKQA)}KA||{PKQA'||SIGN(PKQA'||Y||X,SKQA)}KS。Q方将原先的SKQA存入到SKQAold的存储区,将SKQA’作为新的一次性私钥保存在SKQA的存储区。
[0077] 流程2-2:
[0078] Q方根据IDA从己方密钥区的一次性私钥池中取出与PKQA对应的前次的一次性私钥SKQAold,并确定SKQAold是否为有效值。如果SKQAold为无效值则流程结束。如果SKQAold为有效值则再通过Diffie-Hellman算法得出KAold=PKA^SKQAold,再进行下一步。
[0079] Q方利用KAold对{X||SIGN(X,SKA)}KA解密得到X||SIGN(X,SKA)。
[0080] Q方利用PKA对SIGN(X,SKA)签名进行验证,验证失败则流程结束。验证通过进行下一步。
[0081] Q方产生一个随机数y,利用y根据离散对数公钥计算算法得出密钥Y=g^y。
[0082] Q方利用Y根据Diffie-Hellman算法得出密钥KS=X^y。
[0083] Q方产生一个真随机数SKQA’,根据离散对数公钥计算算法得出密钥PKQA'=g^SKQA'。
[0084] Q方利用SKQAold对Y进行签名得到SIGN(Y,SKQAold),并与Y组成信息Y||SIGN(Y,SKQAold)。
[0085] Q方利用KAold对Y||SIGN(Y,SKQAold)进行加密得到{Y||SIGN(Y,SKQAold)}KAold。
[0086] Q方将PKQA'、Y、X组成信息PKQA'||Y||X,并利用SKQAold对PKQA'||Y||X进行签名得到SIGN(PKQA'||Y||X,SKQAold),并与PKQA’组成信息PKQA’||SIGN(PKQA'||Y||X,SKQAold)。
[0087] Q方利用KS对PKQA’||SIGN(PKQA'||Y||X,SKQAold)加密得到{PKQA’||SIGN(PKQA'||Y||X,SKQAold)}KS。
[0088] 最后Q方将信息重组成M2’回复A方,即M2’={Y||SIGN(Y,SKQAold)}KAold||{PKQA'||SIGN(PKQA'||Y||X,SKQAold)}KS。Q方将SKQA’作为新的一次性私钥保存在SKQA的存储区。
[0089] 步骤3:客户端A接收Q回复信息确认会话密钥
[0090] 如果A接收Q的回复信息为M2,则进行3-1流程,流程图如图示4-1。
[0091] 如果A接收Q的回复信息为M2’,则进行3-2流程,流程图如图示4-2。
[0092] 流程3-1:
[0093] A方接收Q方的回复信息M2后进行解析,并利用KA对{Y||SIGN(Y,SKQA)}KA进行解密得到Y||SIGN(Y,SKQA)。
[0094] A方从密钥区取出Q方的公钥PKQA对SIGN(Y,SKQA)进行签名验证,验证通过则进行下一步。
[0095] A方利用得到的Y和本地缓存的x通过Diffie-Hellman算法计算出KS=Y^x。
[0096] A方利用KS对{PKQA'||SIGN(PKQA'||Y||X,SKQA)}KS解密得到PKQA'||SIGN(PKQA'||Y||X,SKQA)。
[0097] A方利用PKQA对SIGN(PKQA'||Y||X,SKQA)进行签名验证,验证通过后确认KS为与Q方的会话密钥,且将密钥区中Q方的公钥PKQA更新为PKQA’。
[0098] A方将X、Y重组信息X||Y,并利用私钥SKA对X||Y进行签名得到SIGN(X||Y,SKA)。
[0099] A方利用KS对签名SIGN(X||Y,SKA)进行加密得到{SIGN(X||Y,SKA)}KS,并带上IDA组成信息M3发送给Q,即M3=IDA||{SIGN(X||Y,SKA)}KS。
[0100] 流程3-2:
[0101] A方接收Q方的回复信息M2’后进行解析,并利用KA对{Y||SIGN(Y,SKQAold)}KAold进行解密得到Y||SIGN(Y,SKQAold)。
[0102] A方从密钥区取出Q方的公钥PKQA对SIGN(Y,SKQAold)进行签名验证,验证通过则进行下一步。
[0103] A方利用得到的Y和本地缓存的x通过Diffie-Hellman算法计算出KS=Y^x。
[0104] A方利用KS对{PKQA'||SIGN(PKQA'||Y||X,SKQAold)}KS解密得到PKQA'||SIGN(PKQA'||Y||X,SKQAold)。
[0105] A方利用PKQA对SIGN(PKQA'||Y||X,SKQAold)进行签名验证,验证通过后确认KS为与Q方的会话密钥,且将密钥区中Q方的公钥PKQA更新为PKQA’。
[0106] A方将X、Y重组信息X||Y,并利用私钥SKA对X||Y进行签名得到SIGN(X||Y,SKA)。
[0107] A方利用KS对签名SIGN(X||Y,SKA)进行加密得到{SIGN(X||Y,SKA)}KS,并带上IDA组成信息M3发送给Q,即M3=IDA||{SIGN(X||Y,SKA)}KS。
[0108] 步骤4:Q接收客户端A回复信息确认会话密钥
[0109] Q方接收到M3后进行解析,并从缓存中取出KS对{SIGN(X||Y,SKA)}KS进行解密得到SIGN(X||Y,SKA)。
[0110] Q方根据IDA从己方密钥区的客户端公钥池中取出A方的PKA,利用PKA对SIGN(X||Y,SKA)签名验证。
[0111] Q方通过验证后,确认KS为与A方通信的会话密钥,且Q确认A已更新服务器公钥,因此Q将前次的服务器公钥所对应的一次性私钥SKQAold置为无效值。
[0112] 至此身份认证完成,Q方认可A方为合法的外网接入用户,并且使用KS与A方进行安全通信,对A方的传输数据进行放行,即此时A方完成了安全的外网接入。
[0113] 总结
[0114] 本发明中,使用的密钥卡是独立的硬件隔离设备。公钥、私钥和其他相关参数均存储在密钥卡中的数据安全区,被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解。由于在经典网络中均无涉及公私钥及算法参数的传递,因此非对称密钥被破解的风险很低,所以消息的安全性得到极大的保障。密钥卡保障了通信双方在群组中的通信安全,也极大的提高了身份认证的安全性,从而实现了抗量子计算的外网接入系统。
[0115] 同时一次性非对称密钥池解决了对称密钥池给量子通信服务站带来密钥存储压力,降低了存储成本。例如,原先用户的对称密钥池大小均为1G,用户个数为N,则量子通信服务站需要存储NG的密钥池,而如果存储非对称密钥池,用户端存储密钥池大小同样为1G,量子通信服务站同样只需要存储1G大小的密钥池。本专利的一次性密钥对仅使用一次,且每次认证流程均更换为新的密钥对,能极大提升系统安全性,但并未增加存储量和密钥分配的工作量。因此本专利改进了抗量子计算外网接入系统的密钥管理系统。
[0116] 同时,本专利对客户端与服务之间的基于Diffie-Hellman算法的认证与密钥协商机制进行改进,使得Diffie-Hellman协商数据被一次性非对称密钥对计算所得的对称密钥加密保护。由于被公钥加密的数据只能被私钥拥有者解密,其他任何人均无法解密,因此该加密机制提升了消息传输的安全性,最终提升了外网接入系统的认证与密钥协商的安全性。
[0117] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0118] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈