一种软件重用模块的保护方法及装置制造方法及图纸

技术编号:6994020 阅读:231 留言:0更新日期:2012-04-11 18:40
为了解决现有技术在软件重用模块层次上还没有相应的保护方案的问题,本发明专利技术公开了一种软件重用模块的保护方法及装置,本发明专利技术公开的方法包括:根据第一密钥和具有使用重用模块权限的应用程序的标识,生成第一加密结果并生成重用模块注册码,当需要使用重用模块的应用程序运行时,获取重用模块注册码、该应用程序的标识和根据第一密钥得到的重用模块校验码,通过重用模块校验码得到第一密钥,根据第一密钥和获取的标识生成第二加密结果,根据注册码得到第一加密结果,比较第一加密结果和第二加密结果,确定该应用程序是否具有使用重用模块的权限,正是由于通过注册码和校验码实现了权限验证,进而实现在软件重用模块层次上对软件进行保护。

【技术实现步骤摘要】

本专利技术属于数字加密
,特别涉及一种软件重用模块的保护方法及装置
技术介绍
软件复用是软件工程中软件开发的基本思想和方法,复用意味着使用已经存在的 成果。在软件开发的过程中,我们发现开发中的大部分内容都是比较成熟的,只有少部分的 工作才是创新性的。成熟的工作我们可以认为是高质量并且可以复用的,通过复用这些成 熟的工作可以提高我们的生产率。将开发中比较成熟的、可以复用的工作进行合理的拆分,形成高内聚、低耦合的模 块,以便在其他的软件开发中使用这些独立的、能够提供完整功能的模块,这些模块被称为 重用模块。将提取出的软件模块不断的添加到重用模块库中,在需要某些重用模块时,直 接从模块库中提取自己需要的重用模块进行类似“积木”的堆积,就可以方便形成常用的软 件。随着计算机软件的迅猛发展,软件模块化将越来越多,许多重用模块将在软件产 品中使用,如何保护这些重用模块不被滥用,在软件重用模块层次上对软件进行保护,目前 还没有相应的解决方案。
技术实现思路
为了解决现有技术在软件重用模块层次上还没有相应的保护方案的问题,本专利技术 实施例提供了一种软件重用模块的保护方法,包括根据第一密钥和具有使用重用模块权限的应用程序的标识,利用加密算法生成第 一加密结果,根据第一加密结果生成重用模块注册码,第一密钥为根据重用模块私有密钥 得到密钥;当需要使用重用模块的应用程序运行时,获取重用模块注册码、该应用程序的标 识和重用模块中添加的根据第一密钥得到的重用模块校验码;通过重用模块校验码得到第一密钥,根据第一密钥和应用程序运行时获取的标识 利用加密算法生成第二加密结果;通过重用模块注册码得到第一加密结果,根据第一加密结果和第二加密结果相 同,确定需要使用重用模块的应用程序具有使用重用模块的权限,否则,没有使用权限。同时本专利技术实施例还提供一种软件重用模块的保护装置,包括第一生成模块用于根据第一密钥和具有使用重用模块权限的应用程序的标识, 利用加密算法生成第一加密结果,根据第一加密结果生成重用模块注册码,第一密钥为根 据重用模块私有密钥得到密钥;获取模块用于当需要使用重用模块的应用程序运行时,获取重用模块注册码、该 应用程序的标识和重用模块中添加的根据第一密钥得到的重用模块校验码;第二生成模块用于通过重用模块校验码得到第一密钥,根据第一密钥和应用程序运行时获取的标识利用加密算法生成第二加密结果;权限确定模块用于通过重用模块注册码得到第一加密结果,根据第一加密结果 和第二加密结果相同,确定需要使用重用模块的应用程序具有使用重用模块的权限,否则, 没有使用权限。由本专利技术提供的具体实施方案可以看出,正是由于通过重用模块注册码和重用模 块校验码实现了权限验证,进而实现在软件重用模块层次上对软件进行保护。附图说明图1为本专利技术提供的第一实施例方法流程图;图2为本专利技术提供的第一实施例注册码和校验码生成方法流程图;图3为本专利技术提供的第一实施例第二加密结果生成方法流程图;图4为本专利技术提供的第一实施例第一加密结果生成方法流程图;图5为本专利技术提供的第二实施例装置结构图。具体实施例方式为了解决现有技术中在软件重用模块层次上还没有相应的保护方案的问题,本发 明的实施例提供一种软件重用模块的保护方法,当某个应用程序需要使用某个重用模块 时,则需要申请重用模块注册码,使用重用模块时,则需要提供该应用程序的标识,如应 用程序进程名称等。重用模块注册码的生成需要如下步骤,获取具有使用重用模块权限的 应用程序的标识ID1,根据KEYl和ID1,利用加密算法生成第一加密结果crytoText,根据 crytoText生成重用模块注册码licenseCode。其中密钥KEYl可以直接采用重用模块私有 密钥moduleKey,也可以采用对重用模块私有密钥moduleKey进行不可逆加密得到的加密 后结果moduleKeyHash。无论采用moduleKey还是采用moduleKeyHash作为KEYl,都是根 据重用模块私有密钥moduleKey得到密钥KEYl。生成重用模块注册码licenseCode后,需 要建立应用程序1和licenseCode两者之间的关联关系,以便当应用程序1运行时能够获 取licenseCode。在重用模块的使用入口处添加重用模块校验码moduleCode和校验程序 段,以便其被应用程序1调用时通过携带的moduleCode对调用其的应用程序使用权限进 行校验,moduleCode可以直接采用moduleKey,还可以采用字符编码后的moduleKeyHash, 当应用程序1运行时,获取licenseCode、应用程序1的标识ID1’和重用模块携带的 moduleCode。应用程序1调用重用模块后,通过携带的moduleCode对调用其的应用程序 使用权限进行校验,校验过程为,重用模块通过moduleCode得到密钥KEYl (moduleKey或 moduleKeyHash),根据密钥KEYl和应用程序1运行时获取的ID1,利用加密算法生成第二 加密结果hcNumber。根据应用程序1运行时获取的licenseCode得到crytoText,根据crytoText和 licNumber相同,确定应用程序1具有使用重用模块的权限,否则,没有使用权限。本专利技术提供的第一实施例是一种软件重用模块的保护方法,XML编辑器是一个多 媒体文本编辑器,作为应用程序使用。XML编辑器中的核心模块之一是修改痕迹模块,作为 一个独立的模块,不仅在XML编辑器中使用,在其它的应用模块中也频繁的使用,修改痕迹 模块在本专利技术实施例中作为重用模块,下面以在XML编辑器为具有使用重用模块权限的应用程序,修改痕迹重用模块被一应用程序使用后,对使用其的应用程序进行验证,判断该程 序是否是具有使用权限的XML编辑器来详细说明,方法流程如图1所示,包括步骤101 采用修改痕迹重用模块A的私有密钥moduleA,对XML编辑器的标识 XMLEditor进行对称加密生成crytoText,将crytoText作为修改痕迹重用模块A注册码 IicenseCodeJf moduleA作为修改痕迹重用模块A的校验码moduleCode。步骤102 将moduleCode添加在修改痕迹重用模块A的使用入口处,以便其被调 用时通过moduleCode对调用其的应用程序进行权限校验。步骤103 当应用程序1运行时,获取作为IicenseCode的crytoText、应用程序1 的标识ID1,和修改痕迹重用模块A中添加的作为moduleCode的moduleA。步骤104 采用修改痕迹重用模块A携带的moduleA对标识ID1’进行对称加密生 成第二加密结果licNumber。步骤105 根据crytoText和IicNumber相同,确定应用程序1具有使用重用模块 的权限,否则,没有使用权限。其中步骤101中,生成IicenseCode和moduleCode还可以如图2所示,具体而言, 生成crytoText的过程还可以是对修改痕迹重用模块A的私有密钥moduleA进行不可逆加 密(单向加密)得到moduleKeyHash,对XML编辑器的标识XMLEditor进行不可逆加密得到 a本文档来自技高网...

【技术保护点】
一种软件重用模块的保护方法,其特征在于,包括:根据第一密钥和具有使用重用模块权限的应用程序的标识,利用加密算法生成第一加密结果,根据第一加密结果生成重用模块注册码,第一密钥为根据重用模块私有密钥得到的密钥;当需要使用重用模块的应用程序运行时,获取重用模块注册码、该应用程序的标识和重用模块中添加的根据第一密钥得到的重用模块校验码;通过重用模块校验码得到第一密钥,根据第一密钥和应用程序运行时获取的标识利用加密算法生成第二加密结果;通过重用模块注册码得到第一加密结果,根据第一加密结果和第二加密结果相同,确定需要使用重用模块的应用程序具有使用重用模块的权限,否则,没有使用权限。

【技术特征摘要】

【专利技术属性】
技术研发人员:纪永凤刘洋
申请(专利权)人:北大方正集团有限公司北京北大方正电子有限公司
类型:发明
国别省市:11

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

1