[发明专利]一种基于PKI公钥算法的软件程序模块完整性检测方法有效
申请号: | 201710189427.4 | 申请日: | 2017-03-27 |
公开(公告)号: | CN108667594B | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 彭相钰;曾政;王佩成 | 申请(专利权)人: | 格尔软件股份有限公司 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/32;H04L9/40 |
代理公司: | 上海天翔知识产权代理有限公司 31224 | 代理人: | 吕伴 |
地址: | 200436 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开的一种基于PKI公钥算法的软件程序模块完整性检测方法,其基于PKI公钥算法和专用加载模块,其使用固定的证书对程序模块进行签名,并在应用的主程序中,通过包含固定的公钥证书、模块签名、及导入表数字信封,在程序运行时校验模块签名、加载模块、解密导入表信封、修复导入表、开启运行时代码区签名校验线程、并进入原程序入口点继续执行,其中签名时使用的私钥必须和验签时使用的证书一一对应。本发明的有益效果在于:在不影响软件程序正常功能的前提下防止软件被非法篡改和利用,同时也保护了应用软件所有者的知识产权。 | ||
搜索关键词: | 一种 基于 pki 算法 软件 程序 模块 完整性 检测 方法 | ||
【主权项】:
1.一种基于PKI公钥算法的软件程序模块完整性检测方法,其特征在于,包括以下步骤:步骤1,采用固定的证书对软件程序除主程序之外的所有模块进行签名,同时对包括所述主程序在内的所有模块的可执行代码区进行签名;步骤2,在主程序中增加一个新增节区,同时将步骤1得到的签名信息和公钥证书保存至所述主程序的新增节区内;步骤3,获取主程序的导入表,并采用所述固定的证书对所述主程序的导入表进行数字信封处理得到导入表数字信封,再将所述导入表数字信封保存至所述主程序的新增节区内,同时清空所述主程序的导入表的非系统库导入表项;步骤4,创建一个用于实现对模块进行签名校验和加载、解密导入表数字信封、修复导入表的功能的专用加载模块,并将所述专用加载模块附加到主程序的新增节区内;步骤5,将主程序的原入口点保存至主程序的新增节区内,修改主程序的入口点为专用加载模块,软件程序运行时先对保存在所述主程序的新增节区内的专用加载模块运行,所述专用加载模块对可执行模块进行签名校验、加载,同时再开启一个单独的线程对各可执行模块在内存中的完整性进行动态检测,以防止被篡改,最后主线程转到主程序原入口点执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于格尔软件股份有限公司,未经格尔软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710189427.4/,转载请声明来源钻瓜专利网。