移动应用程序的密码保护方法、装置及计算机存储介质制造方法及图纸

技术编号:24215759 阅读:18 留言:0更新日期:2020-05-20 19:03
一种移动应用程序的密码保护方法和装置。其中,所述方法包括:方法,服务器接收客户端发送的登陆信息,其中登陆信息包括经过加密处理的用户名和密码;服务器对所述用户名和密码进行解密,并判断用户名和密码是否正确;如正确,服务器进行加密形成加密串和密钥并保存;服务器向客户端返回加密串。该方法能够实现应用程序的密码不会明文存储,并且不能反编绎解密;并且在服务器端可以控制应用程序的登陆有效性,防止攻击者拿到数据之后,可以长久地登陆;此外,该方法还可以区分不同类型的客户端安全性。

Password protection methods, devices and computer storage media for mobile applications

【技术实现步骤摘要】
移动应用程序的密码保护方法、装置及计算机存储介质
本专利技术属于计算机领域,具体涉及移动应用程序的密码保护方法、装置及计算机可读存储介质。
技术介绍
在互联网+时代,移动APP已经渗入到我们的生活,移动化逐步渗透到人们的衣食住行等各个领域,移动应用上的数据安全性越来越得到重视。越来越多的移动APP需要用户登录,并提供了用户首次登录之后的自动登录服务,移动APP对用户登录信息的保存就要有针对性的安全处理。移动APP在用户手动输入账号和密码登录成功后,将密码经过MD5加盐计算后保存在本地文件里,在下次登录时将该密码取出使用。MD5算法是一种被广泛使用的密码散列函数,可以产生出一个128位的散列值,用户确保信息传输的完整一致性。这种算法单向不可逆,但是可以通过暴力枚举法、字典法进行MD5碰撞得到同样的原明文密码,这样就会造成用户密码泄露。
技术实现思路
针对于上述现有技术的不足,本专利技术的目的之一解决现有技术中登陆应用程序可能造成的密码泄露问题。本专利技术实施例公开了一种移动应用程序的密码保护方法,服务器接收客户端发送的登陆信息,其中登陆信息包括经过加密处理的用户名和密码;服务器对所述用户名和密码进行解密,并判断用户名和密码是否正确;如正确,服务器进行加密形成加密串和密钥并保存;服务器向客户端返回加密串。在一个可能的实施例中,所述登陆信息还包括登陆期限;服务器对所述用户名和密码进行解密,并判断用户名和密码是否正确包括:服务器使用RSA私钥解密,判断登陆期限是否在预设期限范围之内;如果在所述预设期限范围之内,则判断用户名和密码是否正确;否则登陆失败。在一个可能的实施例中,所述服务器进行加密形成加密串并保存包括:服务器进行加密形成加密串,其中加密串包括随机salt值,用户名,客户端类型以及登陆期限,密钥包括用户名和操作系统名称;服务器存储所述加密串和密钥。在一个可能的实施例中,还包括:当服务器接收到客户端发送的包括所述加密串的自动登陆信息时,服务器解密加密串并判断用户名是否一致;如一致,则通过所述密钥访问服务器,并判断salt值与服务器存储的加密串中的salt值是否一致;如一致,则登陆成功;否则登陆失败。在一个可能的实施例中,服务器采用AES或RSA方法进行加密。本专利技术实施例还公开了一种移动应用程序的密码保护装置,接收模块,用于接收客户端发送的登陆信息,其中登陆信息包括经过加密处理的用户名和密码;处理模块,用于对所述用户名和密码进行解密,并判断用户名和密码是否正确;如正确,进行加密形成加密串和密钥并保存;响应模块,用于向客户端返回加密串。在一个可能的实施例中,所述登陆信息还包括登陆期限;处理模块还用于使用RSA私钥解密,判断是否在预设期限范围之内;如果在所述预设期限范围之内,则判断用户名和密码是否正确;否则登陆失败。在一个可能的实施例中,处理模块还用于:进行加密形成加密串,其中加密串包括随机salt值,用户名,客户端类型以及登陆期限,密钥包括用户名和操作系统名称;存储所述加密串和密钥。在一个可能的实施例中,还包括:当接收到客户端发送的包括所述加密串的自动登陆信息时,所述处理模块还用于解密加密串并判断用户名是否一致;如一致,则通过所述密钥判断salt值与存储的加密串中的salt值是否一致;如一致,则登陆成功;否则登陆失败。本专利技术还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任意一项移动应用程序的密码保护方法。本专利技术的有益效果:通过上述方法,应用程序的密码不会明文存储,并且不能反编绎解密;并且在服务器端可以控制应用程序的登陆有效性,防止攻击者拿到数据之后,可以长久地登陆;此外,该方法还可以区分不同类型的客户端安全性;比如Android用户受到攻击,只会让Android用户的登陆失效,IOS用户不受影响。附图说明图1为本专利技术实施例的一种方法流程图;图2为本专利技术实施例的一种具体方法流程示意图;图3为本专利技术实施例的装置结构示意图。具体实施方式为了便于本领域技术人员的理解,下面结合实施例与附图对本专利技术作进一步的说明,实施方式提及的内容并非对本专利技术的限定。本专利技术实施例中公开了一种移动应用程序的密码保护方法,该方法包括客户端和服务器。通常客户端可以是手机、平板等移动设备,在客户端上装载有操作系统例如安卓Android系统、IOS系统、WP系统等。在操作系统上安装有实现一定功能的应用程序,其中有一些应用程序需要通过用户名和密码登陆。通过登陆访问网络中的服务器。如图1,所述方法包括:S101,服务器接收客户端发送的登陆信息,其中登陆信息包括经过加密处理的用户名和密码。在一个实施例中,如图2,当用户首次通过客户端访问应用程序时,用户需要输入用户名和密码。应用程序可以把这些信息用RSA公钥加密:(用户名,密码,时间,mac,随机数),并发送到服务器。其中时间表示访问该应用程序的期限。密码用RSA公私钥进行加解密,能够增强密码在网络传输中的安全性。S102,服务器对所述用户名和密码进行解密,并判断用户名和密码是否正确;如正确,服务器进行加密形成加密串和密钥并保存。在一个实施例中,登陆信息还包括登陆期限;服务器使用RSA私钥解密,并判断登陆期限是否在预设期限范围之内;如果在所述预设期限范围之内,则判断用户名和密码是否正确;否则登陆失败。在一个实施例中,服务器进行加密形成加密串并保存包括:服务器进行加密形成加密串,其中加密串包括随机salt值,用户名,客户端类型以及登陆期限,密钥包括用户名和操作系统名称;服务器存储所述加密串和密钥。具体的,如图2,服务器用RSA私钥解密,判断时间(可以动态调整1天到7天),如果不在时间范围之内,则登陆失败。如果在时间范围之内,再调用coreservice判断用户名和密码。这里判断时间,主要是防止攻击者截取到加密串后,可以长久地利用这个加密串来登陆。服务器支持动态调整时间范围,可以灵活保证用户密码的时效性如图2,如果服务器判断用户成功登陆,则用AES加密:(随机salt,用户名,客户端类型,时间),以(用户名+Android/IOS/WP)为密钥key,存到缓存里。在RSA加密基础上又使用AES加密,用户账号密码的保护等级大大提高;多端实现该机制可将应用程序密码得到统一高级别的保护。在一个实施例中,服务器可以采用AES或RSA方法进行加密。S103,服务器向客户端返回加密串。客户端保存所述加密串以便于下次登陆时直接调用。当应用程序首次登陆成功后,其下次访问服务器时就可以自动登陆。当服务器接收到客户端发送的包括所述加密串的自动登陆信息时,该方法还包括:服务器解密加密串并判断用户名是否一致;如一致,则通过所述密钥访问服务器,并判断salt值与服务器存储的加密串中的salt值是否一致;如一致,则登陆成功;否则登陆失败。...

【技术保护点】
1.一种移动应用程序的密码保护方法,其特征在于,/n服务器接收客户端发送的登陆信息,其中登陆信息包括经过加密处理的用户名和密码;/n服务器对所述用户名和密码进行解密,并判断用户名和密码是否正确;/n如正确,服务器进行加密形成加密串和密钥并保存;/n服务器向客户端返回加密串。/n

【技术特征摘要】
1.一种移动应用程序的密码保护方法,其特征在于,
服务器接收客户端发送的登陆信息,其中登陆信息包括经过加密处理的用户名和密码;
服务器对所述用户名和密码进行解密,并判断用户名和密码是否正确;
如正确,服务器进行加密形成加密串和密钥并保存;
服务器向客户端返回加密串。


2.如权利要求1所述的方法,其特征在于,所述登陆信息还包括登陆期限;服务器对所述用户名和密码进行解密,并判断用户名和密码是否正确包括:服务器使用RSA私钥解密,判断登陆期限是否在预设期限范围之内;如果在所述预设期限范围之内,则判断用户名和密码是否正确;否则登陆失败。


3.如权利要求1所述的方法,其特征在于,所述服务器进行加密形成加密串并保存包括:服务器进行加密形成加密串,其中加密串包括随机salt值,用户名,客户端类型以及登陆期限,密钥包括用户名和操作系统名称;服务器存储所述加密串和密钥。


4.如权利要求3所述的方法,其特征在于,还包括:当服务器接收到客户端发送的包括所述加密串的自动登陆信息时,服务器解密加密串并判断用户名是否一致;如一致,则通过所述密钥访问服务器,并判断salt值与服务器存储的加密串中的salt值是否一致;如一致,则登陆成功;否则登陆失败。


5.如权利要求1-4任一项所述的方法,其特征在于,服务器采用AES或R...

【专利技术属性】
技术研发人员:胡恒
申请(专利权)人:紫光云南京数字技术有限公司
类型:发明
国别省市:江苏;32

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

1