CN116389095A - 一种云平台混合身份认证方法及系统 - Google Patents
一种云平台混合身份认证方法及系统 Download PDFInfo
- Publication number
- CN116389095A CN116389095A CN202310311737.4A CN202310311737A CN116389095A CN 116389095 A CN116389095 A CN 116389095A CN 202310311737 A CN202310311737 A CN 202310311737A CN 116389095 A CN116389095 A CN 116389095A
- Authority
- CN
- China
- Prior art keywords
- user
- cloud platform
- jwt
- api key
- main application
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012795 verification Methods 0.000 claims abstract description 35
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种云平台混合身份认证方法及系统,包括:1)内部用户进行账号注册,注册成功后进入验证邮件点击确认激活账号;2)将用户名及密码输入登陆界面,之后在限定时间内输入验证码则登录成功,并获得JWT;3)利用JWT访问云平台主应用的内部接口,若JWT是合法的,则允许用户访问内部接口;4)在内部接口中,选择用以生成API Key的接口,自定义权限之后,生成相应的API Key;5)利用API Key访问云平台主应用开放接口,若API Key是合法的,则执行下一步操作;6)若用户请求频率未超过上限,则允许访问云平台主应用接口。本发明解决了企业服务器难以兼顾内外部用户管理以及无法充分利用服务器资源的问题。
Description
技术领域
本发明涉及用户身份认证的技术领域,尤其是指一种云平台混合身份认证方法及系统。
背景技术
近年来,国内外互联网技术迅速发展,人工智能、数字政务等新技术、新应用层出不穷,这些新兴应用对计算机的计算能力和存储资源提出了新的要求,与之相应的,云平台技术也被广泛应用于各种生产环境和生活当中,不仅是大型企业,一些中小企业也开始成为了云平台的提供者。
为了提高资源利用率和降低成本,有相当一部分中小企业的云平台是基于企业内部服务器的延申,对于用户的访问控制也是基于企业内部原有的角色分配的方式进行,但是这种做法无法有效地将来自内部的请求和来自外部的请求区分开,会出现外部请求抢占服务器资源,影响内部业务正常开展地情况,另外,开放接口的需求一般会比较多样化,客户有自己的定制化需求,如果采用增加角色的方式来对外部请求进行管理,则会导致服务器内部需要存放很多不同的角色类型及其对应的权限,这对服务器资源是一种浪费。故而企业需求一种可以将内部资源作为云平台服务公开给普通用户,同时又能高效地分别管理企业内部人员和外部普通用户的认证方法。
综上,发明一种云平台混合身份认证方法及系统,具有较高实际应用价值。
发明内容
本发明的第一目的在于克服现有技术的缺点和不足,提出了一种云平台混合身份认证方法,可以有效地解决云平台技术中无法高效地区分内部用户和外部用户的问题,以提高云平台资源利用率,满足安全性需求。
本发明的第二目的在于提供一种云平台混合身份认证系统。
本发明的第一目的通过下述技术方案实现:一种云平台混合身份认证方法,包括以下步骤:
1)内部用户通过Web应用将用户名、邮箱、手机号码和密码发送到云平台主应用进行账号注册,注册成功后云平台主应用会通过邮件代理服务器向用户的邮箱发送验证邮件,用户进入验证邮件点击确认,确认成功则账号激活;
2)将已激活的账号的用户名及密码,输入Web应用的登陆界面,之后云平台主应用通过短信代理服务器向用户的手机号码发送带有验证码的短信,用户在限定时间内输入验证码则登录成功,并获得含有该账号信息的JWT;
3)利用生成的JWT访问云平台主应用的内部接口,云平台主应用对JWT进行验证,如JWT是合法的,则允许用户访问内部接口;
4)在内部接口中,选择用以生成API Key的接口,自定义权限之后,生成相应的APIKey;
5)第三方用户利用生成的API Key,对云平台主应用开放接口进行访问,云平台主应用对API Key进行验证,若API Key是合法的,则执行下一步操作,否则结束流程;
6)云平台主应用调用限流器,再根据限流器判断用户请求频率是否已经超过上限,若未超过则允许访问云平台主应用接口,否则结束流程。
进一步,在步骤1)中,云平台主应用会对用户提供的用户名、邮箱、手机号码和密码进行有效性判断,用户名必须长于4个字节,密码必须长于8个字节且至少包含英文字母大、小写和半角标点符号其中的两种,邮箱必须是合法的邮箱规格,手机号码必须是11位手机号码,验证成功后云平台主应用会通过邮件代理服务器向用户邮箱发送确认邮件,只有用户通过该邮件进行确认后,账号才会变更为激活状态。
进一步,在步骤2)中,云平台主应用会在确定用户提供的用户名和密码是正确的前提下,通过短信代理服务器向用户的手机号码发送带有验证码的短信,该验证码的有效期为5分钟,用户若在5分钟内于登陆界面输入正确的验证码,就能成功登录,此时云平台主应用会将JWT发送给用户。
进一步,在步骤2)中,JWT的特征如下:
header,即JWT头部,记录了整个JWT的类型和签名算法,它的格式是一个JSON对象,该对象记录了签名部分使用的签名算法以及整个JWT的类型;设置好之后就能够生成header部分;具体的生成方式是对JSON对象使用base64url编码,编码完成之后会形成header字符串;
payload,即JWT的主体信息,它仍然是一个JSON对象,它包含发行者、发布时间、到期时间、主题和听众信息,以上的信息是可选的,能够全写,也能够一个都不写,在写入信息之后,对JSON对象进行base64 url编码,得到payload字符串;
signature,即JWT的签名,它保证了整个JWT不会遭到篡改,这一部分的生成方式,是对header和payload两个部分的编码结果,按照头部指定的方式进行加密;
将header、payload和signature三个部分组合在一起,就得到了完整的JWT,由于签名使用的密钥保存在云平台主应用,因此非法用户无法伪造出签名,安全性得到了保证。
进一步,在步骤3)中,JWT的验证包括以下步骤:
3.1)云平台主应用在接收到JWT之后,对header和payload两个部分用同样的密钥和加密算法进行重新加密;
3.2)把步骤3.1)中加密的结果和传入的JWT的signature进行对比;如果完全相同,则表示前面两部分没有遭到篡改,该JWT是可信的,能够执行下一步的操作;如果对比结果不相同,则说明该JWT遭到了篡改,是不可信的,将拒绝该用户的请求;
3.3)当步骤3.2)中对JWT的验证结果为完全相同,云平台主应用验证payload中的有效期,如果未过期,则允许访问,如果已经过期,则拒绝访问,拒绝访问后用户需要重新进行登录,获取新的JWT。
进一步,在步骤4)中,API Key的形式是UUID;API Key由内部用户的账号生成,从属于该用户的账号,用户能查看属于他的账号的所有API Key及其权限,用户能对API Key的权限进行修改,能删除指定的API Key,保证了第三方用户的权限受到内部用户的管理,提高了系统的安全性。
进一步,在步骤5)中,API Key的验证包括以下步骤:
5.1)第三方用户从内部用户处获得API Key后,携带该API Key访问云平台主应用的开放端口;
5.2)云平台主应用在接收到API Key之后,对该API Key的有效性进行判断;如果该API Key不存在,则拒绝用户的访问;如果该API Key存在,则判断该API Key的权限,如果拥有对应接口的访问权限,则允许下一步操作,否则拒绝访问。
进一步,在步骤6)中,云平台主应用中的限流器会拦截请求,并在缓存中寻找APIKey的访问频率,如果访问频率超过了设定的上限,则拒绝该次访问,如果未超过则允许该次访问。
本发明的第二目的通过下述技术方案实现:一种云平台混合身份认证系统,用于实现上述的云平台混合身份认证方法,包括:
Web应用,用于将用户输入的用户名、邮箱、手机号码、密码和API Key生成请求发送到云平台主应用,并从云平台主应用接收JWT和API Key;
云平台主应用,用于接收Web应用发送过来的用户名、邮箱、手机号码、密码和APIKey生成请求,并给Web应用发送JWT和API Key;用于接收第三方用户发送过来的开放端口访问请求;用于向邮件代理服务器和短信代理服务器发送请求;
邮件代理服务器,用于接收云平台主应用的邮件发送请求,并向用户邮箱发送邮件;
短信代理服务器,用于接收云平台主应用的短信发送请求,并向用户手机发送短信。
进一步,Web应用还用于在登陆时发送短信验证码给云平台主应用。
进一步,云平台主应用的接口分为内部接口和开放接口,内部接口只有持有JWT的用户可以访问,开放接口则是持有JWT或API Key均可访问。
进一步,云平台主应用还用于对外部请求进行限流,并在超过限流额度后拒绝外部请求。
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明对内部访问和外部访问进行了有效的区分,可以分别对两种不同的访问方式进行权限设置和访问控制,降低了模块间的耦合度,最大化地利用了企业服务器的计算资源,提高了资源利用率。
2、本发明中API Key是从属于某一个内部用户的,因此该内部用户可以有目的地申请和删除API Key,并按照需要修改API Key所对应的权限,外部用户的权限在内部用户的控制之下,这便于实时对访问控制策略进行调整,提高了系统在开放状态下的安全性。
3、本发明中API Key采用了UUID的形式进行存储,并且密钥长度可以视企业方的需求进行更改。UUID发生重复的可能性低,并且API Key长度越长,重复的可能性就越低,有效地避免了暴力破解攻击。
4、本发明同时用到了邮箱激活和短信动态验证码的认证方式,提高了用户账号的安全性,防止了重放攻击和暴力攻击。
附图说明
图1为本发明方法的流程图。
图2为本发明方法中生成JWT的流程图。
图3为本发明系统的架构图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
术语解释:
JWT,全称JSON Web Token,是一个开源标准,它定义了一种紧凑且自完备的方法用于在各参与方之间以JSON对象传递信息。以该种方式传递的信息已经被数字签名,因而可以被验证并且被信任。
UUID,全称Universally Unique Identifier,是由标准化格式生成和表示的唯一标识符,其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央发行机构。
实施例1
如图1和图2所示,本实施例公开了一种云平台混合身份认证方法,包括以下步骤:
1)内部用户通过Web应用将用户名user1、邮箱、手机号码和密码发送到云平台主应用进行账号注册,注册成功后云平台主应用会通过网易的邮件代理服务器向用户的邮箱发送验证邮件,用户进入验证邮件点击确认,确认成功则账号激活;
2)将步骤1)中已激活的账号的用户名user1及密码,输入Web应用的登陆界面,之后云平台主应用通过短信代理服务器向用户的手机号码发送带有验证码的短信,用户在限定时间内输入验证码则登录成功,并获得含有该账号信息的JWT,具体值为eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6InVzZXIxIiwiZXhwIjoxNjc3ODUyMDM4LCJlbWFpbCI6IjExMUBxcS5jb20ifQ.B42qtfGinBok2JInaZC27tYoQQ6f6un7A9rq6Zk_S8w,JWT的具体内容包括了:
header,即JWT的头部,记录了整个JWT的类型和签名算法。它是一个JSON对象,该对象记录了签名部分使用的签名算法以及整个JWT的类型,内容如下:
{"typ":"JWT","alg":"HS256"}
设置好之后对该JSON对象使用base64 url编码,编码完成之后会形成header字符串,具体值为eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9。
payload,即JWT的主体信息,它是一个JSON对象,具体包含了user_id、username、exp、email等,以上的信息是可选的,可以全写,也可以一个都不写。在写入信息之后,对JSON对象进行base64 url编码,得到payload字符串,具体值为eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6InVzZXIxIiwiZXhwIjoxNjc3ODUyMDM4LCJlbWFpbCI6IjExMUBxcS5jb20ifQ。
signature,即JWT的签名,它保证了整个JWT不会遭到篡改。这一部分的生成方式,是对header和payload两个部分的编码结果,按照头部指定的方式HMAC-SHA256算法进行加密,计算得到最终的具体值为B42qtfGinBok2JInaZC27tYoQQ6f6un7A9rq6Zk_S8w。
将header、payload和signature三个部分组合在一起,就得到了完整的JWT,具体值为eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6InVzZXIxIiwiZXhwIjoxNjc3ODUyMDM4LCJlbWFpbCI6IjExMUBxcS5jb20ifQ.B42qtfGinBok2JInaZC27tYoQQ6f6un7A9rq6Zk_S8w。由于签名使用的密钥保存在云平台主应用,因此非法用户无法伪造出签名,安全性得到了保证。
3)利用步骤2)中生成的JWT访问云平台主应用的内部接口,云平台主应用对JWT进行验证,如JWT是合法的,则允许用户访问内部接口,JWT的验证包括以下步骤;
3.1)云平台主应用在接收到JWT之后,对header字符串eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9和payload字符串eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6InVzZXIxIiwiZXhwIjoxNjc3ODUyMDM4LCJlbWFpbCI6IjExMUBxcS5jb20ifQ两个部分用同样的密钥和加密算法HMAC-SHA256进行重新加密。
3.2)把步骤3.1)中加密的结果和传入的JWT的signature进行对比。重新加密后得到的结果如果为B42qtfGinBok2JInaZC27tYoQQ6f6un7A9rq6Zk_S8w,则表示前面两部分没有遭到篡改,该JWT是可信的,可以执行下一步的操作;如果对比结果不相同,则说明该JWT遭到了篡改,是不可信的,将拒绝该用户的请求。
3.3)当步骤3.2)中对JWT的验证结果为完全相同,云平台主应用会对payload进行解码,重新得到JSON的具体内容,并判断其中的过期时间exp是否已经到达,如还未到达,则允许访问,否则将拒绝访问,拒绝访问后用户需要重新进行登录,获取新的JWT。
4)在步骤3)的内部接口中,选择用以生成API Key的接口,自定义权限之后,生成相应的API Key,具体值为020dd5d4-050f-4d11-aab5-82570c634e3c。API Key的形式是UUID;API Key由内部用户的账号生成,从属于该用户的账号,用户能查看属于他的账号的所有API Key及其权限,用户能对API Key的权限进行修改,能删除指定的API Key,保证了第三方用户的权限受到内部用户的管理,提高了系统的安全性。
5)第三方用户利用步骤4)中生成的API Key,对云平台主应用开放接口进行访问,云平台主应用对API Key进行验证,如API Key是合法的,则执行下一步操作,否则结束流程;API Key的验证包括以下步骤:
5.1)第三方用户从内部用户处获得API Key后,携带该API Key访问云平台主应用的开放端口。
5.2)云平台主应用在接收到API Key之后,对该API Key的有效性进行判断。如果该API Key不存在,则拒绝用户的访问;如果该API Key存在,则进一步判断该API Key的权限,如果拥有对应接口的访问权限,则允许下一步操作,否则拒绝访问。
实例结果表明,本发明的云平台混合身份认证方法有效地对用户的行为进行了区分,拥有JWT的内部用户可以访问内部端口和外部端口,而拥有API Key的外部用户则只能访问开放端口,即保护了系统的内部资源,又充分利用了云平台主应用的算力。
6)云平台主应用调用限流器,再根据限流器判断用户请求频率是否已经超过上限100次/分钟,未超过则允许访问云平台主应用接口。
实施例2
本实施例公开了一种云平台混合身份认证系统,用于实现实施例1所述的云平台混合身份认证方法,参见图3所示,该系统包括以下功能模块:
Web应用,用于将用户输入的用户名、邮箱、手机号码、密码和API Key生成请求发送到云平台主应用,并从云平台主应用接收JWT和API Key;
云平台主应用,用于接收Web应用发送过来的用户名、邮箱、手机号码、密码和APIKey生成请求,并给Web应用发送JWT和API Key;用于接收第三方用户发送过来的开放端口访问请求;用于向邮件代理服务器和短信代理服务器发送请求;
邮件代理服务器,用于接收云平台主应用的邮件发送请求,并向用户邮箱发送邮件;
短信代理服务器,用于接收云平台主应用的短信发送请求,并向用户手机发送短信。
具体地,Web应用还用于在登陆时发送短信验证码给云平台主应用。
具体地,云平台主应用的接口分为内部接口和开放接口,内部接口只有持有JWT的用户可以访问,开放接口则是持有JWT或API Key均可访问。
具体地,云平台主应用还用于对外部请求进行限流,并在超过限流额度后拒绝外部请求。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围。
Claims (10)
1.一种云平台混合身份认证方法,其特征在于,包括以下步骤:
1)内部用户通过Web应用将用户名、邮箱、手机号码和密码发送到云平台主应用进行账号注册,注册成功后云平台主应用会通过邮件代理服务器向用户的邮箱发送验证邮件,用户进入验证邮件点击确认,确认成功则账号激活;
2)将已激活的账号的用户名及密码,输入Web应用的登陆界面,之后云平台主应用通过短信代理服务器向用户的手机号码发送带有验证码的短信,用户在限定时间内输入验证码则登录成功,并获得含有该账号信息的JWT;
3)利用生成的JWT访问云平台主应用的内部接口,云平台主应用对JWT进行验证,如JWT是合法的,则允许用户访问内部接口;
4)在内部接口中,选择用以生成APIKey的接口,自定义权限之后,生成相应的API Key;
5)第三方用户利用生成的API Key,对云平台主应用开放接口进行访问,云平台主应用对API Key进行验证,若API Key是合法的,则执行下一步操作,否则结束流程;
6)云平台主应用调用限流器,再根据限流器判断用户请求频率是否已经超过上限,若未超过则允许访问云平台主应用接口,否则结束流程。
2.根据权利要求1所述的一种云平台混合身份认证方法,其特征在于,在步骤1)中,云平台主应用会对用户提供的用户名、邮箱、手机号码和密码进行有效性判断,用户名必须长于4个字节,密码必须长于8个字节且至少包含英文字母大、小写和半角标点符号其中的两种,邮箱必须是合法的邮箱规格,手机号码必须是11位手机号码,验证成功后云平台主应用会通过邮件代理服务器向用户邮箱发送确认邮件,只有用户通过该邮件进行确认后,账号才会变更为激活状态。
3.根据权利要求2所述的一种云平台混合身份认证方法,其特征在于,在步骤2)中,云平台主应用会在确定用户提供的用户名和密码是正确的前提下,通过短信代理服务器向用户的手机号码发送带有验证码的短信,该验证码的有效期为5分钟,用户若在5分钟内于登陆界面输入正确的验证码,就能成功登录,此时云平台主应用会将JWT发送给用户。
4.根据权利要求3所述的一种云平台混合身份认证方法,其特征在于,在步骤2)中,JWT的特征如下:
header,即JWT头部,记录了整个JWT的类型和签名算法,它的格式是一个JSON对象,该对象记录了签名部分使用的签名算法以及整个JWT的类型;设置好之后就能够生成header部分;具体的生成方式是对JSON对象使用base64url编码,编码完成之后会形成header字符串;
payload,即JWT的主体信息,它仍然是一个JSON对象,它包含发行者、发布时间、到期时间、主题和听众信息,以上的信息是可选的,能够全写,也能够一个都不写,在写入信息之后,对JSON对象进行base64 url编码,得到payload字符串;
signature,即JWT的签名,它保证了整个JWT不会遭到篡改,这一部分的生成方式,是对header和payload两个部分的编码结果,按照头部指定的方式进行加密;
将header、payload和signature三个部分组合在一起,就得到了完整的JWT,由于签名使用的密钥保存在云平台主应用,因此非法用户无法伪造出签名,安全性得到了保证。
5.根据权利要求4所述的一种云平台混合身份认证方法,其特征在于,在步骤3)中,JWT的验证包括以下步骤:
3.1)云平台主应用在接收到JWT之后,对header和payload两个部分用同样的密钥和加密算法进行重新加密;
3.2)把步骤3.1)中加密的结果和传入的JWT的signature进行对比;如果完全相同,则表示前面两部分没有遭到篡改,该JWT是可信的,能够执行下一步的操作;如果对比结果不相同,则说明该JWT遭到了篡改,是不可信的,将拒绝该用户的请求;
3.3)当步骤3.2)中对JWT的验证结果为完全相同,云平台主应用验证payload中的有效期,如果未过期,则允许访问,如果已经过期,则拒绝访问,拒绝访问后用户需要重新进行登录,获取新的JWT。
6.根据权利要求5所述的一种云平台混合身份认证方法,其特征在于,在步骤4)中,APIKey的形式是UUID;API Key由内部用户的账号生成,从属于该用户的账号,用户能查看属于他的账号的所有API Key及其权限,用户能对API Key的权限进行修改,能删除指定的APIKey,保证了第三方用户的权限受到内部用户的管理,提高了系统的安全性。
7.根据权利要求6所述的一种云平台混合身份认证方法,其特征在于,在步骤5)中,APIKey的验证包括以下步骤:
5.1)第三方用户从内部用户处获得API Key后,携带该API Key访问云平台主应用的开放端口;
5.2)云平台主应用在接收到API Key之后,对该API Key的有效性进行判断;如果该APIKey不存在,则拒绝用户的访问;如果该API Key存在,则判断该API Key的权限,如果拥有对应接口的访问权限,则允许下一步操作,否则拒绝访问。
8.根据权利要求7所述的一种云平台混合身份认证方法,其特征在于,在步骤6)中,云平台主应用中的限流器会拦截请求,并在缓存中寻找API Key的访问频率,如果访问频率超过了设定的上限,则拒绝该次访问,如果未超过则允许该次访问。
9.一种云平台混合身份认证系统,其特征在于,用于实现上述权利要求1-8任意一项所述的云平台混合身份认证方法,包括:
Web应用,用于将用户输入的用户名、邮箱、手机号码、密码和API Key生成请求发送到云平台主应用,并从云平台主应用接收JWT和API Key;
云平台主应用,用于接收Web应用发送过来的用户名、邮箱、手机号码、密码和API Key生成请求,并给Web应用发送JWT和API Key;用于接收第三方用户发送过来的开放端口访问请求;用于向邮件代理服务器和短信代理服务器发送请求;
邮件代理服务器,用于接收云平台主应用的邮件发送请求,并向用户邮箱发送邮件;
短信代理服务器,用于接收云平台主应用的短信发送请求,并向用户手机发送短信。
10.根据权利要求9所述的一种云平台混合身份认证系统,其特征在于,所述Web应用还用于在登陆时发送短信验证码给云平台主应用;云平台主应用的接口分为内部接口和开放接口,内部接口只有持有JWT的用户能够访问,开放接口则是持有JWT或API Key均能访问;云平台主应用还用于对外部请求进行限流,并在超过限流额度后拒绝外部请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310311737.4A CN116389095A (zh) | 2023-03-27 | 2023-03-27 | 一种云平台混合身份认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310311737.4A CN116389095A (zh) | 2023-03-27 | 2023-03-27 | 一种云平台混合身份认证方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116389095A true CN116389095A (zh) | 2023-07-04 |
Family
ID=86966870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310311737.4A Pending CN116389095A (zh) | 2023-03-27 | 2023-03-27 | 一种云平台混合身份认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116389095A (zh) |
-
2023
- 2023-03-27 CN CN202310311737.4A patent/CN116389095A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2744971C (en) | Secure transaction authentication | |
EP3090525B1 (en) | System and method for biometric protocol standards | |
US7257836B1 (en) | Security link management in dynamic networks | |
US8196186B2 (en) | Security architecture for peer-to-peer storage system | |
US8176334B2 (en) | Document security system that permits external users to gain access to secured files | |
US20040199768A1 (en) | System and method for enabling enterprise application security | |
CN106453361B (zh) | 一种网络信息的安全保护方法及系统 | |
CN103269270A (zh) | 一种基于手机号码的实名认证安全登录的方法及系统 | |
DK2414983T3 (en) | Secure computer system | |
CN102739664A (zh) | 提高网络身份认证安全性的方法和装置 | |
CN111954211A (zh) | 一种移动终端新型认证密钥协商系统 | |
CN112383401B (zh) | 一种提供身份鉴别服务的用户名生成方法及系统 | |
CN111614458A (zh) | 网关jwt的生成方法、系统及存储介质 | |
CN111538973A (zh) | 基于国密算法的个人授权访问控制系统 | |
CN116527341A (zh) | 一种客户端调用后端接口鉴权授权安全方法 | |
KR101221728B1 (ko) | 그래픽 otp 인증을 위한 인증처리서버 및 그 방법 | |
CN116389095A (zh) | 一种云平台混合身份认证方法及系统 | |
CN114238925A (zh) | 基于jwt令牌的不互信异构系统聚合鉴权认证方法 | |
KR102355708B1 (ko) | 블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법, 그 방법이 적용된 시스템 | |
Zhang et al. | Adding security features to fipa agent platforms | |
CN114666076A (zh) | 一种云服务跨端认证方法及服务系统 | |
WO2022042746A1 (zh) | 密钥管理方法及装置 | |
CN117375824A (zh) | 一种多因素认证凭证生成及校验方法 | |
CN114938277A (zh) | 一种在协同签名系统中增强访问控制安全性的方法 | |
CN116094703A (zh) | Vpn的认证方法及装置 |
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 |