一种基于HTTP协议的安全认证方法及系统技术方案

技术编号:20369873 阅读:40 留言:0更新日期:2019-02-16 20:03
本发明专利技术涉及一种基于HTTP协议的安全认证方法及系统,其方法基于Http协议下使用表单认证方式,利用高度定制、非标准的不可逆的密码算法库随机选择密码算法库中加密算法以结合客户端每次访问服务器产生的唯一随机码对用户密码进行不可逆加密,其加密方法非标准化、高度定制化,实现了安全的认证机制,规避了基本认证和摘要认证所出现的各种攻击,可有效防止密码破解和重放认证。

A Security Authentication Method and System Based on HTTP Protocol

The present invention relates to a secure authentication method and system based on HTTP protocol. The method uses form authentication method under Http protocol, uses highly customized, non-standard and irreversible cryptographic algorithm library to randomly select the encryption algorithm in the cryptographic algorithm library to irreversibly encrypt user's password in combination with the unique random code generated by the client each time visiting the server. The encryption method is non-reversible. Standardized and highly customized, it realizes a secure authentication mechanism, avoids various attacks of basic authentication and digest authentication, and can effectively prevent password cracking and replaying authentication.

【技术实现步骤摘要】
一种基于HTTP协议的安全认证方法及系统
本专利技术涉及安全认证方法领域,尤其涉及一种基于HTTP协议的安全认证方法及系统。
技术介绍
在一些特殊场合下需要使用Http协议实现安全登录验证,目前基于Http协议下的认证方式有基本认证和摘要认证,基本认证方式传输的密码非常容易被破解,即使密码经过加密也无法防止重放认证,而摘要认证已经出现了许多攻击方法,特别是针对Web应用服务器漏洞进行的摘要认证攻击。故目前使用Http协议进行安全认证的方法,其安全性无法保证。
技术实现思路
本专利技术为了解决上述技术问题提供一种基于HTTP协议的安全认证方法。本专利技术解决上述技术问题的技术方案如下:一种基于HTTP协议的安全认证方法,包括:步骤1,接收客户端发送的http协议请求,根据所述http协议请求生成session和认证页面。步骤2,从预设置的密码算法列表中随机选择一个密码算法,使用动态混淆器将所述密码算法打乱,得到打乱后的密码算法,并将所述打乱后的密码算法保存至所述session中;再获取唯一随机码,并将所述唯一随机码保存至所述session中。步骤3,将所述打乱后的密码算法、所述唯一随机码以及所述认证页面发送至所述客户端;所述认证页面用于接收用户输入的用户名和第一用户密码,所述打乱后的密码算法和所述唯一随机码用于对所述第一用户密码进行加密以得到第一加密密码。步骤4,根据从所述客户端接收的所述用户名从Web应用服务器的数据库中取出第二用户密码,并通过所述session中的所述打乱后的密码算法和所述唯一随机码对所述第二用户密码进行加密,得到第二加密密码;步骤5,验证所述第一加密密码和所述第二加密密码是否一致,若一致,则验证通过;若不一致,则验证失败。本专利技术的有益效果是:在用户进行安全认证时,通过在服务器中预存的密码算法列表随机中选择密码算法并将其密码算法打乱后结合唯一随机码对用户密码进行加密,使得用户每次访问服务器时都能定制得到不同的且不可逆的加密密码,增加了密码破译难度,可有效防止密码破解和重放认证,保证认证的安全性。在上述技术方案的基础上,本专利技术还可以做如下改进。进一步,所述步骤3具体包括:步骤3.1,将所述打乱后的密码算法、所述唯一随机码以及所述认证页面发送至所述客户端,其中,所述认证页面用于接收用户输入的用户名和第一用户密码。步骤3.2,将所述第一用户密码和所述唯一随机码通过预设的混合方式进行混合,得到混合数据。步骤3.3,通过所述打乱的密码算法对所述混合数据进行加密,得到所述第一加密密码。采用上述进一步方案的有益效果是,通过预设混合方式对第一用户密码和唯一随机码进行混合,使得每次加密后的数据不相同,解决了重放认证的问题。进一步,所述混合方式包括直接拼接、相加、相交替和转换中的一种或多种。采用上述进一步方案的有益效果是,通过采用可采用不同的混合方式可进一步提高了混合数据的复杂程度,以避免重放认证的问题。进一步,所述额基于HTTP协议的安全认证方法还包括:步骤6,在验证完成后,删除所述session中的所述打乱后的密码算法和所述唯一随机码。采用上述进一步方案的有益效果是,在验证完成后删除该次制定的密码算法和唯一随机码,以便下次加密时重新制定新的密码算法和唯一随机码,保证每次加密都不可逆,有效避免了常规的密码破解方法。进一步,所述密码算法列表包括MD5、SHA1、SHA256和SM3。采用上述进一步方案的有益效果是,通过在密码算法列表中设定MD5、SHA1、SHA256、SM3等多种不可逆密码算法以定制非标准的密码算法库,进一步增加解密难度。本专利技术为了解决上述技术问题还提供一种基于HTTP协议的安全认证系统。其技术方案如下:一种基于HTTP协议的安全认证系统,包括:请求接收模块,用于接收客户端发送的http协议请求,根据所述http协议请求生成session和认证页面。加密信息生成模块,用于从预设置的密码算法列表中随机选择一个密码算法,并使用动态混淆器将所述密码算法打乱,以得到打乱后的密码算法,且将所述打乱后的密码算法保存至所述session中;再获取唯一随机码,并将所述唯一随机码保存至所述session中。第一加密模块,用于将所述打乱后的密码算法、所述唯一随机码以及所述认证页面发送至所述客户端;所述认证页面用于接收用户输入的用户名和第一用户密码,所述打乱后的密码算法和所述唯一随机码用于对所述第一用户密码进行加密以得到第一加密密码。第二加密模块,用于根据从所述客户端接收的所述用户名从Web应用服务器的数据库中取出第二用户密码,并通过所述session中的所述打乱后的密码算法和所述唯一随机码对所述第二用户密码进行加密,得到第二加密密码。验证模块,用于验证所述第一加密密码和所述第二加密密码是否一致,若一致,则验证通过;若不一致,则验证失败。进一步,第一加密模块还包括:发送单元,用于将所述打乱后的密码算法、所述唯一随机码以及所述认证页面发送至所述客户端,其中,所述认证页面用于接收用户输入的用户名和第一用户密码。混合单元,用于将所述第一用户密码和所述唯一随机码通过预设混合方式进行混合,得到混合数据。加密单元,用于通过所述打乱的密码算法对所述混合数据进行加密,得到所述第一加密密码。进一步,所述混合方式包括直接拼接、相加、相交替和转换中的一种或多种。进一步,还包括:删除模块,用于在验证完成后,删除所述session中的所述打乱后的密码算法和所述唯一随机码。进一步,所述密码算法列表包括MD5、SHA1、SHA256和SM3。附图说明图1为本专利技术的实施例的基于HTTP协议的安全认证方法的方法流程图;图2为本专利技术的实施例的基于HTTP协议的安全认证系统的结构示意图;图3为本专利技术的实施例的基于HTTP协议的安全认证系统的数据传输示意图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。如图1所示,本专利技术实施例提供的一种基于HTTP协议的安全认证方法,包括:步骤1,接收客户端发送的http协议请求,根据所述http协议请求生成session和认证页面。需要说明的是,在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。步骤2,从预设置的密码算法列表中随机选择一个密码算法,使用动态混淆器将所述密码算法打乱,得到打乱后的密码算法,并将所述打乱后的密码算法保存至所述session中;再获取唯一随机码,并将所述唯一随机码保存至所述session中。需要说明的是,这里Web应用服务器生成唯一的随机码,根据客户端访问生成的session保存生成的唯一随机码。其中,生成唯一随机码的方法可以是写代码产生随机的数字和字母组合,每产生1个去数据库查询该随机码是否已存在,如果已存在,则重新产生,直到不重复为止。也可以用其他唯一随机码生成方法,因为唯一随机码的生成方法为现有技术,故不在此赘述。步骤3,将所述打乱后的密码算法、所述唯一随机码以及所述认证页面发送至所述客户端;所述认证页面用于接收用户输入的用户名和第一用户密码,所述本文档来自技高网...

【技术保护点】
1.一种基于HTTP协议的安全认证方法,其特征在于,包括:步骤1,接收客户端发送的http协议请求,根据所述http协议请求生成session和认证页面;步骤2,从预设置的密码算法列表中随机选择一个密码算法,使用动态混淆器将所述密码算法打乱,得到打乱后的密码算法,并将所述打乱后的密码算法保存至所述session中;再获取唯一随机码,并将所述唯一随机码保存至所述session中;步骤3,将所述打乱后的密码算法、所述唯一随机码以及所述认证页面发送至所述客户端;所述认证页面用于接收用户输入的用户名和第一用户密码,所述打乱后的密码算法和所述唯一随机码用于对所述第一用户密码进行加密以得到第一加密密码;步骤4,根据从所述客户端接收的所述用户名从Web应用服务器的数据库中取出第二用户密码,并通过所述session中的所述打乱后的密码算法和所述唯一随机码对所述第二用户密码进行加密,得到第二加密密码;步骤5,验证所述第一加密密码和所述第二加密密码是否一致,若一致,则验证通过;若不一致,则验证失败。

【技术特征摘要】
1.一种基于HTTP协议的安全认证方法,其特征在于,包括:步骤1,接收客户端发送的http协议请求,根据所述http协议请求生成session和认证页面;步骤2,从预设置的密码算法列表中随机选择一个密码算法,使用动态混淆器将所述密码算法打乱,得到打乱后的密码算法,并将所述打乱后的密码算法保存至所述session中;再获取唯一随机码,并将所述唯一随机码保存至所述session中;步骤3,将所述打乱后的密码算法、所述唯一随机码以及所述认证页面发送至所述客户端;所述认证页面用于接收用户输入的用户名和第一用户密码,所述打乱后的密码算法和所述唯一随机码用于对所述第一用户密码进行加密以得到第一加密密码;步骤4,根据从所述客户端接收的所述用户名从Web应用服务器的数据库中取出第二用户密码,并通过所述session中的所述打乱后的密码算法和所述唯一随机码对所述第二用户密码进行加密,得到第二加密密码;步骤5,验证所述第一加密密码和所述第二加密密码是否一致,若一致,则验证通过;若不一致,则验证失败。2.根据权利要求1所述的基于HTTP协议的安全认证方法,其特征在于,所述步骤3具体包括:步骤3.1,将所述打乱后的密码算法、所述唯一随机码以及所述认证页面发送至所述客户端,其中,所述认证页面用于接收用户输入的用户名和第一用户密码;步骤3.2,将所述第一用户密码和所述唯一随机码通过预设的混合方式进行混合,得到混合数据;步骤3.3,通过所述打乱的密码算法对所述混合数据进行加密,得到所述第一加密密码。3.根据权利要求2所述的基于HTTP协议的安全认证方法,其特征在于,所述混合方式包括直接拼接、相加、相交替和转换中的一种或多种。4.根据权利要求1所述的基于HTTP协议的安全认证方法,其特征在于,还包括:步骤6,在验证完成后,删除所述session中的所述打乱后的密码算法和所述唯一随机码。5.根据权利要求1-4任一项所述的基于HTTP协议的安全认证方法,其特征在于,所述密码算法列表包括MD5、SHA1、SHA256和SM3。6.一种基于HTTP协议的安全认...

【专利技术属性】
技术研发人员:曾日金李庭汤红燕徐红娟王德琦王勋绩
申请(专利权)人:桂林长海发展有限责任公司
类型:发明
国别省市:广西,45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1