CN112653556A - 一种基于token的微服务安全认证方法、装置、存储介质 - Google Patents
一种基于token的微服务安全认证方法、装置、存储介质 Download PDFInfo
- Publication number
- CN112653556A CN112653556A CN202011550792.1A CN202011550792A CN112653556A CN 112653556 A CN112653556 A CN 112653556A CN 202011550792 A CN202011550792 A CN 202011550792A CN 112653556 A CN112653556 A CN 112653556A
- Authority
- CN
- China
- Prior art keywords
- user
- token
- encryption
- password
- authorization code
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 10
- 238000013475 authorization Methods 0.000 claims abstract description 68
- 239000011159 matrix material Substances 0.000 claims abstract description 24
- 238000012795 verification Methods 0.000 claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims abstract description 17
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000017105 transposition Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009897 systematic effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于TOKEN的微服务安全认证方法、装置、存储介质。该方案包括通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码;利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确;将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码;将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输;验证微服务解码获得所述Token用户加密授权代码,进行解密判断Token权限,并返回相关资源和数据。该方案通过设计全套的认证体系,提升系统的安全性,并在进行Token用户加密授权代码收发过程中,用了双重的加密措施,能够可靠保护在微服务架构的系统内的账户信息安全。
Description
技术领域
本发明涉及互联网技术领域,更具体地,涉及一种基于TOKEN的微服务安全认证方法、装置、存储介质。
背景技术
目前,现有的常用系统在建设初期,通常会将系统设计为前台系统和后台系统两部分,前台系统负责业务运转,后台系统负责系统管理。每个后台系统都会设计组织架构体系。微服务是一种软件开发技术,它面向服务的体系结构架构样式的一种变体,将应用程序构造为一组松散耦合的服务。在微服务体系结构中,服务是细粒度的,协议是轻量级的。
但现有的微服务方案存在以下缺陷:各微服务之间的安全认证方式不完善,微服务之间访问很多是不设置秘钥的,这可能会造成存在安全隐患,产生例如用户数据被盗取等事件,容易引发系统性安全风险。
发明内容
鉴于上述问题,本发明提出了一种基于TOKEN的微服务安全认证方法,其可以完善各微服务之间安全认证,有效降低系统性安全风险发生概率。
根据本发明实施例,提供一种基于TOKEN的微服务安全认证方法,所述基于TOKEN的微服务安全认证方法包括:
通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码;
利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确;
将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码;
将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输;
验证微服务解码获得所述Token用户加密授权代码,并解码成为所述Token用户加密授权代码;
根据所述Token用户加密授权代码进行解密判断Token权限,并返回相关资源和数据。
在一个或多个实施例中,优选地,所述通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码,具体包括:
通过手机或电脑输入所述用户登入信息;
发送到所述身份认证服务的数据库;
鉴别所述用户登入信息中的用户账户,将所述用户账户存储到所述身份认证服务的数据库中的用户账户数据表的最后一行;
鉴别所述用户登入信息中的用户密码,将所述用户密码存储到所述身份认证服务的数据库中的用户密码数据表的最后一行。
在一个或多个实施例中,优选地,所述利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确,具体包括:
利用所述身份认证服务读取数据库中的用户密码数据表的最后一行,获得当前用户密码;
利用所述身份认证服务读取数据库中的用户账户数据表的最后一行,获得当前用户账户;
根据所述当前用户账户在所述身份认证服务的数据库内查询用户基础信息,其中,所述用户基础信息包括用户密码,用户姓名和用户注册时间;
判断所述用户基础信息中的用户密码与所述当前用户密码是否相同,若所述用户密码与所述当前用户密码不相同,则所述身份认证微服务反馈验证失败;
若所述用户密码与所述当前用户密码相同,则所述身份认证微服务反馈验证成功;
反馈验证成功后,根据所述当前用户账户在所述身份认证服务中读取数据库中的权限范围和有效时间,反馈所述当前用户账户的权限范围和有效时间。
在一个或多个实施例中,优选地,所述将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码,具体包括:
获得所述当前用户账户、所述当前用户账户的权限范围和有效时间,存储为所述用户登入状态,所述用户登入状态为一段长度固定的数据;
所述用户登入状态拆分为10个长度固定的数据;
将所述10个长度固定的数据利用第一计算公式计算获得加密的10个用户状态加密数据;
将所述10个用户状态加密数据存储为一段Token用户加密授权代码;
所述第一计算公式为:
A*T=D
其中,A为所述10个长度固定的数据,T为加密转换矩阵,D为所述10个用户状态加密数据。
在一个或多个实施例中,优选地,所述将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输,具体包括:
每间隔1秒服务器向所述身份认证服务发送第一公钥;
所述身份认证服务在收到所述第一公钥后,利用第二计算公式根据所述第一公钥将HTTP加密密码加密为密码X,并利用明文发送至所述服务器;
所述服务器获取密码X,并利用所述第二计算公式获得所述HTTP加密密码;
将所述Token用户加密授权代码存放在HTTP的请求头中;
根据所述HTTP加密密码使用https对请求链接进行加密传输。
所述第二计算公式为:
H*G*T1=X
其中,X为所述密码,G为所述第一公钥,H为HTTP加密密码,T1为第一加密转换矩阵。
在一个或多个实施例中,优选地,所述根据所述Token用户加密授权代码进行解密判断Token权限,并返回相关资源和数据,具体包括:
获得所述Token用户加密授权代码;
被调用的微服务利用第三计算公式进行解密,并验证Token权限;
所述被调用微服务反馈相关资源和数据;
所述第三计算公式为:
D*T1’*T’=A
其中,D1为所述Token用户加密授权代码,A为所述10个长度固定的数据,T’为所述加密转换矩阵的转置,T1’为所述第一加密转换矩阵的转置。
在一个或多个实施例中,优选地,提供一种基于TOKEN的微服务安全认证装置,该装置包括:
输入模块,用于通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码;
第一验证模块,用于利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确;
第一加密模块,用于将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码;
发送模块,用于将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输;
接收模块,用于验证微服务解码获得所述Token用户加密授权代码,并解码成为所述Token用户加密授权代码;
第二验证模块,用于根据所述Token用户加密授权代码进行解密判断Token权限,并返回相关资源和数据。
身份认证微服务,用于为所述第一验证模块验证所述用户登入信息;
被调用微服务,用于所述第二验证模块调用微服务获取反馈相关资源和数据;
服务器,用于向所述接收模块提供进行数据认证的系统。
在一个或多个实施例中,优选地,该装置包括:
第一数据库,用于存储所述身份认证服务的数据库;
第二数据库,用于存储所述被调用微服务反馈相关资源和数据。
在一个或多个实施例中,提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现本发明实施例中任一项所述的方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明实施例中,通过该方案提供从用户账户和密码输入到微服务之间数据信息传递过程中,安全认证的体系,保证了整个过程中的安全认证无遗留,提升系统的整体安全性,进而利用双重的加密方式,保证在基于TOKEN访问服务器过程中,提升用户数据的加密程度,降低用户账户数据被盗取风险,降低系统性安全风险的发生概率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的一种基于TOKEN的微服务安全认证方法的流程图。
图2是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的所述通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码的流程图。
图3是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的所述利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确的流程图。
图4是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的所述将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码的流程图。
图5是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的所述将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输的流程图。
图6是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的HTTP加密示意图。
图7是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的所述根据所述TOKEN用户加密授权代码进行解密判断TOKEN权限,并返回相关资源和数据的流程图。
图8是本发明一个实施例的一种基于TOKEN的微服务安全认证装置的结构图。
图9是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的整体各微服务运行流程图。
图10是本发明一个实施例的一种基于TOKEN的微服务安全认证装置的数据结构图。
具体实施方式
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,现有的常用系统在建设初期,通常会将系统设计为前台系统和后台系统两部分,前台系统负责业务运转,后台系统负责系统管理。每个后台系统都会设计组织架构体系。微服务是一种软件开发技术,它面向服务的体系结构架构样式的一种变体,将应用程序构造为一组松散耦合的服务。在微服务体系结构中,服务是细粒度的,协议是轻量级的。
但现有的微服务方案存在以下缺陷:各微服务之间的安全认证方式不完善,微服务之间访问很多是不设置秘钥的,这可能会造成存在安全隐患,产生例如用户数据被盗取等事件,容易引发系统性安全风险。
本发明实施例中,提供了一种基于TOKEN的微服务安全认证方法、装置、存储介质,该方案通过设计全套的认证体系,提升系统的安全性,并在进行Token用户加密授权代码收发过程中,用了双重的加密措施,能够可靠保护在微服务架构的系统内的账户信息安全。
图1是本发明一个实施例的一种基于TOKEN的微服务安全认证方法的流程图。
如图1所示,在一个或多个实施例中,优选地,所述基于TOKEN的微服务安全认证方法包括:
S101、通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码;
S102、利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确;
S103、将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码;
S104、将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输;
其中,HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的网络文件都必须遵守这个标准;https(securehypertext transfer protocol,安全超文本传输协议)是一个安全通信通道,https基于HTTP开发,具有更高的安全性。
S105、验证微服务解码获得所述Token用户加密授权代码,并解码成为所述Token用户加密授权代码;
其中,所述Token在计算机身份认证中是令牌的意思,一般在登录系统时使用。
S106、根据所述Token用户加密授权代码进行解密判断Token权限,并返回相关资源和数据。
在本发明实施例中,提供从用户登入验证方法,用户登入信息加密,利用基于Token的微服务安全数据传递最终再返回相关资源和数据。在整个过程中,用户登入信息被多层加密所保护,能够有效提升数据的安全性,而且由于整个数据传递过程均存在加密手段,安全认证的过程相对安全,没有未加密的攻击漏洞,可以提升整个系统的账户安全性。
图2是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的所述通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码的流程图。
如图2所示,在一个或多个实施例中,优选地,所述通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码,具体包括:
S201、通过手机或电脑输入所述用户登入信息;
S202、发送到所述身份认证服务的数据库;
S203、鉴别所述用户登入信息中的用户账户,将所述用户账户存储到所述身份认证服务的数据库中的用户账户数据表的最后一行;
S204、鉴别所述用户登入信息中的用户密码,将所述用户密码存储到所述身份认证服务的数据库中的用户密码数据表的最后一行。
在本发明实施例中,本实施例中将认证通过的数据直接存在到所述身份认证服务的数据库中,所述的身份认证数据库是需要最高权限才能够读取数据的,否则均只能自动的获取加密后的数据,最高权限只的管理员或者系统的设计者或所有者。
图3是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的所述利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确的流程图。
如图3所示,在一个或多个实施例中,优选地,所述利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确,具体包括:
S301、利用所述身份认证服务读取数据库中的用户密码数据表的最后一行,获得当前用户密码;
S302、利用所述身份认证服务读取数据库中的用户账户数据表的最后一行,获得当前用户账户;
S303、根据所述当前用户账户在所述身份认证服务的数据库内查询用户基础信息,其中,所述用户基础信息包括用户密码,用户姓名和用户注册时间;
S304、判断所述用户基础信息中的用户密码与所述当前用户密码是否相同,若所述用户密码与所述当前用户密码不相同,则所述身份认证微服务反馈验证失败;
S305、若所述用户密码与所述当前用户密码相同,则所述身份认证微服务反馈验证成功;
S306、反馈验证成功后,根据所述当前用户账户在所述身份认证服务中读取数据库中的权限范围和有效时间,反馈所述当前用户账户的权限范围和有效时间。
在本发明实施例中,在进行安全认证的另一个方面,就是对当前用户的权限的反馈,本实施例中提供的反馈仅为有效时间和权限范围,这些最基础的反馈,在发明实施执行过程中,还可以加入其它反馈信息,比如次数限制和对其它账户的修改等功能。
图4是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的所述将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码的流程图。
如图4所示,在一个或多个实施例中,优选地,所述将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码,具体包括:
S401、获得所述当前用户账户、所述当前用户账户的权限范围和有效时间,存储为所述用户登入状态,所述用户登入状态为一段长度固定的数据;
S402、所述用户登入状态拆分为10个长度固定的数据;
S403、将所述10个长度固定的数据利用第一计算公式计算获得加密的10个用户状态加密数据;
S404、将所述10个用户状态加密数据存储为一段Token用户加密授权代码;
所述第一计算公式为:
A*T=D
其中,A为所述10个长度固定的数据,T为加密转换矩阵,D为所述10个用户状态加密数据。
在本发明实施例中,最终提供的是10个用户状态加密数据,原因是在实际执行时,10个数据的数据量相对不大,计算数据更快,但解密时间成本又较高,因此,10个用户状态加密数据是一种加密数据长度的最优选择。
图5是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的所述将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输的流程图。
如图5所示,在一个或多个实施例中,优选地,所述将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输,具体包括:
S501、每间隔1秒服务器向所述身份认证服务发送第一公钥;
S502、所述身份认证服务在收到所述第一公钥后,利用第二计算公式根据所述第一公钥将HTTP加密密码加密为密码X,并利用明文发送至所述服务器;
S503、所述服务器获取密码X,并利用所述第二计算公式获得所述HTTP加密密码;
S504、将所述Token用户加密授权代码存放在HTTP的请求头中;
S505、根据所述HTTP加密密码使用https对请求链接进行加密传输。
所述第二计算公式为:
H*G*T1=X
其中,X为所述密码,G为所述第一公钥,H为HTTP加密密码,T1为第一加密转换矩阵。
在本发明实施例中,通过第二计算公式直接将加密密码保存为密码X,服务器可以间隔1秒自动获取所述第一公钥,进而顺利解码HTTP发出的Token用户加密授权代码。
图6是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的HTTP加密示意图。如图6所示,在一个或多个实施例中,优选地,提供了一种利用第二计算公式,在服务器不知道HTTP加密密码的情况下,提供一种如何获取双方共有的加密密匙的思路,进而保证了整个安全认证方法的顺利实施。
图7是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的所述根据所述Token用户加密授权代码进行解密判断Token权限,并返回相关资源和数据的流程图。
如图7所示,在一个或多个实施例中,优选地,所述根据所述Token用户加密授权代码进行解密判断Token权限,并返回相关资源和数据,具体包括:
S701、获得所述Token用户加密授权代码;
S702、被调用的微服务利用第三计算公式进行解密,并验证Token权限;
S703、所述被调用微服务反馈相关资源和数据;
所述第三计算公式为:
D*T1’*T’=A
其中,D1为所述Token用户加密授权代码,A为所述10个长度固定的数据,T’为所述加密转换矩阵的转置,T1’为所述第一加密转换矩阵的转置。
在本发明实施例中,通过所述第三计算公式可以对原始的加密的用户数据实现解密,进而利用解密的数据设置Token权限,并调用微服务反馈相关资源和数据,这种方式与前面的双重加密配套使用,高效且可靠。
图8是本发明一个实施例的一种基于TOKEN的微服务安全认证装置的结构图。
如图8所示,在一个或多个实施例中,优选地,提供了一种基于TOKEN的微服务安全认证装置,该装置包括:
输入模块801,用于通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码;
第一验证模块802,用于利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确;
第一加密模块803,用于将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码;
发送模块804,用于将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输;
接收模块805,用于验证微服务解码获得所述Token用户加密授权代码,并解码成为所述Token用户加密授权代码;
第二验证模块806,用于根据所述Token用户加密授权代码进行解密判断Token权限,并返回相关资源和数据。
在本发明实施例中,具体的模块分布与所述基于TOKEN的微服务安全认证方法相一致,该实施例中明确了各个模块分布可以进行了独立的功能执行,且相互配合形成了基于TOKEN的微服务安全认证方法。
图9是本发明一个实施例的一种基于TOKEN的微服务安全认证方法中的整体各微服务运行流程图。如图9所示,在一个或多个实施例中,此流程为一个简要例子,并非完整的流程,可以明确基于TOKEN的微服务安全认证装置可以实现只使用部分模块,进而进行更简单的基于TOKEN的微服务安全认证,但是依然是能够有效的完成对每个部分用户数据的安全认证。
图10是本发明一个实施例的一种基于TOKEN的微服务安全认证装置的数据结构图。
如图10所示,在一个或多个实施例中,提供一种基于TOKEN的微服务安全认证装置,该装置还包括:
身份认证微服务1001,用于为所述第一验证模块验证所述用户登入信息;
被调用微服务1003,用于所述第二验证模块调用微服务获取反馈相关资源和数据;
服务器1002,用于向所述接收模块提供进行数据认证的系统。
在一个或多个实施例中,优选地,该装置包括:
第一数据库1004,用于存储所述身份认证服务的数据库;
第二数据库1005,用于存储所述被调用微服务反馈相关资源和数据。
在本发明实施例中,由于基于TOKEN的微服务安全认证装置可以完成上述的加密和安全认证功能,因此需要有足够多配套微服务和数据库,因此提供了相应的数据和微服务的关系,并给出了其对应的数据结构示意。
在本实施例的技术方案中,通过提供从用户账户和密码输入到微服务之间数据信息传递过程中的安全认证方法,保证了整个过程中的安全认证无遗留,提升了企业管理系统的整体安全性,进而利用双重的加密方式,在基于TOKEN访问服务器过程中,提升用户数据的加密程度,降低用户账户数据被盗取风险,降低系统性安全风险的发生概率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于TOKEN的微服务安全认证方法,其特征在于,包括:
通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码;
利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确;
将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码;
将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输;
验证微服务解码获得所述Token用户加密授权代码,并解码成为所述Token用户加密授权代码;
根据所述Token用户加密授权代码进行解密判断Token权限,并返回相关资源和数据。
2.如权利要求1所述的一种基于TOKEN的微服务安全认证方法,其特征在于,所述通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码,具体包括:
通过手机或电脑输入所述用户登入信息;
发送到所述身份认证服务的数据库;
鉴别所述用户登入信息中的用户账户,将所述用户账户存储到所述身份认证服务的数据库中的用户账户数据表的最后一行;
鉴别所述用户登入信息中的用户密码,将所述用户密码存储到所述身份认证服务的数据库中的用户密码数据表的最后一行。
3.如权利要求1所述的一种基于TOKEN的微服务安全认证方法,其特征在于,所述利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确,具体包括:
利用所述身份认证服务读取数据库中的用户密码数据表的最后一行,获得当前用户密码;
利用所述身份认证服务读取数据库中的用户账户数据表的最后一行,获得当前用户账户;
根据所述当前用户账户在所述身份认证服务的数据库内查询用户基础信息,其中,所述用户基础信息包括用户密码,用户姓名和用户注册时间;
判断所述用户基础信息中的用户密码与所述当前用户密码是否相同,若所述用户密码与所述当前用户密码不相同,则所述身份认证微服务反馈验证失败;
若所述用户密码与所述当前用户密码相同,则所述身份认证微服务反馈验证成功;
反馈验证成功后,根据所述当前用户账户在所述身份认证服务中读取数据库中的权限范围和有效时间,反馈所述当前用户账户的权限范围和有效时间。
4.如权利要求1所述的一种基于TOKEN的微服务安全认证方法,其特征在于,所述将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码,具体包括:
获得所述当前用户账户、所述当前用户账户的权限范围和有效时间,存储为所述用户登入状态,所述用户登入状态为一段长度固定的数据;
所述用户登入状态拆分为10个长度固定的数据;
将所述10个长度固定的数据利用第一计算公式计算获得加密的10个用户状态加密数据;
将所述10个用户状态加密数据存储为一段Token用户加密授权代码;
所述第一计算公式为:
A*T=D
其中,A为所述10个长度固定的数据,T为加密转换矩阵,D为所述10个用户状态加密数据。
5.如权利要求4所述的一种基于TOKEN的微服务安全认证方法,其特征在于,所述将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输,具体包括:
每间隔1秒服务器向所述身份认证服务发送第一公钥;
所述身份认证服务在收到所述第一公钥后,利用第二计算公式根据所述第一公钥将HTTP加密密码加密为密码X,并利用明文发送至所述服务器;
所述服务器获取密码X,并利用所述第二计算公式获得所述HTTP加密密码;
将所述Token用户加密授权代码存放在HTTP的请求头中;
根据所述HTTP加密密码使用https对请求链接进行加密传输;
所述第二计算公式为:
H*G*T1=X
其中,X为所述密码,G为所述第一公钥,H为HTTP加密密码,T1为第一加密转换矩阵。
6.如权利要求5所述的一种基于TOKEN的微服务安全认证方法,其特征在于,所述根据所述Token用户加密授权代码进行解密判断Token权限,并返回相关资源和数据,具体包括:
获得所述Token用户加密授权代码;
被调用的微服务利用第三计算公式进行解密,并验证Token权限;
所述被调用微服务反馈相关资源和数据;
所述第三计算公式为:
D*T1’*T’=A
其中,D1为所述Token用户加密授权代码,A为所述10个长度固定的数据,T’为所述加密转换矩阵的转置,T1’为所述第一加密转换矩阵的转置。
7.一种基于TOKEN的微服务安全认证装置,其特征在于,该装置包括:
输入模块,用于通过输入设备获取用户登入信息,其中,所述用户登入信息包括用户账户和用户密码;
第一验证模块,用于利用身份认证服务读取所述用户登入信息,并验证所述用户登入信息是否正确;
第一加密模块,用于将所述用户登入状态进行矩阵加密,并形成一段Token用户加密授权代码;
发送模块,用于将所述Token用户加密授权代码存放在HTTP的请求头中,并使用https对请求链接进行加密传输;
接收模块,用于验证微服务解码获得所述Token用户加密授权代码,并解码成为所述Token用户加密授权代码;
第二验证模块,用于根据所述Token用户加密授权代码进行解密判断Token权限,并返回相关资源和数据。
8.如权利要求7所述的一种基于TOKEN的微服务安全认证装置,其特征在于,该装置还包括:
身份认证微服务,用于为所述第一验证模块验证所述用户登入信息;
被调用微服务,用于所述第二验证模块调用微服务获取反馈相关资源和数据;
服务器,用于向所述接收模块提供进行数据认证的系统。
9.如权利要求8所述的一种基于TOKEN的微服务安全认证装置,其特征在于,该装置包括:
第一数据库,用于存储所述身份认证服务的数据库;
第二数据库,用于存储所述被调用微服务反馈相关资源和数据。
10.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011550792.1A CN112653556B (zh) | 2020-12-24 | 2020-12-24 | 一种基于token的微服务安全认证方法、装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011550792.1A CN112653556B (zh) | 2020-12-24 | 2020-12-24 | 一种基于token的微服务安全认证方法、装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112653556A true CN112653556A (zh) | 2021-04-13 |
CN112653556B CN112653556B (zh) | 2022-09-23 |
Family
ID=75359944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011550792.1A Expired - Fee Related CN112653556B (zh) | 2020-12-24 | 2020-12-24 | 一种基于token的微服务安全认证方法、装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112653556B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806709A (zh) * | 2021-09-24 | 2021-12-17 | 上汽通用五菱汽车股份有限公司 | 车机服务的激活方法、车辆和可读存储介质 |
CN114201778A (zh) * | 2022-02-18 | 2022-03-18 | 汇元银通(北京)在线支付技术有限公司 | 一种基于Redis的权限认证方法、系统、介质及设备 |
CN115242400A (zh) * | 2022-06-29 | 2022-10-25 | 重庆长安汽车股份有限公司 | 一种车机Token唯一化与云端认证系统及方法 |
CN116416075A (zh) * | 2023-03-13 | 2023-07-11 | 中国民用航空飞行学院 | 一种数据库安全审计中连接信息获取系统 |
CN115242400B (zh) * | 2022-06-29 | 2024-06-04 | 重庆长安汽车股份有限公司 | 一种车机Token唯一化与云端认证系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314580A (zh) * | 2011-09-20 | 2012-01-11 | 西安交通大学 | 一种基于向量和矩阵运算的支持计算的加密方法 |
CN108306877A (zh) * | 2018-01-30 | 2018-07-20 | 泰康保险集团股份有限公司 | 基于node js的用户身份信息的验证方法、装置和存储介质 |
CN108810029A (zh) * | 2018-07-23 | 2018-11-13 | 珠海宏桥高科技有限公司 | 一种微服务架构服务间鉴权系统及优化方法 |
US10263787B1 (en) * | 2018-11-12 | 2019-04-16 | Cyberark Software Ltd. | Scalable authentication for decentralized applications |
CN110224998A (zh) * | 2019-05-20 | 2019-09-10 | 平安普惠企业管理有限公司 | 一种微服务注册方法及装置 |
CN111865984A (zh) * | 2020-07-21 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种用于微服务系统的无状态鉴权方法 |
-
2020
- 2020-12-24 CN CN202011550792.1A patent/CN112653556B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314580A (zh) * | 2011-09-20 | 2012-01-11 | 西安交通大学 | 一种基于向量和矩阵运算的支持计算的加密方法 |
CN108306877A (zh) * | 2018-01-30 | 2018-07-20 | 泰康保险集团股份有限公司 | 基于node js的用户身份信息的验证方法、装置和存储介质 |
CN108810029A (zh) * | 2018-07-23 | 2018-11-13 | 珠海宏桥高科技有限公司 | 一种微服务架构服务间鉴权系统及优化方法 |
US10263787B1 (en) * | 2018-11-12 | 2019-04-16 | Cyberark Software Ltd. | Scalable authentication for decentralized applications |
CN110224998A (zh) * | 2019-05-20 | 2019-09-10 | 平安普惠企业管理有限公司 | 一种微服务注册方法及装置 |
CN111865984A (zh) * | 2020-07-21 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种用于微服务系统的无状态鉴权方法 |
Non-Patent Citations (2)
Title |
---|
A. BÁNÁTI, E. KAIL, K. KARÓCZKAI AND M. KOZLOVSZKY: "Authentication and authorization orchestrator for microservice-based software architectures", 《2018 41ST INTERNATIONAL CONVENTION ON INFORMATION AND COMMUNICATION TECHNOLOGY, ELECTRONICS AND MICROELECTRONICS (MIPRO)》 * |
刘一田等: "柔性微服务安全访问控制框架", 《计算机系统应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806709A (zh) * | 2021-09-24 | 2021-12-17 | 上汽通用五菱汽车股份有限公司 | 车机服务的激活方法、车辆和可读存储介质 |
CN114201778A (zh) * | 2022-02-18 | 2022-03-18 | 汇元银通(北京)在线支付技术有限公司 | 一种基于Redis的权限认证方法、系统、介质及设备 |
CN114201778B (zh) * | 2022-02-18 | 2022-05-17 | 汇元银通(北京)在线支付技术有限公司 | 一种基于Redis的权限认证方法、系统、介质及设备 |
CN115242400A (zh) * | 2022-06-29 | 2022-10-25 | 重庆长安汽车股份有限公司 | 一种车机Token唯一化与云端认证系统及方法 |
CN115242400B (zh) * | 2022-06-29 | 2024-06-04 | 重庆长安汽车股份有限公司 | 一种车机Token唯一化与云端认证系统及方法 |
CN116416075A (zh) * | 2023-03-13 | 2023-07-11 | 中国民用航空飞行学院 | 一种数据库安全审计中连接信息获取系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112653556B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519260B (zh) | 一种信息处理方法及信息处理装置 | |
US20200068394A1 (en) | Authentication of phone caller identity | |
CN112653556B (zh) | 一种基于token的微服务安全认证方法、装置、存储介质 | |
US7620824B2 (en) | Data communicating apparatus, data communicating method, and program | |
CN1985466B (zh) | 使用分发cd按签署组向设备传递直接证据私钥的方法 | |
CN109618341A (zh) | 一种数字签名认证方法、系统、装置以及存储介质 | |
CN110708162B (zh) | 资源的获取方法、装置、计算机可读介质及电子设备 | |
CN110061967A (zh) | 业务数据提供方法、装置、设备及计算机可读存储介质 | |
CN106533677B (zh) | 一种用户登录方法、用户终端及服务器 | |
CN112765626A (zh) | 基于托管密钥授权签名方法、装置、系统及存储介质 | |
CN111523142B (zh) | 数据处理方法、装置、电子设备及介质 | |
CN101924734A (zh) | 一种基于Web表单的身份认证方法及认证装置 | |
CN110620776B (zh) | 一种数据转移信息传输方法及其装置 | |
CN108846671B (zh) | 基于区块链的在线安全交易方法和系统 | |
CN112261002B (zh) | 数据接口对接的方法及设备 | |
Huang et al. | Mutual authentications to parties with QR-code applications in mobile systems | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
CN115409511B (zh) | 一种基于区块链的个人信息保护系统 | |
CN110855753A (zh) | 银行运营系统、方法及服务器 | |
US9203607B2 (en) | Keyless challenge and response system | |
CN109462620A (zh) | 一种基于多种安全验证方式实现密码找回方法及系统 | |
CN115150193A (zh) | 一种数据传输中敏感信息加密方法、系统和可读存储介质 | |
CN112291189B (zh) | 发送、校验密文的方法、装置、设备以及存储介质 | |
CN114553557A (zh) | 密钥调用方法、装置、计算机设备和存储介质 | |
CN103179088A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220923 |
|
CF01 | Termination of patent right due to non-payment of annual fee |