CN113868694A - 一种基于中间件系统安全访问多套现有应用系统的方法 - Google Patents
一种基于中间件系统安全访问多套现有应用系统的方法 Download PDFInfo
- Publication number
- CN113868694A CN113868694A CN202110959583.0A CN202110959583A CN113868694A CN 113868694 A CN113868694 A CN 113868694A CN 202110959583 A CN202110959583 A CN 202110959583A CN 113868694 A CN113868694 A CN 113868694A
- Authority
- CN
- China
- Prior art keywords
- user
- character string
- existing application
- middleware
- middleware system
- 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 28
- 238000012795 verification Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 7
- 238000013475 authorization Methods 0.000 abstract description 4
- 210000001503 joint Anatomy 0.000 abstract description 2
- 230000007547 defect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于中间件系统安全访问多套现有应用系统的方法,该方法通过在多套现有应用系统服务中,嵌入中间件系统,能解决多套现有应用系统统一访问的用户身份认证和资源授权而提供的第三方中间件系统,中间件系统能正确识别访问者的身份,确定访问者拥有的访问权限,并周期性检测系统运行状况,从而优化整体访问流量,减轻内部服务的压力,提升服务的并发效率。多套现有应用系统只需要对接所述中间件系统,就可以保证服务的高可用性和灵活的访问规则控制,有效提高内部服务资源的利用率和稳定性。
Description
技术领域
本发明涉及第三方中间件认证授权方法技术领域,尤其涉及一种基于中间件系统安全访问多套现有应用系统的方法。
背景技术
目前,一般的准入访问现有应用系统服务的方法,是通过正向或者反向的代理网关进行用户请求的分发处理,亦或者是通过代理终端开辟的代理通道进行资源的准入访问。而上述两种方式访问内部系统都有明显的缺陷,就是服务提供方不能认证访问者的身份,有效地识别合法访问,并依据身份信息限制或放宽访问的控制级别。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种基于中间件系统安全访问多套现有应用系统的方法。
为了实现上述目的,本发明采用了如下技术方案:一种基于中间件系统安全访问多套现有应用系统的方法,所述方法包括如下步骤:
步骤S1:中间件系统获取现有应用系统的用户数据、用户等级、用户权限和对应可访问的资源列表;
步骤S2:用户端通过现有应用系统提供的账号信息向中间件系统申请接入访问服务,并提交请求授权访问的资源列表;
步骤S3:中间件系统验证用户在现有应用系统的合法性和所属用户级别的资源属性,并为该用户生成相应的令牌和私有密钥,以及加密算法列表;
步骤S4:用户端获取所述的令牌和私有密钥,以及从所述加密算法列表选择一种加密方式,生成具有用户身份证明的签名数据,并发送到中间件系统进行校验;
步骤S5:中间件系统接收并验证签名数据是否有效,并检验用户请求资源路径访问权限是否准入,验证通过后,向现有应用系统发送请求访问服务,否则拦截此请求。
优选地,中间件系统使用令牌桶算法周期性检测现有应用系统运行状况,控制和阻断超过系统承受的用户访问流量。
优选地,所述步骤S4还包括对现有应用系统的用户进行认证和授权的方法,所述对现有应用系统的用户进行认证和授权的方法包括如下步骤:
步骤S41:用户端获取当前用户提供的现有系统账号和密码,同时携带需要授权访问的资源路径列表,通过http协议的basic认证方式发送到中间件系统请求鉴权验证;
步骤S42:中间件系统通过现有应用系统提供的的用户列表中验证S41提交的用户的合法性,并验证其提交的资源路径列表是否在准入列表中,若验证无误,为该用户临时生成一个32位的令牌字符串、加密算法类型列表和16位的私钥密码;
步骤S43:用户端随机生成一个10位无符号十进制整数的第一字符串,在S32步骤中中间件系统返回的加密算法类型中,选择其中一种算法,并把其序号拼接在第一字符串的第11位上,用户端获取当前的10位时间戳信息串,并把该时间戳信息拼接在第一字符串末尾中,形成一个21位的字符串;
步骤S44:将所述S42步骤中返回得到的令牌字符串,和S43步骤中的21位的字符串拼接形成第二字符串,所述第二字符串使用S42步骤中得到的私钥密码,通过S43步骤中所选的加密算法加密生成第三字符串,再将第三字符串与第二字符串进行拼接形成第四字符串,再对第四字符串进行Base64编码,形成最后的签名数据。
优选地,步骤S5还包括对现有应用系统用户合法认证校验方法,所述对现有应用系统用户合法认证校验方法包括如下步骤:
步骤S51:所述中间件系统从S44得到的签名数据中,通过base64算法解码并分离出加密前的字符串R、所选择的加密算法序号N、加密后的字符串P以及时间戳字符串T;
步骤S52:中间件系统将所述S51步骤中获取得到的时间戳字符串T,与当前时间戳信息进行比对,若T在当前时间的前后2小时内,则认为此用户发送过来的签名数据在有效期内,否则拒绝此用户的这次鉴权;
步骤S53:中间件系统通过现有应用系统提供的的用户列表中取出加密算法类型列表中的第N个序号算法M和为所述用户分配的16位的私钥密码Q;
步骤S54:从S51步骤中取得加密前的字符串,通过S53得出的加密算法M,对S51获取到的加密前字符串R进行加密,加密的密钥使用S53得到的私钥密码Q,形成新的加密字符串K,通过比对K与S51步骤得到的字符P,若完全一样则验证成功,若不一样则拒绝此次的用户鉴权。
优选地,所述令牌桶算法包括如下步骤:
步骤SS1:所述中间件系统会恒定按照现有应用系统设置的最大处理准入用户数量Q,每隔1/Q秒的时间,放入一个令牌到指定中间件系统处理队列里,若队列满了将不再添加令牌;
步骤SS2:所述中间件系统会让每次通过鉴权的用户从SS1步骤中的队列里尝试拿走令牌,若成功拿走才开始转发此用户请求到现有应用系统里,若没有令牌可拿,则此用户会继续等待下一个SS1发令牌周期,直到可能拿走为止。
本发明具有如下有益效果:
本发明能解决多套现有应用系统统一访问的用户身份认证和资源授权而提供的第三方中间件系统,中间件系统能正确识别访问者的身份,确定访问者拥有的访问权限,并周期性检测系统运行状况,从而优化整体访问流量,减轻内部服务的压力,提升服务的并发效率。多套现有应用系统只需要对接所述中间件系统,就可以保证服务的高可用性和灵活的访问规则控制,有效提高内部服务资源的利用率和稳定性。
附图说明
图1为本发明一种基于中间件系统安全访问多套现有应用系统的方法流程图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,本发明提供的为了实现上述目的,本发明采用了如下技术方案:一种基于中间件系统安全访问多套现有应用系统的方法,所述方法包括如下步骤:
步骤S1:中间件系统获取现有应用系统的用户数据、用户等级、用户权限和对应可访问的资源列表;
步骤S2:用户端通过现有应用系统提供的账号信息向中间件系统申请接入访问服务,并提交请求授权访问的资源列表;
步骤S3:中间件系统验证用户在现有应用系统的合法性和所属用户级别的资源属性,并为该用户生成相应的令牌和私有密钥,以及加密算法列表;
步骤S4:用户端获取所述的令牌和私有密钥,以及从所述加密算法列表选择一种加密方式,生成具有用户身份证明的签名数据,并发送到中间件系统进行校验;
其中,用户端请求获取令牌和私钥的方法,包括如下步骤:
步骤S41:用户端获取当前用户提供的现有系统账号和密码,同时携带需要授权访问的资源路径列表,通过http协议的basic认证方式发送到中间件系统请求鉴权验证;
步骤S42:中间件系统通过现有应用系统提供的的用户列表中验证S41提交的用户的合法性,并验证其提交的资源路径列表是否在准入列表中,若验证无误,为该用户临时生成一个32位的令牌字符串、加密算法类型列表和16位的私钥密码;
步骤S43:用户端随机生成一个10位无符号十进制整数的第一字符串,在S32步骤中中间件系统返回的加密算法类型中,选择其中一种算法,并把其序号拼接在第一字符串的第11位上,用户端获取当前的10位时间戳信息串,并把该时间戳信息拼接在第一字符串末尾中,形成一个21位的字符串;
步骤S44:将所述S42步骤中返回得到的令牌字符串,和S43步骤中的21位的字符串拼接形成第二字符串,所述第二字符串使用S42步骤中得到的私钥密码,通过S43步骤中所选的加密算法加密生成第三字符串,再将第三字符串与第二字符串进行拼接形成第四字符串,再对第四字符串进行Base64编码,形成最后的签名数据。
步骤S5:中间件系统接收并验证签名数据是否有效,并检验用户请求资源路径访问权限是否准入,验证通过后,向现有应用系统发送请求访问服务,否则拦截此请求。
其中,中间件系统鉴权用户端的请求方法,包括如下步骤:
步骤S51:所述中间件系统从S44得到的签名数据中,通过base64算法解码并分离出加密前的字符串R、所选择的加密算法序号N、加密后的字符串P以及时间戳字符串T;
步骤S52:中间件系统将所述S51步骤中获取得到的时间戳字符串T,与当前时间戳信息进行比对,若字符串T在当前时间的前后2小时内,则认为此用户发送过来的签名数据在有效期内,否则拒绝此用户的这次鉴权;
步骤S53:中间件系统通过现有应用系统提供的的用户列表中取出加密算法类型列表中的第M个算法M和为所述用户分配的16位的私钥密码Q;
步骤S54:从S51步骤中取得加密前的字符串,通过S53得出的加密算法M,对S51获取到的加密前字符串R进行加密,加密的密钥使用S53得到的私钥密码Q,形成新的加密字符串K,通过比对K与S51步骤得到的字符P,若完全一样则验证成功,若不一样则拒绝此次的用户鉴权。
现有用户认证的方式是采取用户名和密码的方式作账号认证,容易被非法分子盗用,因此在不暴露密码方式前提下,每次认证都采取不一样的随机字符串校验方式进行验证用户的合法性,并增加了该次校验的时效性,若发送时间不对,也会被拒绝,通过此种方式提高验证授权的安全性。
为了控制和阻断超过系统承受的用户访问流量,中间件系统使用令牌桶算法周期性检测现有应用系统运行状况,其令牌桶算法包括如下步骤:
步骤SS1:所述中间件系统会恒定按照现有应用系统设置的最大处理准入用户数量Q,每隔1/Q秒的时间,放入一个令牌到指定中间件系统处理队列里,若队列满了将不再添加令牌;
步骤SS2:所述中间件系统会让每次通过鉴权的用户从SS1步骤中的队列里尝试拿走令牌,若成功拿走才开始转发此用户请求到现有应用系统里,若没有令牌可拿,则此用户会继续等待下一个SS1发令牌周期,直到可能拿走为止。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于中间件系统安全访问现有多套应用系统的方法,其特征在于:所述方法包括如下步骤:
步骤S1:中间件系统获取现有应用系统的用户数据、用户等级、用户权限和对应可访问的资源列表;
步骤S2:用户端通过现有应用系统提供的账号信息向中间件系统申请接入访问服务,并提交请求授权访问的资源列表;
步骤S3:中间件系统验证用户在现有应用系统的合法性和所属用户级别的资源属性,并为该用户生成相应的令牌和私有密钥,以及加密算法列表;
步骤S4:用户端获取所述的令牌和私有密钥,以及从所述加密算法列表选择一种加密方式,生成具有用户身份证明的签名数据,并发送到中间件系统进行校验;
步骤S5:中间件系统接收并验证签名数据是否有效,并检验用户请求资源路径访问权限是否准入,验证通过后,向现有应用系统发送请求访问服务,否则拦截此请求。
2.根据权利要求1所述的基于中间件系统安全访问多套现有应用系统的方法,其特征在于:所述方法还包括中间件系统使用令牌桶算法周期性检测现有应用系统运行状况,控制和阻断超过系统承受的用户访问流量。
3.根据权利要求1所述的基于中间件系统安全访问多套现有应用系统的方法,其特征在于:所述步骤S4还包括对现有应用系统的用户进行认证和授权的方法,所述对现有应用系统的用户进行认证和授权的方法包括如下步骤:
步骤S41:用户端获取当前用户提供的现有系统账号和密码,同时携带需要授权访问的资源路径列表,通过http协议的basic认证方式发送到中间件系统请求鉴权验证;
步骤S42:中间件系统通过现有应用系统提供的的用户列表中验证S41提交的用户的合法性,并验证其提交的资源路径列表是否在准入列表中,若验证无误,为该用户临时生成一个32位的令牌字符串、加密算法类型列表和16位的私钥密码;
步骤S43:用户端随机生成一个10位无符号十进制整数的第一字符串,在S32步骤中中间件系统返回的加密算法类型中,选择其中一种算法,并把其序号拼接在第一字符串的第11位上,用户端获取当前的10位时间戳信息串,并把该时间戳信息拼接在第一字符串末尾中,形成一个21位的字符串;
步骤S44:将所述S42步骤中返回得到的令牌字符串,和S43步骤中的21位的字符串拼接形成第二字符串,所述第二字符串使用S42步骤中得到的私钥密码,通过S43步骤中所选的加密算法加密生成第三字符串,再将第三字符串与第二字符串进行拼接形成第四字符串,再对第四字符串进行Base64编码,形成最后的签名数据。
4.根据权利要求3所述的基于中间件系统安全访问多套现有应用系统的方法,其特征在于:步骤S5还包括对现有应用系统用户合法认证校验方法,所述对现有应用系统用户合法认证校验方法包括如下步骤:
步骤S51:所述中间件系统从S44得到的签名数据中,通过base64算法解码并分离出加密前的字符串R、所选择的加密算法序号N、加密后的字符串P以及时间戳字符串T;
步骤S52:中间件系统将所述S51步骤中获取得到的时间戳字符串T,与当前时间戳信息进行比对,若字符串T在中间件系统设定的有效时间段内,则认为此用户发送过来的签名数据在有效的,否则拒绝此用户的这次鉴权;
步骤S53:中间件系统通过现有应用系统提供的的用户列表中取出加密算法类型列表中的第N个序号算法M为所述用户分配的16位的私钥密码Q;
步骤S54:从S51步骤中取得加密前的字符串,通过S53得出的加密算法M,对S51获取到的加密前字符串R进行加密,加密的密钥使用S53得到的私钥密码Q,形成新的加密字符串K,通过比对K与S51步骤得到的字符P,若完全一样则验证成功,若不一样则拒绝此次的用户请求。
5.根据权利要求2所述的基于中间件系统安全访问多套现有应用系统的方法,其特征在于:所述令牌桶算法包括如下步骤:
步骤SS1:所述中间件系统会恒定按照现有应用系统设置的最大处理准入用户数量Q,每隔1/Q秒的时间,放入一个令牌到指定中间件系统处理队列里,若队列满了将不再添加令牌;
步骤SS2:所述中间件系统会让每次通过鉴权的用户从SS1步骤中的队列里尝试拿走令牌,若成功拿走才开始转发此用户请求到现有应用系统里,若没有令牌可拿,则此用户会继续等待下一个SS1发令牌周期,直到可能拿走为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110959583.0A CN113868694A (zh) | 2021-08-20 | 2021-08-20 | 一种基于中间件系统安全访问多套现有应用系统的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110959583.0A CN113868694A (zh) | 2021-08-20 | 2021-08-20 | 一种基于中间件系统安全访问多套现有应用系统的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113868694A true CN113868694A (zh) | 2021-12-31 |
Family
ID=78987861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110959583.0A Pending CN113868694A (zh) | 2021-08-20 | 2021-08-20 | 一种基于中间件系统安全访问多套现有应用系统的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113868694A (zh) |
-
2021
- 2021-08-20 CN CN202110959583.0A patent/CN113868694A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108964885B (zh) | 鉴权方法、装置、系统和存储介质 | |
US7793340B2 (en) | Cryptographic binding of authentication schemes | |
US8589442B2 (en) | Intersystem single sign-on | |
CN1212716C (zh) | 因特网上不同应用系统间用户认证信息共享的方法 | |
US10333930B2 (en) | System and method for transparent multi-factor authentication and security posture checking | |
CN1274105C (zh) | 基于数字证书实现的动态口令认证方法 | |
CN103475666A (zh) | 一种物联网资源的数字签名认证方法 | |
CN112436940B (zh) | 一种基于零知识证明的物联网设备可信启动管理方法 | |
CN102457491B (zh) | 动态身份认证方法和系统 | |
CN111970299A (zh) | 基于区块链的分布式物联网设备身份认证装置和方法 | |
US8504824B1 (en) | One-time rotating key for third-party authentication | |
CN112231366B (zh) | 一种基于区块链的企业信用报告查询方法、装置及系统 | |
CN115842680B (zh) | 一种网络身份认证管理方法及系统 | |
CN111683090A (zh) | 一种基于分布式存储的区块链数字签名方法及装置 | |
CN111800378A (zh) | 一种登录认证方法、装置、系统和存储介质 | |
CN111490968A (zh) | 一种基于区块链技术的联盟多节点网络身份认证方法 | |
CN112468504A (zh) | 一种基于区块链的工控网络访问控制方法 | |
CN110572392A (zh) | 一种基于Hyperledger网络的身份认证方法 | |
CN112383401B (zh) | 一种提供身份鉴别服务的用户名生成方法及系统 | |
JPH05298174A (ja) | 遠隔ファイルアクセスシステム | |
CN110891067B (zh) | 一种可撤销的多服务器隐私保护认证方法及系统 | |
CN113868694A (zh) | 一种基于中间件系统安全访问多套现有应用系统的方法 | |
CN111682941B (zh) | 基于密码学的集中式身份管理、分布式认证与授权的方法 | |
CN109981289B (zh) | 隐式证书下的椭圆曲线数字签名算法的批认证方法 | |
KR20170111809A (ko) | 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법 |
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 |