CN111181952A - 移动应用程序的密码保护方法、装置及计算机存储介质 - Google Patents

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

Info

Publication number
CN111181952A
CN111181952A CN201911367928.2A CN201911367928A CN111181952A CN 111181952 A CN111181952 A CN 111181952A CN 201911367928 A CN201911367928 A CN 201911367928A CN 111181952 A CN111181952 A CN 111181952A
Authority
CN
China
Prior art keywords
password
user name
server
login
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911367928.2A
Other languages
English (en)
Inventor
胡恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unicloud Nanjing Digital Technology Co Ltd
Original Assignee
Unicloud Nanjing Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unicloud Nanjing Digital Technology Co Ltd filed Critical Unicloud Nanjing Digital Technology Co Ltd
Priority to CN201911367928.2A priority Critical patent/CN111181952A/zh
Publication of CN111181952A publication Critical patent/CN111181952A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

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

Description

移动应用程序的密码保护方法、装置及计算机存储介质
技术领域
本发明属于计算机领域,具体涉及移动应用程序的密码保护方法、装置及计算机可读存储介质。
背景技术
在互联网+时代,移动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值是否一致;如一致,则登陆成功;否则登陆失败。
在一个实施例中,如图2,应用程序发送保存的加密串到服务器,加密串为(加密串,用户名,mac,随机数),可以使用RSA公钥加密。服务器用RSA私钥解密,再用AES解密加密串,判断用户名是否一致。如果一致,再以(用户名+Android/IOS/WP)为密钥key到缓存里查询。如果判断缓存中的salt值和客户端发送过来的一致,则用户登陆成功;否则登陆失败。
通过上述方法,应用程序的密码不会明文存储,并且不能反编绎解密;并且在服务器端可以控制应用程序的登陆有效性,防止攻击者拿到数据之后,可以长久地登陆;此外,该方法还可以区分不同类型的客户端安全性;比如Android用户受到攻击,只会让Android用户的登陆失效,IOS用户不受影响。对于安全要求严格的应用,还可以定期更新私钥,来保证用户的数据安全。
本发明实施例还公开了一种装置10,如图3,包括:接收模块101,用于接收客户端发送的登陆信息,其中登陆信息包括经过加密处理的用户名和密码;处理模块102,用于对所述用户名和密码进行解密,并判断用户名和密码是否正确;如正确,进行加密形成加密串和密钥并保存;响应模块103,用于向客户端返回加密串。
所述登陆信息还包括登陆期限;处理模块102还用于使用RSA私钥解密,判断所述登陆期限是否在预设期限范围之内;如果在所述预设期限范围之内,则判断用户名和密码是否正确;否则登陆失败。
处理模块102还用于:进行加密形成加密串,其中加密串包括随机salt值,用户名,客户端类型以及登陆期限,密钥包括用户名和操作系统名称;存储所述加密串和密钥。
装置10还包括:当接收到客户端发送的包括所述加密串的自动登陆信息时,所述处理模块102还用于解密加密串并判断用户名是否一致;如一致,则通过所述密钥判断salt值与存储的加密串中的salt值是否一致;如一致,则登陆成功;否则登陆失败。
装置10具体的实施方式可以参考方法实施例,不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。

Claims (10)

1.一种移动应用程序的密码保护方法,其特征在于,
服务器接收客户端发送的登陆信息,其中登陆信息包括经过加密处理的用户名和密码;
服务器对所述用户名和密码进行解密,并判断用户名和密码是否正确;
如正确,服务器进行加密形成加密串和密钥并保存;
服务器向客户端返回加密串。
2.如权利要求1所述的方法,其特征在于,所述登陆信息还包括登陆期限;服务器对所述用户名和密码进行解密,并判断用户名和密码是否正确包括:服务器使用RSA私钥解密,判断登陆期限是否在预设期限范围之内;如果在所述预设期限范围之内,则判断用户名和密码是否正确;否则登陆失败。
3.如权利要求1所述的方法,其特征在于,所述服务器进行加密形成加密串并保存包括:服务器进行加密形成加密串,其中加密串包括随机salt值,用户名,客户端类型以及登陆期限,密钥包括用户名和操作系统名称;服务器存储所述加密串和密钥。
4.如权利要求3所述的方法,其特征在于,还包括:当服务器接收到客户端发送的包括所述加密串的自动登陆信息时,服务器解密加密串并判断用户名是否一致;如一致,则通过所述密钥访问服务器,并判断salt值与服务器存储的加密串中的salt值是否一致;如一致,则登陆成功;否则登陆失败。
5.如权利要求1-4任一项所述的方法,其特征在于,服务器采用AES或RSA方法进行加密。
6.一种移动应用程序的密码保护装置,其特征在于,接收模块,用于接收客户端发送的登陆信息,其中登陆信息包括经过加密处理的用户名和密码;处理模块,用于对所述用户名和密码进行解密,并判断用户名和密码是否正确;如正确,进行加密形成加密串和密钥并保存;响应模块,用于向客户端返回加密串。
7.如权利要求6所述的装置,其特征在于,所述登陆信息还包括登陆期限;处理模块还用于使用RSA私钥解密,判断是否在预设期限范围之内;如果在所述预设期限范围之内,则判断用户名和密码是否正确;否则登陆失败。
8.如权利要求6所述的装置,其特征在于,处理模块还用于:进行加密形成加密串,其中加密串包括随机salt值,用户名,客户端类型以及登陆期限,密钥包括用户名和操作系统名称;存储所述加密串和密钥。
9.如权利要求8所述的装置,其特征在于,还包括:当接收到客户端发送的包括所述加密串的自动登陆信息时,所述处理模块还用于解密加密串并判断用户名是否一致;如一致,则通过所述密钥判断salt值与存储的加密串中的salt值是否一致;如一致,则登陆成功;否则登陆失败。
10.一种计算机存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述权利要求1-5任意一项所述移动应用程序的密码保护方法。
CN201911367928.2A 2019-12-26 2019-12-26 移动应用程序的密码保护方法、装置及计算机存储介质 Pending CN111181952A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911367928.2A CN111181952A (zh) 2019-12-26 2019-12-26 移动应用程序的密码保护方法、装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911367928.2A CN111181952A (zh) 2019-12-26 2019-12-26 移动应用程序的密码保护方法、装置及计算机存储介质

Publications (1)

Publication Number Publication Date
CN111181952A true CN111181952A (zh) 2020-05-19

Family

ID=70657505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911367928.2A Pending CN111181952A (zh) 2019-12-26 2019-12-26 移动应用程序的密码保护方法、装置及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111181952A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428221A (zh) * 2013-08-26 2013-12-04 百度在线网络技术(北京)有限公司 对移动应用的安全登录方法、系统和装置
US20170230354A1 (en) * 2015-05-13 2017-08-10 Spotify Ab Automatic login on a website by means of an app

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428221A (zh) * 2013-08-26 2013-12-04 百度在线网络技术(北京)有限公司 对移动应用的安全登录方法、系统和装置
US20170230354A1 (en) * 2015-05-13 2017-08-10 Spotify Ab Automatic login on a website by means of an app

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
叶水勇 等: "移动应用安全防护技术探究", 《国网技术学院学报》 *

Similar Documents

Publication Publication Date Title
US9544280B2 (en) Utilization of a protected module to prevent offline dictionary attacks
US11070368B2 (en) System, method, and program for transmitting and receiving any type of secure digital data
US8898482B2 (en) Encryption system using clients and untrusted servers
CN107506659B (zh) 一种基于sgx的通用数据库的数据保护系统及方法
US20190028273A1 (en) Method for saving data with multi-layer protection, in particular log-on data and passwords
US11329962B2 (en) Pluggable cipher suite negotiation
US10491403B2 (en) Data loss prevention with key usage limit enforcement
WO2015180691A1 (zh) 验证信息的密钥协商方法及装置
US20140096213A1 (en) Method and system for distributed credential usage for android based and other restricted environment devices
US8885833B2 (en) One-time recovery credentials for encrypted data access
CN111245802B (zh) 数据传输安全控制方法、服务器以及终端
US20090100060A1 (en) Device, system, and method of file-utilization management
US11240008B2 (en) Key management method, security chip, service server and information system
US20030210791A1 (en) Key management
US9853811B1 (en) Optimistic key usage with correction
CN110505055B (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN104270242A (zh) 一种用于网络数据加密传输的加解密装置
CN204180095U (zh) 一种用于网络数据加密传输的加解密装置
Hussien et al. Scheme for ensuring data security on cloud data storage in a semi-trusted third party auditor
Sarhan et al. Secure android-based mobile banking scheme
WO2011030352A2 (en) System and method for mobile phone resident digital signing and encryption/decryption of sms
CN108173880A (zh) 一种基于第三方密钥管理的文件加密系统
CN111181952A (zh) 移动应用程序的密码保护方法、装置及计算机存储介质
CN113475038A (zh) 使用半信任中介的安全消息传递
CN105426771A (zh) 一种实现大数据安全的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200519

RJ01 Rejection of invention patent application after publication