发明内容
本发明提供一种识别网站服务合法性的方法及装置,用以在用户访问互联网时,提高其访问安全性。
本发明实施例提供的具体技术方案如下:
一种识别网站服务合法性的方法,包括:
服务器接收客户端发送的随机数;
所述服务器基于所述随机数,利用指定方法生成第一临时通讯密钥;
所述服务器确定所述客户端的标识信息或/和所述客户端请求的网站服务的标识信息,并获取对应存储的识别信息;
所述服务器采用所述第一临时通讯密钥对所述识别信息进行加密,并将加密后的识别信息发往客户端,以使所述客户端利用其本地生成的第二临时通讯密钥,对接收的加密后的识别信息进行解密,并基于解密后的识别信息,采用预设方式识别所述服务器提供的网站服务是否合法;其中,所述第二临时密钥是所述客户端基于所述随机数并利用所述指定方法生成的。
一种识别网站服务合法性的方法,包括:
客户端在确定需使用网站服务时,向服务器发送随机数,
所述客户端接收服务器返回的经第一通讯密钥加密的识别信息,所述第一通讯密钥所述服务器基于所述随机数,采用指定方法生成的,所述识别信息是所述服务器对所述客户端的标识信息或/和所述客户端请求的网站服务的标识信息获取的;
所述客户端采用第二通讯密钥对加密的识别信息进行解密,并根据解密后的识别信息的内容,识别所述服务器提供的网站服务是否合法;其中,所述第二临时密钥是所述客户端基于所述随机数并利用所述指定方法生成的。
一种识别网站服务合法性的装置,包括:
接收单元,用于接收客户端发送的随机数;
生成单元,用于基于所述随机数,利用指定方法生成第一临时通讯密钥;
获取单元,用于确定所述客户端的标识信息,并获取对应该标识信息存储的识别信息;
发送单元,用于采用所述第一临时通讯密钥对所述识别信息进行加密,并将加密后的识别信息发往客户端,以使所述客户端利用其本地生成的第二临时通讯密钥,对接收的加密后的识别信息进行解密,并基于解密后的识别信息,采用预设方式识别所述服务器提供的网站服务是否合法;其中,所述第二临时密钥是所述客户端基于所述随机数并利用所述指定方法生成的。
一种识别网站服务合法性的装置,包括:
发送单元,用于在确定需使用网站服务时,向服务器发送随机数;
接收单元,用于接收服务器返回的经第一通讯密钥加密的识别信息,所述第一通讯密钥是所述服务器基于所述随机数,采用指定方法生成的,所述识别信息是所述服务器对应所述客户端的标识信息获取的;
生成单元,用于基于所述随机数,利用所述指定方法生成第二通讯密钥;
识别单元,用于采用第二通讯密钥对加密的识别信息进行解密,并基于解密后的识别信息,采用预设方式识别所述服务器提供的网站服务是否合法。
本发明实施例中,客户端请求使用网站服务时,服务器基于客户端发送的随机数,采用协商的指定方法生成相应的临时通讯密钥,并采用该临时通讯密钥对识别信息进行加密后将其发往客户端,而客户端基于相同的随机数采用协商的指定方法生成相应的临时通讯密钥,并采用该临时通讯密钥对接收的加密后的识别信息进行解密,以及基于解密结果,采用预设方式确定该服务器提供的网站服务的合法性,这样,客户端可以根据识别信息的正确性识别网站服务的合法性,并且识别信息经过终端侧与网络侧协商的临时通讯密钥加解密,有效防止了信息被中途篡改,截获,保证了信息的安全性,从而令客户端可以及时发现非法网站,并在登录类似被保护网站或者中间人攻击网站时,发出警告,进而有效提高了用户使用网站服务的安全性,提升了网站服务质量
具体实施方式
在用户访问互联网时,为了有效提升其访问安全性,本发明实施例中,通过某种渠道在网站上预设一些识别信息,并在客户端安装一个客户端程序,当用户访问正确的网站时,客户端弹出提示动画,显示正在访问某网站,以及显示预设的识别信息是**;当客户访问不正确的网站时,客户端弹出提示动画,该网站未经认证,没有相应的识别信息。进一步地,当客户访问钓鱼网站或者中间人攻击网站时,直接弹出警告框,告知客户,正在访问钓鱼网站或者正在被中间人攻击。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图1、图2和图3所示,本发明实施例中,提供网站服务的***内包括若干服务器10和客户端11;其中,
服务器10包括接收单元100、生成单元101、获取单元102和发送单元103:
接收单元100,用于接收客户端11发送的随机数;
生成单元101,用于基于所述随机数,利用指定方法生成第一临时通讯密钥;
获取单元102,用于确定客户端11的标识信息或/和客户端11请求的网站服务的标识信息,并获取对应存储的识别信息;
发送单元103,用于采用所述第一临时通讯密钥对所述识别信息进行加密,并将加密后的识别信息发往客户端11,以使客户端11利用其本地生成的第二临时通讯密钥,对接收的加密后的识别信息进行解密,并基于解密后的识别信息,采用预设方式识别服务器10提供的网站服务是否合法;其中,所述第二临时密钥是客户端11基于所述随机数并利用所述指定方法生成的。
客户端11包括发送单元110、接收单元111、生成单元112和识别单元113
发送单元110,用于在确定需使用网站服务时,向服务器10发送随机数;
接收单元111,用于接收服务器10返回的经第一通讯密钥加密的识别信息,所述第一通讯密钥是服务器10基于所述随机数,采用指定方法生成的,所述识别信息是所服务器10对应客户端11的标识信息获取的;
生成单元112,用于基于所述随机数,利用所述指定方法生成第二通讯密钥;
识别单元113,用于采用第二通讯密钥对加密的识别信息进行解密,并基于解密后的识别信息,采用预设方式识别服务器10提供的网站服务是否合法。
基于上述***架构,参阅图4所示,本发明实施例中,服务器11向客户端10提供网站服务的详细流程如下:
步骤400:客户端11确定本地用户需使用网站服务时,产生一个随机数,并将其发送给服务器10,较佳地,在发送随机数之前,客户端11采用服务器公钥对产生的随机数进行加密。
本实施例中,本地用户需使用的网站服务可以是浏览网页,在线点播歌曲、视频等等。
另一方面,客户端11生成随机数后,需要基于该随机数,采用指定方法(与服务器11预先约定)生成相应的临时通讯密钥;本实施例中,所谓指定方法包括:将生成的随机数直接作为临时通讯密钥,或者,将生成的随机数作为种子,采用指定算法(如,哈希算法)计算得到相应的临时通讯密钥。
步骤410:服务端10接收到客户端11发送的随机数后,基于该随机数,采用指定方法(与客户端10采用的方法相同)生成相应的临时通讯密钥,其中,若服务器10接收的随机数是经服务器公钥加密的,则在生成临时通讯密钥之前,先采用本地私钥对其进行解密。
同理,服务器10采用的指定方法同样包括:将生成的随机数直接作为临时通讯密钥,或者,将生成的随机数作为种子,采用指定算法(如,哈希算法)计算得到相应的临时通讯密钥,其原则是要与客户端11采用的方法一致,以保证两侧生成的临时通讯密钥是相同的。
步骤420:服务器10确定客户端11的标识信息或/和客户端11请求的网站服务的标识信息,并获取对应存储的识别信息;其中,客户端11的标识信息可以是用户身份标识,而客户端11请求的网站服务的标识信息可以是该网站服务的类型标识。
本实施例中,服务器10可以从服务数据流中获得客户端11的标识信息或/和客户端11请求的网站服务的标识信息,服务数据流与本流程可以是并行关系。本实施例中,所谓的识别信息,是为了后续验证服务提供方的合法性而预先在服务器10上设置的验证信息,可以是用户预设的信息,如文本信息、网页、程序、动画和图片等等,也可以是网站数字证书和网站数字签名等等,可以是其中的一种或任意组合。例如,识别信息为用户预设的一段文字:本网站合法,请放心登录浏览。较佳的,服务器侧可以针对所有用户设置统一的识别信息,也可以针对不同的用户分别设置相应的识别信息,还可以针对同一用户请求使用的不同网站服务分别设置相应的识别信息,以及还可以针对不同用户请求使用的相同/不同的网站服务分别设置相应的识别信息,只需使用客户端11的标识信息或/和客户端11请求的网站服务的标识信息加以区分即可,在此不再赘述。
步骤430:服务器10采用本地生成的临时通讯密钥对获得的识别信息进行加密,并将加密后的识别信息发往客户端11。
步骤440:客户端11获得加密后的识别信息后,采用本地生成的临时通讯密钥对其进行解密。
步骤450:客户端11将解密后的识别信息呈现给用户,并根据解密后的识别信息的内容,识别所述服务器提供的网站服务是否合法;本实施例中,客户端11可以采用的呈现形式包含但不限于:页面展示、控件展示、客户端展示等等,识别信息的全部或者部分展示给用户。
基于上述实施例,假设用户通过客户端11请求浏览网页,则服务器10需向客户端11返回经临时通讯密钥加密的识别信息,客户端11采用临时通讯密钥对已加密的识别信息进行解密后,根据解密结果判断服务器10提供的网页浏览服务是否合法,若合法,则允许用户浏览服用器10返回的网页,若不合法,则可以采取相应的处理措施,如,向用户告警,以及屏蔽服务器10返回的网页。
在上述步骤450中,客户端11基于解密后的识别信息,采用预设方式识别服务器10提供的网站服务是否合法时,可以根据解析结果判断是否正确解析出识别信息(如,与本地预留备份文件进行比对),若是,则确定服务器10提供的网站服务合法,否则,确定服务器10提供的网站服务不合法,并向用户呈现告警信息,如,服务器10确定客户端11访问到其他类似域名、链接时,会警告客户访问非认证网站。
或者,客户端11根据解密后的识别信息的内容,判断识别服务器10提供的网站服务是否合法时,还可以根据解析结果判断服务器10对输出数据进行的数字签名是否合法,若是,则确定服务器10提供的网站服务合法,否则,确定服务器10提供的网站服务不合法,识别判断结果可以通过网页形式通知用户,从而防止网页篡改、跨站脚本攻击、中间人篡改以及客户端网页篡改等等。其中,验证数字签名是否合法时,一般是服务器10采用私钥对识别信息的摘要信息(采用HASH函数获得)进行加密,并连同识别信息原文一起发送致客户端11,客户端11采用获得的公钥对接收的加密后的摘要信息进行解密,然后基于获得的识别信息原文,采用HASH函数获得一摘要信息,并将该摘要信息与服务器10侧接收的摘要信息进行比对,数字签名若相同,则说明识别信息的数字签名合法,若不相同,则说明识别信息的数字签名不合法。本实施例中,进行数字签名的方式包括但不限于:RSA签名、ECC签名、HMAC签名等签名方式;采用HMAC等方式的数字签名无需使用服务器侧的私钥。
另一方面,客户端11一旦被被疑似钓鱼网站攻击,均可以将该钓鱼网站信息发送到指定服务器,由指定服务器进行后续监控。从而可以利用大量的客户端11的反馈信息协助网络侧完善针对钓鱼网站的防御能力。
综上所述,客户端请求使用网站服务时,服务器基于客户端发送的随机数,采用协商的指定方法生成相应的临时通讯密钥,并采用该临时通讯密钥对识别信息进行加密后将其发往客户端,而客户端基于相同的随机数采用协商的指定方法生成相应的临时通讯密钥,并采用该临时通讯密钥对接收的加密后的识别信息进行解密,以及根据解密结果确定该服务器提供的网站服务的合法性,这样,客户端可以根据识别信息的正确性识别网站服务的合法性,并且识别信息经过终端侧与网络侧协商的临时通讯密钥加解密,有效防止了信息被中途篡改,截获,保证了信息的安全性,后续若针对服务器10的输出数据采用数字签名进行验证,则可以加强信息的安全性,从而令客户端可以及时发现非法网站,并在登录类似被保护网站或者中间人攻击网站时,发出警告,进而有效提高了用户使用网站服务的安全性,提升了网站服务质量。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。