签名代码签名

代码签名  时间:2021-04-30  阅读:()
第!
"卷第#期$$$计算机应用与软件%&'(!
",)&*#!
++,年#月$$-&.
/01234//'56715&8978:;&78*!
++,收稿日期:王一平,硕士生,主研领域:计算机网络、信息安全.
!
"#$%&'下代码签名验证的研究与实现王一平$韦$卫(中国科学院研究生院$北京#+++AB)$(中国科学院计算技术研究所$北京#+++C+)摘$要$$简要讨论了在D58:&=9系统下代码签名验证的方法和实现,增加了系统抵御病毒和入侵的能力,从而增强了系统安全性.
提出了一种解决方案,实现了对D58:&=9下可执行文件的签名和验证.
最后描述了可能存在的问题和今后的发展.
关键词$$代码签名$D58:&=9$病毒0123,(1+4)0(5,13)610)7+)+!
)+47!
(D78EF5/58E#$D25D25!
!
012+*(-(34$%(5.
/064+(*4(-,7(+8+*9!
:::;代码签名验证通过对可执行文件的数字签名进行检查校验,发现没有数字签名或者校验失败的非法文件,从而识别出恶意代码和非法程序.
代码签名验证已经成为一种能够有效地防止病毒以及其他恶意代码入侵系统的技术.
但是要在系统中实现代码签名验证,需要对操作系统非常了解,且需要涉及到系统较深的一些内容.
由于D58:&=9的非开发性,对于D58:&=9系统下的代码签名验证现在研究得还非常少,几乎没有什么资料.
当然微软公司实际上在D58:&=9内也设计了一套代码签名验证机制,但是并不实用,在防止非法程序执行这方面几乎无能为力.
对照D58:&=9操作系统,对于源代码开放的P580L操作系统下的代码签名验证机制,较早时间就已经有人在研究,并提出了一些机制和方法,为本文提供了不少有价值的参考.
但是由于操作系统间的差异,在文件格式、系统调用、文件过滤等多方面都完全不一样.
因此两个操作系统在代码签名验证的实现上也大相径庭.
本文将描述一种D58:&=9下代码签名验证机制在内核级别的设计与实现,这种机制能有效防止基于可执行文件的恶意代码的入侵,并同时提供系统较高的稳定性,而且在不影响效率的情况下提供了系统最大的安全性.
BA代码签名验证原理文章采用完全符合QR-;系列标准的签名验证算法,并兼容符合ST+B格式的证书,以M;4公开密钥密码体制为基础来完成对D58:&=9下可执行文件代码的签名验证.
BC@A签A名设被签名的数据为U,其数字摘要为H:2VC(D)其中,C为单向散列函数,如UWT、;X4O#等.
设,E,%为签名者的私有数据,他们都包含在签名者的私钥6F中;*,(为签名者的公开数据,并且都包含在签名者的公钥GF中.
这些数据满足以下要求:*VE其中1E,、E均为大素数;(,%为整数,并且(V%#,(%B#(.
&:!
(*));这里,!
(*)V(#)(E#).
那么,使用签名者私钥对2进行加密即可得到签名值-:-VH(2)V2%.
&:(*)签名是首先计算被签名文件的UWT码(或;X4O#码),该码经过I63私有密钥加密后,形成数字签名,然后再附加到原文件之后,合并为签名后的新文件,过程如图#示.
!
第"期!
!
!
王一平等:#$%&'()下代码签名验证的研究与实现"*+!
!
图"!
数字签名过程示意图!
"!
#验#证设被验证数据为!
",其数字摘要为#":#",$(!
")假设已经取得签名者的真实公钥%&,然后我们使用%&中的公开数据'对(进行解密计算,得到还原的数字摘要#),这里#)就相当于是签名时的#:#),*(+)现在,比较#"和#)是否完全相同.
如果相同则验证通过,否则验证失败.
对于数字签名后的文件,需要对数字签名进行验证时,验证过程如图.
示,首先取出签名者的公开密钥,数值签名经过公开密钥和/01解密算法解密后,恢复出原来的234码.
然后计算文件的234码,再与前者比较,如果相同,则文件属实,否则文件或签名已经过改动.
图.
!
数字签名验证过程示意图$#设计与实现为了便于描述,引入以下几个基本概念:摘要值!
指对可执行文件的所有数据以及签名相关数据计算出来的摘要值.
签名值!
指对文件摘要值加密所得到的签名值.
系统验证级别!
指系统级的验证级别,它适用于系统中所有的可执行文件.
文件验证级别!
指单个可执行文件的验证级别,它只适用于指定的某个可执行文件.
签数据!
是指原始文件大小、签名者公钥标识53、签名算法、签名时间以及签名者、签名值等数据.
$"%#系统架构!
!
如图+,系统主要由三个模块和两个库组成.
其中证书与私钥管理模块负责管理验证和签名可执行文件所需要的公钥证书和签名私钥.
文件签名模块则可以根据用户的需要在安装可执行文件或需要时对可执行文件进行签名,签名后的数据添加在相应的可执行文件中.
文件验证过滤模块在可执行文件启动时完成对可执行文件的签名验证,同时监控在系统执行未签名文件时,提醒用户选择是否允许.
图+!
系统架构图证书与私钥管理模块与文件签名模块可以通过通常的用户进程实现.
文件验证与签名模块可根据在#$%&'()执行程序时调用的三个层次上实现.
其中#$%+.
调用和系统调用层次上的实现主要是通过截获相应层次上的函数调用完成,二者不同之处#$%+.
调用属于应用层调用,而系统调用属于内核调用,因此后者实现难度更大一些.
如生成一个文件,#$%+.
调用的函数为6789:8;$7')':相关的5;0(5%):97')':设计的一种新的文件格式H'7:9@J:9@J:9@节T78节……文件头部CDDDDDDDDDEDDDDDDDDD文件尾部图L!
HI文件的基本结构图L是HI文件结构的总体层次分布.
所有HI文件(甚至+.
位的3QQ))都以一个简单的3M02=U89&87开始,在偏移F处有3M0下可执行文件的"2=标志",有了它,一旦程序在3M0下执行,3M0就能识别出这是有效的执行体,然后运行紧随2=U89&87之后的3M0):J@.
3M0):J@实际上是个有效的IGI,在不支持HI文件格式的操作系统中,它将简单显示一个错误提示,类似于字符串"EU$)V7'W79->9%%':7J%$%3M0-'&8"或者程序员可根据自己的意图实现完整的3M0代码.
紧接着3M0):J@的是HIU89&87.
HIU89&87是HI相关结构521NIODEO!
"#$!
!
!
!
!
计算机应用与软件%&&'年()*+),-的简称,其中包含了许多.
)装载器用到的重要域.
可执行文件在支持.
)文件结构的操作系统中执行时,.
)装载器将从+/-01234536的偏移78(处找到.
)234536的起始偏移量.
因而跳过了+/-9:;:@A9(节).
每节是一块拥有共同属性的数据,比如"B:3C:"节等,.
)格式的文件把具有相同属性的内容放入同一个节中,而"B:3C:"、"B54:4"的命名只是为了便于识别.
可以对.
)格式的文件进行修改,在其中插入一节,并调整此节的属性.
.
)234536接下来的数组结构93>:@A:43-:4A5465(OI-).
@6:4P>4:@AS369@A"B":OI-8@QQ::33,/>:@;:42:36,FKL:;:@64D,FA5@G9核心编程,机械工业出版社,%&&&年E月B[$]FB*B*6;:42B,3R@6:8-=O,=$%ETBMA]369:[@P046[D4A5,U;A3$,%&&"B[E]罗云彬,FA5@G9环境下7%位汇编语言程序设计,电子工业出版社,B[#]/R3A--K>6[R:@W64R2>D9Y>6[R:@Y>6[R:@B2:QDB

3元/首月香港便宜vps究竟是什么货。

便宜的香港vps多少钱?现在国外VPS主机的价格已经很便宜了,美国VPS主机最低一个月只要十几元,但同样免备案的香港VPS价格贵不贵呢?或者说便宜的香港VPS多少钱?香港vps主机价格要比美国机房的贵一些,但比国内的又便宜不少,所以目前情况是同等配置下,美国VPS比香港的便宜,香港VPS比国内(指大陆地区)的便宜。目前,最便宜香港vps低至3元/首月、18元/月起,今天云服务器网(www.yunt...

云步云72.5元/月起云服务器,香港安畅/葵湾/将军澳/沙田/大浦CN2机房,2核2G5M

云步云怎么样?云步云是创建于2021年的品牌,主要从事出售香港vps、美国VPS、日本VPS、香港独立服务器、香港站群服务器等,机房有香港、美国、日本东京等机房,目前在售VPS线路有CN2+BGP、CN2 GIA,香港的线路也是CN2直连大陆,该公司旗下产品均采用KVM虚拟化架构。目前,云步云提供香港安畅、沙田、大浦、葵湾、将军澳、新世界等CN2机房云服务器,2核2G5M仅72.5元/月起。点击进...

Central美国65折优惠,美国达拉斯机房VPS季付赠送双倍内存

Central美国独立日活动正在进行中,旗下美国达拉斯机房VPS 65折优惠,季付赠送双倍内存(需要发工单),Central租用的Hivelocity的机房,只支持信用卡和加密货币付款,不支持paypal,需要美国独服的可以谨慎入手试试。Central怎么样?Central便宜服务器,Central自称成立于2019年,主营美国达拉斯机房Linux vps、Windows vps、专用服务器和托管...

代码签名为你推荐
重庆大学VPN接入使用说明(Windows支持ipad2019支付宝五福支付宝集五福在哪里看到支付宝调整还款日花呗调整还款日算延期吗?的是cuteftp加多宝和王老吉王老吉和加多宝的区别温州商标注册温州注册商标需要注册公司吗泉州商标注册泉州本地商标注册要怎么注册?具体流程是什么?什么是通配符DOS命令具体讲的是什么?网站后台密码破解如何破解网站后台密码
tk域名注册 草根过期域名 息壤备案 美国主机论坛 香港新世界电讯 好看的桌面背景大图 2017年万圣节 租空间 个人空间申请 linux空间 架设服务器 秒杀预告 柚子舍官网 hostloc 169邮箱 nerds 免费申请个人网站 最好的qq空间 七夕快乐英语 外贸空间 更多