一种基于容器云的软件授权认证方法

文档序号:1937779 发布日期:2021-12-07 浏览:17次 >En<

阅读说明:本技术 一种基于容器云的软件授权认证方法 (Software authorization authentication method based on container cloud ) 是由 姬晓光 冯凯 余智华 丁宇乐 卢志尧 汪震 于 2021-04-30 设计创作,主要内容包括:本发明公开了一种基于容器云的软件授权认证方法,包括以下步骤:S1、将软件的授权规则信息保存在一个结构体中,将其序列化为一个二进制文件;S2、使用密钥将步骤S1中生成的二进制文件加密为license文件;S3、将license文件以配置映射的方式加载到容器云平台S4、将license证书文件与相关的网卡mac地址进行匹配。有益效果:在容器云集群环境,通过configmap加载license,通过operator收集服务器信息、分发license,减少逐台获取物理服务器mac地址、分发license的操作,从而提高效率。(The invention discloses a software authorization authentication method based on a container cloud, which comprises the following steps: s1, storing the authorization rule information of the software in a structure body, and serializing the authorization rule information into a binary file; s2, encrypting the binary file generated in the step S1 into a license file by using a key; s3, loading the license file to the container cloud platform in a configuration mapping mode S4, and matching the license certificate file with the related network card mac address. Has the advantages that: in a container cloud cluster environment, license is loaded through a configmap, server information is collected and license is distributed through an operator, and the operations of acquiring the mac address of a physical server and distributing the license one by one are reduced, so that the efficiency is improved.)

一种基于容器云的软件授权认证方法

技术领域

本发明涉及云计算、容器云领域,具体来说,涉及一种基于容器云的软件授权认证方法。

背景技术

目前常见的软件产品license授权认证方式一般是:

提取服务器物理特征(通常为网卡mac地址、硬盘序列号等信息)→再加入授权信息(如许可的cpu数量、内存数量、软件使用期限等),形成授权信息→使用非对称加密方式,通过公钥对授权信息进行加密生成license电子证书文件→将license电子证书文件分发到用户方,由用户将license文件保存到服务器上,供软件产品读取。

但是,上述license授权方式,不适用于容器云场景,原因如下:

1.云计算场景一般是服务器集群环境,存在几十台服务器、几十种应用docker容器。使用传统的方式进行license证书文件的拷贝、验证很不方便。

2.在容器云场景,程序运行在docker容器内部。对于docker容器,无法提取到mac地址(实际上可以通过为docker容器增加privilege权限获得物理信息,但这会导致docker容器有权限直接操作宿主机的设备,会存在一定的破坏安全隐患)等物理指纹信息。

3.在容器云平台上,应用软件所在的docker很可能被调度到并且很可能被调度到任意的物理服务器上,增加了生产license的难度。

针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容

本发明的目的在于提供一种基于容器云的软件授权认证方法,在分布式集群环境下,对集群内服务器进行认证,高效便捷的分发和认证license,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种基于容器云的软件授权认证方法,包括以下步骤:

S1、将软件的授权规则信息保存在一个结构体中,将其序列化为一个二进制文件;

S2、使用密钥将步骤S1中生成的二进制文件加密为license文件;

S3、将license文件以配置映射的方式加载到容器云平台

S4、将license证书文件与相关的网卡mac地址进行匹配。

进一步的,所述步骤S1中软件的授权规则包括:license生效日期、授权结点数量、cpu数量、内存数量、mac地址列表。

进一步的,所述步骤S4将license证书文件与相关的网卡mac地址进行匹配具体包括以下步骤:

S41、通过配置映射的方式加载license证书文件;

S42、operator获取证书后,分发到各个pod中;

S43、各个pod通过系统调用获取宿主机的pci信息,与其中的网卡mac地址进行匹配。

与现有技术相比,本发明具有以下有益效果:

(1)、在容器云集群环境,通过configmap加载license,通过operator收集服务器信息、分发license,减少逐台获取物理服务器mac地址、分发license的操作,从而提高效率。

(2)、提供了一种在docker内部可以校验外部宿主机mac地址的license验证方法,从而降低安全隐患。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的一种基于容器云的软件授权认证方法的流程图。

具体实施方式

下面,结合附图以及具体实施方式,对发明做出进一步的描述:

请参阅图1,根据本发明实施例的一种基于容器云的软件授权认证方法,包括以下步骤:

步骤S1、将license生效日期、授权结点数量、cpu数量、内存数量、mac地址列表等信息保存在一个结构体中,将其序列化为一个二进制文件;

步骤S2、使用密钥将上一步生成的二进制文件加密为license文件;

步骤S3、将license文件以配置映射(configmap)的方式加载到容器云平台;

步骤S4、通过配置映射的方式加载license证书文件,operator获取证书后,分发到各个pod中,各个pod通过系统调用获取宿主机的pci信息,与其中的网卡mac地址进行匹配。

另外,在一个实施例中,对于容器云平台来说,实现了一套多结点部署的kubernetes容器云平台,具体为:

kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

另外,在一个实施例中,对于容器云平台的mac地址来说,通过operator收集容器云平台的mac地址,具体为:

本发明为实现对容器云平台的监控功能,通过使用operator用于收集所有容器云集群中所有宿主服务器的mac地址、ip地址、cpu、内存信息。

另外,在一个实施例中,对于license来说,通过私钥生成license,根据获取的宿主机的各项信息,再结合软件的授权规则(license生效日期、授权结点数量、cpu数量、内存数量、mac地址列表等),使用预先准备好的私钥生成license文件。

其中,权license的电子证书文件通过配置映射(configmap)进行分发。可以使用基于Kubernetes平台的configmap机制,自动获取license电子证书文件,省去了人工拷贝license证书的繁琐操作。

另外,本发明使用的operator程序,用于收集容器云平台上所有宿主服务器的硬件信息,包括cpu、内存、网卡mac地址等。并将通过configmap获取到的license信息分发到各个pod中。

为了实现良好的资源隔离性,容器云上运行的软件都封装在docker容器内部,并将其与宿主机的操作系统隔离,这就造成了docker内部无法通过系统调用的方式直接获取到宿主机的mac地址。本发明通过读取pci总线信息获得网卡的mac地址。

综上所述,在实际应用时,在容器云集群环境,通过configmap加载license,通过operator收集服务器信息、分发license,减少逐台获取物理服务器mac地址、分发license的操作,从而提高效率。提供了一种在docker内部可以校验外部宿主机mac地址的license验证方法,从而降低安全隐患。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

6页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种程序代码保护方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类