CN115396496A - 云环境下租户密码服务会话亲和方法、***、介质及设备 - Google Patents
云环境下租户密码服务会话亲和方法、***、介质及设备 Download PDFInfo
- Publication number
- CN115396496A CN115396496A CN202211322274.3A CN202211322274A CN115396496A CN 115396496 A CN115396496 A CN 115396496A CN 202211322274 A CN202211322274 A CN 202211322274A CN 115396496 A CN115396496 A CN 115396496A
- Authority
- CN
- China
- Prior art keywords
- service
- password
- cryptographic
- cipher
- micro
- 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
Images
Classifications
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种云环境下租户密码服务会话亲和方法、***、介质及设备,其中,所述***包括密码应用SDK、密码服务网关、密码微服务和服务器密码机;其中,服务器密码机和密码微服务是一对一绑定关系;密码应用SDK依次通过密码服务网关、密码微服务与服务器密码机通信连接。本发明将租户使用密码服务进行密码运算的上下文和打开会话的过程关联起来,解决了密码运算服务同一个会话的多次请求被随机调度和无法负载均衡问题。
Description
技术领域
本发明涉及密钥管理技术领域,具体地说是一种云环境下租户密码服务会话亲和方法、***、介质及设备。
背景技术
密码作为网络空间安全体系的重要组成部分,是网络空间安全和信任机制的“基因”和关键技术。传统密码应用的建设需要引入不同类型、数量众多的密码设备、密码产品,对接各种密码应用业务。这种传统密码应用建设模式带来的直接后果便是:设备分散部署、难以管理;密码应用对接集成复杂;密码资源缺乏集约使用和调度;不适应云计算环境;密码服务缺乏量化,密码应用缺乏监管,难以满足合规建设的要求。
为解决上述问题,催生出云密码服务技术,其集成多种密码设备,通过灵活的多模式服务聚合能力,为用户提供统一管理、使用便捷的密码服务。
在云密码服务场景中,传统的密码设备模式不再适用,因为在传统模式中,密码设备的使用方从设备拥有者转变为服务租赁者,需要满足多租户的隔离、认证、限流等多种需求。因此云服务器密码机的行业标准《GMT 0104-2021 云服务器密码机技术规范》,推荐使用http协议提供服务,本发明也使用http作为传输协议。
在云密码服务场景中服务资源可以提供给多个租户使用,租户付费购买一个或多个服务资源,并在其基础上创建密码应用,大多数应用使用密码服务时,运算都不是一次完成的,而是有打开会话、执行运算、关闭会话等多个步骤,这些步骤都有上下文关联关系,为同一个上下文提供密码运算的服务器必须始终是同一个,否则必须在多个服务器之前同步上下文状态,而同步上下文状态会导致服务器同步等待耗时过长,在高并发场景下会对性能造成严重影响。另一种思路是使用会话亲和机制,确保使用相同上下文时,提供服务的后端资源是同一个。 同时云密码服务场景中服务资源的性能不是均衡的,由于密码设备的性能差异较大,为了充分利用密码设备资源,必须要有一个方法或***确保既能实现会话亲和,又能实现带权重的负载均衡。
发明内容
为此,本发明所要解决的技术问题在于提供一种云环境下租户密码服务会话亲和方法、***、介质及设备,将租户使用密码服务进行密码运算的上下文和打开会话的过程关联起来,解决了密码运算服务同一个会话的多次请求被随机调度和无法负载均衡问题。
为解决上述技术问题,本发明提供如下技术方案:
云环境下租户密码服务亲和方法,包括如下步骤:
S2)密码服务网关收到来自密码应用SDKm获取cookie的请求,按照权重的大小随机向密码微服务单元发起权重轮询,m为大于零的整数;其中,权重大的密码微服务单元获得权重轮询的概率较高,权重小的密码微服务单元获得权重轮询的概率较小,即,权重大的密码微服务单元具有较大几率优先获得权重轮询;
S3)在接收到密码服务网关的权重轮询时,密码微服务单元先生成具有地址信息和时间戳的信息,然后根据信息生成相应的,再将反馈至密码服务网关,其中,包含有地址信息和时间戳,时间戳为被轮询到的密码微服务单元做出响应的时间点;
S5)密码应用SDKm向密码服务网关发出带有的密码服务请求,密码服务网关解析获取地址信息,然后通过密码微服务单元发起密码服务调用,服务器密码机为密码应用SDKm提供密码服务;其中,服务器密码机与密码微服务单元相对应。
上述云环境下租户密码服务亲和方法,在步骤S5)中,密码应用SDKm向密码服务网关同时发出的密码服务请求数量大于或等于1;当同时发出的密码服务请求数量大于1时,每个密码服务请求都带有一个独有的cookie。
上述云环境下租户密码服务亲和方法,每次在发起密码服务调用会话之前,密码应用SDKm都重新获取一次cookie。
上述云环境下租户密码服务亲和方法,在步骤S5)中,具体操作为:
云环境下租户密码服务会话亲和***,包括:
密码应用SDK,为云密码服务厂商提供的动态函数库实例,负责将输入的参数转换为对密码服务的http或https调用;
密码服务网关,为云密码服务的总入口,负责对传输流量进行处理,其中,所述处理包括鉴权、限流和负载均衡;
密码微服务,用于提供http或https运算的服务实例,并负责将http或https请求中的参数转换为服务器密码机标准函数接口库需要的参数;
服务器密码机,为真正提供密码运算的密码模块,负责为云密码服务提供硬件级别的硬件运算能力;其中,服务器密码机和密码微服务是一对一绑定关系;
密码应用SDK依次通过密码服务网关、密码微服务与服务器密码机通信连接。
计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述云环境下租户密码服务亲和方法。
计算机设备,包括可读存储介质、处理器以及存储在可读存储介质上并可在处理器上运行的计算机程序,所述计算机程序被处理器执行时实现上述云环境下租户密码服务亲和方法。
本发明的技术方案取得了如下有益的技术效果:
1.支持指定服务权重;
2.性能极高,传统cookie方案使用一致性hash算法决定后端服务,需要对cookie执行摘要运算,然后使用算法选取后端服务,本发明直接从cookie中解析出ip地址,性能明显提高;
3.密码微服务新增实例时不会造成业务错误,传统cookie方案在新增服务实例时,部分正常运行的业务由于会负载到新的服务实例上,造成业务错误,本发明在新增实例时不会对正在运行的业务造成影响,只有重新获取cookie后有会负载到新的服务实例上。
附图说明
图1为本发明中云环境下租户密码服务会话亲和***的工作原理图;
图2为利用云环境下租户密码服务会话亲和***进行密码服务调用的流程图;
图3为本发明中cookie获取流程图;
图4为图3中获得cookie的使用流程图;
图5为基于云环境下租户密码服务会话亲和方法的密码服务流程图;
图6为基于云环境下租户密码服务会话亲和方法的密码服务另一种流程图;
图7为租户应用调用密码服务逻辑接口示意图;
图8为本发明中可进行云环境下租户密码服务会话亲和处理的计算机设备原理图。
具体实施方式
下面结合示例,针对本发明进行进一步说明。
如图1所示,云环境下租户密码服务会话亲和***,包括密码应用SDK、密码服务网关、密码微服务和服务器密码机,密码应用SDK依次通过密码服务网关、密码微服务与服务器密码机通信连接,服务器密码机和密码微服务是一对一绑定关系。在实际应用过程中,服务器密码机可以更换为其他密码设备,如签名验签服务器、时间戳服务器、虚拟服务器密码机等。
其中,密码应用SDK,为云密码服务厂商提供的动态函数库实例,负责将输入的参数转换为对密码服务的http或https调用;密码服务网关,为云密码服务的总入口,负责对传输流量进行处理,其中,所述处理包括鉴权、限流和负载均衡;密码微服务,用于提供http或https运算的服务实例,并负责将http或https请求中的参数转换为服务器密码机标准函数接口库需要的参数;服务器密码机,为真正提供密码运算的密码模块,负责为云密码服务提供硬件级别的硬件运算能力。图1中,箭头1表示密码应用SDK1的服务调用,箭头2表示密码应用SDK2的服务应用。
如图2所示,本发明中密码应用SDK进行密码服务调用时,先行获取cookie,然后在打开密码服务调用会话,再由服务器密码机执行密码运算并返回运算结果,然后关闭密码服务调用会话。图2中仅示出了两个线程,在多个线程的情况下,密码应用SDK的处理流程和两个线程时的处理流程完全相同。
其中,如图3和图4所示,密码应用SDK通过获取一个含有提供密码服务设备或代理设备的IP地址的cookie并在调用密码服务过程中使用该cookie完成密码服务调用,实现密码服务会话亲和,具体步骤如下:
S3)在接收到密码服务网关的权重轮询时,密码微服务单元先生成具有地址信息和时间戳的信息,然后根据信息生成相应的,再将反馈至密码服务网关,其中,包含有地址信息和时间戳,时间戳为被轮询到的密码微服务单元做出响应的时间点;
S5)密码应用SDKm向密码服务网关发出带有的密码服务请求,密码服务网关解析获取地址信息,然后通过密码微服务单元发起密码服务调用,服务器密码机为密码应用SDKm提供密码服务;其中,服务器密码机与密码微服务单元相对应;密码应用SDKm调用密码服务的具体操作包括如下步骤:
S5-3)密码微服务单元对打开密码服务调用会话进行响应,在允许打开密码服务调用会话时,密码微服务单元执行打开与服务器密码机之间的密码服务会话;在允许打开密码服务调用会话时,将与密码服务调用会话的句柄进行一对一绑定,并在密码运算请求中使用与密码服务调用会话的句柄;
S5-7)服务器密码机收到密码运算请求后进行密码运算并将运算结果返回至密码微服务单元,微服务单元将运算结果经密码服务网关返回至密码应用SDKm。在调用密码运算服务时使用与密码服务调用会话的句柄,以对调用密码运算服务的发出者进行确认和区分。
本实施例中,在步骤S5)中,密码应用SDKm向密码服务网关同时发出的密码服务请求数量大于或等于1;当同时发出的密码服务请求数量大于1时,每个密码服务请求都带有一个独有的cookie。且每次在发起密码服务调用会话之前,密码应用SDKm都重新获取一次cookie。而在一次密码服务调用会话之中,可以发起多次密码服务请求,在同一次密码服务调用会话中发起的密码服务请求使用的cookie为同一个cookie。图5和图6所示的为本发明中密码应用SDK调用密码服务的整个流程,图5所示的流程采用密码微服务单元进行协议转换,图6所示的流程则采用协议转换服务器进行协议转换。结合图5和图6所示的两个流程图可以看出,获取cookie时负载到服务器密码机,后续打开会话、执行密码运算就会负载到服务器密码机,实现了会话亲和的效果,而获取cookie时,负载到服务器密码机的概率是可以按要求指定的,权重轮询的选中服务器密码机的概率为:,因此实现了可指定权重的会话亲和。
例如,图7所示为在某公有云上某个租户应用调用某一种密码服务逻辑接口,其中,密码应用SDK要使用密码服务,密码微服务单元一共有两个,管理员将密码微服务单元P1的权重Q1设为6,密码微服务单元P2的权重Q2设为4。
在该密码应用SDK调用密码服务需要5个密码服务调用会话,先获取5个cookie,获取cookie时,采用权重轮询策略对两个密码微服务单元进行轮询,而cookie则由被轮询的密码微服务单元根据规则生成,五个cookie如表1所示。
表1被轮询的密码微服务单元生成的cookie
其中,cookie1、cookie3和cookie4由密码微服务单元P1生成,cookie2和cookie5由密码微服务单元P2生成。密码微服务单元P1生成的cookie较多的原因是密码微服务单元P1的权重比较高。如果两个密码微服务单元生成的cookie总数量足够多,两个密码微服务单元生成的cookie数量之比无限趋近于6:4。
在获取cookie之后,密码应用SDK打开5个密码服务调用会话,打开密码服务调用会话时在每个密码服务调用请求中传带入一个cookie,且每个密码服务调用请求中的cookie均与其他密码调用服务请求中的cookie不同,在打开密码服务调用会话后,将密码服务调用会话的句柄与该密码服务调用会话所用到的cookie一对一绑定。密码应用SDK在一个密码服务调用会话中的所有密码调用服务请求均会使用该密码服务调用会话的句柄,密码服务调用请求中须带入密码服务调用会话的句柄与该密码服务调用会话所用到的cookie。而在云环境下,会话数量巨大,因而可认为每个会话执行密码运算的负载是相同的,因此上述示例中,密码运算的负载比例可认为是6:4。
基于上述云环境下租户密码会话亲和方法,相应的,本实例中还提供一种存储有计算机程序的计算机可读存储介质,该计算机程序被处理器执行时实现如下步骤:获取含有密码微服务单元IP地址信息以及请求cookie的时间信息的cookie,利用上述cookie调用密码服务,进行密码运算,在调用密码服务时,对上述cookie进行解析,获得上述cookie中所含有的IP地址信息,并将调用密码服务的请求发送至具有上述IP地址信息的密码微服务单元,然后由该密码微服务单元调用服务器密码机完成密码运算,并将密码运算结果返回至密码应用SDK。
如图8所示,基于上述云环境下租户密码服务会话亲和方法以及计算机可读存储介质,本实施例中,还提供了一种计算机设备,其包括可读存储介质、处理器以及存储在可读存储介质上并可在处理器上运行的计算机程序,其中可读存储介质与处理器均设置在总线上,处理器执行计算机程序时实现如下步骤:获取含有密码微服务单元IP地址信息以及请求cookie的时间信息的cookie,利用上述cookie调用密码服务,进行密码运算,在调用密码服务时,对上述cookie进行解析,获得上述cookie中所含有的IP地址信息,并将调用密码服务的请求发送至具有上述IP地址信息的密码微服务单元,然后由该密码微服务单元调用服务器密码机完成密码运算,并将密码运算结果返回至密码应用SDK。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本专利申请权利要求的保护范围之中。
Claims (9)
1.云环境下租户密码服务亲和方法,其特征在于,包括如下步骤:
S3)在接收到密码服务网关的权重轮询时,密码微服务单元先生成具有地址信息和时间戳的信息,然后根据信息生成相应的,再将反馈至密码服务网关,其中,包含有地址信息和时间戳,时间戳为被轮询到的密码微服务单元做出响应的时间点;
2.根据权利要求1所述的云环境下租户密码服务亲和方法,其特征在于,在步骤S5)中,密码应用SDKm向密码服务网关同时发出的密码服务请求数量大于或等于1;当同时发出的密码服务请求数量大于1时,每个密码服务请求都带有一个独有的cookie。
3.根据权利要求1所述的云环境下租户密码服务亲和方法,其特征在于,每次在发起密码服务调用会话之前,密码应用SDKm都重新获取一次cookie。
4.根据权利要求1所述的云环境下租户密码服务亲和方法,其特征在于,在步骤S5)中,具体操作为:
7.云环境下租户密码服务会话亲和***,其特征在于,包括:
密码应用SDK,为云密码服务厂商提供的动态函数库实例,负责将输入的参数转换为对密码服务的http或https调用;
密码服务网关,为云密码服务的总入口,负责对传输流量进行处理,其中,所述处理包括鉴权、限流和负载均衡;
密码微服务,用于提供http或https运算的服务实例,并负责将http或https请求中的参数转换为服务器密码机标准函数接口库需要的参数;
服务器密码机,为真正提供密码运算的密码模块,负责为云密码服务提供硬件级别的硬件运算能力;其中,服务器密码机和密码微服务是一对一绑定关系;
密码应用SDK依次通过密码服务网关、密码微服务与服务器密码机通信连接。
8.计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~6中任一所述的云环境下租户密码服务亲和方法。
9.计算机设备,包括可读存储介质、处理器以及存储在可读存储介质上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~6中任一所述的云环境下租户密码服务亲和方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211322274.3A CN115396496B (zh) | 2022-10-27 | 2022-10-27 | 云环境下租户密码服务会话亲和方法、***、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211322274.3A CN115396496B (zh) | 2022-10-27 | 2022-10-27 | 云环境下租户密码服务会话亲和方法、***、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115396496A true CN115396496A (zh) | 2022-11-25 |
CN115396496B CN115396496B (zh) | 2023-01-17 |
Family
ID=84127606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211322274.3A Active CN115396496B (zh) | 2022-10-27 | 2022-10-27 | 云环境下租户密码服务会话亲和方法、***、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115396496B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103563294A (zh) * | 2011-06-30 | 2014-02-05 | 国际商业机器公司 | 用于云计算平台安全性的认证和授权方法 |
CN105071936A (zh) * | 2010-09-20 | 2015-11-18 | 安全第一公司 | 用于安全数据共享的***和方法 |
CN108701182A (zh) * | 2016-08-31 | 2018-10-23 | 甲骨文国际公司 | 多租户身份云服务的数据管理 |
US20180337914A1 (en) * | 2017-05-18 | 2018-11-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
CN109314704A (zh) * | 2016-09-14 | 2019-02-05 | 甲骨文国际公司 | 用于多租户身份和数据安全管理云服务的单点登录和单点注销功能 |
CN109565505A (zh) * | 2016-08-05 | 2019-04-02 | 甲骨文国际公司 | 用于多租户身份和数据安全管理云服务的租户自助服务故障排除 |
CN113821305A (zh) * | 2021-09-15 | 2021-12-21 | 中国电信集团***集成有限责任公司 | 基于Docker的云密码服务调用方法及中间件*** |
-
2022
- 2022-10-27 CN CN202211322274.3A patent/CN115396496B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105071936A (zh) * | 2010-09-20 | 2015-11-18 | 安全第一公司 | 用于安全数据共享的***和方法 |
CN103563294A (zh) * | 2011-06-30 | 2014-02-05 | 国际商业机器公司 | 用于云计算平台安全性的认证和授权方法 |
CN109565505A (zh) * | 2016-08-05 | 2019-04-02 | 甲骨文国际公司 | 用于多租户身份和数据安全管理云服务的租户自助服务故障排除 |
CN108701182A (zh) * | 2016-08-31 | 2018-10-23 | 甲骨文国际公司 | 多租户身份云服务的数据管理 |
CN109314704A (zh) * | 2016-09-14 | 2019-02-05 | 甲骨文国际公司 | 用于多租户身份和数据安全管理云服务的单点登录和单点注销功能 |
US20180337914A1 (en) * | 2017-05-18 | 2018-11-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
CN113821305A (zh) * | 2021-09-15 | 2021-12-21 | 中国电信集团***集成有限责任公司 | 基于Docker的云密码服务调用方法及中间件*** |
Also Published As
Publication number | Publication date |
---|---|
CN115396496B (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9215229B2 (en) | Systems and methods for establishing cloud-based instances with independent permissions | |
US7330872B2 (en) | Method for distributed program execution with web-based file-type association | |
Khan et al. | OpenID authentication as a service in OpenStack | |
US9124569B2 (en) | User authentication in a cloud environment | |
US8555339B2 (en) | Identifying guests in web meetings | |
US7117243B2 (en) | Methods for distributed program execution with file-type association in a client-server network | |
US9641340B2 (en) | Certificateless multi-proxy signature method and apparatus | |
US20150215308A1 (en) | Secure communication between processes in cloud | |
CN106357699A (zh) | 网络***、服务平台、服务平台登录方法及*** | |
WO2010087829A1 (en) | Selectively communicating data of a peripheral device to plural sending computers | |
CN106533932A (zh) | 一种用于推送即时消息的方法和装置 | |
US20230013371A1 (en) | Data communication method, apparatus, and device, storage medium, and computer program product | |
CN107453872A (zh) | 一种基于Mesos容器云平台的统一安全认证方法及*** | |
CN113778499B (zh) | 发布服务的方法、装置、设备和计算机可读介质 | |
US11683166B2 (en) | Secure file modification with supervision | |
CN115396496B (zh) | 云环境下租户密码服务会话亲和方法、***、介质及设备 | |
US11489817B2 (en) | Computing system with gateway data transfer based upon device data flow characteristics and related methods | |
CN110351333B (zh) | 一种具备验证机制的请求队列方法及*** | |
JP2001282737A (ja) | 業務負荷分散システム | |
Tusa et al. | Federation between CLEVER clouds through SASL/Shibboleth authentication | |
WO2014140116A1 (en) | System and method for managing computational task sets | |
CN114338682B (zh) | 流量身份标识传递方法、装置、电子设备及存储介质 | |
US20220405245A1 (en) | User-based access to content of files | |
US20220385718A1 (en) | Computing system with data transfer based upon device data flow characteristics and related methods | |
US20230300135A1 (en) | Generation of multiple limited-scope access tokens |
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 |