CN101520832A - 一种文件代码签名验证***及其方法 - Google Patents
一种文件代码签名验证***及其方法 Download PDFInfo
- Publication number
- CN101520832A CN101520832A CN200810241591A CN200810241591A CN101520832A CN 101520832 A CN101520832 A CN 101520832A CN 200810241591 A CN200810241591 A CN 200810241591A CN 200810241591 A CN200810241591 A CN 200810241591A CN 101520832 A CN101520832 A CN 101520832A
- Authority
- CN
- China
- Prior art keywords
- signature
- module
- file
- digest value
- public
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012795 verification Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000004891 communication Methods 0.000 claims abstract description 8
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 4
- 241000700605 Viruses Species 0.000 abstract description 8
- 238000004364 calculation method Methods 0.000 description 5
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 4
- 230000009545 invasion Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种文件代码签名验证***及其方法,***包括用户签名模块、以及签名验证模块,用户签名模块与签名验证模块通讯连接,其特征在于,签名验证模块包括:验证处理模块、以及公钥处理模块,验证处理模块分别与用户签名模块、以及公钥处理模块通讯连接;验证处理模块,用于控制执行签名值的验证;公钥处理模块,用于控制处理信任公钥。本发明提供的文件代码签名验证的方法,由于采用将完全摘要值与解密完全摘要值进行比对,根据比对结果确定是否执行文件程序的方式,有效地防止病毒程序、以及木马程序的入侵,保证文件程序的绝对安全,同时,提高验证效率、以及操作的灵活性。
Description
技术领域
本发明技术一种验证***及其方法,尤其涉及一种文件代码签名验证***及其方法。
背景技术
随着计算机操作***的不断发展,计算机操作***种类已多样化,但其安全性也受到越来越多的挑战。很多可执行文件格式,都成为病毒及各种恶意代码的攻击目标。如有不少计算机操作***下的病毒程序通过直接修改文件程序来实现入侵的。传统的计算机操作***并不会对执行的代码进行完整性和合法性检测,因而让很多病毒程序以及木马程序有机可乘。
代码签名验证是一种能够有效的防止病毒以及其他恶意代码入侵的方法。对于计算机操作***下的代码签名验证方法,早几年就已经有人提出了在安装时进行签名验证的方法,但这种方法无法检测程序安装后对代码的任何修改,验证效率低,也不够灵活。
因此,现有技术还有待于改进与发展。
发明内容
本发明的目的在于提供一种文件代码签名验证***及其方法,防止病毒程序、以及木马程序的入侵,保证文件程序的绝对安全,同时,提高验证效率、以及操作的灵活性。
本发明的技术方案如下:
一种文件代码签名验证***,其包括用户签名模块、以及签名验证模块,所述用户签名模块与所述签名验证模块通讯连接,其特征在于,所述签名验证模块包括:验证处理模块、以及公钥处理模块,所述验证处理模块分别与所述用户签名模块、以及公钥处理模块通讯连接;
所述验证处理模块,用于控制执行签名值的验证;
所述公钥处理模块,用于控制处理信任公钥。
所述的***,其中,所述验证处理模块设置有已验证文件缓存链表,用于存储已验证文件的验证结果。
所述的***,其中,所述公钥处理模块设置有信任公钥链表,所述信任公钥链表存储有签名相关数据,其包括公钥地址、签名者基本信息、签名者公钥、以及相关标志。
一种文件代码签名验证方法,其步骤如下:
A、根据文件所有数据、以及签名相关数据进行运算,得出完全摘要值,并向公钥处理模块申请签名者公钥;
B、签名者公钥对相应的完全签名值进行解密,得到解密完全摘要值;
C、将所述完全摘要值与所述解密完全摘要值进行比对,完全一致,则验证成功,并允许执行文件程序。
所述的方法,其中,所述步骤A之前还包括步骤:
A1、查询已验证文件缓存链表,判断是否不存在被验证文件,若存在则按照已验证的验证结果执行相应的操作,否则,执行步骤A。
所述的方法,其中,所述步骤C还包括步骤:
C1、将所述摘要值与所述解密摘要值进行比对,不一致,则验证失败,并禁止执行文件程序。
所述的验证方法,其中,所述方法还包括以下步骤:
a、根据文件头数据、以及签名相关数据进行运算,得出不完全摘要值,并向公钥处理模块申请签名者公钥;
b、签名者公钥对相应的不完全签名值进行解密,得到解密不完全摘要值;
c、将所述不完全摘要值与所述解密不完全摘要值进行比对,完全一致,则验证成功,并允许执行文件程序。
所述的方法,其中,所述步骤a之前还包括步骤:
a1、查询已验证文件缓存链表,判断是否不存在被验证文件,若存在则按照已验证的验证结果执行相应的操作,否则,执行步骤a。
所述的方法,其中,所述步骤c还包括步骤:
c1、将所述摘要值与所述解密摘要值进行比对,不一致,则验证失败,并禁止执行文件程序。
本发明的提供一种文件代码签名验证***及其方法,其方法由于采用将完全摘要值与解密完全摘要值进行比对,根据比对结果确定是否执行文件程序的方式,有效地防止病毒程序、以及木马程序的入侵,保证文件程序的绝对安全,同时,提高验证效率、以及操作的灵活性。
附图说明
图1为本发明的代码签名验证***结构图;
图2为本发明代码签名验证方法流程图。
具体实施方式
下面结合附图对本发明的各较佳实施例进行更为详细的描述。
本发明的文件代码签名验证***结构,如图1所示,其包括用户签名模块、以及签名验证模块,所述用户签名模块与所述签名验证模块通讯连接;所述签名验证模块又包括:验证处理模块、以及公钥处理模块,所述验证处理模块分别与所述用户签名模块、以及公钥处理模块通讯连接;
所述用户签名模块本***的辅助模块,主要用于对文件进行签名与设置;
所述验证处理模块,用于控制执行签名值的验证、以及已经验证文件的缓存操作;
所述公钥处理模块设置有信任公钥链表,所述信任公钥链表存储有签名相关数据,其包括:公钥地址、签名者基本信息、签名者公钥、以及相关标志。
其中,公钥地址是对应公钥的MD5哈希值,长度为16个字节。从理论上说,不同公钥地址相同的概率接近于2128分之一,因此可以看着公钥地址和公钥是一一对应的,即公钥地址是每个公钥的唯一标识。
所述公钥处理模块,用于对信任公钥链表进行控制处理,如对信任公钥链表进行初始化,以及获取、添加、删除公钥节点。
所述信任公钥链表,存储着所有被信任者的公钥,当***对代码签名值进行验证时,可以直接从公钥链表中取得相应的公钥;若公钥链表中没有相应的公钥,表示该代码签名者不被信任,则验证失败,禁止执行程序;***中的被信任公钥是可配置的,***启动时,根据配置文件初始化核心公钥链表,并且可以随时对其刷新或修改。
本发明的***及其方法涉及以下几个基本概念:完全摘要值,指对文件的所有数据以及签名相关数据计算出来的摘要值;不完全摘要值,指对文件部分重要数据,主要为文件头数据,以及签名相关数据计算出来的摘要值;完全签名值,指对完全摘要值加密所得到的签名值;不完全签名值,指对不完全摘要值加密所得到的签名值;***验证级别,指***级的验证级别,适用于***中所有的文件;文件验证级别,指单个文件的验证级别,适用于指定的某个文件;签名相关数据是指原始文件大小、签名者公钥标识ID、签名算法、签名时间以及签名者基本信息等数据。
本发明的文件代码签名验证方法主要步骤为:首先,采用一种运算方法计算出两种摘要值,即不完全摘要值、以及完全摘要值;然后再使用签名者公钥对其进行加密处理得到两种签名值,即不完全签名值、以及完全签名;最后将不完全签名值、以及完全签名值进行组合,并放置在被签名文件末尾。
本发明的代码签名验证包括两种验证级别:***验证级别、以及文件验证级别,其中所述***验证级别分为四个级别,分别由0-3表示,由PROC目录文件***控制,同时也可以根据需要进行设置;所述文件验证级别是单个文件设置的,保存在每个文件索引节点标志中,可以根据需要进行设置,其分为三个级别,分别由0-2表示。
本发明的代码签名验证方法,如图2所示,其步骤如下:
S1、用户签名处理模块向签名验证模块发送执行文件请求命令;
S2、***根据所述请求命令判断确定***验证级别;当***验证级别为“1”或“2”时,则执行步骤S3,当统验证级别为“0”时,则***允许执行程序,当***验证级别为“3”时,则执行步骤S420;
S3、判断确定被执行文件的文件验证级别;当文件验证级别为“1”则执行步骤S410,若文件级别为“2”,则执行步骤S420,若文件验证级别为“0”,则执行步骤S415;
S410、根据所述文件的所有数据、以及签名相关数据计算出不完全摘要值;
其计算方法有多种,都为现有技术,在此不再赘述;
S411、***查询已验证文件缓存链表中是否有被验证文件,若有则采用已验证的验证结果,否则执行步骤S412;
S412、***向公钥处理模块申请签名者公钥;
S413、将签名者公钥对相应不完全签名值进行解密,得到对应解密不完全摘要值;
S414、将所述不完全摘要值与解密不完全摘要值进行对比,若完全一致则验证通过,执行步骤S415;否则,验证失败,禁止执行文件程序;
S415、***允许执行文件程序。
S420、根据所述文件的所有数据、以及签名相关数据计算出完全摘要值;
S421、***查询已验证文件缓存链表中是否有被验证文件,若有则采用已验证的验证结果,否则执行步骤S422;
S422、***向公钥处理模块申请签名者公钥;
S423、将签名者公钥对相应的完全签名值,得到对应的解密完全摘要值;
S424、将所述完全摘要值与所述解密完全摘要值进行对比,若完全一致则验证通过,执行步骤S425;否则,验证失败,禁止执行文件程序;
S425、***允许执行文件程序。
本发明为了保证已验证文件缓存链表和实际文件的一致性,需要监控文件的修改状态,若某一文件被修改,则立即清除已验证文件缓存链表中与该文件相关的验证结果。
本发明的文件代码签名验证其方法,由于采用将完全摘要值与解密完全摘要值进行比对,以及将不完全摘要值与解密不完全摘要值进行比对,根据比对结果确定是否执行文件程序的方式,有效地防止病毒程序、以及木马程序在执行文件程序的入侵,保证文件程序执行的绝对安全,同时,提高文件代码签名验证的效率,也提高了***操作的灵活性。
应当理解的是,上述具体实施例的描述较为详细,不能因此而理解为对本发明专利保护范围的限制,本发明专利保护范围应以所附权利要求为准。
Claims (9)
1、一种文件代码签名验证***,其包括用户签名模块、以及签名验证模块,所述用户签名模块与所述签名验证模块通讯连接,其特征在于,所述签名验证模块包括:验证处理模块、以及公钥处理模块,所述验证处理模块分别与所述用户签名模块、以及公钥处理模块通讯连接;
所述验证处理模块,用于控制执行签名值的验证;
所述公钥处理模块,用于控制处理信任公钥。
2、根据权利要求1所述的***,其特征在于,所述验证处理模块设置有已验证文件缓存链表,用于存储已验证文件的验证结果。
3、根据权利要求2所述的***,其特征在于,所述公钥处理模块设置有信任公钥链表,所述信任公钥链表存储有签名相关数据,其包括公钥地址、签名者基本信息、签名者公钥、以及相关标志。
4、一种文件代码签名验证方法,其步骤如下:
A、根据文件所有数据、以及签名相关数据进行运算,得出完全摘要值,并向公钥处理模块申请签名者公钥;
B、签名者公钥对相应的完全签名值进行解密,得到解密完全摘要值;
C、将所述完全摘要值与所述解密完全摘要值进行比对,完全一致,则验证成功,并允许执行文件程序。
5、根据权利要求4所述的方法,其特征在于,所述步骤A之前还包括步骤:
A1、查询已验证文件缓存链表,判断是否不存在被验证文件,若存在则按照已验证的验证结果执行相应的操作,否则,执行步骤A。
6、根据权利要求5所述的方法,其特征在于,所述步骤C还包括步骤:
C1、将所述摘要值与所述解密摘要值进行比对,不一致,则验证失败,并禁止执行文件程序。
7、根据权利要求4所述的验证方法,其特征在于,所述方法还包括以下步骤:
a、根据文件头数据、以及签名相关数据进行运算,得出不完全摘要值,并向公钥处理模块申请签名者公钥;
b、签名者公钥对相应的不完全签名值进行解密,得到解密不完全摘要值;
c、将所述不完全摘要值与所述解密不完全摘要值进行比对,完全一致,则验证成功,并允许执行文件程序。
8、根据权利要求7所述的方法,其特征在于,所述步骤a之前还包括步骤:
a1、查询已验证文件缓存链表,判断是否不存在被验证文件,若存在则按照已验证的验证结果执行相应的操作,否则,执行步骤a。
9、根据权利要求8所述的方法,其特征在于,所述步骤c还包括步骤:
c1、将所述摘要值与所述解密摘要值进行比对,不一致,则验证失败,并禁止执行文件程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810241591A CN101520832A (zh) | 2008-12-22 | 2008-12-22 | 一种文件代码签名验证***及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810241591A CN101520832A (zh) | 2008-12-22 | 2008-12-22 | 一种文件代码签名验证***及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101520832A true CN101520832A (zh) | 2009-09-02 |
Family
ID=41081418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810241591A Pending CN101520832A (zh) | 2008-12-22 | 2008-12-22 | 一种文件代码签名验证***及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101520832A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004879A (zh) * | 2010-11-22 | 2011-04-06 | 北京北信源软件股份有限公司 | 一种识别可信任进程的方法 |
CN102110204A (zh) * | 2009-12-23 | 2011-06-29 | 英群企业股份有限公司 | 用以检验一计算装置的一可执行文件的可移除装置及方法 |
CN101739525B (zh) * | 2009-11-30 | 2012-02-22 | 飞天诚信科技股份有限公司 | 安全校验的方法、编译装置、可运行.net程 序的装置和*** |
CN103632093A (zh) * | 2013-09-17 | 2014-03-12 | 中国人民解放军61599部队计算所 | 木马检测方法 |
CN104092544A (zh) * | 2014-06-26 | 2014-10-08 | 工业和信息化部计算机与微电子发展研究中心(中国软件评测中心) | 兼容安卓应用的服务签名方法与装置 |
CN104283860A (zh) * | 2013-07-10 | 2015-01-14 | 全联斯泰克科技有限公司 | 一种基于代码签名的elf文件鉴别方法和装置 |
CN104978521A (zh) * | 2014-04-10 | 2015-10-14 | 北京启明星辰信息安全技术有限公司 | 一种实现恶意代码标注的方法及*** |
CN104978522A (zh) * | 2014-04-10 | 2015-10-14 | 北京启明星辰信息安全技术有限公司 | 一种检测恶意代码的方法和装置 |
CN103632093B (zh) * | 2013-09-17 | 2016-11-30 | 中国人民解放军61599部队计算所 | 木马检测方法 |
CN107135074A (zh) * | 2016-02-29 | 2017-09-05 | 中兴通讯股份有限公司 | 一种高级安全方法和装置 |
CN110581833A (zh) * | 2018-06-11 | 2019-12-17 | 中移(杭州)信息技术有限公司 | 一种业务安全保护方法及装置 |
CN110750763A (zh) * | 2019-10-22 | 2020-02-04 | 北京联合信任技术服务有限公司 | 代码签名的方法、设备、存储介质和程序产品 |
CN111177784A (zh) * | 2019-12-31 | 2020-05-19 | 上海摩勤智能技术有限公司 | 一种文件***的安全保护方法、装置及存储介质 |
CN111291371A (zh) * | 2020-01-10 | 2020-06-16 | 北京深之度科技有限公司 | 一种应用程序安全验证方法及装置 |
CN111866554A (zh) * | 2020-07-09 | 2020-10-30 | 郑州信大捷安信息技术股份有限公司 | 多媒体安全播放方法和*** |
CN113031626A (zh) * | 2020-05-15 | 2021-06-25 | 东风柳州汽车有限公司 | 基于自动驾驶的安全认证方法、装置、设备及存储介质 |
-
2008
- 2008-12-22 CN CN200810241591A patent/CN101520832A/zh active Pending
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739525B (zh) * | 2009-11-30 | 2012-02-22 | 飞天诚信科技股份有限公司 | 安全校验的方法、编译装置、可运行.net程 序的装置和*** |
CN102110204A (zh) * | 2009-12-23 | 2011-06-29 | 英群企业股份有限公司 | 用以检验一计算装置的一可执行文件的可移除装置及方法 |
CN102004879A (zh) * | 2010-11-22 | 2011-04-06 | 北京北信源软件股份有限公司 | 一种识别可信任进程的方法 |
CN102004879B (zh) * | 2010-11-22 | 2012-12-26 | 北京北信源软件股份有限公司 | 一种识别可信任进程的方法 |
CN104283860A (zh) * | 2013-07-10 | 2015-01-14 | 全联斯泰克科技有限公司 | 一种基于代码签名的elf文件鉴别方法和装置 |
CN103632093B (zh) * | 2013-09-17 | 2016-11-30 | 中国人民解放军61599部队计算所 | 木马检测方法 |
CN103632093A (zh) * | 2013-09-17 | 2014-03-12 | 中国人民解放军61599部队计算所 | 木马检测方法 |
CN104978521B (zh) * | 2014-04-10 | 2018-05-08 | 北京启明星辰信息安全技术有限公司 | 一种实现恶意代码标注的方法及*** |
CN104978521A (zh) * | 2014-04-10 | 2015-10-14 | 北京启明星辰信息安全技术有限公司 | 一种实现恶意代码标注的方法及*** |
CN104978522A (zh) * | 2014-04-10 | 2015-10-14 | 北京启明星辰信息安全技术有限公司 | 一种检测恶意代码的方法和装置 |
CN104978522B (zh) * | 2014-04-10 | 2018-05-08 | 北京启明星辰信息安全技术有限公司 | 一种检测恶意代码的方法和装置 |
CN104092544A (zh) * | 2014-06-26 | 2014-10-08 | 工业和信息化部计算机与微电子发展研究中心(中国软件评测中心) | 兼容安卓应用的服务签名方法与装置 |
CN104092544B (zh) * | 2014-06-26 | 2017-11-17 | 工业和信息化部计算机与微电子发展研究中心(中国软件评测中心) | 兼容安卓应用的服务签名方法与装置 |
CN107135074A (zh) * | 2016-02-29 | 2017-09-05 | 中兴通讯股份有限公司 | 一种高级安全方法和装置 |
CN107135074B (zh) * | 2016-02-29 | 2021-11-02 | 中兴通讯股份有限公司 | 一种高级安全方法和装置 |
CN110581833A (zh) * | 2018-06-11 | 2019-12-17 | 中移(杭州)信息技术有限公司 | 一种业务安全保护方法及装置 |
CN110750763A (zh) * | 2019-10-22 | 2020-02-04 | 北京联合信任技术服务有限公司 | 代码签名的方法、设备、存储介质和程序产品 |
CN111177784A (zh) * | 2019-12-31 | 2020-05-19 | 上海摩勤智能技术有限公司 | 一种文件***的安全保护方法、装置及存储介质 |
CN111291371A (zh) * | 2020-01-10 | 2020-06-16 | 北京深之度科技有限公司 | 一种应用程序安全验证方法及装置 |
CN113031626A (zh) * | 2020-05-15 | 2021-06-25 | 东风柳州汽车有限公司 | 基于自动驾驶的安全认证方法、装置、设备及存储介质 |
CN111866554A (zh) * | 2020-07-09 | 2020-10-30 | 郑州信大捷安信息技术股份有限公司 | 多媒体安全播放方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101520832A (zh) | 一种文件代码签名验证***及其方法 | |
EP1618451B1 (en) | Associating software with hardware using cryptography | |
US11469885B2 (en) | Remote grant of access to locked data storage device | |
CN103460195B (zh) | 用于安全软件更新的***和方法 | |
KR100792287B1 (ko) | 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치 | |
JP5703391B2 (ja) | 耐タンパー性ブート処理のためのシステム及び方法 | |
JP4664398B2 (ja) | インクリメンタルなコード署名の方法及び装置 | |
CN102084313B (zh) | 用于数据安全的***和方法 | |
KR20060108710A (ko) | 신뢰성 있는 이동 플랫폼 구조 | |
CN109388961B (zh) | 存储设备的安全控制方法及存储设备 | |
US20120096280A1 (en) | Secured storage device with two-stage symmetric-key algorithm | |
CN102456111A (zh) | 一种Linux操作***许可控制的方法及*** | |
US20210218557A1 (en) | Initializing a data storage device with a manager device | |
CN108270574B (zh) | 一种白名单库文件的安全加载方法及装置 | |
US20220014918A1 (en) | Wireless security protocol | |
US11366933B2 (en) | Multi-device unlocking of a data storage device | |
US11334677B2 (en) | Multi-role unlocking of a data storage device | |
WO2021141619A1 (en) | Recovery key for unlocking a data storage device | |
US8667278B2 (en) | Information processing apparatus and data transmission method of information processing apparatus | |
CN113545021B (zh) | 预先授权设备的注册 | |
KR20200020626A (ko) | 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법 | |
CN113316915B (zh) | 解锁数据存储设备 | |
US8499357B1 (en) | Signing a library file to verify a callback function | |
CN109889334A (zh) | 嵌入式固件加密方法、装置、wifi设备及存储介质 | |
CN112613033A (zh) | 一种可执行文件安全调用的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090902 |