信道的数据处理方法和装置的制造方法_2

文档序号:9455862阅读:来源:国知局
与互联网进行通讯。
[0031]为了保证服务器和客户端之间的通信安全,通常采用https协议在服务器和客户端之间的信道中传输数据。以下结合图2对基于https协议的信道中数据传输进行说明。
[0032]①客户端向服务器发送请求。例如,请求访问某网页,或者请求进行支付等。
[0033]②服务器生成数字证书和私钥。服务器在接收到来自客户端的请求之后,生成数字证书和私钥,数字证书相当于一个锁头,私钥相当于一把钥匙,通过私钥能够解析出数字证书中锁存的数据内容。
[0034]③服务器将数字证书发送给客户端。服务器保留私钥,仅将数字证书发送给客户端,客户端可以利用该数字证书对需要发送给服务器的内容进行加密。
[0035]④客户端生成随机值,并利用数字证书对随机值加密。客户端生成一个随机值之后,利用数字证书对生成的随机值加密。由于服务器具有私钥,能够解析数字证书,因此利用数字证书对随机值加密是期望服务器能够解析出该数字证书。
[0036]⑤客户端将加密后的随机值发送给服务器。
[0037]⑥服务器解析随机值,并利用随机值对传输的数据加密服务器利用私钥解析随机值,此时服务器和客户端均知道该随机值。
[0038]⑦服务器将加密后的数据发送给客户端。此时,服务器和客户端之间的数据均可以利用随机值进行加密后进行传输。由于客户端和服务器都知道该随机值,因此利用该随机值对传输的数据进行加密后,不仅能够使得服务器和客户端都能知道对方发送的数据,而且一旦传输的数据被第三方截获,第三方由于不知道随机值,也无法解析其中的传递的数据。
[0039]通过https协议进行通信时,由于客户端和服务器之间传输的数据均为加密后的数据,首先通过证书将客户端的随机值发送给服务器,在双方均知道随机值后利用随机值对需要传输的数据进行加密,从而使得双方的通信内容都处于加密的状态,使得第三方获取通信内容时无法解析其中的数据。由于这种协议的安全性,在访问安全站点、网络交易和发送安全电子邮件等都可以采用https协议进行数据传输。
[0040]图3是根据本发明实施例的信道的数据处理方法的流程图。如图所示,该信道的数据处理方法的流程图包括如下步骤:
[0041]步骤S202,拦截来自服务器的数字证书。
[0042]在客户端向服务器发送访问请求之后,服务器生成一对公钥和私钥,公钥即数字证书,随后服务器将数字证书发送给客户端。此时,第三方拦截来自服务器的数字证书,月艮务器的数字证书则无法被客户端接收。
[0043]步骤S204,向客户端注入伪数字证书。
[0044]由于客户端在接收到数字证书之后需要对数字证书进行验证,验证通过才表示该证书与要访问的服务器相对应,客户端才信任该服务器以继续访问。例如,在登录银行系统的网站时,客户端需要首先验证服务器是否为银行系统的服务器,如果是才会继续访问,以保证通信安全。
[0045]客户端在验证数字证书时,一般通过X509TrustManager、checkClientTrusted等接口来完成。由于第三方拦截了来自客户端的数字证书,为了让客户端能够对数字证书进行响应,则向客户端注入伪数字证书,客户端在收到伪数字证书之后,认为第三方为信任的服务器,客户端与第三方建立通信,那么,客户端本应该发给服务器的请求信息都会发送到第三方。其中,伪数字证书也是数字证书,只是该伪数字证书不是来自服务器的数字证书,而是由第三方发出的数字证书。
[0046]步骤S206,拦截客户端发送给服务器的第一加密随机值,其中,第一加密随机值为利用伪数字证书对第一随机值加密生成的值。
[0047]第一随机值为客户端生成的随机值,在客户端收到伪数字证书之后,利用伪数字证书对第一随机值进行加密,得到第一加密随机值,按照图1所示的时序图,客户端本应将该第一加密随机值发送给服务器,即步骤⑤,但是在服务器收到该第一加密随机值之前,该第一加密随机值已经被第三方拦截,即服务器无法收到来自客户端的第一加密随机值。同时,由于第一加密随机值是根据伪数字证书生成,第三方在拦截到第一加密随机值后,第三方利用伪数字证书对应的私钥对第一加密随机值解密,得到第一随机值,即第三方和客户端之间可以通过第一随机值传递数据。另外,由于第一加密随机值是根据伪数字证书生成,即使第一加密随机值被发送至服务器,服务器也无法解密第一加密随机值,就无法得到第一随机值,也就无法与客户端进行数据传输。如果服务器没有收到第一随机值,也无法向客户端发送消息,为了让服务器继续发送消息,第三方还可以执行步骤S208和步骤S210。
[0048]步骤S208,获取第二加密随机值,其中,第二加密随机值为利用数字证书对第二随机值加密生成的值。
[0049]步骤S210,发送第二加密随机值至服务器。
[0050]第二随机值为第三方生成的随机值,利用拦截的数字证书对第二随机值加密得到第二加密随机值,将第二加密随机值发送给服务器,由于第二加密随机值是通过拦截的数字证书进行加密得到的,该数字证书又是服务器发出的,服务器拥有解密该第二加密随机值的私钥,因此,在收到第二加密随机值之后,服务器能够解析出第二随机值。
[0051]此时,服务器和第三方都拥有第二随机值,服务器通过第二随机值对传输的数据加密并传输给客户端时,第三方可以拦截该加密后的数据包,并利用第二随机值解密该数据包,从而得到服务器要发送给客户端的数据。并且,客户端和第三方采用第一随机值传输数据,那么,在客户端发送消息给服务器时,首先被第三方拦截并解析出其中的消息,第三方利用过第二随机值对解析出的消息重新加密后发送给服务器,服务器对客户端的消息作出响应时,利用第二随机值对响应信息加密并发送出去,这时,第三方又可以拦截服务器的响应消息并用第二随机值解密,从而第三方不仅能够获取客户端发送的消息,还能获取来自服务器的响应信息。
[0052]通过上述实施例,第三方拦截来自服务器的数字证书,并给客户端发送伪数字证书以使客户端返回服务器通过验证,并生成第一随机数,通过伪数字证书加密后的第一随机数被发送到第三方,第三方利用伪数字证书对应的私钥解密得到第一随机数,从而在客户端和第三方之间通过第一随机数传输数据。同理,第三方发送由拦截的数字证书加密的第二随机数,服务器用数字证书对应的私钥解密得到第二随机数,从而在服务器和第三方之间通过第二随机数传输数据。由于第三方不仅能够与客户端通信,还能够与服务器通信,因此,客户端和服务器之间传输的数据均能被第三方获取,从而在不获取客户端中的数字证书的情况下,就能获取服务器与客户端之间的信道中的数据,解决了现有技术中获取服务器与客户端之间信道中数据不方便的问题,达到了便于获取信道中数据的效果。
[0053]优选地,获取第二加密随机值包括:获取数字证书,其中,数字证书用于证明服务器为客户端信任的服务器。获取第二随机值。以及利用数字证书对第二随机值进行加密,得到第二加密随机值。
[0054]由于服务器需要利用客户端生成的随机值对传输的数据进行加密,因此在收到客户端的随机值之后才能触发传输数据的动作,为了触发服务器传输数据的动作,第三方生成第二随机值,并利用拦截的数字证书对第二随机值加密,从而得到第二加密随机值。
[0055]第三方生成第二加密随机值,将第二随机值通过第二加密随机值传送给服务器,使得服务器认为第三方是客户端,从而实现了第三方与服务器之间的数据是在第二随机值加密的情况下传输的,保证了数据安全,还能够让第三方获取服务器发送的数据,从而达到了在不通过客户端获取证书的情况下也能获取信道中数据的效果。
[0056]优选地,为了获取第三方期望得到的信息,在发送第二加密随机值至服务器之后,方法还包括:获取来自客户端的请求信息。修改请求信息,得到修改后的请求信息。以及将修改后的请求信息发送至服务器。
[0057]在发送第二加密随机值至服务器之后,服务器和客户端可以通过第三方进行数据传输。那么,当客户端再次向服务器发送请求信息时,首先被第三方获取,此时第三方可以利用第一随机值解密,并对解密后的请求信息进行修改,再利用第二随机值对修改后的请求信息进行加密,而后发送给服务器,这样服务器利用第二随机值解密后,即可得到修改后的请求信息。
[0058]利用第一随机值或者第二随机值进行加密时,可以采用对称加密对需要传输的数据进行加密。所谓对称加密就是将待传输的数据和私钥通过某种算法混合在一起,这样除非知道私钥,否则无法知道待传输的数据。例如,服务器在对待传输数据进行加密时,将待传输的数据和第二随机值通过某种算法混合在一起,而第三方知道该第二随机值,那么在第三方获取该混合后的数据包之后,利用第二随机值即可解密得到待传输数据。
[0059]例如,从某个客户端发出了攻击其他客户端或服务器的病毒代码,为了阻止其发送病毒代码,第三方拦截服务器的数字证书,并向该客户端注入伪数字证书,从而实现了第三方与发出攻击的客户端的连接,当客户端发出带有病毒的数据时,第三方通过第一随机值解密,并修改数据包中的病毒代码,然后将修改后没有病毒的数据用第二随机值加密后发送给服务器。
[0060]例如,犯罪团伙利用某https加密信道互相联络、分配行动任务。警方急需知道犯罪团伙的作案时间和作案人员等信息时,但是,目前警方仅知道团伙中有某个罪犯经常活动于某咖啡店。警方可以监控从该咖啡店发出的网络数据包,并对其进行抓包,利用第一随机值对来自客户端的数据包解密,利用第二随机值对来自服务器的数据包解密
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1