CN105207782B - 一种基于restful架构的身份验证方法 - Google Patents
一种基于restful架构的身份验证方法 Download PDFInfo
- Publication number
- CN105207782B CN105207782B CN201510638258.9A CN201510638258A CN105207782B CN 105207782 B CN105207782 B CN 105207782B CN 201510638258 A CN201510638258 A CN 201510638258A CN 105207782 B CN105207782 B CN 105207782B
- Authority
- CN
- China
- Prior art keywords
- authentication
- server
- logging
- login
- time stamp
- 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.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于restful架构的身份验证方法,包括:(1)登录过程:对用户名密码进行RSA加密传送到服务端,服务端进行解密,使用TEA加密算法将解密的用户名、密码以及登录IP、登录PORT、登录时间戳加上随机字符生成登录凭证;(2)操作凭证:将登录凭证及操作时间戳进行RSA加密,生成带操作时间戳的操作凭证;(3)身份验证过程:服务端将步骤(2)中的操作凭证解密,并与服务端记录的登录凭证和登录时间戳进行比对,两者均满足要求时,才能通过验证与现有技术相比,本发明通过在RESTful接口中加入一层安全认证,使接口在调用时更安全,加入了此身份验证功能,提高了操作的安全性。
Description
技术领域
本发明涉及一种安全认证方法,尤其是涉及一种基于restful架构的身份验证方法。
背景技术
RESTful是一种软件架构风格,提供了一组设计原则和约束,基于此风格的设计软件可以更简洁,更有层次,更易于实现缓存等机制,因此,越来越多的软件采用此风格进行设计和实现。然而RESTful API运行在网络之上,其安全认证一直被人们所关注,如何有效防止rainbow table、挟持和重发等多种攻击方式,成为RESTful API重点关注的问题。
Rainbow table是一种破解哈希算法的技术,是一款跨平台密码破解器,主要可以破解MD5、HASH等多种密码。它的性能非常让人震惊,在一台普通PC上辅以NVidia CUDA技术,对于NTLM算法可以达到最高每秒103,820,000,000次明文尝试(超过一千亿次),对于广泛使用的MD5也接近一千亿次。更神奇的是,Rainbow table并非针对某种哈希算法的漏洞进行攻击,而是类似暴力破解,对于任何哈希算法都有效。
网络抓包可以通过抓包工具,抓取网络上的数据包,然后进行分析破解,获取密码或者凭证,使用此密码或凭证对服务器进行攻击,造成服务器数据丢失甚至于瘫痪。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种安全性高的基于restful架构的身份验证方法。
本发明的目的可以通过以下技术方案来实现:
一种基于restful架构的身份验证方法,其特征在于,包括以下步骤:
(1)登录过程:对用户名密码进行RSA加密传送到服务端,服务端进行解密,使用TEA加密算法将解密的用户名、密码以及登录IP、登录PORT、登录时间戳加上随机字符生成登录凭证;
(2)操作凭证:将登录凭证及操作时间戳进行RSA加密,生成带操作时间戳的操作凭证;
(3)身份验证过程:服务端将步骤(2)中的操作凭证解密,并与服务端记录的登录凭证和登录时间戳进行比对,两者均满足要求时,才能通过验证。
所述的服务端将加密后的用户名和密码进行解密,并与数据库中的用户名和密码进行比对,如果两者均相同,则生成登录凭证,否则显示异常信息。
所述的步骤(102)中,生成登录凭证的具体过程为:服务端将用户名和密码、登录IP和随机字符组合在一起,并加密生成登录凭证,服务端将该登录凭证与登录时间戳一起保存到数据库中,并且通过客户端私钥解密后,保存到客户端本地。
所述的加密生成登录凭证的加密方法为用密码的MD5值作为密钥,采用TEA加密算法,形成总长为64节的登录凭证。
所述的步骤(103)中,对从客户端获取步骤(1)保存的登录凭证与某一操作时的时间戳组成的字符串采用128位RSA加密方式进行加密。
所述的服务端将操作凭证解密,并与服务端记录的登录凭证和登录时间戳进行比对,具体为:服务端私钥对操作凭证解密,并与保存到服务端的登录凭证及登录时间戳进行比对,当凭证相等并且操作时间戳大于T时,才能通过验证,其中T=登录时间戳-3S。
服务端每隔1分钟更新一次保存的时间戳,并将保存的时间戳加上60S。
客户端的密钥编码到客户端中,服务端的密钥保存到配置文件中,服务端密钥的安全通过主机的安全来保障。
该方法利用Restful架构进行安全认证,包括但不限于登录认证,操作有效性认证。
与现有技术相比,本发明具有以下优点:
(1)优化RESTful登录过程,对用户名和密码采用128位RSA加密方式并附带客户端时间戳,能有效防止密码被挟持并破解,即使通过抓包的方式获取到密文的密码,也无法转换成明文密码进行网络攻击;
(2)本发明通过凭证与时间结合的验证方式,比单纯使用MD5、RSA等加密方法更安全,加强了RESTful API接口的安全性,若通过网络抓包的方式截取到了凭证,也会被服务端当成无效的用户来处理,防止了网络挟持等攻击方式,有效防止服务器被恶意攻击和破坏。
附图说明
图1为RESTful API验证时序图;
图2为RESTful架构登录过程流程图;
图3为RESTful生成登录凭证过程流程图;
图4为RESTful API身份验证过程流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例1
如图1所示,一种基于restful架构的身份验证方法,包括以下步骤:
1登录过程(如图2所示):包括以下具体步骤:
101用户登录时,用户名和密码通过服务端的公钥进行加密,将加密后的用户名、密码以及客户端公钥发送给服务端;
102服务端将加密后的用户名和密码进行解密,并与数据库中保存的用户名和密码进行比对,如果两者均相同,则服务端将用户名和密码、登录IP和随机字符组合在一起,并用密码的MD5值作为密钥,采用TEA加密算法,形成总长为64节的登录凭证:TEA(‘user’+MD5(password)+IP+PORT+LoginTime+padding),服务端将该登录凭证与登录时间戳一起保存到数据库中,并且通过客户端私钥解密后,保存到客户端本地,否则显示异常信息;
103从客户端获取登录凭证将生成的登录凭证与某一操作时的操作时间戳组成一个字符串,并将该字符串采用128位RSA加密方式进行加密形成操作凭证,使用128位RSA加密方式,能有效的防止用户名密码被破解,即使通过抓包的方式获取到密文的密码,也无法转成明文密码进行网络攻击。(如图3所示)。
2、身份验证过程:服务端私钥对操作凭证解密,并与保存到服务端的凭证及登录时间戳进行比对,当凭证相等并且操作时间戳大于(登录时间戳-3S)时,才能通过验证(如图4所示)。
服务端每隔1分钟更新一次保存的时间戳,并将保存的时间戳加上60S。
客户端的密钥编码到客户端中,服务端的密钥保存到配置文件中,服务端密钥的安全通过主机的安全来保障。
上述所述的凭证也称为票据或Token。该方法利用Restful架构进行安全认证,包括但不限于登录认证,操作有效性认证。
Claims (6)
1.一种基于restful架构的身份验证方法,其特征在于,包括以下步骤:
(1)登录过程:对用户名密码进行RSA加密传送到服务端,服务端进行解密,并与数据库中的用户名和密码进行比对,如果两者均相同,使用TEA加密算法将解密的用户名、密码以及登录IP、登录PORT、登录时间戳加上随机字符生成登录凭证,服务端将该登录凭证与登录时间戳一起保存到数据库中,将登陆凭证使用RSA加密后返回给客户端;
(2)操作凭证过程:客户端将登录凭证及操作时间戳进行RSA加密,生成带操作时间戳的操作凭证;
(3)身份验证过程:服务端将步骤(2)中的操作凭证解密,并与服务端记录的登录凭证和登录时间戳进行比对,两者均满足要求时,才能通过验证。
2.根据权利要求1所述的一种基于restful架构的身份验证方法,其特征在于,如果两者至少有一个不同,显示异常信息。
3.根据权利要求2所述的一种基于restful架构的身份验证方法,其特征在于,所述的步骤(1)中,生成登录凭证的具体过程为:服务端将用户名和密码、登录IP和随机字符组合在一起,并加密生成登录凭证,并且通过客户端私钥解密后,保存到客户端本地。
4.根据权利要求3所述的一种基于restful架构的身份验证方法,其特征在于,所述的加密生成登录凭证的加密方法为用密码的MD5值作为密钥,采用TEA加密算法,形成总长为64节的登录凭证。
5.根据权利要求2所述的一种基于restful架构的身份验证方法,其特征在于,所述的步骤(2)中,对从客户端获取步骤(1)保存的登录凭证与某一操作时的时间戳组成的字符串采用128位RSA加密方式进行加密。
6.根据权利要求1所述的一种基于restful架构的身份验证方法,其特征在于,所述的服务端将操作凭证解密,并与服务端记录的登录凭证和登录时间戳进行比对,具体为:服务端私钥对操作凭证解密,并与保存到服务端的登录凭证及登录时间戳进行比对,当凭证相等并且操作时间戳大于T时,才能通过验证,其中T=登录时间戳-3S。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510638258.9A CN105207782B (zh) | 2015-11-18 | 2015-11-18 | 一种基于restful架构的身份验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510638258.9A CN105207782B (zh) | 2015-11-18 | 2015-11-18 | 一种基于restful架构的身份验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105207782A CN105207782A (zh) | 2015-12-30 |
CN105207782B true CN105207782B (zh) | 2018-09-25 |
Family
ID=54955238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510638258.9A Active CN105207782B (zh) | 2015-11-18 | 2015-11-18 | 一种基于restful架构的身份验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105207782B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107040365A (zh) * | 2017-03-31 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 一种在Flash中对图片资源进行加密保护的方法及装置 |
CN107085689B (zh) * | 2017-03-31 | 2020-04-10 | 武汉斗鱼网络科技有限公司 | 一种在Flash中对图片资源进行加密保护的方法及装置 |
CN107483199A (zh) * | 2017-10-10 | 2017-12-15 | 重庆浩品峰电子商务有限公司 | 信息验证方法及装置 |
CN107634904A (zh) * | 2017-11-07 | 2018-01-26 | 北京恒华伟业科技股份有限公司 | 一种即时通讯交互方法及系统 |
CN107911383A (zh) * | 2017-12-04 | 2018-04-13 | 鼎点视讯科技有限公司 | 一种密码校验方法和装置 |
CN108337258A (zh) * | 2018-01-31 | 2018-07-27 | 中电福富信息科技有限公司 | 一种基于远程执行码的远程控制车辆的方法 |
CN109936447B (zh) * | 2019-01-31 | 2021-10-08 | 平安科技(深圳)有限公司 | 基于时间戳的加密及认证方法、系统和计算机设备 |
CN109981618B (zh) * | 2019-03-13 | 2021-08-17 | 西安外事学院 | 一种计算机网络安全登录验证系统 |
CN110147658A (zh) * | 2019-04-16 | 2019-08-20 | 平安科技(深圳)有限公司 | 用户信息加解密方法、系统和计算机设备 |
CN110891065A (zh) * | 2019-12-03 | 2020-03-17 | 西安博达软件股份有限公司 | 一种基于Token的用户身份辅助加密的方法 |
CN111010385A (zh) * | 2019-12-09 | 2020-04-14 | 山东浪潮商用系统有限公司 | 一种基于RESTful的安全交互方法 |
CN112529578A (zh) * | 2020-12-17 | 2021-03-19 | 平安消费金融有限公司 | 支付密码的管理方法、系统、计算机设备和存储介质 |
CN113037723B (zh) * | 2021-02-26 | 2022-10-28 | 福建金密网络安全测评技术有限公司 | 一种数据提取解析验证的方法及系统 |
CN113132365A (zh) * | 2021-04-07 | 2021-07-16 | 武汉光庭信息技术股份有限公司 | 车载T-Box的通信安全保护方法及系统 |
CN113392420A (zh) * | 2021-07-06 | 2021-09-14 | 山东电力工程咨询院有限公司 | 一种智慧化项目数据管理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685749A (zh) * | 2012-05-30 | 2012-09-19 | 杭州师范大学 | 面向移动终端的无线安全身份验证方法 |
CN103685282A (zh) * | 2013-12-18 | 2014-03-26 | 飞天诚信科技股份有限公司 | 一种基于单点登录的身份认证方法 |
CN104243494A (zh) * | 2014-10-11 | 2014-12-24 | 上海众人科技有限公司 | 一种数据处理方法 |
-
2015
- 2015-11-18 CN CN201510638258.9A patent/CN105207782B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685749A (zh) * | 2012-05-30 | 2012-09-19 | 杭州师范大学 | 面向移动终端的无线安全身份验证方法 |
CN103685282A (zh) * | 2013-12-18 | 2014-03-26 | 飞天诚信科技股份有限公司 | 一种基于单点登录的身份认证方法 |
CN104243494A (zh) * | 2014-10-11 | 2014-12-24 | 上海众人科技有限公司 | 一种数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105207782A (zh) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105207782B (zh) | 一种基于restful架构的身份验证方法 | |
CN104219228B (zh) | 一种用户注册、用户识别方法及系统 | |
CN103763356B (zh) | 一种安全套接层连接的建立方法、装置及系统 | |
US8302170B2 (en) | Method for enhancing network application security | |
US20130145447A1 (en) | Cloud-based data backup and sync with secure local storage of access keys | |
EP1913728B1 (en) | Total exchange session security | |
JP2019502189A5 (zh) | ||
Ren et al. | A novel dynamic user authentication scheme | |
MXPA03003710A (es) | Metodos para cambiar a distancia una contrasena de comunicaciones. | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN104486325A (zh) | 一种基于RESTful的安全登陆认证方法 | |
CN103327034A (zh) | 安全登录方法、系统和装置 | |
CN103701787A (zh) | 一种基于公开密钥算法实现的用户名口令认证方法 | |
Wang et al. | Amnesia: A bilateral generative password manager | |
CN103401872B (zh) | 基于rdp改进协议的防止和检测中间人攻击的方法 | |
CN106789524A (zh) | Vpn加密通道的高速解析与还原方法 | |
CZ2013373A3 (cs) | Způsob autentizace bezpečného datového kanálu | |
Liew et al. | One-time knocking framework using SPA and IPsec | |
Huang et al. | A secure communication over wireless environments by using a data connection core | |
CN104811451A (zh) | 登陆链接方法及系统 | |
CN105656854B (zh) | 一种验证无线局域网络用户来源的方法、设备及系统 | |
Raddum et al. | Security analysis of mobile phones used as OTP generators | |
CN104394532A (zh) | 移动端防暴力破解的安全登录方法 | |
Karakostas et al. | Practical new developments on BREACH | |
KR20110043371A (ko) | 보안 기능을 제공하는 안전한 에스아이피 프로토콜을 이용한 공격 탐지 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8 Applicant after: SHANGHAI EISOO INFORMATION TECHNOLOGY CO., LTD. Address before: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8 Applicant before: Shanghai Eisoo Software Co.,Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |