CN109104432A - 一种基于jwt协议的信息传递安全方法 - Google Patents

一种基于jwt协议的信息传递安全方法 Download PDF

Info

Publication number
CN109104432A
CN109104432A CN201811126678.9A CN201811126678A CN109104432A CN 109104432 A CN109104432 A CN 109104432A CN 201811126678 A CN201811126678 A CN 201811126678A CN 109104432 A CN109104432 A CN 109104432A
Authority
CN
China
Prior art keywords
jwt
token
agreement
information
state
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.)
Granted
Application number
CN201811126678.9A
Other languages
English (en)
Other versions
CN109104432B (zh
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.)
Shenzhen Zhuyun Technology Co ltd
Original Assignee
Shenzhen Zhuyun Science & 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 Shenzhen Zhuyun Science & Technology Co Ltd filed Critical Shenzhen Zhuyun Science & Technology Co Ltd
Priority to CN201811126678.9A priority Critical patent/CN109104432B/zh
Publication of CN109104432A publication Critical patent/CN109104432A/zh
Application granted granted Critical
Publication of CN109104432B publication Critical patent/CN109104432B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于JWT协议的信息传递安全方法,所述基于JWT协议的信息传递安全方法中在Payload部分增加state字段,state属性由服务端生成随机唯一的数,并在redis中以state其值为key,申请方ID为value进行保存;客户端携带JWT令牌由协议中的原样发出,优化为增加客户端动态一次性口令,以校验客户端身份。本发明校验客户端凭证,使得JWT令牌被盗取后也不可冒用,增强安全防护;本发明可以解决原JWT协议中令牌只能自动过期无法主动销毁的问题,加大企业内部安全内控能力。

Description

一种基于JWT协议的信息传递安全方法
技术领域
本发明涉及一种信息传递安全方法,更具体地说,涉及一种基于JWT协议的信息传递安全方法。
背景技术
身份认证场景下,一旦用户完成了登陆,在接下来的每个请求中需要包含可信TOKEN,可以用来验证用户身份以及对路由,服务和资源的访问权限进行验证。JWT由于它的开销非常小,可以轻松的在不同域名的***中传递,所有目前在单点登录(SSO)中比较广泛的使用了该技术。信息交换在通信的双方之间使用JWT对数据进行编码是一种非常安全的方式,由于它的信息是经过签名的,可以确保发送者发送的信息是没有经过伪造的风险。JSON WEB Token(JWT),是一种基于JSON的、用于在网络上声明某种主张的令牌(token)。JWT通常由三部分组成:头信息(header),消息体(payload)和签名(signature)。在LocalStorage中保存敏感信息并不安全,容易受到跨站脚本攻击,跨站脚本(Cross sitescript,简称xss)是一种“HTML注入”,由于攻击的脚本多数时候是跨域的,所以称之为“跨域脚本”,这些脚本代码可以盗取cookie或是Local Storage中的数据。所有的认证信息都在JWT中,由于在服务端没有状态,即使你知道了某个JWT被盗取了,也没有办法将其作废。在JWT过期之前,对此无能为力。
发明内容
本发明要解决的技术问题在于,针对现有技术中的缺陷,提供一种基于JWT协议的信息传递安全方法,解决在使用JWT过程中,暴露出的token被盗取滥用导致用户隐私泄露及***安全受损等问题。
本发明解决其技术问题所采用的技术方案是:构造一种基于JWT协议的信息传递安全方法,即Payload内容扩展,存储令牌标识,以实现令牌注销的功能;客户端携带JWT令牌由协议中的原样发出,优化为增加客户端动态一次性口令,以校验客户端身份。
在本发明所述的基于JWT协议的信息传递安全方法中,所述基于JWT协议的信息传递安全方法中在Payload部分增加state字段,state属性由服务端生成随机唯一的数,并在redis中以state其值为key,申请方ID为value进行保存;客户端携带JWT令牌由协议中的原样发出,优化为增加客户端动态一次性口令,以校验客户端身份。
在本发明所述的基于JWT协议的信息传递安全方法中,所述基于JWT协议的信息传递安全方法步骤为:
S1首先由令牌申请方发起认证请求,请求时应包含申请方ID等信息;
S2服务端接受到请求后,判断用户是否已登录,未登录则需完成登录校验,最后服务端生成传统JWT的三段式票据信息,其中在Payload部分需增加state字段,state属性由服务端生成随机唯一的数,并在redis中以state其值为key,申请方ID为value进行保存;
S3令牌申请方获取到令牌后进行缓存,在需要请求服务端某些资源时,需要在原令牌基础上加上第四段信息,第四段信息内容应当以竹云OTP(一次性动态密码)算法用申请方独有seed生成。格式如下
base64(header).baes64(payroad).ServerSignature.ClientOtp;
S4服务端收到请求后,首先检查令牌内容及签名信息是否正确,签名信息校验无误后取出payroad中的state,从redis中取出对应应用ID,如未取到说明该令牌已被强制销毁;如存在则根据应用ID及对应seed校验客户端动态令牌是否正确。全部无误后返回对应资源。
实施本发明的一种基于JWT协议的信息传递安全方法,具有以下有益效果:本发明校验客户端凭证,使得JWT令牌被盗取后也不可冒用,增强安全防护;本发明可以解决原JWT协议中令牌只能自动过期无法主动销毁的问题,加大企业内部安全内控能力。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的基于JWT协议的信息传递安全方法流程图
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,所述基于JWT协议的信息传递安全方法中在Payload部分增加state字段,state属性由服务端生成随机唯一的数,并在redis中以state其值为key,申请方ID为value进行保存;客户端携带JWT令牌由协议中的原样发出,优化为增加客户端动态一次性口令,以校验客户端身份。
进一步地,所述基于JWT协议的信息传递安全方法步骤为:
S1首先由令牌申请方发起认证请求,请求时应包含申请方ID等信息;
S2服务端接受到请求后,判断用户是否已登录,未登录则需完成登录校验,最后服务端生成传统JWT的三段式票据信息,其中在Payload部分需增加state字段,state属性由服务端生成随机唯一的数,并在redis中以state其值为key,申请方ID为value进行保存;
S3令牌申请方获取到令牌后进行缓存,在需要请求服务端某些资源时,需要在原令牌基础上加上第四段信息,第四段信息内容应当以竹云OTP(一次性动态密码)算法用申请方独有seed生成。格式如下
base64(header).baes64(payroad).ServerSignature.ClientOtp;
S4服务端收到请求后,首先检查令牌内容及签名信息是否正确,签名信息校验无误后取出payroad中的state,从redis中取出对应应用ID,如未取到说明该令牌已被强制销毁;如存在则根据应用ID及对应seed校验客户端动态令牌是否正确。全部无误后返回对应资源。
尽管通过以上实施例对本发明进行了揭示,但本发明的保护范围并不局限于此,在不偏离本发明构思的条件下,对以上各构件所做的变形、替换等均将落入本发明的权利要求范围内。

Claims (2)

1.一种基于JWT协议的信息传递安全方法,其特征在于,所述基于JWT协议的信息传递安全方法中在Payload部分增加state字段,state属性由服务端生成随机唯一的数,并在redis中以state其值为key,申请方ID为value进行保存;客户端携带JWT令牌由协议中的原样发出,优化为增加客户端动态一次性口令,以校验客户端身份。
2.根据权利要求1所述的基于JWT协议的信息传递安全方法,其特征在于,所述基于JWT协议的信息传递安全方法步骤为:
S1首先由令牌申请方发起认证请求,请求时应包含申请方ID等信息;
S2服务端接受到请求后,判断用户是否已登录,未登录则需完成登录校验,最后服务端生成传统JWT的三段式票据信息,其中在Payload部分需增加state字段,state属性由服务端生成随机唯一的数,并在redis中以state其值为key,申请方ID为value进行保存;
S3令牌申请方获取到令牌后进行缓存,在需要请求服务端某些资源时,需要在原令牌基础上加上第四段信息,第四段信息内容应当以竹云OTP(一次性动态密码)算法用申请方独有seed生成;格式如下
base64(header).baes64(payroad).ServerSignature.ClientOtp;
S4服务端收到请求后,首先检查令牌内容及签名信息是否正确,签名信息校验无误后取出payroad中的state,从redis中取出对应应用ID,如未取到说明该令牌已被强制销毁;如存在则根据应用ID及对应seed校验客户端动态令牌是否正确,全部无误后返回对应资源。
CN201811126678.9A 2018-09-26 2018-09-26 一种基于jwt协议的信息传递安全方法 Active CN109104432B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811126678.9A CN109104432B (zh) 2018-09-26 2018-09-26 一种基于jwt协议的信息传递安全方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811126678.9A CN109104432B (zh) 2018-09-26 2018-09-26 一种基于jwt协议的信息传递安全方法

Publications (2)

Publication Number Publication Date
CN109104432A true CN109104432A (zh) 2018-12-28
CN109104432B CN109104432B (zh) 2020-06-09

Family

ID=64867084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811126678.9A Active CN109104432B (zh) 2018-09-26 2018-09-26 一种基于jwt协议的信息传递安全方法

Country Status (1)

Country Link
CN (1) CN109104432B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276197A (zh) * 2019-06-25 2019-09-24 四川长虹电器股份有限公司 基于共享黑名单撤销jwt令牌实时生效的方法
CN110535851A (zh) * 2019-08-27 2019-12-03 浪潮云信息技术有限公司 一种基于oauth2协议的用户认证***
CN110933092A (zh) * 2019-12-03 2020-03-27 银清科技有限公司 一种基于jwt的单点登录实现方法及装置
CN110958119A (zh) * 2019-10-25 2020-04-03 泰康保险集团股份有限公司 身份验证方法和装置
WO2020252897A1 (zh) * 2019-06-18 2020-12-24 平安科技(深圳)有限公司 全链路数据鉴权方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103096049A (zh) * 2011-11-02 2013-05-08 华为技术有限公司 一种视频处理方法及***、相关设备
US20160065555A1 (en) * 2014-08-29 2016-03-03 Box, Inc. Accessing a cloud-based service platform using enterprise application authentication
CN106529948A (zh) * 2016-11-07 2017-03-22 飞天诚信科技股份有限公司 一种支付认证方法及***
CN106534143A (zh) * 2016-11-28 2017-03-22 上海斐讯数据通信技术有限公司 一种跨应用认证授权的方法和***
CN108462581A (zh) * 2018-01-08 2018-08-28 平安科技(深圳)有限公司 网络令牌生成的方法、装置、终端设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103096049A (zh) * 2011-11-02 2013-05-08 华为技术有限公司 一种视频处理方法及***、相关设备
US20160065555A1 (en) * 2014-08-29 2016-03-03 Box, Inc. Accessing a cloud-based service platform using enterprise application authentication
CN106529948A (zh) * 2016-11-07 2017-03-22 飞天诚信科技股份有限公司 一种支付认证方法及***
CN106534143A (zh) * 2016-11-28 2017-03-22 上海斐讯数据通信技术有限公司 一种跨应用认证授权的方法和***
CN108462581A (zh) * 2018-01-08 2018-08-28 平安科技(深圳)有限公司 网络令牌生成的方法、装置、终端设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020252897A1 (zh) * 2019-06-18 2020-12-24 平安科技(深圳)有限公司 全链路数据鉴权方法、装置、设备及存储介质
CN110276197A (zh) * 2019-06-25 2019-09-24 四川长虹电器股份有限公司 基于共享黑名单撤销jwt令牌实时生效的方法
CN110535851A (zh) * 2019-08-27 2019-12-03 浪潮云信息技术有限公司 一种基于oauth2协议的用户认证***
CN110958119A (zh) * 2019-10-25 2020-04-03 泰康保险集团股份有限公司 身份验证方法和装置
CN110933092A (zh) * 2019-12-03 2020-03-27 银清科技有限公司 一种基于jwt的单点登录实现方法及装置

Also Published As

Publication number Publication date
CN109104432B (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN109104432A (zh) 一种基于jwt协议的信息传递安全方法
US8332627B1 (en) Mutual authentication
US7562222B2 (en) System and method for authenticating entities to users
US9112828B2 (en) Method for defending against session hijacking attacks and firewall
CN101453458B (zh) 基于多变量的动态密码口令双向认证的身份识别方法技术
CN106576041A (zh) 客户端与服务器之间相互验证的方法
US20140245417A1 (en) Centralized secure management method of third-party application, system and corresponding communication system
CN103220303B (zh) 服务器的登录方法及服务器、认证设备
EP3726406B1 (en) Preventing account lockout through request throttling
CN103944900A (zh) 一种基于加密的跨站请求攻击防范方法及其装置
CN106453361B (zh) 一种网络信息的安全保护方法及***
CN103179134A (zh) 基于Cookie的单点登录方法、***及其应用服务器
CN109450865A (zh) 基于jwt验证的api用户认证方法
JP2012530965A (ja) 共有登録システムの多要素認証
CN101697540A (zh) 一种p2p服务请求用户身份认证方法
CN108259619B (zh) 网络请求防护方法及网络通信***
US8903095B2 (en) Methods and apparatuses for avoiding damage in network attacks
Armando et al. From multiple credentials to browser-based single sign-on: Are we more secure?
US20100235625A1 (en) Techniques and architectures for preventing sybil attacks
CN103853950A (zh) 一种基于移动终端的认证方法及移动终端
Bojjagani et al. PhishPreventer: a secure authentication protocol for prevention of phishing attacks in mobile environment with formal verification
US20140359069A1 (en) Method for securely sharing a url
CN113672897B (zh) 数据通信方法、装置、电子设备及存储介质
Hossain et al. OAuth-SSO: A framework to secure the OAuth-based SSO service for packaged web applications
CN108111518B (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 518000 East, 3rd floor, incubation building, China Academy of science and technology, 009 Gaoxin South 1st Road, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Zhuyun Technology Co.,Ltd.

Address before: 518000 East, 3rd floor, incubation building, China Academy of science and technology, 009 Gaoxin South 1st Road, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN BAMBOOCLOUD TECHNOLOGY CO.,LTD.

CP01 Change in the name or title of a patent holder
CP02 Change in the address of a patent holder

Address after: 518000 4001, Block D, Building 1, Chuangzhi Yuncheng Lot 1, Liuxian Avenue, Xili Community, Xili Street, Nanshan District, Shenzhen, Guangdong

Patentee after: Shenzhen Zhuyun Technology Co.,Ltd.

Address before: 518000 East, 3rd floor, incubation building, China Academy of science and technology, 009 Gaoxin South 1st Road, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Zhuyun Technology Co.,Ltd.

CP02 Change in the address of a patent holder