CN109831464A - 用于解密数据的方法和装置 - Google Patents
用于解密数据的方法和装置 Download PDFInfo
- Publication number
- CN109831464A CN109831464A CN201910257008.9A CN201910257008A CN109831464A CN 109831464 A CN109831464 A CN 109831464A CN 201910257008 A CN201910257008 A CN 201910257008A CN 109831464 A CN109831464 A CN 109831464A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- random number
- session
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本公开的实施例公开了用于解密数据的方法和装置。该方法的一具体实施方式包括:获取客户端和服务器在会话中的加密数据;基于预先生成的会话密钥,对加密数据进行解密,得到解密数据;其中,会话密钥按照如下密钥生成步骤生成:响应于检测到握手数据,从握手数据中提取出客户端随机数、服务器随机数以及加密套件;根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥;基于客户端随机数、服务器随机数、加密套件和主密钥,生成会话密钥。该实施方式有助于实现对客户端和服务器在会话过程中传输的加密数据进行解密。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体涉及用于解密数据的方法和装置。
背景技术
在客户端与服务器进行数据交互的过程中,为了保障网络数据传输安全,通常对所需传输的数据先进行加密再传输。
在一些场景中,需要对网络中传输的数据进行检测,以确保通信安全。例如可以通过监控服务器解析网络中传输数据并验证数据的安全性。而客户端与服务器之间传输的数据为加密数据,监控服务器需要对加密数据进行解密。
发明内容
本公开的实施例提出了用于解密数据的方法和装置。
第一方面,本公开的实施例提供了一种用于解密数据的方法,该方法包括:获取客户端和服务器在会话中的加密数据;基于预先生成的会话密钥,对加密数据进行解密,得到解密数据;其中,会话密钥按照如下密钥生成步骤生成:响应于检测到握手数据,从握手数据中提取出客户端随机数、服务器随机数以及加密套件;根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥;基于客户端随机数、服务器随机数、加密套件和主密钥,生成会话密钥。
在一些实施例中,根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥之前,密钥生成步骤还包括:向会话缓存服务器发送鉴权信息,其中,会话缓存服务器在基于鉴权信息确定授予访问权限后反馈根据客户端随机数和服务器随机数查找到的对应的主密钥。
在一些实施例中,该方法还包括:响应于确定距离上一次获取到加密数据的时间间隔大于预先设定的间隔阈值,删除会话密钥。
在一些实施例中,该方法还包括:确定解密数据的哈希值;响应于确定解密数据的哈希值与解密数据中记录的验证用哈希值不匹配,删除解密数据。
在一些实施例中,该方法还包括:响应于确定解密数据为攻击报文数据,生成对应于攻击报文数据的报警信息,将报警信息和解密数据发送至目标服务器。
第二方面,本公开的实施例提供了一种用于解密数据的装置,该装置包括:获取单元,被配置成获取客户端和服务器在会话中的加密数据;解密单元,被配置成基于预先生成的会话密钥,对加密数据进行解密,得到解密数据;其中,会话密钥按照如下密钥生成步骤生成:响应于检测到握手数据,从握手数据中提取出客户端随机数、服务器随机数以及加密套件;根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥;基于客户端随机数、服务器随机数、加密套件和主密钥,生成会话密钥。
在一些实施例中,密钥生成步骤还包括:向会话缓存服务器发送鉴权信息,其中,会话缓存服务器在基于鉴权信息确定授予访问权限后反馈根据客户端随机数和服务器随机数查找到的对应的主密钥。
在一些实施例中,该装置还包括:删除单元,被配置成响应于确定距离上一次获取到加密数据的时间间隔大于预先设定的间隔阈值,删除会话密钥。
在一些实施例中,该装置还包括:校验单元,被配置成确定解密数据的哈希值;响应于确定解密数据的哈希值与解密数据中记录的验证用哈希值不匹配,删除解密数据。
在一些实施例中,该装置还包括:发送单元,被配置成响应于确定解密数据为攻击报文数据,生成对应于攻击报文数据的报警信息,将报警信息和解密数据发送至目标服务器。
第三方面,本公开的实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当该一个或多个程序被该一个或多个处理器执行,使得该一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本公开的实施例提供的用于解密数据的方法和装置,可以获取客户端和服务器在会话中的加密数据,然后,基于预先生成的会话密钥,对加密数据进行解密,得到解密数据。其中,会话密钥按照如下密钥生成步骤生成:首先,响应于检测到握手数据,从握手数据中提取出客户端随机数、服务器随机数以及加密套件,然后,根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥,最后,基于客户端随机数、服务器随机数、加密套件和主密钥,生成会话密钥。本公开的实施例提供的方法和装置,通过会话缓存服务器来缓存主密钥,在获取到加密数据后通过会话缓存服务器中获取的主密钥生成会话密钥从而完成加密数据的解密。由于会话缓存服务器仅对主密钥进行临时存储,由此可以降低遭到攻击时密钥泄露的风险,从而保证网络数据的稳定传输。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的用于解密数据的方法的一个实施例的流程图;
图3是根据本公开的实施例的用于解密数据的方法的一个应用场景的示意图;
图4是根据本公开的用于解密数据的方法的又一个实施例的流程图;
图5是根据本公开的用于解密数据的装置的一个实施例的结构示意图;
图6是适于用来实现本公开的实施例的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的实施例的用于解密数据的方法或用于解密数据的装置的示例性系统架构100。
如图1所示,系统架构100可以包括客户端101、服务器102、监控服务器103和网络104。网络104用以在客户端101和服务器102之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
客户端101可以通过网络104与服务器102进行交互,以接收或发送信息等。客户端101可以是硬件,也可以是软件。当客户端101为硬件时,可以是支持加密通信功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当客户端101为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。客户端101可以将加密数据发送给服务器102,也可以接收服务器102发送的加密数据并对所接收到的加密数据进行解密。
服务器102可以通过网络104与客户端101交互,以接收发发送信息等。服务器102可以实现成提供各种服务的分布式服务器集群,也可以实现成单个服务器。例如,对客户端101发送的加密数据进行响应的服务器。
监控服务器103可以通过旁路监听方式,离线获取服务器102和客户端101在会话过程中传输的数据。监控服务器103可以是硬件,也可以是软件。当监控服务器103为硬件时,可以实现成提供各种数据处理服务的分布式服务器集群,也可以实现成单个服务器。例如,对所监听到的、客户端和服务器在会话中的加密数据进行解密的服务器。监控服务器103可以获取到客户端101和服务器102在会话中的加密数据,然后,基于预先生成的会话密钥,对加密数据进行解密,得到解密数据。
需要说明的是,本公开的实施例所提供的用于解密数据的方法一般由监控服务器103执行,相应地,用于解密数据的装置一般设置于监控服务器103中。
应该理解,图1中的客户端、服务器、监控服务器和网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、服务器、监控服务器和网络。
继续参考图2,示出了根据本公开的用于解密数据的方法的一个实施例的流程200。该用于解密数据的方法,包括以下步骤:
步骤201,获取客户端和服务器在会话中的加密数据。
在本实施例中,用于解密数据的方法的执行主体(例如图1所示的监控服务器103)可以通过旁路监听方式,离线获取服务器和客户端在会话过程中传输的数据。
在会话中,客户端与服务器之间通过网络进行加密数据的传输。客户端与服务器中的任一方,在将数据发送给对方之前,通常是采用所采纳的加密套件中的数据加密算法和握手过程中所确定的会话密钥,对所需发送的数据进行加密。接收到加密数据的一方,也通常是采用所采纳的加密套件中的数据解密算法和握手过程中所确定的会话密钥对所接收到的加密数据进行解密。客户端与服务器之间传输的数据可以是用于交互的各种数据。
其中,上述会话通常是指客户端和服务器进行通信的过程。一个会话通常维持一组参数。其中,上述参数可以为客户端随机数、会话身份标识、客户端所支持的加密套件、服务器所采纳的加密套件、服务器随机数、主密钥、会话密钥、公钥、私钥等。
会话通常是通过握手数据来创建。需要指出的是,客户端与服务器之间通常是通过如下方式创建会话:
第一步,客户端向服务器发送握手发起数据(Client_Hello)。其中,握手发起数据中通常包括:客户端所支持的安全套接层(Secure Sockets Layer,SSL)版本信息、客户端随机数(Client Random)、会话身份标识(IDentity,ID)、客户端所支持的加密套件等。其中,加密套件中通常包括密钥交换算法、签名认证算法、数据加密算法、消息认证码(Message Authentication Code,MAC)算法等。
第二步,服务器接收到客户端发送的握手发起数据,并针对所接收到的握手发起数据发送握手响应数据(Server Hello)。其中,握手响应数据中通常包括:服务器所采纳的SSL版本信息、服务器随机数(Server Random)、会话ID、服务器所采纳的加密套件、携带有服务器的公钥的数字证书等。
第三步,客户端接收到握手响应数据后,采用数字证书中的公钥验证服务器的身份,在验证身份有效后,随机生成一个新的随机数,即预主密钥(Premaster Secret)。再采用上述公钥对上述预主密钥加密,以及将加密后的预主密钥发送给服务器。
第四步,服务器采用私钥对所获取到的、加密后的预主密钥进行解密,得到解密后的预主密钥,作为主密钥。
第五步,服务器和客户端都基于所采纳的加密套件中所约定的加密算法,采用客户端随机数、服务器随机数和主密钥,生成会话密钥(Session Key)。
这样,就完成了会话的创建。其中,上述会话密钥通常用于对会话过程中的数据进行加密或解密。
步骤202,基于预先生成的会话密钥,对加密数据进行解密,得到解密数据。
在本实施例中,执行主体可以采用预先生成的会话密钥,对所获取的会话中的加密数据进行解密,以得到解密数据。
其中,会话密钥按照如下密钥生成步骤生成:
步骤210,响应于检测到握手数据,从握手数据中提取出客户端随机数、服务器随机数以及加密套件。
这里,执行主体可以通过旁路监听的方式获取到客户端与服务器之间传输的所有数据。在获取到客户端向服务器发送的握手发起数据时,执行主体可以认为检测到握手数据。此时,执行主体可以从握手发起数据中提取客户端随机数。之后从所获取的、服务器针对上述握手发起数据反馈的握手响应数据中,提取服务器随机数以及服务器所采纳的加密套件。
需要指出的是,本实施例中,通过旁路监听客户端与服务器间所传输的数据的方式,不需要接入到客户端与服务器之间的通信链路,几乎不会对客户端与服务器之间的数据传输造成影响。可以实现在保障数据传输稳定性的同时,检测客户端与服务器之间所传输的数据的安全性。
步骤211,根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥。
其中,上述会话缓存服务器通常是用于提供会话缓存服务的服务器。会话缓存服务器中可以缓存上述服务器在握手过程中写入的客户端随机数、服务器随机数和主密钥。其中,会话缓存服务器中通常是一对客户端随机数、服务器随机数与一个主密钥关联存储。这样,执行主体可以采用所提取的客户端随机数和服务器随机数,从会话缓存服务器中查找到所关联的主密钥。
需要指出的是,会话缓存服务器可以在创建会话时创建主密钥、客户端随机数和服务器随机数之间的对应关系并缓存,会话缓存服务器中所缓存的数据通常会在较短的时间内自动删除,可以降低数据泄露的风险。
步骤212,基于客户端随机数、服务器随机数、加密套件和主密钥,生成会话密钥。
这里,可以采用所采纳的加密套件中所约定的加密算法,将客户端随机数、服务器随机数和主密钥,生成会话密钥。其中,上述所采纳的加密套件通常是指客户端与服务器之间确定的、共同使用的加密套件。上述所约定的加密算法,可以是技术人员预先设定的加密算法。作为示例,上述所约定的加密算法可以包括但不限于以下至少一项:流加密(streamcipher)算法、分组加密(block cipher)算法、安全哈希算法-1(Secure Hash Algorithm-1,SHA-1)等。
在本实施例的一些可选的实现方式中,根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥之前,密钥生成步骤还包括:向会话缓存服务器发送鉴权信息。
其中,会话缓存服务器在基于鉴权信息确定授予访问权限后反馈根据客户端随机数和服务器随机数查找到的对应的主密钥。
本实现方式中,为了保障所缓存的数据的安全性,会话缓存服务器通常可以设置访问权限。此时,执行主体在采用所提取的客户端随机数和服务器随机数从会话缓存服务器中查找对应的主密钥之前,需要先向会话缓存服务器发送鉴权信息,以获得会话缓存服务器的访问权限。其中,上述鉴权信息可以包括监控服务器的用户名和密码。
另外,在接收到执行主体所发送的鉴权信息后,会话缓存服务器可以将上述鉴权信息与预先存储的鉴权信息进行比较,若预先存储的鉴权信息中存在与所接收到的鉴权信息相同的鉴权信息,则认为可以授予访问权限。
在被授予访问权限后,执行主体可以获取根据客户端随机数和服务器随机数查找到的主密钥。
在本实施例的一些可选的实现方式中,上述用于解密数据的方法还可以包括如下步骤:响应于确定距离上一次获取到加密数据的时间间隔大于预先设定的间隔阈值,删除会话密钥。
本实现方式中,在距离上一次获取到加密数据的时间间隔大于间隔阈值时,通常可以认为当前的会话已结束。此时,执行主体可以将所存储的对应于当前的会话的会话密钥删除。
需要指出的是,执行主体可以在会话的过程中存储所生成的对应于会话的会话密钥。在会话结束后,将所存储的会话密钥删除,以节省存储空间。另外,由于执行主体通常是在离线状态下采用所存储的会话密钥对所获取的加密数据进行解密,不与网络连接,由此降低了上述执行主体被攻击时会话密钥被泄露的风险。
在本实施例的一些可选的实现方式中,上述用于解密数据的方法还可以包括如下步骤:确定解密数据的哈希值。响应于确定解密数据的哈希值与解密数据中记录的验证用哈希值不匹配,删除解密数据。
本实现方式中,执行主体可以将上述解密数据输入哈希函数,从而计算得到该解密数据的哈希值。在解密数据的哈希值与解密数据中记录的验证用哈希值不匹配时,可以认为该解密数据可能被篡改过。此时,执行主体可以将该解密数据删除。
继续参见图3,图3是根据本实施例的用于解密数据的方法的应用场景300的一个示意图。在图3的应用场景中,客户端301向服务器302发送加密数据data1。
此时,监控服务器303可以通过旁路监听的方式获取到加密数据data1。以及采用预先生成的会话密钥key1,对加密数据data1解密,得到解密数据data1-X。
其中,会话密钥key1按照如下密钥生成步骤生成:
客户端301与服务器302进行握手时,服务器303可以通过旁路监听方式获取到握手数据。并从握手数据中提取出客户端随机数S1、服务器随机数S2和所采纳的加密套件T。
然后,服务器303可以采用客户端随机数S1、服务器随机数S2,从会话缓存服务器304中查找对应的主密钥S3。
最后,服务器303采用加密套件T中所约定的加密算法,将客户端随机数S1、服务器随机数S2和主密钥S3,生成会话密钥key1。
本公开的上述实施例提供的用于解密数据的方法,可以获取客户端和服务器在会话中的加密数据,然后,基于预先生成的会话密钥,对加密数据进行解密,得到解密数据。其中,会话密钥按照如下密钥生成步骤生成:首先,响应于检测到握手数据,从握手数据中提取出客户端随机数、服务器随机数以及加密套件,然后,根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥,最后,基于客户端随机数、服务器随机数、加密套件和主密钥,生成会话密钥。本实施例的方法,通过会话缓存服务器来缓存主密钥,在获取到加密数据后通过会话缓存服务器中获取的主密钥生成会话密钥从而完成加密数据的解密。由于会话缓存服务器仅对主密钥进行临时存储,由此可以降低遭到攻击时密钥泄露的风险,从而保证网络数据的稳定传输。
进一步参考图4,其示出了用于解密数据的方法的又一个实施例的流程400。该用于解密数据的方法的流程400,包括以下步骤:
步骤401,获取客户端和服务器在会话中的加密数据。
步骤402,基于预先生成的会话密钥,对加密数据进行解密,得到解密数据。
其中,会话密钥按照如下密钥生成步骤生成:
第一步,响应于检测到握手数据,从握手数据中提取出客户端随机数、服务器随机数以及加密套件。
第二步,根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥。
第三步,基于客户端随机数、服务器随机数、加密套件和主密钥,生成会话密钥。
在本实施例中,步骤401-402的具体操作与图2所示的实施例中步骤201-202的操作相同,在此不再赘述。
步骤403,响应于确定解密数据为攻击报文数据,生成对应于攻击报文数据的报警信息,将报警信息和解密数据发送至目标服务器。
其中,上述攻击报文数据通常是指通过占用主机的网络接入带宽或系统资源,以使主机不能正常运行的报文数据。其中,上述主机可以是服务器。
在本实施例中,执行主体可以通过对上述解密数据中的指令进行分析,来确定上述解密数据是否为攻击报文数据。其中,执行主体可以是一次对一条指令进行分析,也可以一次对多条指令进行分析,还可以一次对上述解密数据中的所有指令一起进行分析。需要指出的是,指令中通常可以包括:数据和地址信息中的至少一者。可选地,执行主体可以将符合预设条件的指令所对应的解密数据确定为攻击报文数据。作为示例,若指令中,满足目标地址和源地址相同,则可以认为该指令对应的解密数据为攻击报文数据。作为另一示例,若连续的多条指令中,均满足目标地址和源地址相同,则可以认为该多条指令对应的解密数据为攻击报文数据。
在确定上述解密数据为攻击报文数据后,执行主体可以生成报警信息,以及将报警信息和上述解密数据一起发送至目标服务器。
其中,上述报警信息可以是用于报警的各种信息。上述目标服务器可以是预先设定的用于对攻击报文数据进行响应的服务器。作为示例,上述目标服务器可以是针对攻击报文数据修复上述服务器的漏洞的服务器。
从图4中可以看出,本实施例中的用于解密数据的方法的流程400增加将属于攻击报文数据的解密数据与报警信息发送给目标服务器的步骤。由此,本实施例描述的方案可以通过将攻击报文数据和报警信息发送给目标服务器,实现提醒目标服务器及时对攻击报文数据进行响应,有助于保障网络安全。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种用于解密数据的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于解密数据的装置500包括:获取单元501,被配置成获取客户端和服务器在会话中的加密数据;解密单元502,被配置成基于预先生成的会话密钥,对加密数据进行解密,得到解密数据;其中,会话密钥按照如下密钥生成步骤生成:响应于检测到握手数据,从握手数据中提取出客户端随机数、服务器随机数以及加密套件;根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥;基于客户端随机数、服务器随机数、加密套件和主密钥,生成会话密钥。
在本实施例的一些可选的实现方式中,密钥生成步骤还包括:向会话缓存服务器发送鉴权信息。其中,会话缓存服务器在基于鉴权信息确定授予访问权限后反馈根据客户端随机数和服务器随机数查找到的对应的主密钥。
在本实施例的一些可选的实现方式中,该装置还可以包括删除单元(图中未示出)。其中,删除单元可以被配置成响应于确定距离上一次获取到加密数据的时间间隔大于预先设定的间隔阈值,删除会话密钥。
在本实施例的一些可选的实现方式中,该装置还可以包括校验单元(图中未示出)。其中,校验单元可以被配置成确定解密数据的哈希值。响应于确定解密数据的哈希值与解密数据中记录的验证用哈希值不匹配,删除解密数据。
在本实施例的一些可选的实现方式中,该装置还可以包括发送单元(图中未示出)。其中,发送单元可以被配置成响应于确定解密数据为攻击报文数据,生成对应于攻击报文数据的报警信息,将报警信息和解密数据发送至目标服务器。
本公开的上述实施例提供的装置,获取单元501获取客户端和服务器在会话中的加密数据。之后,解密单元502基于预先生成的会话密钥,对加密数据进行解密,得到解密数据。其中,会话密钥按照如下密钥生成步骤生成:首先,响应于检测到握手数据,从握手数据中提取出客户端随机数、服务器随机数以及加密套件。然后,根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥。最后,基于客户端随机数、服务器随机数、加密套件和主密钥,生成会话密钥。本实施例的装置,通过会话缓存服务器来缓存主密钥,在获取到加密数据后通过会话缓存服务器中获取的主密钥生成会话密钥从而完成加密数据的解密。由于会话缓存服务器仅对主密钥进行临时存储,由此可以降低遭到攻击时密钥泄露的风险,从而保证网络数据的稳定传输。
下面参考图6,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的监控服务器)600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理单元(CPU)、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取客户端和服务器在会话中的加密数据;基于预先生成的会话密钥,对加密数据进行解密,得到解密数据;其中,会话密钥按照如下密钥生成步骤生成:响应于检测到握手数据,从握手数据中提取出客户端随机数、服务器随机数以及加密套件;根据客户端随机数和服务器随机数,从会话缓存服务器中查找到对应的主密钥;基于客户端随机数、服务器随机数、加密套件和主密钥,生成会话密钥。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元和解密单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取客户端和服务器在会话中的加密数据的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种用于解密数据的方法,包括:
获取客户端和服务器在会话中的加密数据;
基于预先生成的会话密钥,对所述加密数据进行解密,得到解密数据;
其中,所述会话密钥按照如下密钥生成步骤生成:
响应于检测到握手数据,从所述握手数据中提取出客户端随机数、服务器随机数以及加密套件;
根据所述客户端随机数和所述服务器随机数,从会话缓存服务器中查找到对应的主密钥;
基于所述客户端随机数、所述服务器随机数、所述加密套件和所述主密钥,生成所述会话密钥。
2.根据权利要求1所述的方法,其中,所述根据所述客户端随机数和所述服务器随机数,从会话缓存服务器中查找到对应的主密钥之前,所述密钥生成步骤还包括:
向所述会话缓存服务器发送鉴权信息,其中,所述会话缓存服务器在基于所述鉴权信息确定授予访问权限后反馈根据所述客户端随机数和所述服务器随机数查找到的对应的主密钥。
3.根据权利要求1所述的方法,其中,所述方法还包括:
响应于确定距离上一次获取到加密数据的时间间隔大于预先设定的间隔阈值,删除所述会话密钥。
4.根据权利要求1所述的方法,其中,所述方法还包括:
确定所述解密数据的哈希值;
响应于确定所述解密数据的哈希值与所述解密数据中记录的验证用哈希值不匹配,删除所述解密数据。
5.根据权利要求1-4之一所述的方法,其中,所述方法还包括:
响应于确定所述解密数据为攻击报文数据,生成对应于所述攻击报文数据的报警信息,将所述报警信息和所述解密数据发送至目标服务器。
6.一种用于解密数据的装置,包括:
获取单元,被配置成获取客户端和服务器在会话中的加密数据;
解密单元,被配置成基于预先生成的会话密钥,对所述加密数据进行解密,得到解密数据;
其中,所述会话密钥按照如下密钥生成步骤生成:
响应于检测到握手数据,从所述握手数据中提取出客户端随机数、服务器随机数以及加密套件;
根据所述客户端随机数和所述服务器随机数,从会话缓存服务器中查找到对应的主密钥;
基于所述客户端随机数、所述服务器随机数、所述加密套件和所述主密钥,生成所述会话密钥。
7.根据权利要求6所述的装置,其中,所述密钥生成步骤还包括:
向所述会话缓存服务器发送鉴权信息,其中,所述会话缓存服务器在基于所述鉴权信息确定授予访问权限后反馈根据所述客户端随机数和所述服务器随机数查找到的对应的主密钥。
8.根据权利要求6所述的装置,其中,所述装置还包括:
删除单元,被配置成响应于确定距离上一次获取到加密数据的时间间隔大于预先设定的间隔阈值,删除所述会话密钥。
9.根据权利要求6所述的装置,其中,所述装置还包括校验单元,被配置成:
确定所述解密数据的哈希值;
响应于确定所述解密数据的哈希值与所述解密数据中记录的验证用哈希值不匹配,删除所述解密数据。
10.根据权利要求6-9之一所述的装置,其中,所述装置还包括:
发送单元,被配置成响应于确定所述解密数据为攻击报文数据,生成对应于所述攻击报文数据的报警信息,将所述报警信息和所述解密数据发送至目标服务器。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910257008.9A CN109831464A (zh) | 2019-04-01 | 2019-04-01 | 用于解密数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910257008.9A CN109831464A (zh) | 2019-04-01 | 2019-04-01 | 用于解密数据的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109831464A true CN109831464A (zh) | 2019-05-31 |
Family
ID=66873926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910257008.9A Pending CN109831464A (zh) | 2019-04-01 | 2019-04-01 | 用于解密数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109831464A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336666A (zh) * | 2019-07-17 | 2019-10-15 | 武汉信安珞珈科技有限公司 | 一种增强ssl/tls协议中随机数随机性的方法 |
CN110380852A (zh) * | 2019-07-22 | 2019-10-25 | 中国联合网络通信集团有限公司 | 双向认证方法及通信系统 |
CN110492998A (zh) * | 2019-08-14 | 2019-11-22 | 郑州大学 | 加解密数据的方法 |
CN112217833A (zh) * | 2020-10-21 | 2021-01-12 | 新华三信息安全技术有限公司 | 一种安全套接字协议卸载方法、装置、存储介质及电子设备 |
CN113378211A (zh) * | 2020-03-10 | 2021-09-10 | 百度在线网络技术(北京)有限公司 | 用于保护数据的方法和装置 |
CN114500098A (zh) * | 2022-03-03 | 2022-05-13 | 广州市智荟环保有限公司 | 一种验证方法、装置和计算机设备及可读存储介质 |
CN114726558A (zh) * | 2020-12-21 | 2022-07-08 | 航天信息股份有限公司 | 认证方法、装置、电子设备和存储介质 |
CN115296934A (zh) * | 2022-10-08 | 2022-11-04 | 北京安帝科技有限公司 | 基于工控网络入侵的信息传输方法、装置、电子设备 |
CN115883245A (zh) * | 2022-12-23 | 2023-03-31 | 北京火山引擎科技有限公司 | 一种数据解密方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702611A (zh) * | 2015-03-15 | 2015-06-10 | 西安电子科技大学 | 一种保护安全套接层会话密钥的设备及方法 |
CN106059986A (zh) * | 2015-04-22 | 2016-10-26 | 阿里巴巴集团控股有限公司 | Ssl会话重用的方法和服务器 |
CN106790090A (zh) * | 2016-12-23 | 2017-05-31 | 北京奇虎科技有限公司 | 基于ssl的通信方法、装置及系统 |
US20170214671A1 (en) * | 2016-01-26 | 2017-07-27 | befine Solutions AG | Method for encrypting and decrypting data with a one-time-key |
-
2019
- 2019-04-01 CN CN201910257008.9A patent/CN109831464A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702611A (zh) * | 2015-03-15 | 2015-06-10 | 西安电子科技大学 | 一种保护安全套接层会话密钥的设备及方法 |
CN106059986A (zh) * | 2015-04-22 | 2016-10-26 | 阿里巴巴集团控股有限公司 | Ssl会话重用的方法和服务器 |
US20170214671A1 (en) * | 2016-01-26 | 2017-07-27 | befine Solutions AG | Method for encrypting and decrypting data with a one-time-key |
CN106790090A (zh) * | 2016-12-23 | 2017-05-31 | 北京奇虎科技有限公司 | 基于ssl的通信方法、装置及系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336666A (zh) * | 2019-07-17 | 2019-10-15 | 武汉信安珞珈科技有限公司 | 一种增强ssl/tls协议中随机数随机性的方法 |
CN110336666B (zh) * | 2019-07-17 | 2022-08-05 | 武汉信安珞珈科技有限公司 | 一种增强ssl/tls协议中随机数随机性的方法 |
CN110380852A (zh) * | 2019-07-22 | 2019-10-25 | 中国联合网络通信集团有限公司 | 双向认证方法及通信系统 |
CN110492998A (zh) * | 2019-08-14 | 2019-11-22 | 郑州大学 | 加解密数据的方法 |
CN113378211A (zh) * | 2020-03-10 | 2021-09-10 | 百度在线网络技术(北京)有限公司 | 用于保护数据的方法和装置 |
CN112217833A (zh) * | 2020-10-21 | 2021-01-12 | 新华三信息安全技术有限公司 | 一种安全套接字协议卸载方法、装置、存储介质及电子设备 |
CN112217833B (zh) * | 2020-10-21 | 2022-03-25 | 新华三信息安全技术有限公司 | 一种安全套接字协议卸载方法、装置、存储介质及电子设备 |
CN114726558A (zh) * | 2020-12-21 | 2022-07-08 | 航天信息股份有限公司 | 认证方法、装置、电子设备和存储介质 |
CN114726558B (zh) * | 2020-12-21 | 2024-05-28 | 航天信息股份有限公司 | 认证方法、装置、电子设备和存储介质 |
CN114500098A (zh) * | 2022-03-03 | 2022-05-13 | 广州市智荟环保有限公司 | 一种验证方法、装置和计算机设备及可读存储介质 |
CN115296934A (zh) * | 2022-10-08 | 2022-11-04 | 北京安帝科技有限公司 | 基于工控网络入侵的信息传输方法、装置、电子设备 |
CN115883245A (zh) * | 2022-12-23 | 2023-03-31 | 北京火山引擎科技有限公司 | 一种数据解密方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109831464A (zh) | 用于解密数据的方法和装置 | |
CN108632284B (zh) | 基于区块链的用户数据授权方法、介质、装置和计算设备 | |
WO2022206349A1 (zh) | 一种信息验证的方法、相关装置、设备以及存储介质 | |
US9959413B2 (en) | Security and data privacy for lighting sensory networks | |
US20220191012A1 (en) | Methods For Splitting and Recovering Key, Program Product, Storage Medium, and System | |
CN106686008B (zh) | 信息存储方法及装置 | |
CN109802940A (zh) | 区块链数据库加密和解密方法、装置、设备及其存储介质 | |
CN105993146A (zh) | 不访问私钥而使用公钥密码的安全会话能力 | |
CN110492990A (zh) | 区块链场景下的私钥管理方法、装置及系统 | |
CN113132388B (zh) | 一种数据安全交互方法及系统 | |
JP2015510618A (ja) | ネットワーク安全保護方法、装置及びシステム | |
CN111062045B (zh) | 信息加密、解密方法和装置、电子设备及存储介质 | |
JP2011237822A (ja) | 中継処理装置、中継処理方法及びプログラム | |
CN112019541A (zh) | 一种数据传输方法、装置、计算机设备及存储介质 | |
CN115001841A (zh) | 一种身份认证方法、装置及存储介质 | |
CN110635901A (zh) | 用于物联网设备的本地蓝牙动态认证方法和系统 | |
WO2021088659A1 (zh) | 电子签章载入方法和装置 | |
CN112765642A (zh) | 数据处理方法、数据处理装置、电子设备及介质 | |
CN112308236A (zh) | 用于处理用户请求的方法、装置、电子设备及存储介质 | |
CN116633582A (zh) | 安全通信方法、装置、电子设备及存储介质 | |
CN112700014B (zh) | 部署联邦学习应用的方法、装置、系统和电子设备 | |
CN109841273A (zh) | 一种医疗诊断软件的一站式整合方法及装置 | |
KR101836211B1 (ko) | 전자 기기 인증 매니저 장치 | |
CN113886793A (zh) | 设备登录方法、装置、电子设备、系统和存储介质 | |
CN110825815A (zh) | 基于区块链的云笔记系统信息处理方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190531 |
|
RJ01 | Rejection of invention patent application after publication |