一种基于HOTP的云平台镜像防盗版方法与流程

文档序号:13703700阅读:362来源:国知局

本发明涉及技术领域,具体的说,是一种基于hotp的云平台镜像防盗版方法。



背景技术:

随着云计算产业的快速发展,相关云技术和云应用不断涌现,各类云服务产品开始涌向市场。云平台建设方向企业云用户提供第三方云服务产品时,表现出云的几个特点:

1、虚拟化,无可依赖硬件;

2、隔离或者私有网络环境,无法在线激活;

3、第三方无法有效统计云服务产品使用。如何保护第三方利益成为亟待解决的问题。

在云平台虚拟化环境中,镜像是包含了基础操作系统和第三方软件的数据文件,云平台会把镜像作为虚拟机的启动磁盘,创建虚拟机并运行这个过程就是镜像实例化的过程,运行的虚拟机一般称为镜像实例。镜像实例可以再次封装成镜像;而没有实例化的最初的镜像一般称为基础镜像。

在此情况下,常见解决方案在云平台中搭建第三方验证服务器,此方式并不能很好的解决问题:

1、软件形式的验证服务器自身无法有效保护;

2、硬件形式的验证服务器安装部署成本过高,很难在不同的云环境中接入,并产生维护和数据回收等问题。

镜像特点是纯软件的二进制数据文件,在云环境中可以很容易被拷贝,很难去控制:

1、基础镜像被拷贝:

基础镜像由第三方软件厂家交付给云平台商后,云平台商可以把基础镜像再次拷贝给其他的云平台商进行销售。

所以第三方软件厂家一般会在基础镜像里边加入平台商的信息进行区分,类似在电影中去打上水印,同时更多的是基于互信和法律的约束。但是因为很多私有云环境没有互联网连接,无法做到对平台商的信息的检查。

2、实例化后再次封装成镜像拷贝:

镜像实例在加载功能许可后再次打包成镜像,用新的镜像再去创建实例在一定程度上就可以绕过功能许可加载的步骤。

虽然第三方软件厂家可以通过云平台运行实例的公共差异来做一些逻辑处理,比如记录实例的mac地址,网络的mac地址在一个平台环境内是相对唯一的,比如记录实例化后的cpu类型,内存大小等,这些方式平台商都可以相对容易地模拟一个和最初运行实例完全相同的环境。平台商还会以扩容,迁移等需求,要求软件在检查中去差异化。

3、不支持传统方式硬件保护:

云平台商一般不支持第三方软件厂家将一个可信的硬件服务器放置到云平台内部环境中,也不方便插入和映射usb这类软件狗保护,这种硬件保护的模式也不符合云的概念。

4、云的网络封闭性:

大量私有云或者企业内部网络是无互联网连接的;即使公有云和私有云有互联网连接的环境也存在严格的网络隔离和网络规则;这也造成软件应用很难直接连接到第三方软件厂家的验证服务器。



技术实现要素:

本发明的目的在于提供一种基于hotp的云平台镜像防盗版方法,有效的防止部署于云环境中的虚拟机实例镜像被任意拷贝盗版使用的问题,提高知识产权保护能力。

本发明通过下述技术方案实现:一种基于hotp的云平台镜像防盗版方法,具体包括以下步骤:

步骤s1:通过云平台提供的服务软件制作镜像并在镜像内硬编码平台商标标识和对称加密key;

步骤s2:用户在云平台选择镜像提供商提供给云平台的镜像,创建一个实例;

步骤s3:根据步骤s2生成参数value和最终请求的验证url;

步骤s4:验证url,在联网模式或离线模式下访问验证服务器;

步骤s5:验证服务器收到步骤s1中的对称加密key,查找与对称加密key对应的mac记录,进行验证;

步骤s6:在步骤s5验证通过时,验证服务器记录相关信息,生成验证pin码与本地pin校验码;

步骤s7:对步骤s6中生成的验证pin码与本地pin校验码进行比较:

若验证pin码与本地pin校验码相同:服务将正常启动,实例中count修改为count+1;

若验证pin码与本地pin校验码不相同:服务未启动。

进一步地,为了更好的实现本发明,所述步骤s1具体包括以下步骤:

所述步骤s1,具体包括以下步骤:

步骤s11:云平台商制作镜像,镜像内置平台商标标识和对称加密key,所述每个平台商标标识关联的对称加密key是不相同的,所述镜像内置count计数为0;

步骤s12:镜像提供商在验证服务器中将镜像对应的平台商标标识注册,建立与对称加密key一对一关系。

进一步地,为了更好的实现本发明,所述步骤s2具体是指:

在云平台的镜像内创建一个实例;云平台将给实例传递用于网络连接的mac地址,以此mac作为实例在平台中的唯一标识mac,实例未提供软件服务,实例count计数为0。

本发明中,用户在云平台选择镜像提供商提供给云平台的镜像,创建一个实例。实例创建时,云平台会自动给实例传用于网络连接的mac地址,以此mac作为实例在平台中的唯一身份,实例未提供软件服务,实例count计数0。

进一步地,为了更好的实现本发明,所述步骤s3具体是指:

步骤s31:实例启动服务初始化过程,将实例唯一标识mac和count计数值通过常用标准对称加密算法使用对称加密key作为密钥进行加密生成加密数据段;

步骤s32:将平台商标标识和加密数据段合并生成参数value;

步骤s33:参数value与验证服务器的域名地址一起生成最终请求的验证url。

进一步地,为了更好的实现本发明,所述步骤s4包括:

在联网模式下访问验证服务器,即:当实例与互联网连接处于联网状态时,实例通过验证url地址访问验证服务器,所述url中包含验证使用信息;

在离线模式下访问验证服务器,即:当实例无互联网连接处于离线状态时,实例将验证url生成二维码并显示或者支持下载为文件,通过连接联网的手机扫描二维码,间接访问验证服务器。

进一步地,为了更好的实现本发明,所述步骤s5具体包括以下步骤:

步骤s51:验证服务器取出验证url中的参数value,拆分出参数value中的平台商标识;对在步骤s12已经注册的平台商标识进行查找:

如果没有对应的平台商标识,则返回错误;

如果找到有效的平台商标识,通过步骤s12中的平台商标识与对称加密key的一对一关系获取到对称加密key;

使用对称加密key对加密数据段进行对称解密:

若解密失败,返回错误;

若解密成功,获取到count计数和实例唯一标识mac;

步骤s52:在验证服务器内部,设置有用与存储mac地址和count计数的平台商记录表;通过平台商标识所对应的平台商记录表,检索是否存在与实例唯一标识mac一致的记录;

如果存在相同mac,继续下一步骤;

如果不存在相同的mac,再检查count计数是否为0:当count计数等于0时,将实例唯一标识mac和count计数0添加到平台商mac记录表;当count计数不等于0时,返回失败;

步骤s53:通过步骤s52将获取到平台商标识所对应的与实例唯一标识mac一致的记录表中的coun计数设置为记录表count计数;将验证url解析后取得的count计数与记录表count计数进行比较;

如果相同,继续下一步;

如果count计数等于记录表count计数+1,更新平台商记录表,使记录表count计数与count计数相同,继续后续步骤;

如果count计数不等于记录表count计数+1,返回失败。

进一步地,为了更好的实现本发明,所述步骤s6具体包括以下步骤:

步骤s61:使用hotp算法生成6-8位验证pin码;

所述验证pin码=hotp(对称加密key+实例唯一标识mac,记录表count计数);

展开表示:truncate(hmac-sha-1(对称加密key+实例唯一标识mac,记录表count计数));

步骤s62:在线直接url返回,离线显示验证pin码内容;

当实例与互联网连接处于联网状态时,实例通过验证url地址访问验证服务器,直接通过http协议响应返回验证pin码给实例;url访问一般指通过浏览器使用http协议协议进行交互。

当实例无互联网连接处于离线状态时,云平台通过连接联网的手机扫描二维码,间接通过验证url访问验证服务器,通过http协议响应返回验证pin码给手机,用户可以便捷读取到生成6-8位验证pin码;在实例的页面输入6-8位验证pin码。

进一步地,为了更好的实现本发明,所述步骤s7具体是指:

实例从步骤s62获取到验证服务器返回的验证pin码;实例中以步骤s61以同样的hotp函数方式生成本地pin校验码:比较验证pin码与本地pin校验码;

所述本地pin校验码=hotp(对称加密key+实例唯一标识mac,count计数);

如果验证pin码与本地pin校验码相同:服务正常启动,实例中count计数更新为count+1值;

如果验证pin码与本地pin校验码不相同:服务未启动。

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

(1)本发明有效的防止部署于云环境中的虚拟机实例镜像被任意拷贝盗版使用的问题;

(2)本发明有效的提高对于知识产权保护能力。

附图说明

图1为本发明的工作流程示意图;

图2为本发明步骤s11的工作流程图;

图3为本发明中步骤2的工作流程图;

图4为本发明中步骤3的工作流程图;

图5为本发明中步骤4的工作流程图;

图6为本发明中步骤s51的工作流程图;

图7为本发明中步骤s52的工作流程图;

图8为本发明中步骤s53的工作流程图;

图9为本发明中步骤s62的工作流程图。

具体实施方式

下面详细描述本发明的实施例,在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。

实施例1:

本发明通过下述技术方案实现,如图1-图9所示,一种基于hotp的云平台镜像防盗版方法,具体包括以下步骤:

步骤s1:通过云平台提供的服务软件制作镜像并在镜像内硬编码平台商标标识和对称加密key;

步骤s2:用户在云平台选择镜像提供商提供给云平台的镜像,创建一个实例;

步骤s3:根据步骤s2生成参数value和最终请求的验证url;

步骤s4:验证url,在联网模式或离线模式下访问验证服务器;

步骤s5:验证服务器收到步骤s1中的对称加密key,查找与对称加密key对应的mac记录,进行验证;

步骤s6:在步骤s5验证通过时,验证服务器记录相关信息,生成验证pin码与本地pin校验码;

步骤s7:对步骤s6中生成的验证pin码与本地pin校验码进行比较:

若验证pin码与本地pin校验码相同:服务将正常启动,实例中count修改为count+1;

若验证pin码与本地pin校验码不相同:服务未启动。

本实施例的其他部分与上述实施例相同,故不再赘述。

实施例2:

本实施例在上述实施例的基础上做进一步优化,如图7所示,本发明中所述步骤s52具体是指:在验证服务器内部,平台商记录表是一个二维结构表,存储了mac地址和count计数,形如:

ididentifycount

000:2d:00:00:12:035

100:2d:00:00:13:010

200:2d:00:00:14:023

通过平台商标识所对应的平台商记录表,检索是否存在与实例唯一标识mac一致的记录;

如果存在相同mac,继续下一步骤;

如果不存在相同的mac,再检查count计数是否为0:当count计数等于0时,将实例唯一标识mac和count计数0添加到平台商mac记录表;当count计数不等于0时,返回失败;

本实施例的其他部分与上述实施例相同,故不再赘述。

实施例3:

本实施例在上述实施例的基础上做进一步优化,如图1所示,所述步骤s61中的验证pin码=hotp(对称加密key+实例唯一标识mac,记录表count计数);

展开表示:truncate(hmac-sha-1(对称加密key+实例唯一标识mac,记录表count计数))。

本实施例的其他部分与上述实施例相同,故不再赘述。

实施例4:

本实施例在上述实施例的基础上做进一步优化,如图1所示,所述步骤s7具体是指:

实例中以步骤s61以同样的hotp函数方式生成本地pin校验码:所述本地pin校验码=hotp(对称加密key+实例唯一标识mac,count计数)。

本实施例的其他部分与上述实施例相同,故不再赘述。

实施例5:

如图1-图9所示,1.一种基于hotp的云平台镜像防盗版方法,其特征在于:具体包括以下步骤:

步骤s1:通过云平台提供的服务软件制作镜像并在镜像内硬编码平台商标标识和对称加密key;具体包括以下步骤:

步骤s11:云平台商制作镜像,镜像内置平台商标标识和对称加密key,所述每个平台商标标识关联的对称加密key是不相同的,所述镜像内置count计数为0;

步骤s12:镜像提供商在验证服务器中将镜像对应的平台商标标识注册,建立与对称加密key一对一关系。

步骤s2:用户在云平台选择镜像提供商提供给云平台的镜像,创建一个实例;具体是指:

用户在云平台选择镜像提供商提供给云平台的镜像,创建一个实例。实例创建时,云平台会自动给实例传用于网络连接的mac地址,以此mac作为实例在平台中的唯一身份,实例未提供软件服务,实例count计数0。

步骤s3:根据步骤s2生成参数value和最终请求的验证url;具体是指:

步骤s31:实例启动服务初始化过程,将实例唯一标识mac和count计数值通过常用标准对称加密算法使用对称加密key作为密钥进行加密生成加密数据段;

步骤s32:将平台商标标识和加密数据段合并生成参数value;

步骤s33:参数value与验证服务器的域名地址一起生成最终请求的验证url。

步骤s4:验证url,在联网模式或离线模式下访问验证服务器;所述步骤s4包括:

在联网模式下访问验证服务器,即:当实例与互联网连接处于联网状态时,实例通过验证url地址访问验证服务器,所述url中包含验证使用信息;

在离线模式下访问验证服务器,即:当实例无互联网连接处于离线状态时,实例将验证url生成二维码并显示或者支持下载为文件,通过连接联网的手机扫描二维码,间接访问验证服务器。

步骤s5:验证服务器收到步骤s1中的对称加密key,查找与对称加密key对应的mac记录,进行验证;具体包括以下步骤:

步骤s51:验证服务器取出验证url中的参数value,拆分出参数value中的平台商标识;对在步骤s12已经注册的平台商标识进行查找:

如果没有对应的平台商标识,则返回错误;

如果找到有效的平台商标识,通过步骤s12中的平台商标识与对称加密key的一对一关系获取到对称加密key;

使用对称加密key对加密数据段进行对称解密:

若解密失败,返回错误;

若解密成功,获取到count计数和实例唯一标识mac;

步骤s52:在验证服务器内部,平台商记录表是一个二维结构表,存储了mac地址和count计数,形如:

ididentifycount

000:2d:00:00:12:035

100:2d:00:00:13:010

200:2d:00:00:14:023

通过平台商标识所对应的平台商记录表,检索是否存在与实例唯一标识mac一致的记录;

如果存在相同mac,继续下一步骤;

如果不存在相同的mac,再检查count计数是否为0:当count计数等于0时,将实例唯一标识mac和count计数0添加到平台商mac记录表;当count计数不等于0时,返回失败;

步骤s53:通过步骤s52将获取到平台商标识所对应的与实例唯一标识mac一致的记录表中的coun计数设置为记录表count计数;将验证url解析后取得的count计数与记录表count计数进行比较;

如果相同,继续下一步;

如果count计数等于记录表count计数+1,更新平台商记录表,使记录表count计数与count计数相同,继续后续步骤;

如果count计数不等于记录表count计数+1,返回失败。

步骤s6:在步骤s5验证通过时,验证服务器记录相关信息,生成验证pin码与本地pin校验码;具体包括以下步骤:

步骤s61:使用hotp算法生成6-8位验证pin码;

所述验证pin码=hotp(对称加密key+实例唯一标识mac,记录表count计数);

展开表示:truncate(hmac-sha-1(对称加密key+实例唯一标识mac,记录表count计数))。

步骤s62:在线直接url返回,离线显示验证pin码内容;

当实例与互联网连接处于联网状态时,实例通过验证url地址访问验证服务器,直接通过http协议响应返回验证pin码给实例;

当实例无互联网连接处于离线状态时,云平台通过连接联网的手机扫描二维码,间接通过验证url访问验证服务器,通过http协议响应返回验证pin码给手机,用户可以便捷读取到生成6-8位验证pin码;在实例的页面输入6-8位验证pin码。

步骤s7:对步骤s6中生成的验证pin码与本地pin校验码进行比较:

若验证pin码与本地pin校验码相同:服务将正常启动,实例中count修改为count+1;

若验证pin码与本地pin校验码不相同:服务未启动。

所述步骤s7具体是指:

实例从步骤s62获取到验证服务器返回的验证pin码;实例中以步骤s61以同样的hotp函数方式生成本地pin校验码:比较验证pin码与本地pin校验码;

如果验证pin码与本地pin校验码相同:服务正常启动,实例中count计数更新为count+1值;

如果验证pin码与本地pin校验码不相同:服务未启动。

通过上述改进,本发明有效的防止部署于云环境中的虚拟机实例镜像被任意拷贝盗版使用的问题,提高知识产权保护能力。

本实施例的其他部分与上述实施例相同,故不再赘述。

实施例6:

软件厂家xx公司发布基础镜像堡垒机v1.0给云平台商a公司,a公司内部管理造成基础镜像泄漏,云平台商b司在未经xx公司授权的情况下使用基础镜像。

xx公司和云平台商a公司签订了管理协议,每年只授权总量500个实例的使用权。

当云平台商b公司的用户通过基础镜像创建实例之后,实例需要通过hotp的方法来验证启动服务,传递关键3要素的云平台商a的信息。xx公司的验证服务器记录一个新的实例,云平台商a公司可用的实例授权量减少1。

几个月之后云平台商b公司使用了200个授权,云平台商a公司使用了300个授权,云平台商a公司接到反馈发现无法创建新的实例,与xx公司沟通发现泄漏问题。xx公司合作对500个授权的实例特征标识进行区分,停止对未知的b公司的实例激活服务。xx公司未云平台商a公司重新发布新的平台商标识镜像,不再对原有平台商标识的镜像再扩展使用权的授权。

云平台商a公司也意识到自己需要严格管理基础镜像,镜像的泄漏会影响自己平台的用户使用。

xx公司和云平台商a公司为了找出泄漏来源,对识别出来非a公司hotp的认证来源转向到信息收集页面,通过警告来自b平台上用户,为保护其继续使用,收集b平台商信息和证据。

本实施例的其他部分与上述实施例相同,故不再赘述。

实施例7:

软件厂家xx公司发布基础镜像堡垒机v1.0给云平台商b公司。云平台商b公司为了非法谋取利益,创建一个实例并激活功能许可,再把这个实例重新制作镜像。通过完全模拟实例的运维状态,绕过实例内激活功能许可过程让平台上用户使用,从而收取平台用户购买许可的费用。在未加入hotp的方法之前,软件厂家xx公司无法知道这个损害利益的行为,特别是网络完全隔离的情况下。

加入hotp的方法之后,平台上不同用户分辨创建了一个实例x,实例y,这2个实例最初的状态都是基于重新制作的镜像,初始状态是一致的。实例x,实例y初始count例如都是count5都可以在初次通过hotp去激活实例内的服务。

实例x的用户开启关闭实例多次,实例x和验证服务器的count计数都变化到例如count10,而实例y用户没有关闭过,实例计数还是count5;当实例y的用户下一次关闭实例再次启动服务的时候,实例y通过count5和验证服务器count10校验,是无法通过的。也就是随着使用的继续,差异化会逐渐变大,同时验证服务器保留了实例的最终运行状态。

当平台上又有一个新的用户创建了实例z,创建出来的还处于最初状态的count5,同样无法使用。

(此案例还有类似的情况也通过hotp方式解决,部分云平台商因为允许用户自制镜像并导出,用户将自制的实例镜像导出到其他环境继续使用)。

本实施例的其他部分与上述实施例相同,故不再赘述。

实施例5:

软件厂家xx公司发布基础镜像堡垒机v1.0给云平台商c公司,镜像包含默认的许可(为了方便用户的使用和平台计费,用户不需要再次导入功能许可)。

云平台商c公司在和软件厂家xx公司进行费用结算的时候,云平台商c公司减少实际销售量。在未加入hotp的方法之前,软件厂家xx公司无法知道这个损害利益的行为,特别是网络完全隔离的情况下。

使用hotp的方法情况下,软件厂家xx公司可以根据云平台商c公司对应的激活量,激活时间来度量平台销售情况,对费用结算提供依据,作为合作的可信基础。

本实施例的其他部分与上述实施例相同,故不再赘述。

以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1