【技术实现步骤摘要】
本专利技术涉及一种防止窃取或盗版计算机软件的方法,确切地说,涉及一种 基于门限密码体制对软件进行分割保护的实现方法,属于信息安全中的软件安 全
技术介绍
目前,比较广泛使用的软件保护技术主要有软加密和硬加密两大 类,这两大类中又各自分别包括一些不同的软件保护技术。其中软加密是指不依靠特殊硬件来对软件实现加密保护。软加密方面的现有技术主要有序列号 法、注册文件法、加壳法等。序列号法是一种以复杂的数学算法为核心的软件加密技术,它的应用最广 泛。该方法的具体步骤是开发者通过用户信息计算出序列号,用户要使用该 序列号,必需按照必要的步骤在软件中输入注册信息和序列号,再经过该软件 对其合法性进行验证后,该软件就会取消其本身设置的各种限制,供用户使用。 目前,国内外很多软件的保护方式都比较简单,如利用系统的一些特征码 (如CUP的IP号、网卡MAC地址、石更盘序列号等)生成注册码,并以此-睑 证用户的合法性。虽然这些注册码都具有唯一性,但是,比较和跳转指令非常 明显,破解者用调试软件很容易跟踪到比较和跳转的位置,然后强行将跳转地 址改为继续执行的地址,就能够实施破解。即便采用相当复杂的生成和验证注 册码机制,如果可执行程序能够被任意修改,破解者还是可通过上述方法破解 软件。注册文件法(KeyFile)是一种利用文件注册软件的保护方式。FileKey的 内容是被加密或未加密的用户名、注册码等数据,当用户付费注册后,会收到 注册文件,然后只要将该注册文件放入指定的目录,就可以让该软件成为正式版本。每次启动时,软件都从该文件中读取数据,再利用某种算法进行处理,并 ...
【技术保护点】
一种基于门限密码体制的软件分割保护的实现方法,其特征在于:利用软件分割技术,将软件的应用程序分割成两部分,并将分割出来的应用程序的数据进行加密后的密文和参与加密人员的密钥,分别存入多个电子钥匙里,而在原来的软件中只保留头文件和节表,并复制该部分软件用作备份文件;再将存储有密文和参与加密人员的密钥的多个电子钥匙分别发给每个参与加密人员;所述密钥是每个参与加密人员的私钥,每人只负责保管存有本人私钥和密文的电子钥匙;只有当参与解密人员聚集在一起的总人数超过设定的门限数值,才能提取电子钥匙中的不同密钥,对电子钥匙中的密文进行解密,将该密文恢复为原来的二进制数据,再将其与该软件中的其它数据合并在一起运行;并在该软件运行完成后,再用所述备份文件覆盖刚才运行的完整软件,实现保护该软件的目的。
【技术特征摘要】
1、一种基于门限密码体制的软件分割保护的实现方法,其特征在于利用软件分割技术,将软件的应用程序分割成两部分,并将分割出来的应用程序的数据进行加密后的密文和参与加密人员的密钥,分别存入多个电子钥匙里,而在原来的软件中只保留头文件和节表,并复制该部分软件用作备份文件;再将存储有密文和参与加密人员的密钥的多个电子钥匙分别发给每个参与加密人员;所述密钥是每个参与加密人员的私钥,每人只负责保管存有本人私钥和密文的电子钥匙;只有当参与解密人员聚集在一起的总人数超过设定的门限数值,才能提取电子钥匙中的不同密钥,对电子钥匙中的密文进行解密,将该密文恢复为原来的二进制数据,再将其与该软件中的其它数据合并在一起运行;并在该软件运行完成后,再用所述备份文件覆盖刚才运行的完整软件,实现保护该软件的目的。2、 根据权利要求1所述的软件分割保护的实现方法,其特征在于所述门 限密码体制是一种对数据文件进行加密和解密的方法,在该体制中,对密文的 解密操作是由参与加密的多个人员共同执行的,即只有当参与加密的人员聚集 在一起的人数超过该门限密码体制所设定的门限值时,才能将该密文成功解密。3、 根据权利要求l所述的软件分割保护的实现方法,其特征在于所述电 子钥匙是具有保密功能的移动式存储装置。4、 根据权利要求1所述的软件分割保护的实现方法,其特征在于所述对 软件的应用程序进行分割是对可移植的执行体PE格式文件的应用程序进行分 割,所述PE格式文件已经作为Windows操作系统下可执行文件的标准;在PE 格式文件的结构组成中,PE的头文件与节表相连,节表是一个结构体数组,每 个结构体包含一个节的该节映射到内存中的起始地址和长度、该节的属性及其 在PE文件中的偏移和长度的相关信息;节是PE文件的主体,PE文件的程序 代码、数据和资源信息都被组织存储在多个节中;PE文件的分割位置是在节表 与第一个节之间。5、 根据权利要求1所述的软件分割保护的实现方法,其特征在于所述方 法包括下列操作步骤(l)分割软件,并对分割后存储于电脑的软件进行拷贝,制成备份文件 根据软件在内存中的存储结构,找到软件的应用程序的分割位置,将该应用程 序分割成两部分,在原来的软件中只保留PE头文件和节表,并对该部分软件 进行复制,用作备份文件,再对该备份文件重新命名后,将其存储于该被分割 软件的原路径下;(2 )计算参与加密人员的私钥、公钥和群公钥,并对分割出来的PE数据 进行加密利用门限密码体制,分别计算每个参与加密人员的私钥、公钥和群 公钥,再利用该公钥和群公钥对分割出来的包括程序、数据和资源信息的PE 数据进行加密处理;(3) 将密文和密钥分别存储于多个电子钥匙,并交由多人保管在每个电 子钥匙中分别存储有对PE数据加密后的密文和其中一位参与加密人员的私 钥,再分给多人保管,每个参与加密人员只负责保管存储有本人私钥和密文的 电子钥匙;(4) 对密文进行解密将不少于设定门限值数量的多个电子钥匙插入计算 机接口,从电子钥匙中提取密文、私钥和相关信息,并对参与解密人员的每个 人的个人验证码进行确认后,对电子钥匙中的密文进行解密;(5) 恢复并运行原来的软件,并在该软件运行后,用备份文件覆盖该恢复 完整的软件将解密后的PE数据与原来的程序文件合并,恢复并运行该PE格 式的软件;并在该软件完成运行任务后,使用备份文件覆盖刚才运行的、恢复 完整的原有软件,防止该软件被盗版,使得该软件更加安全。6. 根据权利要求5所述的软件分割保护的实现方法,其特征在于所述步 骤(1)进一步包括下列才喿作内容(11 )因PE头文件Header和节表在文件中的位置决定于DOS头结构中的 相对偏移地址字段e—lfanew,故先寻找存储PE头文件Header在文件中的偏移 地址字段e—lfanew,用于确定需要分割的PE数据在内存中的地址;分别读取软件路径和PE头文件结构,得到节表个数;找到分割软件的节表与第一个节之 间的地址;(12 )将《个电子钥匙同时插入计算机的USB接口 , 《是不小于2的自然 数,表示参与加密人员的数量;(13) 在配置文件参数.ini',中写入软件路径和两个加密参数和z,其 中,自然数Z是解密时要求原来参与加密人员聚集在一起的人数门限值,即解 密时所需的最少人数;再将配置文件参数.ini存入电子钥匙中;(14) 对分割后仍然存储于电脑中的、包括PE头文件和节表的部分软件 进行拷贝,制成备份文件,并对该备份文件重新命名,存储于该被分割软件的 原路径下。7、根据权利要求5所述的软件分割保护的实现方法,其特征在于所述步 骤(2 )进一步包括下列操作内容(21) 设置用于数据加密的基本参数设个参与加密的人数M,共同组成 集合M^(M,,M2,…,似J ,再分别选用w个互不相同的自然数A...
【专利技术属性】
技术研发人员:徐国爱,张淼,王茹,杨义先,
申请(专利权)人:北京邮电大学,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。