一种保护辞典软件的方法

文档序号:6463436阅读:114来源:国知局
专利名称:一种保护辞典软件的方法
技术领域
本发明涉及软件保护技术,特别涉及一种保护辞典软件的方法。
技术背景软件保护装置是实现软件安全保护和版权保护的主要手段。软件保护装置特指一种附加在计算机接口 (比如,USB接口、串口、并口等接口)上的 硬件设备,对运行在计算机上的特定的软件进行软件安全保护和版权保护。 现代的软件保护装置,例如USB加密锁,采用高强度智能卡芯片和先进的 密码学技术,具有一定的运算和存储能力,同时难以被破解和复制,在高强 度软件版权保护中具有广泛的应用。 一种常用的软件保护方法是将软件的部 分功能移植到软件保护装置中,移植的代码存储在软件保护装置的控制器中 内置的非易失存储器里,软件运行时调用软件保护装置运行被移植的代码, 从而实现被移植功能。为了达到一定的保护强度,被移植的功能应该是具有 一定复杂性并且非常见的算法,而且输入输出的数据空间必须足够大,同时 又适合在软件保护装置中有限的存储和计算条件下运行。在实际情况中要找 到软件中满足上述要求的功能模块并非易事,通常要在安全强度和运行效率 之间权衡。另外,由于软件保护装置和PC主机是完全不同的硬件运算平台, 软件开发商需要将原先在PC上的功能在软件保护装置的开发平台上重新编 程实现,具有一定的技术难度,因此提高了软件开发和维护成本。另一种软 件保护思路是用软件保护装置保护软件的数据文件,将重要的数据存储到软 件保护装置中。但一般的软件保护装置的内置的非易失存储器容量很小,通 常只被软件保护装置内的程序使用;另外,软件保护装置的非易失存储器不 是以文件系统的形式管理的,因此软件在使用这些存储器时必须调用自定义的、复杂的i殳备接口函数,这种丈件访问方式与一般PC上的文件访问完全 不同,不便于使用。辞典软件的基本功能是用户输入单词或从屏幕抓取一个单词,软件查找并显示词义;另一功能是用户从屏幕抓取一块图像,软件通过OCR(图像 识别)技术得到其中的单词然后查找、显示词义。通常辞典的版权属于辞典 的出版公司,软件开发商从出版公司购买使用许可,而用户在购买辞典软件 的费用分为软件自身的版权费和辞典的版权费,只有购买了某部辞典的用户 才可以将该辞典的数据安装到软件中使用。因此辞典软件应同时保护软件版 权和辞典版权。然而传统的代码移植方法只能保护软件版权,但辞典数据容 易被复制传播,难以得到保护。发明内容有鉴于此,本发明提出了r种辞典软件的保护方法,将辞典软件的关键 算法代码,如实现OCR功能的代码移植到软件保护装置中,并用软件保护 装置存储辞典数据文件,同时可以设置对辞典数据文件的访问控制策略,保 证了文件的安全性。因为辞典数据只有通过授权后才能保存到软件保护装置 中,没有软件保护装置的软件用户不可能使用该辞典。本发明通过结合了代 码移植和数据保护两种软件保护方法的优点,既保护了辞典软件,又防止了 辞典数据文件被随意复制使用的问题,为辞典软件提供了一种安全性高,操 作方便的保护方法。根据本发明的一个方面,提供一种保护辞典软件的方法,其特征在于, 该方法包括以下步骤A、 将辞典软件的关键算法代码移植到软件保护装置中;B、 将辞典数据文件存储在软件保护装置的存储器中;C、 设置对辞典数据文件的访问控制策略;D、 通过已设置的所述访问策略访问辞典数据。根据本发明的一个方面,其特征还在于,软件保护装置的存储器是非易失存储器。根据本发明的一个方面,其特征还在于,所述非易失存储器是闪存或其 它非易失存储器。根据本发明的一个方面,其特征还在于,辞典软件通过用户输入单词或 从屏幕抓取单词,然后查找并显示词义。根据本发明的一个方面,其特征还在于,辞典软件通过用户从屏幕抓取 一块图像,经过图像识别得到其中的单词,然后查找并显示词义。根据本发明的一个方面,其特征还在于,在步骤B中包括 将一个或多个辞典数据文件存储到软件保护装置的非易失存储器中; 在将辞典数据文件写入非易失存储器时对数据进行加密。 根据本发明的一个方面,其特征还在于,将图像识别算法的代码或其中的一部分代码移植到软件保护装置中。根据本发明的一个方面,其特征还在于,将辞典数据文件的控制策略设置为只有辞典软件可以访问软件保护装置中的辞典数据文件,并且软件保护装置发送给辞典软件的数据使用会话密钥进行加密。根据本发明的一个方面,其特征还在于,步骤D包括步骤辞典软件启动后与软件保护装置相互认证,建立会话密钥;抓取图像,向軟件保护装置发出功能调用请求,将抓取的所述图像传给软件功能移植模块;软件功能移植模块调用已移植的图像识别算法,识别出图像中的单词,将识别出的单词传回给辞典软件;辞典软件找到包含所述单词词义的辞典数据文件名、词义数据的长度,以及词义数据在辞典数据文件中的偏移量,并从辞典数据文件中所述偏移量处读取上述词义数据;操作系统将辞典软件的上述文件操作转为对软件保护装置的文件访问请求发送给软件保护装置,访问监控模块根据预定义的控制策略判断所述文件访问请求是否合法,如果合法,则存储控制模块读取相应数据,经会话密钥加密后发送给软件;辞典软件用会话密钥解密接收到的数据,显示词义。根据本发明的一个方面,其特征还在于,步骤A和步骤B的顺序可以 互换。根据本发明的一个方面,其特征还在于,所述辞典数据文件是一个或多个。


图1为本发明提出的一种保护辞典软件方法的示意图。 图2为本发明实施例中使用软件保护装置实现辞典软件保护方法的流 程示意图。图3为本发明实施例中辞典软件运行时与软件保护装置进行交互的流 程示意图。
具体实施方式
如图l所示,本发明涉及的软件保护装置包括控制器和存储器。存储器 作为文件系统的存储介质,可以是闪存或其它非易失存储器。控制器包括软件功能移植模块,用于存储、运行从受保护软件中移植的功能代码; 移植模块中的代码可以直接访问非易失存储器中的文件数据。存储控制模块,用于操作非易失存储器实现标准的存储类设备管理和访 问功能。存储控制模块可以对写入非易失存储器的数据进行加密,对读出非 易失存储器的数据解密,加密密钥和解密密钥保存在软件保护装置内部,从 而保证了文件数据的私密性。访问监控模块,根据预定义的控制策略监控文件访问。预定义的控制策 略是软件开发商在进行软件保护开发工作时制定的。控制策略可以包括但不局限于以下方面指定文件对外部不可访问或只读;指定文件的访问频率或数据量受限;指定文件对只有在外部软件经过认 证后才可读,即只有特定的程序才可访问该文件;指定文件被外部软件访问 时必须以密文的形式传输数据,进一步,对其加密的传输密钥是软件保护装 置与受保护软件动态协商的会话密钥。受保护软件通过PC端口与软件保护装置通讯,通过发送功能调用请求 实现对被移植功能代码的调用,通过发送文件访问请求对软件保护装置的文 件进行存取。以下参照附图2、 3,结合实施例一、二对本发明方法进行进一步的说明。第一实施例例如一种辞典软件,基本功能是用户输入单词或从屏幕抓取一个单词, 软件查找并显示词义;另一功能是用户从屏幕抓取一块图像,软件通过OCR (图像识别)技术得到其中的单词然后查找、显示词义。该软件使用的辞典 决定了词义的质量,OCR算法决定了图像识别的能力和准确度,因此软件 开发商应对这两部分核心数据和技术加以保护。参见图2,使用本发明的软件保护装置对上迷辞典软件进行保护的流程 如下步骤101,软件开发商将辞典软件的一个或多个辞典数据文件存储到软 件保护装置的存储器中,存储控制模块在将数据写入非易失存储器时对数据 进行加密;步骤102,软件开发商将OCR算法或其中的一部分代码移植到软件保 护装置中;步骤103,软件开发商设定辞典数据文件的控制策略,例如只有该辞典 软件可以访问软件保护装置中的辞典数据文件,并且软件保护装置发送给软 件的数据使用会话密钥进行加密。第二实施例图3为本发明实施例中辞典软件运行时与软件保护装置进行交互的流程示意图。步骤201,辞典软件启动后与软件保护装置相互认证,建立会话密钥;步骤202,用户抓取屏幕图像,软件向软件保护装置发出功能调用请求, 将该图像数据传给软件功能移植模块;步骤203,软件功能移植模块调用被移植的OCR算法,识别出图像中 的单词,传回给辞典软件;步骤204,辞典软件根据传回的单词,从辞典索引数据中找到包舍该单 词词义的辞典数据文件名、词义数据的长度,以及词义数据在该辞典数据文 件中偏移量,辞典软件从该辞典数据文件中所述偏移量处读取上述词义数 据。步骤205,操作系统将软件的上述文件操作转为对软件保护装置的文件 访问请求发送给软件保护装置,访问监控模块根据预定义的控制策略判断该 请求是否合法,如果合法,则存储控制模块读取相应数据,经会话密钥加密 后发送给软件。步骤206,辞典软件用会话密钥解密接收到的数据,显示词义。 由上述实例可见,本发明用代码移植的方法保护了软件功能,由于OCR 算法是在软件保护装置内部执行的,因此没有软件保护装置将无法完成图像 识别功能。同时,本发明还保护软件数据,由于辞典数据文件存储在软件保 护装置中,没有软件保护装置将无法获得词义。同时,访问对文件的控制策 略保证了辞典数据文件不可^皮其它程序访问,因此使用者不可能直接复制该 文件。文件数据在读出时被加密传输,进一步保证了辞典数据的安全性。
权利要求
1. 一种保护辞典软件的方法,其特征在于,该方法包括以下步骤A、将辞典软件的关键算法代码移植到软件保护装置中;B、将辞典数据文件存储在软件保护装置的存储器中;C、设置对辞典数据文件的访问控制策略;D、通过已设置的所述访问策略访问辞典数据。
2、 根据权利要求1所述的方法,其特征在于,软件保护装置的存储器 是非易失存储器。
3、 根据权利要求2所述的方法,其特征在于,所述非易失存储器是闪 存或其它非易失存储器。
4、 根据权利要求1所述的方法,其特征在于,辞典软件通过用户输入 单词或从屏幕抓取单词,然后查找并显示词义。
5、 根据权利要求4所述的方法,其特征在于,辞典软件通过用户从屏 幕抓取图像,经过图像识别得到其中的单词,然后查找并显示词义。
6、 根据权利要求5所述的方法,其特征在于,在步骤B中包括 将辞典数据文件存储到软件保护装置的非易失存储器中; 在将辞典数据文件写入非易失存储器时对数据进行加密。
7、 根据权利要求1所述的方法,其特征在于,将图像识别算法的代码 或其中的 一部分代码移植到软件保护装置中。
8、 根据权利要求7所述的方法,其特征在于,将辞典数据文件的控制 策略设置为只有辞典软件可以访问软件保护装置中的辞典数据文件,并且软 件保护装置发送给辞典软件的数据使用会话密钥进行加密。
9、 根据权利要求8所述的方法,其特征在于,步骤D包括步骤 辞典软件启动后与软件保护装置相互认证,建立会话密钥; 抓取图像,向软件保护装置发出功能调用请求,将抓取的所述图像传给软件功能移植模块;软件功能移植模块调用已移植的图像识别算法,识别出图像中的单词,将识别出的单词传回给辞典软件;辞典软件找到包含所述单词词义的辞典数据文件名、词义数据的长度, 以及词义数据在辞典数据文件中的偏移量,并从辞典数据文件中所述偏移量 处读取上述词义数据;操作系统将辞典软件的上述文件操作转为对软件保护装置的文件访问 请求发送给软件保护装置,访问监控模块根据预定义的控制策略判断所述文 件访问请求是否合法,如果合法,则存储控制模块读取相应数据,经会话密 钥加密后发送给软件;辞典软件用会话密钥解密接收到的数据,显示词义。
10、 根据权利要求l-9所述的任一方法,其特征在于,步骤A和步骤B 的顺序可以互换。
11、 根据权利要求l-9所述的任一方法,其特征在于,所述辞典数据文 件是一个或多个。
全文摘要
本发明公开了一种保护辞典软件的方法,本发明将辞典程序的关键算法移植到软件保护装置中,并将辞典数据文件存储在软件保护装置内的非易失存储器里。本发明结合了软件保护中代码移植和数据文件防护两种方法的优点,既保护的辞典软件程序,又保护了辞典数据文件。
文档编号G06F21/00GK101271505SQ200810105878
公开日2008年9月24日 申请日期2008年5月4日 优先权日2008年5月4日
发明者孙吉平, 勇 韩 申请人:北京深思洛克数据保护中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1