具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种云密码服务通信方法以及相关设备,相关设备可以包括云密码服务通信装置、电子设备和计算机可读存储介质。所述云密码服务通信装置具体可以集成在电子设备中,所述电子设备可以是终端设备,或者是服务器设备。
可以理解的是,本实施例的云密码服务通信方法可以在终端设备上执行,也可以在服务器设备上执行,还可以由终端设备和服务器设备共同执行。以上举例不应理解为对本申请的限制。需要说明的是,下文中所描述的平台(例如云密码服务平台)可以是多个物理服务器构成的服务器集群或者分布式***。
例如,以终端设备和服务器设备共同执行云密码服务通信方法为例。本申请实施例提供的云密码服务通信方法包括终端设备和服务器设备。终端设备与服务器设备之间可以通过网络连接,比如,有线网络连接或无线网络连接,其中,云密码服务通信装置可以集成在终端设备或服务器设备中。
其中,终端设备可以用于:发送云密码服务请求至预设的服务代理,其中所述云密码服务请求包括业务应用的调用会话;所述服务代理用于基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果至服务代理;接收云密码服务结果。其中,终端设备可以包括平板电脑、笔记本电脑、或个人计算机(PC,Personal Computer)等。终端设备上还可以设置客户端,该客户端可以是应用程序客户端或浏览器客户端等等。
其中,服务器设备可以用于:向终端设备发送相应的云密码服务结果。其中,服务器设备可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请所公开的云密码服务通信方法或装置,其中多个服务器可组成为一区块链,而服务器为区块链上的节点。
本申请所公开的云密码服务通信方法或装置支持云技术(Cloud technology)。
其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
本申请实施例提供的云密码服务通信方法可适用于如图1和图2所示的场景中,比如图1所示的独立云密码服务场景,以及图2所示的云原生密码服务场景。其中,独立云密码服务通常由密码厂商自行建设各种密码基础设施,对外提供服务。根据业务范围,密码厂商提供的服务也可以面向互联网,面向大众。云原生密码服务主要是指云计算厂商在提供云计算资源的基础上,进一步在云上提供基础密码资源的服务,并且通过将大量密码设备池化,实现弹性、按需为云应用提供紧耦合的密码服务。
如图1和图2所示的业务应用(即云密码服务使用方)可以运行于上述的终端设备,云密码服务(即云密码服务平台)可以运行于上述的服务器设备。并且,终端设备与量子密钥分发(Quantum Key Distribution,简称QKD)网络的客户端(QKD-C)相连,服务器设备与QKD网络的服务端(QKD-S)相连,QKD网络可以实现客户端和服务端的量子密钥始终保持一致。此外,本文中所描述的云密码服务代理(下文简称为服务代理)也可以运行于终端设备中。进一步地,服务代理可以部署于业务应用所在的同一终端设备中,但也不限于此。
如图3和图9所示,本申请的一实施例提供了一种云密码服务通信方法,用于终端设备。所述方法包括:步骤S110,发送云密码服务请求至预设的服务代理,其中所述云密码服务请求包括业务应用的调用会话;所述服务代理用于基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果至服务代理;步骤S120,接收云密码服务结果。
进一步地,在本申请实施例中,在执行步骤S110“发送云密码服务请求至预设的服务代理”之前,所述方法还可以包括:步骤S101,发送云密码服务注册请求至所述云密码服务平台;步骤S102,接收来自所述云密码服务平台的云密码服务注册结果,其中当所述云密码服务平台判定云密码服务注册请求满足预设条件时,所述云密码服务注册结果包含服务接入凭证。
进一步地,在本申请实施例中,在执行步骤S102“接收来自所述云密码服务平台的云密码服务注册结果”之后,所述方法还可以包括:步骤S103,部署服务代理;步骤S104,配置所述服务接入凭证于所述服务代理。
进一步地,在本申请实施例中,在执行步骤S104“配置所述服务接入凭证于所述服务代理”之后,所述方法还可以包括:步骤S105,调用所述服务代理,其中所述服务代理还用于基于已配置的服务接入凭证向量子密钥分发网络进行请求认证,以允许访问量子密钥分发网络和云密码服务平台。
进一步地,在本申请实施例中,在执行步骤S105“调用所述服务代理”之后,所述方法还可以包括:步骤S106,提供业务应用的调用会话中使用的函数所对应的函数ID,其中所述函数ID用于标识相应的函数;步骤S107,从量子密钥分发网络获取与函数ID相关的量子密钥;步骤S108,基于所述函数ID和所获得的量子密钥,确定所述函数ID与所述量子密钥的映射关系。
以下将详细说明本申请云密码服务通信方法的每一步骤。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
如图3和图9所示,云密码服务通信方法的具体流程如下:
步骤S101,发送云密码服务注册请求至所述云密码服务平台。
步骤S102,接收来自所述云密码服务平台的云密码服务注册结果,其中当所述云密码服务平台判定云密码服务注册请求满足预设条件时,所述云密码服务注册结果包含服务接入凭证。
通过步骤S101和步骤S102的实施,可以使得云密码服务使用方在终端设备上获得云密码服务的服务接入凭证。
云密码服务厂商可以在云密码服务平台上审核云密码服务使用方的注册请求。若云密码服务使用方的注册请求符合预设条件时,云密码服务厂商可以通过云密码服务平台在待返回的云密码服务注册结果中加入服务接入凭证,以提供给云密码服务使用方。若当云密码服务使用方的注册请求不符合预设条件时,待返回的云密码服务注册结果中不会加入服务接入凭证。这样能够保证云密码服务使用方使用特定的云密码服务,从而提供给云密码服务使用方所需的安全等级,而且也保障云密码服务的服务质量。当然,在其他部分实施例,当终端设备预先具有服务接入凭证时,可以不执行上述步骤S101和步骤S102。
步骤S103,部署服务代理。
步骤S104,配置所述服务接入凭证于所述服务代理。
通过执行步骤S103和步骤S104,可以在执行业务应用(或称为应用业务软件,下文相同)的终端设备上配置相应的运行环境,并且该环境中集成服务代理。在配置完服务代理之后,将服务接入凭证配置于服务代理。
步骤S105,服务代理接收到调用请求时,根据已配置的服务接入凭证,向QKD网络发送请求认证。当QKD网络检测到服务接入凭证并验证通过后,允许服务代理可以接入QKD网络以及与QKD网络相连的云密码服务平台。当然,在其他部分实施例中,当服务代理预先具有接入QKD网络和云密码服务平台的权限时,可以不执行上述的步骤S105。
步骤S106,提供业务应用的调用会话中使用的函数所对应的函数ID。
步骤S107,从量子密钥分发网络获取与函数ID相关的量子密钥。
步骤S108,基于所述函数ID和所获得的量子密钥,确定所述函数ID与所述量子密钥的映射关系。
由于调用会话中可能存在多个函数,每个函数的调用均为远程调用,而远程调用需要通过量子密钥进行加密保护,因此,为了对每个函数的调用进行加密保护,可以通过使用用于标识函数的函数ID与量子密钥进行关联。当函数被调用时,根据该函数所对应的函数ID,并经过服务代理和云密码服务平台的协商,可以从QKD网络获得与函数ID相关的量子密钥,并且使用该量子密钥对函数的调用进行加密保护,以提高后续调用会话在网络传输时的安全性。
通过执行步骤S106至步骤S108,可以确定函数ID与量子密钥的映射关系,以便于后续函数在被调用时能够使用对应的量子密钥。
需要说明的是,所述映射关系包括以下的一种关系:所有函数ID与同一量子密钥对应、每一函数ID与一量子密钥对应、以及每一函数ID在每一次调用时与一量子密钥对应。具体地,若业务应用所需的安全等级相对较低时,可以使用所有函数ID与同一个量子密钥对应的映射关系。若业务应用所需的安全等级相对较高时,可以使用每一个函数ID与一个量子密钥对应的映射关系,即每一个函数ID在每一次调用时与同一个量子密钥对应。若业务应用所需的安全等级极高时,可以使用每一函数ID在每一次调用时与一个量子密钥对应的映射关系,而且每一次调用时量子密钥是不同的。换言之,若业务应用所需的安全等级极高时,可以在每次调用函数的过程中,均实时地从QKD网络获取一个量子密钥,这样使得量子密钥的更新频率与函数的调用频率保持同步。在这种情况下,通过使用更新后的量子密钥进行加密保护,能够进一步提高加密的安全性。
步骤S110,发送云密码服务请求至预设的服务代理,其中所述云密码服务请求包括业务应用的调用会话;所述服务代理用于基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果至服务代理。
步骤S120,接收云密码服务结果。
具体地,在步骤S110中,当终端设备运行一特定的业务应用时,需要基于云计算资源,才能够获得相应的服务。为了提高云计算及相应服务的安全性,在此过程中,会发送云密码服务请求至预设的服务代理。其中,云密码服务请求包括业务应用的调用会话。需说明的是,本文所描述的调用会话可以为多次通信交互的集合。也就是说,调用会话包括至少一个通信交互。每一个通信交互可以包括至少一个函数。这样,可以以通信交互为单位来形成调用会话,也可以以函数为单位来形成调用会话。
所述服务代理用于基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话;以及在加密完成之后,将加密后的调用会话发送至云密码服务平台。如上文所述,调用会话可以包括至少一个通信交互。每一个通信交互可以包括至少一个函数。因此,在本申请的一些实施例中,调用会话的加密可以是指对通信交互的加密,在另一些实施例中,调用会话的加密也可以是指对函数的加密。关于具体要加密何种对象是基于预设的安全等级而确定的。在本实施例中,通过加密函数以完成对调用会话的加密。
所述云密码服务平台用于对加密后的调用会话进行解密,并且执行相应的云密码服务;以及当执行完云密码服务之后,产生相应的云密码服务结果,并且将该云密码服务结果反馈至服务代理。
在步骤S120中,终端设备接收来自从云密码服务平台所反馈的且经由服务代理转发的云密码服务结果。终端设备可以基于云密码服务结果完成相应的业务应用,也可以基于云密码服务结果进行后续的业务应用。
如图4和图9所示,本申请的一实施例提供了一种云密码服务通信方法,用于服务代理,所述方法包括:步骤S210,接收终端设备所发送的云密码服务请求,其中所述云密码服务请求包括业务应用的调用会话;步骤S220,基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;其中所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果;步骤S230,接收所述云密码服务平台所反馈的云密码服务结果;步骤S240,基于所述云密码服务结果,并使用量子密钥进行解密,以发送解密后的云密码服务结果至终端设备。
在本实施例中,此处的服务代理可以运行于业务应用所在的同一终端设备中,但不限于此,也可以运行于其他的终端设备中。
如图4和图9所示,云密码服务通信方法的具体流程如下:
步骤S210,接收终端设备所发送的云密码服务请求,其中所述云密码服务请求包括业务应用的调用会话。
在步骤S210中,服务代理接可以接收到终端设备所发送的云密码服务请求,所述云密码服务请求包括业务应用的调用会话。所述调用会话可以包括至少一通信交互,每一所述通信交互包括至少一函数。
步骤S220,基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;其中所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果。
在本实施例中,如图5所示,步骤S220可以进一步包括:步骤S221,基于调用会话,生成序列化数据;步骤S222,获取与调用会话相关的量子密钥;步骤S223,基于量子密钥对序列化数据进行加密;步骤S224,发送加密后的序列化数据至云密码服务平台。
具体地,如图6所示,所述序列化数据包括报文头信息、版本信息、明文数据和结束符。此处的报文头可以称为魔数,其具有特定的字节数,用于标识报文的开始。所述量子密钥包括密钥ID和密钥数据。其中,所述量子密钥为与调用会话成映射关系的密钥。在本实施例中,所述量子密钥的前N个字节(例如16个字节,但不限于此)是作为密钥ID,所述量子密钥的剩余字节是作为用于加密的密钥数据。所述加密后的序列化数据包括报文头信息、版本信息、密钥ID、密文数据和结束符。其中所述密文数据为明文数据经过密钥数据的加密之后所得到的数据。
此外,需说明的是,由于执行调用会话时需要远程调用,而在远程调用的过程中需要进行网络传输,因此,在执行调用会话时,将其转为序列化数据(即二进制数据),以便于网络传输。进一步地,在发送端(例如服务代理)执行序列化操作,在接收端(例如云密码服务平台)执行反序列化操作。当然,在其他部分实施例中,存在以下情况:发送端(例如云密码服务平台)执行序列化操作,在接收端(例如服务代理)执行反序列化操作。
步骤S230,接收所述云密码服务平台所反馈的云密码服务结果。
服务代理接收到所述云密码服务平台所反馈的云密码服务结果。该云密码服务结果为已加密且已序列化的数据。
步骤S240,基于所述云密码服务结果,并使用量子密钥进行解密,以发送解密后的云密码服务结果至终端设备。
服务代理可以通过使用量子密钥对已加密的云密码服务结果进行解密。进一步地,在解密之后,对已序列化(且已解密)的数据执行反序列化操作,以获得云密码服务结果,并提供给终端设备。
如图7和图9所示,本申请的一实施例提供了一种云密码服务通信方法,用于云密码服务平台,所述方法包括:步骤S310,接收服务代理所发送的已加密的调用会话;其中,所述服务代理用于接收终端设备所发送的云密码服务请求,其中所述云密码服务请求包括业务应用的调用会话;步骤S320,基于所接收的已加密的调用会话,执行相应的服务,以生成云密码服务结果;步骤S330,反馈云密码服务结果至服务代理。
在本实施例中,所述云密码服务平台可以为多个物理服务器构成的服务器集群或者分布式***。
如图7和图9所示,云密码服务通信方法的具体流程如下:
步骤S310,接收服务代理所发送的已加密的调用会话;其中,所述服务代理用于接收终端设备所发送的云密码服务请求,其中所述云密码服务请求包括业务应用的调用会话。
步骤S320,基于所接收的已加密的调用会话,执行相应的服务,以生成云密码服务结果。
步骤S330,反馈云密码服务结果至服务代理。
在本实施例中,如图8所示,步骤S320可以进一步包括:步骤S321,基于所接收的已加密的调用会话,使用量子密钥解密已加密的调用会话;步骤S322,基于解密后的调用会话,解析出相应的调用会话;步骤S323,根据调用会话,执行相应的服务,以获得云密码服务结果。
具体地,云密码服务平台在接收到服务代理所发送的已加密的调用会话之后,利用QKD网络的特性(QKD网络的客户端与服务端的量子密钥为同步的),于是,云密码服务平台使用与加密调用会话相同的量子密钥,以解密已加密的调用会话。在解密之后,执行反序列化操作,并解析出相应的调用会话。接着,基于调用会话执行相应的服务,并且得到相应的云密码服务结果。进一步地,云密码服务平台在产生云密码服务结果之后,可以对其进行序列化操作,并且使用量子密钥对序列化后的云密码服务结果进行加密。可以理解的是,此处的加密所使用的量子密钥可以使用与之前解密所使用的量子密钥相同的密钥,也可以使用与之前解密所使用的量子密钥不同的密钥。云密码服务平台在加密云密码服务结果之后,将其反馈至服务代理。服务代理可以利用QKD网络的特性对已加密的云密码服务结果进行解密,并且执行反序列化操作,以及将反序列化后的云密码服务结果返回至位于终端设备的业务应用中。
本申请通过云密码服务代理与云密码服务配对,并且使用量子密钥来实现远程通信的安全,从而能够给云密码服务带来安全增益。此外,本申请可以根据业务应用所需的安全等级,相应地调整量子密钥的更新频率,从而能够保障业务应用的安全性,而且也能够有效提高密码资源的利用率。
结合图1所示,以独立云密码服务场景为例,详细描述云密码服务通信方法的具体流程。
如图1所示,存在云密码服务使用方和云密码服务平台。其中,云密码服务使用方在终端设备上使用相关的业务应用。云密码服务厂商在云密码服务平台(即服务器设备)上提供相关的密码服务。双方均可以接入QKD网络,而且双方的QKD设备需要通过相互认证,以允许通过量子密钥技术分发相应的量子密钥。
如图10所示,并结合图9,步骤S501,终端设备发送云密码服务注册请求至所述云密码服务平台。
当云密码服务使用方(即业务应用方)需要使用云密码服务时,在云密码服务厂商开发者平台注册账号,并且选择对应的密码服务。
步骤S502,终端设备接收来自所述云密码服务平台的云密码服务注册结果,其中当所述云密码服务平台判定云密码服务注册请求满足预设条件时,所述云密码服务注册结果包含服务接入凭证。
云密码服务厂商在接收到云密码服务注册请求之后,对其进行审核,当核准之后,返回云密码服务注册结果,并且在该云密码服务注册结果中包含服务接入凭证。于是,云密码服务使用方可以获取对应的云密码服务代理以及服务接入凭证。
步骤S503,通过终端设备部署服务代理。
步骤S504,配置所述服务接入凭证于所述服务代理。
云密码服务使用方在终端设备上安装应用业务软件,并且在应用业务软件对应的环境上集成服务代理,以及将服务接入凭证配置于服务代理。
步骤S505,当通过服务代理接收到调用请求时,根据已配置的服务接入凭证,向QKD网络发送请求认证。当QKD网络检测到服务接入凭证并验证通过后,允许服务代理可以接入QKD网络以及与QKD网络相连的云密码服务平台。
服务代理每次初始化时,通过发送调用请求与云密码服务平台完成请求认证。与此同时,双方通过服务接入凭证同步连接至QKD设备(即QKD网络的客户端和服务端),以实现QKD设备之间的认证互通。
步骤S506,终端设备提供业务应用的调用会话中使用的函数所对应的函数ID。
步骤S507,从量子密钥分发网络获取与函数ID相关的量子密钥。
步骤S508,基于所述函数ID和所获得的量子密钥,确定所述函数ID与所述量子密钥的映射关系。
服务代理可以通过QKD设备获得与云密码服务平台相同的量子密钥,并且确定密码服务函数所对应的函数ID和量子密钥的映射关系。
步骤S510,终端设备发送云密码服务请求至预设的服务代理,其中所述云密码服务请求包括业务应用的调用会话;所述服务代理用于基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果至服务代理。
业务应用需要调用密码服务时,会发送云密码服务请求至服务代理。服务代理在接收到包括调用会话的云密码服务请求之后,对调用会话进行序列化操作,生成序列化数据,而后再使用与调用会话相关的量子密钥进行数据加密,以保证在网络传输的过程中相关数据具有安全性。云密码服务平台在接收到已加密的调用会话之后,进行解密并执行反序列化操作,而且基于调用会话的参数(或函数)执行相应的云密码服务,以及产生相应的云密码服务结果。之后,云密码服务平台对云密码服务结果进行序列化操作,并且使用量子密钥进行加密,以及将加密后已序列化的云密码服务结果发送至服务代理。服务代理在接收到加密后已序列化的云密码服务结果之后,对其进行解密并执行反序列化操作,以得到云密码服务结果。
步骤S520,终端设备接收云密码服务结果。
服务代理将云密码服务结果返回至业务应用方。即终端设备可以接收到云密码服务结果。
通过上述步骤的实施,可以有效解决现有技术中独立云密码服务场景下,由于密码使用者和密码服务提供者不在一个安全域内,使用者需要跨越互联网进行远程调用,其接入安全和通信安全性不易保证的问题。
若结合图2所示,以云原生密码服务场景为例,整个云密码服务通信方法的具体流程与独立云密码服务场景下的云密码服务通信方法的具体流程相似,故在此不再赘述。两者不同场景下的云密码服务通信方法的具体流程的差别主要在于,云原生密码服务场景下的具体流程是发生在云密码服务厂商所提供的不同云计算中心(IDC机房)之间,并且由分布在不同云服务中心的应用业务软件统一访问和使用集成建设或富余的密码资源,从而实现密码资源的安全共享。这样,能够有效解决如下的现有技术所存在的问题:在云原生密码服务场景下,云计算为分布式建设的,而且实际IDC机房的建设具有地域之分,加之现有云密码服务厂商所提供的密码服务在面对跨地域的情况是无法互通。
因此,本申请通过云密码服务代理与云密码服务配对,并且使用量子密钥来实现远程通信的安全,从而能够给云密码服务带来安全增益。此外,对于云原生密钥服务,通过安全性的提升,能够进一步提高密码资源的利用率,降低建设成本,从而更加符合云的理念。
为了更好地实施以上方法,本申请的一实施例提供了一种云密码服务通信装置1000,如图11所示,所述装置1000包括:第一发送单元1100和第一接收单元1200。
在本实施例中,第一发送单元1100和第一接收单元1200可以设置于终端设备中。当然,这些单元(或模块)也可以不限于集成在终端设备中。
第一发送单元1100用于发送云密码服务请求至预设的服务代理,其中所述云密码服务请求包括业务应用的调用会话;所述服务代理用于基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果至服务代理。
具体地,当终端设备运行一特定的业务应用时,需要基于云计算资源,才能够获得相应的服务。为了提高云计算及相应服务的安全性,在此过程中,通过第一发送单元1100发送云密码服务请求至预设的服务代理。其中,云密码服务请求包括业务应用的调用会话。需说明的是,本文所描述的调用会话可以为多次通信交互的集合。也就是说,调用会话包括至少一个通信交互。每一个通信交互可以包括至少一个函数。这样,可以以通信交互为单位来形成调用会话,也可以以函数为单位来形成调用会话。
所述服务代理用于基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话;以及在加密完成之后,将加密后的调用会话发送至云密码服务平台。如上文所述,调用会话可以包括至少一个通信交互。每一个通信交互可以包括至少一个函数。因此,在本申请的一些实施例中,调用会话的加密可以是指对通信交互的加密,在另一些实施例中,调用会话的加密也可以是指对函数的加密。关于具体要加密何种对象是基于预设的安全等级而确定的。在本实施例中,通过加密函数以完成对调用会话的加密。
所述云密码服务平台用于对加密后的调用会话进行解密,并且执行相应的云密码服务;以及当执行完云密码服务之后,产生相应的云密码服务结果,并且将该云密码服务结果反馈至服务代理。
第一接收单元1200用于接收云密码服务结果。
具体地,通过第一接收单元1200接收来自从云密码服务平台所反馈的且经由服务代理转发的云密码服务结果。终端设备可以基于云密码服务结果完成相应的业务应用,也可以基于云密码服务结果进行后续的业务应用。
本申请另一实施例还提供了一种云密码服务通信装置2000,如图12所示,所述装置2000包括:第二接收单元2100、加密单元2200、第二发送单元2300、第三接收单元2400、解密单元2500及第三发送单元2600。
在本实施例中,第二接收单元2100、加密单元2200、第二发送单元2300、第三接收单元2400、解密单元2500和第三发送单元2600可以设置于服务代理所在的同一终端设备中。当然,这些单元(或模块)也可以不限于设于终端设备中。
第二接收单元2100,用于接收终端设备所发送的云密码服务请求,其中所述云密码服务请求包括业务应用的调用会话。具体地,通过第二接收单元2100,可以使服务代理接收到终端设备所发送的云密码服务请求,所述云密码服务请求包括业务应用的调用会话,所述调用会话可以包括至少一通信交互,每一所述通信交互包括至少一函数。
加密单元2200,用于基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话。
第二发送单元2300,用于发送加密后的调用会话至云密码服务平台,其中所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果。
第三接收单元2400,用于接收所述云密码服务平台所反馈的云密码服务结果。
解密单元2500,用于基于所述云密码服务结果,并使用量子密钥进行解密。具体地,通过解密单元2500,使用与QKD网络所提供的相应的量子密钥对已加密的云密码服务结果进行解密。
第三发送单元2600,用于发送解密后的云密码服务结果至终端设备。
本申请另一实施例还提供了一种云密码服务通信装置3000,如图13所示,所述装置3000包括:第四接收单元3100、执行单元3200和第四发送单元3300。
在本实施例中,第四接收单元3100、执行单元3200和第四发送单元3300可以设置于服务器设备中,当然也不限于此。
第四接收单元3100,用于接收服务代理所发送的已加密的调用会话。其中,所述服务代理用于接收终端设备所发送的云密码服务请求,其中所述云密码服务请求包括业务应用的调用会话。
执行单元3200,用于基于所接收的已加密的调用会话,执行相应的服务,以生成云密码服务结果。具体地,在通过第四接收单元3100接收到服务代理所发送的已加密的调用会话之后,可以通过QKD网络所提供的量子密钥对已加密的调用会话进行解密,并且通过执行单元3200,对解密后的调用会话,执行相应的服务,并且生成云密码服务结果。
第四发送单元3300,用于反馈云密码服务结果至服务代理。
本申请所述云密码服务通信装置通过上述模块或单元的配合使用,可以实现云密码服务代理与云密码服务的配对,并且通过使用量子密钥来实现远程通信的安全,从而能够给云密码服务带来安全增益。
此外,在本申请的一实施例中,还提供了一种电子设备5000。上述如图11至图13所示的云密码服务通信装置可集成于该电子设备5000中。当电子设备5000为终端设备时,如图11和图12所示的云密码服务通信装置可以集成在该终端设备中。当电子设备5000为服务设备时,如图13所示的云密码服务通信装置可以集成在该服务器设备中。电子设备5000的具体功能可参阅上述云密码服务通信装置的描述,在此不再赘述。
进一步地,电子设备5000可以包括至少一个处理器5100和至少一个存储器5200。本领域技术人员可以理解,图14中所示出的电子设备5000并不构成对电子设备5000的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器5100是电子设备5000的控制中心,通过运行或执行存储在存储器5200内的软件程序和/或模块,以及调用存储在存储器5200内的数据,执行电子设备5000的各种功能和处理数据,从而对电子设备5000进行整体监控。可选的,处理器5100可包括一个或多个处理核心。可选地,处理器5100可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器5100中。
存储器5200可用于存储软件程序以及模块,处理器5100通过运行存储在存储器5200的软件程序以及模块,从而执行各种功能应用以及数据处理,以实现各种功能,比如:
发送云密码服务请求至预设的服务代理,其中所述云密码服务请求包括业务应用的调用会话;所述服务代理用于基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果至服务代理;
接收云密码服务结果。
又比如:
接收终端设备所发送的云密码服务请求,其中所述云密码服务请求包括业务应用的调用会话;
基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;其中所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果;
接收所述云密码服务平台所反馈的云密码服务结果;
基于所述云密码服务结果,并使用量子密钥进行解密,以发送解密后的云密码服务结果至终端设备。
又比如:
接收服务代理所发送的已加密的调用会话;其中,所述服务代理用于接收终端设备所发送的云密码服务请求,其中所述云密码服务请求包括业务应用的调用会话;
基于所接收的已加密的调用会话,执行相应的服务,以生成云密码服务结果;
反馈云密码服务结果至服务代理。
本领域普通技术人员可以理解,上述实施例所述方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器5100进行加载和执行。
为此,本申请实施例提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行本申请任一实施例所述的云密码服务通信方法。例如,该计算机程序可以执行如下步骤:
发送云密码服务请求至预设的服务代理,其中所述云密码服务请求包括业务应用的调用会话;所述服务代理用于基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果至服务代理;
接收云密码服务结果。
或者,该计算机程序可以执行如下步骤:
接收终端设备所发送的云密码服务请求,其中所述云密码服务请求包括业务应用的调用会话;
基于调用会话,并通过使用与调用会话相关的量子密钥加密调用会话,以及发送加密后的调用会话至云密码服务平台;其中所述云密码服务平台用于对加密后的调用会话进行解密并执行相应的云密码服务,以及反馈相应的云密码服务结果;
接收所述云密码服务平台所反馈的云密码服务结果;
基于所述云密码服务结果,并使用量子密钥进行解密,以发送解密后的云密码服务结果至终端设备。
或者,该计算机程序可以执行如下步骤:
接收服务代理所发送的已加密的调用会话;其中,所述服务代理用于接收终端设备所发送的云密码服务请求,其中所述云密码服务请求包括业务应用的调用会话;
基于所接收的已加密的调用会话,执行相应的服务,以生成云密码服务结果;
反馈云密码服务结果至服务代理。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请任一实施例所提供的一种云密码服务通信方法中的步骤,因此,可以实现本申请任一实施例所提供的一种云密码服务通信方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种云密码服务通信方法、装置、电子设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。