一种基于通信的异常检测方法和系统的制作方法_3

文档序号:9202661阅读:来源:国知局
在本发明的一种优选实施例中,所述计算方式可以包括加密方式,则在本发明实施例中,与步骤103相对应地,步骤106可以包括如下子步骤:
[0143]子步骤S21,客户端按照所述加密方式,至少对所述第一请求参数与所述第一业务对象进行加密,以获得第一加密信息;
[0144]子步骤S22,客户端将所述第一加密信息设置为第一校验码。
[0145]在本发明实施例中,可以将加密后的密文(即第一加密信息)设置为第一校验码。
[0146]在本发明实施例的一种优选示例中,所述加密方式可以包括不可逆加密方式,则在本发明实施例中,与子步骤Sll相对应地,子步骤S21可以包括如下子步骤:
[0147]S211,客户端对所述第一请求参数、所述第一业务对象与所述字符常量进行组合,以获得第一组合?目息;
[0148]S212,客户端按照所述不可逆加密方式对所述第一组合信息进行加密,以获得第一加密信息。
[0149]在本示例中,可以对第一请求参数、第一业务对象与字符常量进行组合,该组合可以为任意形式的组合,如顺序组合(三者按照某个顺序前后叠加)、插序组合(其中一者插入另一者中)等等。
[0150]本发明实施例通过在加密处理中增加字符常量,可以增强加密处理的灵活性和复杂度,在某些情况下可以通过更换字符常量实现快速可升级加密方式。
[0151]当然,上述加密方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他加密方式,例如,RSA算法、ElGamal算法、背包算法、Rabin算法、ECC算法等等,本发明实施例对此不加以限制。另外,除了上述判断处理方法外,本领域技术人员还可以根据实际需要采用其它判断处理方法,本发明实施例对此也不加以限制。
[0152]在本发明的一种优选实施例中,所述计算方式还可以包括乱序方式;则在本发明实施例中,与步骤103相对应地,步骤106可以包括如下子步骤:
[0153]子步骤S23,客户端按照所述乱序方式,对所述第一加密信息中的字符重新排序。
[0154]为了增强计算方式的健壮性,提高破解难度,应用了乱序方式计算校验码,则在设置成第一校验码之前,客户端还可以对第一加密信息中的字符重新进行排序。
[0155]在本发明实施例的一种优选示例中,与子步骤S13相对应地,子步骤S23可以包括如下子步骤:
[0156]子步骤S231,客户端从所述第一加密信息中逐次抽取其中一个字符与另一个字符交互位置,直至抽取所有字符完毕。
[0157]在本示例中,采用原地抽取重排的方式,每次抽取到的字符与第二加密信息的原始序列中未被抽取的字符交换位置,直到所有字符抽取完毕。
[0158]在这一过程中,原始序列长度保持不变,并且可以分为未被抽取和已抽取的两部分。
[0159]步骤107,客户端比较所述第一校验码与所述第二校验码是否相同;若是,则执行步骤108,若否,则执行步骤109 ;
[0160]步骤108,判断所述客户端与所述服务器之间的通信正常;
[0161]步骤109,判断所述客户端与所述服务器之间的通信异常。
[0162]在具体实现中,由于校验码是针对请求参数与业务对象生成的,若客户端生成的第一校验码与服务器生成的第二校验码不相同,则请求参数和/或业务对象可能被篡改了,可以认为客户端与服务器之间的通信异常;
[0163]反之,若客户端生成的第一校验码与服务器生成的第二校验码相同,则请求参数和/或业务对象未被篡改,可以认为客户端与服务器之间的通信正常。
[0164]本发明实施例采用相同的计算方式,由客户端针对第一请求参数、第一业务对象生成第一校验码,由服务器针对第二请求参数、第二业务对象生成第二校验码,在第一校验码与第二校验码相同时,判断通信正常,反之,判断通信异常,保证了通信的安全性。
[0165]在本发明的一种优选实施例中,在步骤108之后,该方法还可以包括如下步骤:
[0166]步骤110,客户端加载所述第一业务对象;
[0167]在本发明实施例中,若客户端与服务器之间的通信正常,则可以正常加载第一业务对象。
[0168]例如,在播放视频之前播放广告数据,在浏览器中正常加载支付组件,等等。
[0169]在步骤109之后,该方法还可以包括如下步骤:
[0170]步骤111,客户端生成异常警报信息。
[0171]在本发明实施例中,若客户端与服务器之间的通信异常,则可以生成异常警报信息,以提示用户检测到异常情况。
[0172]例如,“检测到无法正常加载,可能是XX插件(或XX应用)所致,请更换浏览器或XX插件(或XX应用)后可正常加载”。
[0173]为使本领域技术人员更好地理解本发明实施例,以下通过几种应用场景的示例对本发明实施例作进一步说明:
[0174]应用场景一:篡改请求参数;
[0175]1、客户端发起加载请求:http://server, com/s ? a = b&c = d&e = f ;
[0176]其中,请求参数(第一请求参数)为a = b&c = d&e = f ;
[0177]2、恶意插件篡改请求参数,使加载请求变成:
[0178]http://server.eom/s? a = g ;其中,篡改后的请求参数为 a = g ;
[0179]3、服务器接收加载请求,获取请求参数(第二请求参数)a = g;
[0180]服务器根据第二请求参数接着进行业务对象决策查找业务对象(第二业务对象):
[0181]{"V":"3.0","cl":"MTIzLjEyMy4yNTAuNjE = ",〃ar":861100, 〃de":"10.11.49.143.30799〃,〃set〃:1425910181000, 〃ui〃:〃dbaffelbd2e92450f8a3d53087fT7552〃,〃ntc〃:false,"ec":0,"sr":"","s": [ {"ctp":1,"az":1000000000381,〃st":0,"a":[]}]}
[0182]其中,该第二业务对象为JSON(Javascript Object Notat1n,javaScript对象表示法)数据;
[0183]然后采用第二请求参数、第二业务对象、字符常量生成第二加密信息:
[0184]51bl35523261e0df09566baf37f39368 ;
[0185]再对第二加密信息按照乱序方式重新进行排序,获得第二校验码:
[0186]5al919f00ff66b385b52d33523366e71 ;
[0187]最后,将返回包含第二校验码和第二业务对象的响应信息返回给客户端;
[0188]4、客户端得到响应信息,并提取出业务对象(第一业务对象)和第二校验码;
[0189]业务对象(第一业务对象):
[0190]{"V":"3.0","cl":"MTIzLjEyMy4yNTAuNjE = ",〃ar":861100, 〃de":"10.11.49.143.30799〃,〃set〃:1425910181000, 〃ui〃:〃dbaffelbd2e92450f8a3d53087fT7552〃,〃ntc〃:false,"ec":0,"sr":"","s": [ {"ctp":1,"az":1000000000381,〃st":0,"a":[]}]}
[0191]第二校验码:
[0192]5al919f00ff66b385b52d33523366e71
[0193]然后,用发起加载请求时保存的请求参数(第一请求参数),a = b&c = d&e = f,提取到的业务对象(第一业务对象),和字符常量,生成第一加密信息:
[0194]2be235d3e7c5019412cll4592756e4c4 ;
[0195]再对第一加密信息按照乱序方式重新进行排序,第一校验码:
[0196]c55e2251194clee424d79435326cl07b
[0197]5、由于,c55e2251194clee424d79435326cl07b (第一校验码)Φ 5al919f00ff66b385b52d33523366e71 (第二校验码),校验失败。
[0198]应用场景二:篡改业务对象;
[0199]1、客户端发起加载请求:http://server, com/s ? a = b&c = d&e = f ;
[0200]其中,请求参数(第一请求参数)为a = b&c = d&e = f ;
[0201]2、服务器接收加载请求,获取请求参数(第二请求参数)a = b&c = d&e = f ;
[0202]服务器根据第二请求参数接着进行业务对象决策查找业务对象(第二业务对象):
[0203]{"V":"3.0","cl":"MTIzLjEyMy4yNTAuNjE = ","ar":861100,"de":"10.11.49.143.30799〃,〃set〃:1425910181000, 〃ui〃:〃dbaffelbd2e92450f8a3d53087fT7552〃,〃ntc〃:false,"ec":0,"sr":"","s": [ {
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1