当前位置: 首页 > 专利查询>王涛专利>正文

基于通用串行总线接口的软件正版验证方法和装置制造方法及图纸

技术编号:2884864 阅读:231 留言:0更新日期:2012-04-11 18:40
一种基于通用串行总线接口的软件正版验证方法和装置,以通用串行总线为待验证者和授权者的通讯的接口,检测并启动USB狗;在USB狗被启动后由应用程序发送查询码给USB狗;USB狗收到查询码后产生应答码并将该应答码发送给应用程序;应用程序将收到的应答码与计算的应答码比较产生验证结论。这种方法和装置支持热拔插、即插即用、多任务处理和多达127个USB狗的同时使用,安全性好,可靠性高,可广泛应用于各种软件的正版验证。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及计算机安全技术,更具体地说,涉及一种基于通用串行总线(USB)接口的软件正版验证方法和装置。众所周知,盗版软件给软件开发公司带来了巨大的经济损失。软件开发公司除了宣传和鼓励消费者使用正版软件外,还选择使用加密手段来保护自己的知识产权。通过加密,软件产品能够鉴别当前运行的是正版还是非法复制的盗版。下表归纳了现有的主要软件加密方法的分类。表一软件加密方法的种类 其中,硬件加密技术相对其他两种技术而言,技术可靠性较高,但需要进一步解决兼容性以及使用方便性等问题。小型的硬件加密设备俗称“软件狗”。其原理举例说明如下,在计算机(PC)的标准并行端口上加插一个带有预置数据或程序的“软件狗”,在需要验证为正版方能使用的软件产品中,设置一段需要正确读取该软件狗中数据方能运行的程序。如果读取的数据与预期的相同,则验证通过,否则验证不合格,软件将拒绝其进一步运行。本专利技术的目的是提供一种新的软件正版验证方法,这种方法可以用来确定运行软件是否具有合法版权,并且可以有效克服现有软件加密技术的诸多缺点,使得这种验证方法具有很强的安全性和使用上的便利和灵活性。本专利技术的另一目的是提供一种新的软件正版验证装置,这种装置采用了通用串行总线(USB)为硬件接口,可以克服现有软件加密装置(软件狗)存在的缺点,具有物理上接口新、体积小而且使用方便的特点。为沿袭过去对这种设备的称呼习惯,我们称这种设备为USB软件狗,简称USB狗。在说明本专利技术的方法之前,可将软件和加密设备视为两个具有计算能力的独立主体,且称为待验证者和授权者。假设待验证者和合法的授权者都知晓验证的算法,即加密算法。验证过程包括以下步骤1.待验证者产生查询码,即某些数据的组合,例如产生的时间;2.待验证者发送查询码给授权者;3.如果发送失败,则未获验证。4.授权者加密查询码,生成应答码;5.授权者发送应答码给待验证者;6.待验证者也根据知道的算法加密查询码,生成的结果数据与应答码比较,如果一致则验证成功,否则是验证失败。该过程中的核心是加密算法,同简单的返回静态内容的验证方法比较,算法可以千变万化,令盗版者无法通过仿制授权者来复制和出售盗版。另外一个好处是,通过良好的设计,待验证者和授权者的算法部分的工作都由软件开发商来完成,这样减少了透明度,增强了保密性。在实际应用中,软件主体是待验证者,而“软件狗”是授权者。本专利技术的第一目的是这样实现的,构造一种基于通用串行总线(USB)接口的软件正版验证方法,以通用串行总线为待验证者与授权者的通讯接口,验证过程包括以下步骤1)将USB狗插入PC的USB口中,(假设该PC具有USB插口);2)操作系统(如Windows98)检测到一个新的USB设备,操作系统去从已经安装的文件库中查找驱动程序,如果没有找到,则提示用户提供驱动程序安装盘,装好驱动程序。找到驱动程序后,启动驱动程序;3)应用软件(待验证者)启动;4)应用程序调用驱动程序的接口,试图给USB狗发送查询码;如果失败,则未获验证,执行非正版的程序逻辑;5)驱动程序通过操作系统的应用接口将查询码数据发送到USB总线上;6)USB狗接受到查询码,根据知道的算法计算应答码,并将应答码送到USB总线;7)操作系统的底层软件接受到应答码数据,传送给USB狗的驱动程序;8)驱动程序将应答码发送给应用程序;9)应用程序根据查询码计算预期的应答码,并将之与通过USB接收到的应答码进行比较,如果不一致,则未获验证,执行非正版的程序逻辑;如果完全一致,则认为自己是合法的,按正版逻辑执行。本专利技术的另一目的是这样实现的,构造一种基于通用串行总线接口的验证装置,可以配合所运行软件,对该软件是否正版进行验证,其特征在于,包括与USB接口连接的接插件1、与所述接插件1连接的串行通讯设备2、与所述串行通讯设备2连接的微处理器核心单元3,还包括分别与所述微处理器核心单元3连接的I/O设备单元4以及外部存储设备5,来自所述USB接口的信号被所述串行通讯设备(SCU)2收到并整理成字节并引起所述微处理器核心单元3的一个中断,所述微处理器核心单元3运行的中断处理程序可将字节形式的数据作为参数,运行预置在所述外部存储设备(EMD)5中的程序并将计算出结果返回所述微处理器核心单元3作为应答码,并通过所述串行通讯设备2通过接插件1和USB传送到主计算机。在本专利技术提供的装置中,微处理器核心单元3包括CPU以及与CPU内置的存储器,如RAM和ROM。在本专利技术提供的装置中,串行通讯设备SCU2和所述微处理器核心单元3可以包含在一个集成电路中,例如型号是CY7C63000系列的IC。在本专利技术提供的装置中,I/O设备单元4包括发光二极管,用于指示工作状态,外部存储设备EMD5是闪频存储器或EEPROM,用于存放应用开发方开发的软件加密算法等。实施本专利技术提供的基于通用串行总线(USB)接口的软件正版验证方法和装置,同现有技术相比,由于接口采用了通用串行总线USB,使得其具有以下显著的特点1)支持热拔插;2)支持即插即用;3)支持多任务处理;4)支持多达127个USB狗的同时使用。更为重要是,本专利技术的验证装置由于采用内置单片机的USB控制器,通过固化的软件实时按特制的算法进行校验,所以,具有安全性好,可靠性高的突出优点,能有效地抑制盗版,保护国家利益,保障软件厂家的基本权益。本专利技术提供的基于USB接口的验证方法和装置可广泛应用于各种软件的正版验证。结合附图和实施例,进一步说明本专利技术的特点,附图中附图说明图1是应用本专利技术提供验证方法的体系结构示意图;图2是说明本专利技术验证方法的流程示意图;图3是本专利技术验证装置的原理性说明框图;图4是说明在实现本专利技术验证方法中,本专利技术的验证装置(USB狗)执行的程序流程示意图;图5是本专利技术装置的电路原理示意图。在说明本专利技术的方法和装置之前,对作为实现本专利技术基础的通用串行总线(英文全称Universal Serial Bus,简称USB)简要说明如下USB接口(标准1.0版本)具有以下一些特点1)串行速度达到12Mb/s,超过以太网(10Mb/s);2)基于协议的串行总线管理,采用主从模式,最多可以挂接127个从属设备;3)带电接插外设,自动识别设备的类型和加载驱动程序,真正意义上的即插即用;4)灵活的协议支持等时传输模式和异步消息模式;5)提供协议扩展空间支持创新的外设类型;6)接口统一,简单而且造价低。本专利技术的方法和装置,就是在上述USB接口的基础上实现软件版权验证和访问合法性验证的。其基本体系结构如图1所示,USB总线200上可以连接多达127个本专利技术提供的验证装置100,这种装置就是USB狗。它作为带有USB接口计算机的一个外部设备,用以验证运行的软件是否正版。它是一种新型接口的验证设备,采用了国际上正日益兴起的通用串行总线USB,并符合IT产业各大厂家提出的USB标准1.0版。每个USB狗可以独立运行,也可以交互作用,无论哪一种方式,均需要通过与操作系统相关的USB引擎300连接到USB狗的驱动程序模块400,而被验证的应用程序500和被验证的通信程序600均通过该驱动程序模块400、USB引擎300、USB总线200与该总线上的某一个(单独作用)或几个(多重作用)USB狗1本文档来自技高网...

【技术保护点】
一种基于通用串行总线接口的软件正版验证方法,以通用串行总线(USB)为待验证者和授权者的通讯的接口,其特征在于,包括以下步骤:检测并启动USB狗;在USB狗被启动后由应用程序发送查询码给USB狗;USB狗收到查询码后产生应答码并将该应答码发送给应用程序;应用程序将收到的应答码与计算的应答码比较产生验证结论。

【技术特征摘要】

【专利技术属性】
技术研发人员:王涛汪询晔
申请(专利权)人:王涛汪询晔
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1