CN107704731B - 一种基于hotp的云平台镜像防盗版方法 - Google Patents

一种基于hotp的云平台镜像防盗版方法 Download PDF

Info

Publication number
CN107704731B
CN107704731B CN201710898660.XA CN201710898660A CN107704731B CN 107704731 B CN107704731 B CN 107704731B CN 201710898660 A CN201710898660 A CN 201710898660A CN 107704731 B CN107704731 B CN 107704731B
Authority
CN
China
Prior art keywords
count
verification
platform
instance
cloud platform
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.)
Active
Application number
CN201710898660.XA
Other languages
English (en)
Other versions
CN107704731A (zh
Inventor
姜毅
熊利霞
范渊
吴永越
郑学新
刘韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu DBAPPSecurity Co Ltd
Original Assignee
Chengdu DBAPPSecurity Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu DBAPPSecurity Co Ltd filed Critical Chengdu DBAPPSecurity Co Ltd
Priority to CN201710898660.XA priority Critical patent/CN107704731B/zh
Publication of CN107704731A publication Critical patent/CN107704731A/zh
Application granted granted Critical
Publication of CN107704731B publication Critical patent/CN107704731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开一种基于HOTP的云平台镜像防盗版方法,包括以下步骤:通过云平台提供的服务软件制作镜像并在镜像内硬编码平台商标标识和对称加密KEY;用户给云平台的镜像,创建一个实例;生成参数VALUE和最终请求的验证URL;验证URL,访问验证服务器;验证服务器中的对称加密KEY,查找与对称加密KEY对应的MAC记录并验证;验证通过时,验证服务器记录相关信息,生成验证PIN码与本地PIN校验码;对验证PIN码与本地PIN校验码比较:相同:服务将启动,实例中COUNT修改为COUNT+1;不相同:服务未启动;本发明有效的防止部署于云环境中的虚拟机实例镜像被任意拷贝盗版使用;提高对于知识产权保护能力。

Description

一种基于HOTP的云平台镜像防盗版方法
技术领域
本发明涉及技术领域,具体的说,是一种基于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计数,形如:
Id identify count
0 00:2d:00:00:12:03 5
1 00:2D:00:00:13:01 0
2 00:2d:00:00:14:02 3
通过平台商标识所对应的平台商记录表,检索是否存在与实例唯一标识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计数,形如:
Id identify count
0 00:2d:00:00:12:03 5
1 00:2D:00:00:13:01 0
2 00:2d:00:00:14:02 3
通过平台商标识所对应的平台商记录表,检索是否存在与实例唯一标识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公司对应的激活量,激活时间来度量平台销售情况,对费用结算提供依据,作为合作的可信基础。
本实施例的其他部分与上述实施例相同,故不再赘述。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

Claims (8)

1.一种基于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.根据权利要求1所述的一种基于HOTP的云平台镜像防盗版方法,其特征在于:所述步骤S1,具体包括以下步骤:
步骤S11:云平台商制作镜像,镜像内置平台商标标识和对称加密KEY,每个平台商标标识关联的对称加密KEY是不相同的,镜像内置COUNT计数为0;
步骤S12:镜像提供商在验证服务器中将镜像对应的平台商标标识注册,建立与对称加密KEY一对一关系。
3.根据权利要求1所述的一种基于HOTP的云平台镜像防盗版方法,其特征在于:所述步骤S2具体是指:
用户在云平台选择镜像提供商提供给云平台的镜像,创建一个实例;实例创建时,云平台会自动给实例传用于网络连接的MAC地址,以此MAC作为实例在平台中的唯一身份,实例未提供软件服务,实例COUNT计数0。
4.根据权利要求3所述的一种基于HOTP的云平台镜像防盗版方法,其特征在于:所述步骤S3具体是指:
步骤S31:实例启动服务初始化过程,将实例唯一标识MAC和COUNT计数值通过常用标准对称加密算法使用对称加密KEY作为密钥进行加密生成加密数据段;
步骤S32:将平台商标标识和加密数据段合并生成参数VALUE;
步骤S33:参数VALUE与验证服务器的域名地址一起生成最终请求的验证URL。
5.根据权利要求4所述的一种基于HOTP的云平台镜像防盗版方法,其特征在于:所述步骤S4包括:
在联网模式下访问验证服务器,即:当实例与互联网连接处于联网状态时,实例通过验证URL地址访问验证服务器,所述URL中包含验证使用信息;
在离线模式下访问验证服务器,即:当实例无互联网连接处于离线状态时,实例将验证URL生成二维码并显示或者支持下载为文件,通过连接联网的手机扫描二维码,间接访问验证服务器。
6.根据权利要求5所述的一种基于HOTP的云平台镜像防盗版方法,其特征在于:所述步骤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一致的记录表中的COUNT计数记为记录表COUNT计数;将验证URL解析后取得的COUNT计数与记录表COUNT计数进行比较;
如果相同,继续下一步;
如果COUNT计数等于记录表COUNT计数+1,更新平台商记录表,使记录表COUNT计数与COUNT计数相同,继续后续步骤;
如果COUNT计数不等于记录表COUNT计数+1,返回失败。
7.根据权利要求6所述的一种基于HOTP的云平台镜像防盗版方法,其特征在于:所述步骤S6具体包括以下步骤:
步骤S61:使用HOTP算法生成6-8位验证PIN码;
步骤S62:在线直接URL返回,离线显示验证PIN码内容;
当实例与互联网连接处于联网状态时,实例通过验证URL地址访问验证服务器,直接通过HTTP协议响应返回验证PIN码给实例;
当实例无互联网连接处于离线状态时,云平台通过连接联网的手机扫描二维码,间接通过验证URL访问验证服务器,通过HTTP协议响应返回验证PIN码给手机,用户可以便捷读取到生成6-8位验证PIN码;在实例的页面输入6-8位验证PIN码。
8.根据权利要求7所述的一种基于HOTP的云平台镜像防盗版方法,其特征在于:所述步骤S7,具体是指:
实例从步骤S62获取到验证服务器返回的验证PIN码;实例中以步骤S61以同样的HOTP函数方式生成本地PIN校验码:比较验证PIN码与本地PIN校验码;
如果验证PIN码与本地PIN校验码相同:服务正常启动,实例中COUNT计数更新为COUNT+1值;
如果验证PIN码与本地PIN校验码不相同:服务未启动。
CN201710898660.XA 2017-09-28 2017-09-28 一种基于hotp的云平台镜像防盗版方法 Active CN107704731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710898660.XA CN107704731B (zh) 2017-09-28 2017-09-28 一种基于hotp的云平台镜像防盗版方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710898660.XA CN107704731B (zh) 2017-09-28 2017-09-28 一种基于hotp的云平台镜像防盗版方法

Publications (2)

Publication Number Publication Date
CN107704731A CN107704731A (zh) 2018-02-16
CN107704731B true CN107704731B (zh) 2021-03-09

Family

ID=61175906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710898660.XA Active CN107704731B (zh) 2017-09-28 2017-09-28 一种基于hotp的云平台镜像防盗版方法

Country Status (1)

Country Link
CN (1) CN107704731B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613083A (zh) * 2021-01-04 2021-04-06 北京数字认证股份有限公司 一种基于应用容器引擎的应用授权验证方法和装置
CN115168816B (zh) * 2022-08-03 2023-08-04 明阳产业技术研究院(沈阳)有限公司 一种软件防盗版方法、装置、设备和介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010079030A (ko) * 2001-06-07 2001-08-22 전용옥 Mac 주소와 사용자 인증번호(cd-key)를 이용한 소프트웨어무단복제 단속법
CN101777106A (zh) * 2010-01-22 2010-07-14 中兴通讯股份有限公司 一种移动终端软件防盗用的方法和装置
CN102324009A (zh) * 2011-09-07 2012-01-18 上海普元信息技术股份有限公司 基于云计算平台的软件版权控制***及其方法
CN102867138A (zh) * 2012-08-23 2013-01-09 深圳市同洲电子股份有限公司 机顶盒的中间件的版权保护方法及装置
CN103077345A (zh) * 2012-12-27 2013-05-01 深信服网络科技(深圳)有限公司 基于虚拟机的软件授权方法及***
CN103164642A (zh) * 2011-12-19 2013-06-19 比亚迪股份有限公司 一种防止软件盗版的方法及***
WO2013109139A1 (en) * 2012-01-19 2013-07-25 Mimos Berhad System for enabling node-locked application to operate in cloud computing environment
CN103745139A (zh) * 2013-12-29 2014-04-23 国云科技股份有限公司 一种软件授权控制方法
US8966581B1 (en) * 2011-04-07 2015-02-24 Vmware, Inc. Decrypting an encrypted virtual machine using asymmetric key encryption
CN104484586A (zh) * 2015-01-05 2015-04-01 北京飞音时代技术有限公司 软件版权保护方法
CN105007261A (zh) * 2015-06-02 2015-10-28 华中科技大学 一种虚拟化环境下镜像文件的安全防护方法
US9342669B2 (en) * 2013-07-11 2016-05-17 Dialogic, Inc. Systems and methods of licensing and identification of virtual network appliances
CN105743638A (zh) * 2016-05-13 2016-07-06 江苏中天科技软件技术有限公司 基于b/s架构***客户端授权认证的方法
CN106919859A (zh) * 2015-12-25 2017-07-04 研祥智能科技股份有限公司 基本输入输出***保护方法和装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010079030A (ko) * 2001-06-07 2001-08-22 전용옥 Mac 주소와 사용자 인증번호(cd-key)를 이용한 소프트웨어무단복제 단속법
CN101777106A (zh) * 2010-01-22 2010-07-14 中兴通讯股份有限公司 一种移动终端软件防盗用的方法和装置
US8966581B1 (en) * 2011-04-07 2015-02-24 Vmware, Inc. Decrypting an encrypted virtual machine using asymmetric key encryption
CN102324009A (zh) * 2011-09-07 2012-01-18 上海普元信息技术股份有限公司 基于云计算平台的软件版权控制***及其方法
CN103164642A (zh) * 2011-12-19 2013-06-19 比亚迪股份有限公司 一种防止软件盗版的方法及***
WO2013109139A1 (en) * 2012-01-19 2013-07-25 Mimos Berhad System for enabling node-locked application to operate in cloud computing environment
CN102867138A (zh) * 2012-08-23 2013-01-09 深圳市同洲电子股份有限公司 机顶盒的中间件的版权保护方法及装置
CN103077345A (zh) * 2012-12-27 2013-05-01 深信服网络科技(深圳)有限公司 基于虚拟机的软件授权方法及***
US9342669B2 (en) * 2013-07-11 2016-05-17 Dialogic, Inc. Systems and methods of licensing and identification of virtual network appliances
CN103745139A (zh) * 2013-12-29 2014-04-23 国云科技股份有限公司 一种软件授权控制方法
CN104484586A (zh) * 2015-01-05 2015-04-01 北京飞音时代技术有限公司 软件版权保护方法
CN105007261A (zh) * 2015-06-02 2015-10-28 华中科技大学 一种虚拟化环境下镜像文件的安全防护方法
CN106919859A (zh) * 2015-12-25 2017-07-04 研祥智能科技股份有限公司 基本输入输出***保护方法和装置
CN105743638A (zh) * 2016-05-13 2016-07-06 江苏中天科技软件技术有限公司 基于b/s架构***客户端授权认证的方法

Also Published As

Publication number Publication date
CN107704731A (zh) 2018-02-16

Similar Documents

Publication Publication Date Title
US11888989B2 (en) Methods and systems for key generation
US8374968B2 (en) License auditing for distributed applications
EP1443381B1 (en) System and method for secure software activation with volume licenses
US8533860B1 (en) Personalized digital media access system—PDMAS part II
TWI413908B (zh) 用於授證應用程式之彈性授證架構
CN102073826B (zh) 利用轻量级数字水印添加组件的数字版权管理的***和方法
US7752140B1 (en) Software license distribution and bypassing
US20060253395A1 (en) Format and systems for secure utilization of electronic fonts
US20050060561A1 (en) Protection of data
KR20070122508A (ko) 소프트웨어 라이센싱/상업용 디지털 배포 정책을 위한 부가신뢰 모델의 인증 방법, 라이센스 및 확인 방법
CN109614769A (zh) 按照参考平台清单和数据封装的安全操作***启动
US8474052B2 (en) User-administered license state verification
US20050177823A1 (en) License management
US20070239617A1 (en) Method and apparatus for temporarily accessing content using temporary license
Nair et al. Enabling DRM-preserving digital content redistribution
CN107704731B (zh) 一种基于hotp的云平台镜像防盗版方法
JP2002041347A (ja) 情報提供システムおよび装置
KR20090048581A (ko) 가상 머신 활성화를 갖는 휴대용 대량 저장장치
KR20030075948A (ko) 디알엠 환경에서 플래쉬 컨텐츠를 사용하기 위한 범용솔루션의 제공 방법 및 시스템
WO2019235450A1 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
JP5018558B2 (ja) 記憶領域割当方法および情報処理装置
CN111611551A (zh) 一种基于国密算法的动态链接库保护方法及其***
Mumtaz et al. Development of a methodology for piracy protection of software installations
JP4784319B2 (ja) コンテンツ利用権管理システム及び電子チケット発行システム及びプログラム
JP2005189913A (ja) ソフトウェアライセンス管理方法およびプログラム

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