首页 / 专利库 / 电脑安全 / 软件盗版 / 基于非对称身份的恶意程序防控方法

基于非对称身份的恶意程序防控方法

阅读:387发布:2020-05-13

专利汇可以提供基于非对称身份的恶意程序防控方法专利检索,专利查询,专利分析的服务。并且基于非对称身份的恶意程序防控方法,属于数字签名技术和计算机技术领域;包括钥匙管理、身份调制、动态监视和身份验证四个部分; 软件 生产企业拥有两个钥匙,即一个私钥和一个公钥;私钥只能企业私有,不能泄露,用于企业调制程序的非对称身份,该身份存于程序的主名字中,公钥可以公开,存放在验证平台上,用于用户计算机识别程序的非对称身份;当程序在用户计算机中启动时,动态监视模 块 会截获程序的启动过程,提取身份,并发送到验证平台进行识别计算;本方法具有不可伪造、验证速度快、程序身份与程序同体等特点,可用于防止恶意程序(含盗版程序)的启动与运行。,下面是基于非对称身份的恶意程序防控方法专利的具体信息内容。

1.基于非对称身份的恶意程序防控方法,由钥匙管理、身份调制、动态监视和身份验证四个部分组成,第一部分用来生成和管理软件生产企业的一对私钥与公钥,第二部分供企业利用自己的私钥来调制一个程序的非对称身份,第三部分供用户计算机来监视程序的启动过程,第四部分供用户计算机利用存放在验证平台上的企业公钥来识别一个程序的非对称身份,在下文中,符号“=”表示将右边的值赋给左边的变量或者表示两边的值相等,“≠”表示两边的值不相等,“#”为文件或字符串连接符,Signsys是一个性能较好的数字签名方案,Keygen是Signsys的钥匙生成模,含有一调用参数,Cnum为企业编号,即10-12个16进制字符,Signing是Signsys的数字签名模块,含有两个调用参数,Hash是一与Signsys匹配的单向散列模块,含有一调用参数,SK为企业的私钥,Pnum为程序编号,即10-12个16进制字符且同一程序的备份须有不同编号,Pcon为程序内容,PM为程序消息,PD为程序摘要,PID为程序身份,Nori为程序原始主名字,Date为生产日期,Func为程序功能说明,Verifying是Signsys的身份验证模块,含有三个调用参数,其返回值为“真”或“假”,PK是企业的公钥,Res为验证结果,其值为“真”或“假”,“源地址”是指被接收到的分组中的源地址,包括用户计算机IP地址和物理地址,该方法的特征在于:
·钥匙管理部分采用了下列步骤:
1)选择安全参数,其中,模数长度最大为224比特;
2)调用Keygen(安全参数),得到私钥SK和公钥PK;
3)把SK存于优盘中;
4)把Cnum和PK上传到验证平台的公钥数据库中,验证平台由一台或几台计算机组成,可以供多个软件生产企业共同使用,并与网络相连;
5)将私钥编号、公钥、生成时间、生命周期、保管人信息存入钥匙管理数据库中;
这样,企业得到并保管了自己的一对私钥与公钥;
·身份调制部分采用了下列步骤:
<1>置PM=Cnum#Pnum#Pcon;
<2>令PD=Hash(PM);
<3>计算PID=Signing(PD,SK);
<4>将PID、PD转化为16进制字符;
<5>将PID、PD、Cnum、Pnum插入到程序主名字的最右边;
<6>将Cnum、Hash(PID)、Pnum、Nori、Date、Func存入到验证平台的程序简介数据库中;
这样,企业为每个程序及其备份赋予了一个非对称身份;
·动态监视部分采用了下列步骤:
(1)每当程序启动时,截获程序的启动,并获得程序的主名字;
(2)如果主名字的长度小于规定长度,则向用户报告程序非法,并中止程序的启动;
(3)从主名字中提取PID、PD、Cnum和Pnum;
(4)令PD=Hash(Cnum#Pnum#Pcon);
(5)如果新的PD≠旧的PD,则向用户报告程序非法,并中止程序的启动;
(6)将PID、PD、Cnum、Pnum以分组的形式传送到验证平台;
(7)接收从平台返回的结果;
(8)如果结果为“假”,则向用户报告程序非法,并中止程序的启动,否则,允许程序继续启动;
这样,用户计算机可以识别出非法程序并中止它们的启动;
·身份验证部分采用了下列步骤:
①接收来自用户计算机的分组,获得PID、PD、Cnum、Pnum四个参数;
②通过Cnum在公钥数据库中找到PK;
③通过Cnum和Hash(PID)在程序简介数据库中找到Pnum;
④如果当前Pnum≠存储Pnum,则令Res=“假”,否则,计算Res=Verifying(PID,PD,PK);
⑤如果程序简介数据库中的源地址为空,则写入当前的源地址,否则,若已存源地址≠当前源地址,则令Res=“假”;
⑥返回Res;
这样,验证平台可以识别出一个程序身份的真假或是否正版。

说明书全文

基于非对称身份的恶意程序防控方法

(一)技术领域

[0001] 本方法属于数字签名技术和计算机技术领域,是防止恶意程序在计算机中运行的一种新方法。这里的恶意程序包括网络蠕虫、特洛伊木等,它们以可执行文件、脚本文件或动态链接库文件的形式存在,运行后篡改或窃取用户计算机中的数据。(二)背景技术
[0002] 首个数字签名方案RSA诞生于1978年(R.L.Rivest,A.Shamir,L.M.Adleman,A Method for Obtaining Digital Signatures and Public-key Cryptosystems,Communications of the ACM,vol.21,no.2,1978,pp.120-126.)。RSA体制基于因式分解难题,它存在亚指数时间解,因此,当用户的安全性需求为2^80量级时,RSA的模数长度为1024比特。
[0003] 2012年4月,申请者研究数年的原创的REESSE1+公钥方案被国际期刊发表(Shenghui Su,Shuwang Lü,A Public Key Cryptosystem Based on Three New Provable Problems,Theoretical Computer Science,vol.426-427,Apr.2012,pp.91-117.)。REESSE1+基于三个新的可证难题,它们还没有被找到亚指数时间解。由于该优势,在REESSE1+的基础上,我们引申出了JUNA轻量级数字签名技术(一种基于超对数难题的轻量级数字签名方法,申请号:201110297654.1,2011年10月)。当用户的安全性需求为2^112量级时,JUNA的模数长度可以仅为112比特,而在同样的安全性下,RSA的模数长度需要2048比特。在JUNA的基础上,可以进一步研究开发防止恶意程序运行的技术。
(三)发明内容
[0004] 当计算机联网时,网络蠕虫很容易以正常IP分组的方式穿过防火墙进入计算机,并对计算机发动篡改、删除、窃取数据等攻击,IPsec协议对此也无能为;特洛伊木马通过伪装自身吸引用户下载并执行,进而危害用户计算机。这就需要一种机制——当一个可执行文件、脚本文件或动态链接库文件(下面,三者统称为程序)被启动时,其身份应该先被验证。如果身份不合法,它应该被禁止运行,并被清除。
[0005] 本发明提出了一种新的防止恶意程序启动与运行、并通知用户删除恶意程序的技术方法,为网络安全和信息安全提供了新的技术保障。
[0006] 在本文中,符号“=”表示将右边的值赋给左边的变量或者表示两边的值相等,“≠”表示两边的值不相等,“#”为文件或字符串连接符。
[0007] 3.1几个基本概念
[0008] 主要涉及到非对称身份、程序身份、程序消息、数字签名码等。
[0009] 3.1.1非对称身份和程序身份
[0010] 非对称身份用于网络空间或现实世界中物品的身份认证。在网络空间中,物品可以是一台计算机、一个程序文件、一个数据文件等。生产物品的单位叫主体,物品本身叫客体。
[0011] 定义1:在网络空间中,非对称身份是指隐含了客体特征信息(尤其是唯一编号)和主体私有钥匙(简称私钥),并可通过主体公开钥匙(简称公钥)来验证的数字签名码。
[0012] 它具有四个性质:
[0013] ①唯一性(在应用领域内不重复);
[0014] ②防伪性(关联物品的身份不能被假冒);
[0015] ③隐含性(特征信息藏而不露);
[0016] ④非对称性(使用公私两个钥匙)。
[0017] 定义2:隐含了程序内容、程序编号、主体(即软件生产企业)编号和主体私钥的非对称身份被称为程序身份。
[0018] 3.1.2程序消息、程序摘要和数字签名码
[0019] 定义3:由程序内容、程序编号和主体编号组成的一个文件或字符串被称为程序消息。
[0020] 定义4:以程序消息作为输入的单向散列模的输出被称为程序摘要。
[0021] 定义5:数字签名方案的输出被称为数字签名码。
[0022] 3.2本发明的技术方案
[0023] 本发明的关键在于使用了私钥与公钥两个钥匙,并把程序身份存于程序的主名字中。
[0024] 本发明是一种基于非对称身份的恶意程序防控方法,由钥匙管理、身份调制、动态监视和身份验证四个部分组成,它只是一种开发恶意程序防控产品所必须遵循的基本原理与技术方案,而不是物理产品本身。
[0025] 根据本发明,可制造出钥匙管理芯片、身份调制芯片、动态监视芯片以及身份验证芯片,或开发出钥匙管理软件、身份调制软件、动态监视软件以及身份验证软件。
[0026] 3.2.1钥匙管理部分
[0027] 供软件生产企业使用,相关模块运行于企业负责人办公室的计算机中,不连网,用来生成与存放一个私钥和一个公钥。
[0028] 假设Signsys是一个性能较好的数字签名方案,Keygen是其钥匙生成模块,Cnum为企业编号(10-12个16进制字符),则钥匙管理部分的实现方法是:
[0029] (1)选择安全参数,其中,模数长度最大为224比特;
[0030] (2)调用Keygen(安全参数),得到私钥SK和公钥PK;
[0031] (3)把SK存于优盘中,由企业负责人保管,不得泄露;
[0032] (4)把Cnum和PK上传到验证平台的公钥数据库中;
[0033] (5)将私钥编号、公钥、生成时间、生命周期、保管人等信息
[0034] 存入钥匙管理数据库中。
[0035] 注意,验证平台由一台或几台计算机组成,可以供多个软件生产企业共同使用,并与网络相连。
[0036] 3.2.2身份调制部分
[0037] 该部分供软件生产企业使用,且在程序包装销售前进行,相关模块运行于企业办公室的计算机中,不连网,用来生成一个程序(及其不同备份)的非对称身份。
[0038] 假设Signing是Signsys的数字签名模块,Hash是一与Signsys匹配的单向散列模块,SK为企业的私钥,Pnum为程序编号(10-12个16进制字符,且同一程序的备份须有不同编号),Pcon为程序内容,PM为程序消息,PD为程序摘要,PID为程序身份,Nori为程序原始主名字,Date为生产日期,Func为程序功能说明,则身份调制部分的实现方法是:
[0039] (1)置PM=Cnum#Pnum#Pcon;
[0040] (2)令PD=Hash(PM);
[0041] (3)计算PID=Signing(PD,SK);
[0042] (4)将PID、PD转化为16进制字符;
[0043] (5)将PID、PD、Cnum、Pnum插入到程序主名字的最右边;
[0044] (6)将Cnum、Hash(PID)、Pnum、Nori、Date、Func等
[0045] 存入到验证平台的程序简介数据库中。
[0046] 注意,一个程序名字包含两部分,“.”之前的部分被称为主名字,“.”之后的部分被称为扩展名。目前,在主流操作系统中,名字的最大长度约为256个字符。
[0047] 3.2.3动态监视部分
[0048] 该部分供购买和安装了程序的用户使用,相关模块运行于用户的计算机中,该计算机处于联网状态。
[0049] 假设Hash是那个与Signsys匹配的单向散列模块,动态监视部分的实现方法是:
[0050] (1)每当程序启动时,截获程序的启动,并获得程序的主名字;
[0051] (2)如果主名字的长度小于规定长度,则向用户报告程序非法,
[0052] 并中止程序的启动;
[0053] (3)从主名字中提取PID、PD、Cnum和Pnum;
[0054] (4)令PD=Hash(Cnum#Pnum#Pcon);
[0055] (5)如果新的PD≠旧的PD,则向用户报告程序非法,
[0056] 并中止程序的启动;
[0057] (6)将PID、PD、Cnum、Pnum以分组的形式传送到验证平台;
[0058] (7)接收从平台返回的结果;
[0059] (8)如果结果为“假”,则向用户报告程序非法,并中止程序的启动,[0060] 否则,允许程序继续启动。
[0061] 注意,第6步中的分组可以是IP分组,也可以是其它协议的分组。
[0062] 3.2.4身份验证部分
[0063] 该部分供网络中的验证平台使用,相关模块运行于验证服务器中,用来对程序身份进行识别运算。
[0064] 假设Verifying是Signsys的身份验证模块,PK是企业的公钥,Res为验证结果,其值为“真”或“假”,则身份验证部分的实现方法是:
[0065] (1)接收来自用户计算机的分组,
[0066] 获得PID、PD、Cnum、Pnum等参数;
[0067] (2)通过Cnum在公钥数据库中找到PK;
[0068] (3)通过Cnum和Hash(PID)在程序简介数据库中找到Pnum;
[0069] (4)如果当前Pnum≠已存Pnum,则令Res=“假”,
[0070] 否则,计算Res=Verifying(PID,PD,PK);
[0071] (5)如果程序简介数据库中的源地址为空,则写入当前的源地址,
[0072] 否则,若已存源地址≠当前源地址,则令Res=“假”;
[0073] (6)返回Res。
[0074] 从上述第5步可以看出,我们把盗版程序也当作了恶意程序,即同一个身份的程序不能在源地址不同的两台用户计算机中运行,另外,Verifying模块输出“真”或“假”的值。
[0075] 3.3优点和积极效果
[0076] 3.3.1不可伪造性
[0077] 本发明中,程序身份用私钥调制,用公钥验证,是非对称认证的。由于私钥不公开、且不能从公钥得到(由钥匙变换难题的单向性决定),因此,程序身份在相关难题被破解之前是不可伪造的。
[0078] 3.3.2验证速度快
[0079] 由于Signsys是一个性能较好的数字签名方案,甚至是轻量级数字签名方案,因此,签名速度和验证速度都将很快。
[0080] 3.3.3既防恶意程序又防盗版程序
[0081] 本发明不仅可以防止恶意程序的运行,而且也可以防止盗版程序的运行,并通知用户删除它们。
[0082] 3.3.4程序身份与程序同体
[0083] 程序身份不需要单独的文件保存,而是存放在程序的主名字中,为验证提供了方便。
[0084] 3.3.5可以构建统一验证平台
[0085] 不是每个软件生产企业都需要建立一个程序身份验证平台,而是所有的软件生产企业可以共享一个统一的验证平台,以提高权威性和降低成本。(四)具体实施方式
[0086] 基于非对称身份的恶意程序防控方法的特点是:它采用了非对称身份认证技术,且把程序身份存放于程序的主名字中。
[0087] 该方法使用了两个钥匙,一个钥匙只能企业私自拥有,用于程序身份的调制,一个钥匙可以公开地放在服务器上,用于程序身份的验证。这样,确保了程序身份是不可伪造的。
[0088] 一对私钥与公钥由软件生产企业生成,并把公钥上传到验证平台的验证服务器中,当然,私钥须由企业负责人或其指定代理人保管,绝不可泄密。
[0089] 本方案可以用逻辑电路或计算机语言来实现,它包括四部分:①根据3.2.1节开发出用于私钥与公钥管理的芯片或软件模块,供软件生产企业使用;②根据3.2.2节开发出用于程序身份调制的芯片或软件模块,也供软件生产企业使用;③根据3.2.3节开发出用于动态监视的芯片或软件模块,供程序用户使用;④根据3.2.4节开发出用于程序身份验证的芯片或软件模块,放在验证平台上,供用户计算机使用。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈