一种保护用户网站密码的方法技术

技术编号:14398376 阅读:49 留言:0更新日期:2017-01-11 11:57
本发明专利技术公开了一种保护用户网站密码的方法,包括以下步骤:用户输入密码的页面,网站通过HTML语言的<script>标签引入Javascript脚本文件;在页面里包含密码输入框的<Form>元素内,通过隐藏的<INPUT>元素指定本Form内用户名输入框、密码输入框的名称和网站自定义的一个ID;用户输入密码,点击“提交”后,在把表单数据提交到网站服务器前,页面调用函数;所述函数通过单向算法把用户名、密码和网站ID转换成一个复杂密码,并替换输入的密码;数据提交到网站服务器。本发明专利技术方法在完全不影响用户体验的情况下,实现了高强度的密码保护方案,有效防范了用户账号泄露和撞库风险,保护了用户账号和资产安全。

【技术实现步骤摘要】

本专利技术涉及网站密码保护领域,具体涉及一种保护用户网站密码的方法
技术介绍
近年来,因为网站被拖库导致的大规模用户账户泄露事件愈演愈烈。例如最近的Dropbox6000万账户泄露和Yahoo的5亿账户泄露,网站用户对此无能为力,只能寄希望于网站做好安全防范避免泄露。但是,没有100%安全的网站,任何网站都有泄露账号的风险。一旦账号泄露,因为大多数用户习惯在不同网站使用相同的账号/密码,导致用户在所有网站的账号都面临被撞库(指用户在A网站的账号泄露后,被黑客账号信息去B网站尝试登录。如果用户在A,B两个网站的账号一致,则黑客能成功登录B网站,称为撞库成功)风险,已经有不少给用户带来实际经济损失的案例。一些专门的密码管理软件被用来解决密码泄露问题,例如1Password软件。它们的共同做法是软件内部维护一个密码数据库,典型的用户使用场景是:1、用户为每个网站的账户,通过软件生成一个随机密码;2、设置/修改网站账号的密码为软件生成的随机密码;3、登录网站时,查询软件找到在该网站的密码,然后拷贝和粘贴到登录页面的密码输入框。密码管理软件有很多明显的缺点:1、密码是随机生成的,用户很难记住,特别是在有大量网站账号的情况下,一旦软件不可用(如不在手边或数据损坏),用户将无法登录网站;2、使用不方便,用户在登录时,需要打开密码管理软件查询密码。总之,如何保护用户的密码安全,做到即使某个网站的账号泄露,也不影响用户在该网站和其它网站的账号安全,是个急需解决的重要问题。
技术实现思路
本专利技术所要解决的技术问题是提供一种保护用户网站密码的方法,保护用户的密码安全,有效防范撞库风险,也不影响用户体验,方便用户操作。为解决上述技术问题,本专利技术采用的技术方案是:一种保护用户网站密码的方法,包括以下步骤:步骤1:在用户输入密码的页面,网站通过HTML语言的<SCRIPT>标签引入Javascript脚本文件,所述脚本文件提供一个函数供页面调用;步骤2:在页面里包含密码输入框的<Form>元素内,通过<INPUTtype=“hidden”>标签指定本Form内用户名输入框、密码输入框的名称和网站自定义ID,网站自定义ID用于和其他网站区分开;步骤3:用户输入密码,点击“提交”后,在把表单数据提交到网站服务器前,页面调用步骤1所述函数;步骤4:步骤1所述函数获取Form内用户输入的用户名、密码和网站指定的网站ID;步骤5:步骤1所述函数通过单向算法把用户名、密码和网站ID转换成一个复杂密码,并用这个密码替换密码输入框里用户输入的密码;步骤6:包括用户名和替换后密码的表单数据被提交到网站服务器,若是账号注册操作,网站存储账号信息到数据库,若是用户登录操作,网站比对提交过来的密码和数据库里存储的密码,判断是否一致。进一步的,所述单向算法为HMAC。进一步的,还包括增加单向算法的计算量。与现有技术相比,本专利技术的有益效果是:在完全不影响用户体验的情况下,实现了高强度的密码保护方案,有效防范了用户账号泄露和撞库风险,保护了用户账号和资产安全。具体实施方式本专利技术在具体实施步骤为:1、在需要用户输入密码的页面,网站都通过HTML语言的<SCRIPT>标签引入一个Javascript脚本文件,该脚本文件提供一个函数供页面调用,所述函数命名为encrypt_passwor。2、在页面里包含密码输入框的<Form>元素内,通过<INPUTtype=”hidden”>标签指定本Form内用户名输入框、密码输入框的名称和网站自定义的一个ID;其中网站自定义ID用于和其它网站区分开,可以是本网站的域名,例如“www.example.com”。3、用户输入密码,点击“提交”按钮后,页面在把表单数据提交到网站服务器前,调用encrypt_password函数。4、encrypt_password函数获取Form内用户输入的用户名、密码和网站指定的网站ID。5、encrypt_password函数通过单向算法(例如HMAC,HMAC是密钥相关的哈希运算消息认证码,即Hash-basedMessageAuthenticationCode)把用户名、密码、网站ID转换成一个复杂密码,并用这个密码替换密码输入框里用户输入的密码。6、数据(包括用户名和替换后密码的表单数据)被提交到网站服务器。如果是账号注册操作,网站存储账号信息到数据库;如果是用户登录操作,网站比对提交过来的密码和数据库里存储的密码,判断是否一致。在Javascript代码里的encrypt_password函数中,可以增加单向算法的计算量,例如反复进行几万次单向变换,增加攻击者撞库的难度。以HMAC算法为例:1)new_password=HMAC(username+old_password,ID)2)old_password=new_password3)如果循环次数<10000,goto1,循环次数由网站随机定义。本文档来自技高网...

【技术保护点】
一种保护用户网站密码的方法,其特征在于,包括以下步骤:步骤1:在用户输入密码的页面,网站通过HTML语言的<SCRIPT>标签引入Javascript脚本文件,所述脚本文件提供一个函数供页面调用;步骤2:在页面里包含密码输入框的<Form>元素内,通过<INPUT type=“hidden”>标签指定本Form内用户名输入框、密码输入框的名称和网站自定义ID,网站自定义ID用于和其他网站区分开;步骤3:用户输入密码,点击“提交”后,在把表单数据提交到网站服务器前,页面调用步骤1所述函数;步骤4:步骤1所述函数获取Form内用户输入的用户名、密码和网站指定的网站ID;步骤5:步骤1所述函数通过单向算法把用户名、密码和网站ID转换成一个复杂密码,并用这个密码替换密码输入框里用户输入的密码;步骤6:包括用户名和替换后密码的表单数据被提交到网站服务器,若是账号注册操作,网站存储账号信息到数据库,若是用户登录操作,网站比对提交过来的密码和数据库里存储的密码,判断是否一致。

【技术特征摘要】
1.一种保护用户网站密码的方法,其特征在于,包括以下步骤:步骤1:在用户输入密码的页面,网站通过HTML语言的<SCRIPT>标签引入Javascript脚本文件,所述脚本文件提供一个函数供页面调用;步骤2:在页面里包含密码输入框的<Form>元素内,通过<INPUTtype=“hidden”>标签指定本Form内用户名输入框、密码输入框的名称和网站自定义ID,网站自定义ID用于和其他网站区分开;步骤3:用户输入密码,点击“提交”后,在把表单数据提交到网站服务器前,页面调用步骤1所述函数;步骤4:步骤1所...

【专利技术属性】
技术研发人员:刘光旭
申请(专利权)人:成都知道创宇信息技术有限公司
类型:发明
国别省市:四川;51

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

1