一种基于公共存储平台的软件授权系统及软件授权方法与流程

文档序号:12123061阅读:293来源:国知局
一种基于公共存储平台的软件授权系统及软件授权方法与流程
本发明涉及计算机软件授权方法,特别涉及基于公共存储平台的软件授权系统及软件授权方法。
背景技术
:随着“互联网+”的全面推广,各类小工具和应用软件如春笋般涌出。这些工具为我们日常工作、生活提供了极大便利的同时,软件授权和版权管理也面临着很大挑战。一些经典的商业软件,往往投入单独的硬件设备,开发专有的授权服务程序,搭建完整的授权服务,对发行的软件进行授权和管理。与这些商业软件所不同的是,此类小型应用软件通常包含的技术创新点较为单一,开发者不具有较多的资源和精力用于软件授权管理系统的开发。而且工具所带来的经济效益相较于投入专门的授权服务,投入产出比较小。基于这些原因,例如,目前在Android和IOS应用商店中的各类需要付费的应用,大都采用付费下载的方式进行授权,这样以来,授权不具有灵活性。传统的网络授权将注册或授权信息保存在远程授权服务器端,并且可以将关键算法与软件分离。待授权软件运行过程中,可通过不定期与服务端进行交互,进行授权验证,以此结果决定软件的运行行为。使用网络授权增加了逆向破解的难度,同时也可获得软件授权行为,对一些异常授权进行灵活管理,使得延长和停用授权变得较为便捷。然而,设计并开发完整的网络授权服务,不仅增加了授权服务端的硬件投入,也增加了软件开发者的研发和维护成本。另外,一般情况下,普通软件开发者并不具有安全类服务应用开发的领域知识,如果不能保证其设计的授权服务本身的安全性,那么,实现的软件授权也将流于形式。文献基于电子邮件系统和MD5算法的软件授权控制技术研究与实现[J].计算机应用与软件,2003,20(9):72-74。其中设计一种使用E-Mail存储授权信息,实现软件授权服务,它存在如下问题:首先,它并不是一种网络授权模式。它仅在软件没有本地授权文件或者授权文件无效之时,访问授权E-Mail,下载授权文件。而之后的真正验证过程,只访问生成的授权文件。因此,E-Mail在授权验证过程仅作为授权信息分发的存储媒介,而实际上软件授权过程则是通过本地的授权文件实现。其次,安全性较差。它并没有提及验证有效期的方法,简单点,攻击者通过修改系统时间便可达到破解的目的。深入点,访问的E-Mail账号和密码,以及通信过程是否加密均未说明,攻击者可以构造虚假的授权E-Mail。更深入一些,攻击者能够在不破坏待授权软件的完整性的情况下,编写注册机软件,生成授权文件,获得永久授权服务。技术实现要素:为解决上述问题,本发明提供了一种基于公共存储平台的软件授权系统及软件授权方法,该模型基于公共存储平台,使用加密方法对授权信息进行保护,实现软件授权服务,软件开发者能够以0开发成本和0硬件投入的前提下,使用较为安全、灵活的软件授权管理服务。本发明的目的是通过以下技术方案来实现的:一种基于公共存储平台的软件授权系统,包括授权管理端,授权信息数据库,公共存储平台以及授权客户端;授权管理端由软件开发者使用,用于对客户端密钥、软件授权和公共存储平台进行管理;授权信息数据库存储授权管理端管理的软件用户注册和授权信息、公共存储平台账号数据;所述公共存储平台根据其功能的不同,为日志平台、注册平台和授权平台;日志平台用于记录软件客户端授权过程中的日志信息;注册平台接收软件注册信息,授权管理端据其生成授权信息;授权平台用于存储软件授权信息;授权客户端在软件开发阶段,嵌入待授权软件中,与公共存储平台进行交互,实现软件授权信息的获取和验证。进一步,公共存储平台为可公开访问的免费或者收费的存储空间,使用通用协议或者专用接口向用户提供存储服务。进一步,公共存储平台包括但不限于E-Mail、FTP、微博和博客空间等WebServer服务,以及各种基于云存储的网络云盘。进一步,授权管理端对公共存储平台至少具有读、写和删除权限;授权客户端对日志平台和注册平台至少有写权限,对于授权平台则至少有读权限。进一步,授权管理端和授权客户端使用加密方法保护之间交互数据的完整性,它们各自拥有一对授权密钥和公用密钥;其中加密方法可使用非对称或对称加密方法,使用非对称加密方法时,授权密钥和公用密钥分别为各自的私钥和公钥;使用对称加密方法时,授权密钥与公用密钥相同。进一步,授权管理端对授权平台中所存储的授权信息使用授权管理端的授权密钥和授权客户端公用密钥进行加密,以保证授权信息无法被伪造或篡改。授权客户端使用授权管理端的公用密钥加密注册信息和日志记录,之后分别发送到注册平台和日志平台。进一步,授权管理端和授权客户端与公共存储平台之间的数据交互,均利用公共存储平台所提供的SSL安全通信链路保证通信数据的完整性。基于公共存储平台的软件授权方法,包括以下步骤:(1).注册请求:待授权软件通过授权客户端将注册信息发送到注册平台中,其中注册平台的地址和账号列表通过授权管理端授权密钥加密后保存在授权客户端中;发送出的注册信息则使用授权管理端公用密钥加密;(2).注册处理:授权管理端接收注册信息,分别生成授权信息和授权文件,并将这些信息存储到授权信息数据库中;(3).授权信息分发:授权管理端将授权信息发送到授权平台,授权信息使用授权管理端授权密钥进行加密;(4).授权文件分发:授权管理端将授权文件发送给软件用户,存放于待授权软件存储系统中,授权文件使用授权管理端授权密钥Ks-和授权客户端的公用密钥和进行加密;(5)授权信息获取:待授权软件运行时,授权客户端访问授权平台,获取加密后的授权信息;(6).授权验证:授权客户端得到加密的授权信息后,使用授权管理端公用密钥和自身的授权密钥解密,得到明文的授权信息;之后通过标准时间服务器获取当前日期和时间,验证授权信息中的有效期,进行授权验证;最后授权客户端向待授权软件返回验证结果,决定软件后续行为;(7).日志写入:每次注册或授权完成后,授权客户端将操作结果、软件和客户信息,加密后发送到日志平台中;(8).日志分析和管理:授权管理端通过日志所记录的行为,分析软件的使用情况。本发明具有以下优点:(1)软硬件开销小使用本发明模型实现的软件授权系统,使用免费的公共存储平台存储授权信息,因此无需投入硬件及其维护成本。在软件开销方面,只需要在开发过程中,将授权客户端嵌入待授权软件,设置平台相关参数,例如平台账户信息和管理端公用密钥等。而不需要关注授权管理的开发、部署和维护工作。(2)通信和数据加密目前常用的公共存储平台,大多已经提供安全的通信连接方式,如SSL、SFTP、HTTPS等,直接使用这些连接,便可实现通信过程数据加密,保证数据完整性。另外,由于授权信息等相关数据量较小,保存在平台中的数据均可使用非对称加密方式,保证数据安全的同时,由加密产生的时间开销对授权过程影响较小。(3)扩展性高公共存储平台可靠性较高,并且能够支持较大并发,例如支持同时访问相同HTTP页面的客户端数量,或者同时登录到FTP服务器中的用户数可以有很多。因此,使用本发明实现的软件授权系统,可通过扩展平台的账号数量,达到支持较高数量授权客户端同时访问的目的。(4)更高的网络授权服务安全性能本发明设计的基于公共存储平台的软件授权系统,与传统的网络授权模型相比较,未损失服务的安全性和可靠性。并且由于公共存储平台服务提供商的集群式服务和技术积累,本发明在抵御DDoS攻击方面的性能更是优于开发者自行搭建的授权服务。【附图说明】图1为本发明的系统结构和工作流程示意图;图2为实施例中授权管理端功能框架图;图3为实施例中授权客户端功能框架图;图4为实施例中待授权软件授权验证流程图。【具体实施方式】下面将结合实施例对本发明技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都应属于本发明保护的范围。本发明的基于公共存储平台的软件授权系统100主要包括5个模块,如图1所示。包括授权管理端101,授权信息数据库102,公共存储平台103以及授权客户端104;所述公共存储平台103根据其功能的不同,分为日志平台1031、注册平台1032和授权平台1033;日志平台1031用于记录软件客户端授权过程中的日志信息;注册平台1032接收软件注册信息,授权管理端101据其生成授权信息;授权平台1033用于存储软件授权信息;虚线框中的三类平台借助于现有的公共存储平台103,例如E-Mail、FTP、WebServer等,存储和交换授权过程中的注册、授权和日志等数据。授权管理由软件开发者进行控制,对客户端密钥、授权信息和公共平台的分配进行管理。图中数字为系统工作流程顺序;各模块中的斜体字内容为对应模块所存储的数据信息和拥有的密钥。具体描述如下:授权管理端101:可以对软件的授权和多种公共平台账户进行管理;注册平台1032:主要用于接收新的用户注册信息,软件开发者根据这些内容生成授权信息;授权平台1033:存储已授权信息,供待授权软件读取、验证;日志平台1031:记录授权客户端进行授权访问时的日志消息,供软件开发者对该软件用户行为进行分析,以此作为授权管理依据;授权客户端104:软件开发过程中嵌入于待授权的软件中,与注册、授权和日志平台进行交互,实现正常的软件授权功能。数据模块在说明本发明的工作流程之前,首先介绍系统中使用的几对密钥和关键数据信息。授权管理端密钥:包括一对授权密钥和公用密钥授权密钥仅在授权管理端101使用,公用密钥附加在每个授权客户端104中。授权客户端密钥:每个授权客户端104一对授权密钥和公用密钥授权密钥保存在授权文件中,公用密钥保存在授权信息数据库102中。通信密钥:通信过程均由公共平台所提供的证书建立SSL连接,本发明不对其进行限制和管理。注册信息(reg_info):由授权客户端104提供,主要包括软件运行环境标识码,以及用户基本信息,如用户名、注册邮箱等。授权信息(auth_info):由授权管理端101根据注册信息生成,保存在授权平台1033中。包括软件标识码、授权客户端标识码、授权有效期等内容。授权文件(auth_file):由授权管理端101生成,发送并保存在待授权软件本地存储系统。包含授权客户端104的授权密钥授权平台1033的地址和账号信息等。工作流程本发明的整体工作流程可分为注册、授权分发、授权验证、日志记录四部分。接下来,以图1中数字所标识的顺序,对本发明的各个流程进行介绍。其中,各流程的数据交互,均使用SSL加密的通信链路进行。注册过程1.注册请求。待授权软件将注册信息发送到注册平台1032中,其中注册平台1032的地址和账号列表通过授权管理端101的授权密钥加密后保存在授权客户端104中。发送出的注册信息则使用其公用密钥加密。2.注册处理。授权管理端101接收注册信息,分别生成授权信息和授权文件,并将这些信息存储到授权信息数据库102中。授权分发3.授权信息分发。授权管理端101将授权信息发送到授权平台1033,授权信息使用授权管理端101的授权密钥和授权客户端104的公用密钥进行加密。4.授权文件分发。将授权文件发送给软件用户,存放于待授权软件存储系统中。授权文件使用授权管理端101的授权密钥进行加密。授权验证5.授权信息获取。待授权软件运行时,授权客户端104访问授权平台1033,获取加密的授权信息。6.授权验证。授权客户端104得到加密的授权信息后,使用授权管理端101的公用密钥和自身授权密钥解密,得到明文的授权信息。之后通过标准时间服务器获取当前日期和时间,验证授权信息中的有效期,进行授权验证。最后授权客户端104向待授权软件返回验证结果,决定软件后续行为。日志记录7.日志写入。每次注册或授权完成后,授权客户端104将操作结果、软件和客户信息,加密后发送到日志平台1031中。8.日志分析和管理。授权管理端101通过日志所记录的行为,分析软件的使用情况。例如是否存在恶意破解等,以此作为授权管理的依据。下面将结合本发明实施例中的附图,选用免费的FTP作为公共存储平台,并使用非对称加密技术作为加密方法,对本发明的技术方案进行描述。1.授权管理端图2所示为实施例中授权管理端101的功能结构图,用户层包括软件开发者所使用的具体功能,例如公共存储平台账户管理、软件授权管理、授权日志分析等。接口层向上提供一套操作公共存储平台中数据的接口。(1)数据库表结构该实施例中,授权数据库选用MicrosoftAccess,主要包含两个数据表,如表1和2所示。表1平台信息表表2授权信息表字段类型大小说明Aid自动编号长整型记录IDLpid数字长整型关联日志平台IDRpid数字长整型关联注册平台IDApid数字长整型关联授权平台IDAckey文本255公用密钥Askey文本255授权密钥Astatus数字整型授权状态Ardate日期/时间常规日期最后上线时间Aedate日期/时间常规日期授权过期时间(2)平台管理平台管理主要管理公共存储平台的账号信息,包括新增、修改和删除平台地址、用户名和密码等。(3)注册管理接收到新的注册信息后,为其分配公共存储平台账号,并生成随机的加密密钥对。之后分别生成授权信息和授权文件,并将这些信息存储到授权信息数据库102中。最后将授权信息写入授权平台1033。(4)日志分析授权管理端101自动从日志平台获取日志消息,供软件开发者对该软件用户行为进行分析,以此作为授权管理依据。(5)授权管理注册完成后,软件开发者可动态管理授权状态和有效期等。2.授权客户端授权客户端在未注册情况下,向注册平台1032发送注册信息。完成注册后,从授权平台1033获取授权信息,并进行验证。在注册和授权过程,发送日志到日志平台1031。图3为实施例中授权客户端104的功能结构图,用户层为授权客户端104使用的具体功能,接口层向上提供操作公共存储平台中数据的接口。图4为授权客户端104进行注册和授权验证的工作流程图。验证结束后,将授权验证结果告知待授权软件,软件将根据该结果,决定后续运行行为。以上所述是本发明的优选实施方式,通过上述说明内容,本
技术领域
的相关工作人员可以在不偏离本发明技术原理的前提下,进行多样的改进和替换,这些改进和替换也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1