Windows中PKI客户端如何实现“真”的基础设施.docVIP

Windows中PKI客户端如何实现“真”的基础设施.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows中PKI客户端如何实现“真”的基础设施中图分类号:TV348 文献标识码:A 文章编号:1009-914X(2015)04-0065-011. 引言[1]PKI是公开密钥基础设施(Pub-lic Key lnfrastructure)的缩写。它是一个用公钥概念与技术来实施和提供安全服务的具有普适性的安全基础设施。基础设施是一种无所不在的底层结构,解决某一问题,为大范围的应用提供一系列的服务。电子通信基础设施和电子供应基础设施就是我们熟悉的例子。作为前者,局域网允许不同的机器之间为不同的目的交换数据;作为后者,电源插座可以让各种电力设备获得运行所需要的电压和电流。他们的最终原理是相同的;基础设施的目的就是:只要遵循需要的原则,不同的实体就可以方便地使用基础设施提供的服务。用于安全的基础设施也必须遵循同样的原理。[1]安全基础设施就是为整个组织提供安全的基本框架,可以被组织中任何需要安全的应用和对象使用。安全基础设施的“接入点”必须是统一的,便于使用。可见,如何实现PKI“真”的基础设施的概念是PKI客户端最关键的内容。目前大多数所谓实现了PKI客户端功能的软件都被加入到一些应用程序中。但是这样的结构违反了PKI作为一个“真”的基础设施的概念,无法保证所有应用程序和平台提供风格一致的安全服务。所以,客户端软件应当独立于所有的应用程序之外,应用程序通过标准接入点与客户端软件相连,应用程序使用基础设施,但并不是基础设施的一部分。本文就PKI客户端在Windows中实现“真”的基础设施的方法进行了探讨,并给出了一种具体的实现示例。2. PKI客户端软件系统“真”的基础设施的实现思路。设计PKI客户端软件系统必须尽量满足两方面的要求:第一,对于操作系统而言,概念上简单,对操作系统内核影响最小,高效。第二,对于各种安全模块而言,能够允许他们以可加载模块的形式实现安全功能,并且不会带来额外的系统开销。为了满足这个设计目标,笔者采用通过在内核中放置Hook。Hook的本质是一段用以处理系统消息的程序,通过系统调用,将其挂入到系统。Hook机制允许程序截获并处理发往指定窗口的消息或特定事件,在特定的消息发出,并到达目的窗口之前,Hook程序先行截获此消息并得到对其的控制权)的方法,来对内部对象提供PKI安全服务。其过程为:用户进程执行系统调用,首先遵循操作系统内核原有的逻辑找到并分配资源,进行错误检查,,并经过传统的自主访问检查,在操作系统内核试图对内部对象进行下一步操作之前,PKI客户端的Hook调用具体的安全模块来使内部对象满足认证要求、完整性;机密性、公正和不可否认性。这样,PKI客户端利用安全模块的载人机制和模块栈技术,使实现具体安全策略的软件系统与PKI客户端的框架相接,这就可以使用多个安全模块并且保持了PKI客户端接口的单一性。[1]由于PKI是一个安全基础设施,它必须达到一个全面的安全性。所以,经过系统分析,PKI客户端应该提供的Hook有:任务Hook、程序装载Hook、进程通信Hook;文件系统Hook、网络Hook等。PKI客户端可以使用任务Hook管理进程的安全信息并且控制进程的操作;它可利用程序装载Hook来实现用户装载程序的特权管理;它可以利用文件Hook来对于文件操作加入安全性;它可以使用进程间通信Hook来对系统的进程通信进行管理;它可以利用网络Hook提供PKI在网络通信方面的安全接入点。PKI客户端就可以使用这些Hook来实现全面的安全性。由于篇幅所限,在此不对使用这些Hook的必要性和实现方法进行详述。3.PKI客户端“真”的基础设施的部分实现方案。PKI客户端“真”基础设施实现起来较复杂,因篇幅所限;在此不能对其进行全方位的分析。因为确保网络通信安全是PKI应用的一个重要方面,所以我们选取对网络缓冲区的访问为切入点来进行讨论。基于2所述的思路,我们需要构造一个PKI网络Hook,来实现PKI客户端软件系统在网络通信方面的接人。首先我们应确定在网络通信的哪一环构造网络Hook,并且如何构造网络Hook。在Windows系统中进行编程时,总是需要使用系统提供的大量应用程序接口来调用系统功能或者与系统进行交互,在Windows系统中包含着专门针对网络编程的接口-Winsock APl。Winsock APl在Windows系统中为网络开发提供了一个协议无关的接口,它包含了一组网络I/O和获取网络信息的库函数,网络应用程序通过调用这部分函数实现自己的功能。Winsock API库函数都包含在Winsock.dll中,在系统中作为网络程序与TCP/IP的中间连接存在。当应用程序用TCP/UDP传送数据时,数据被送人协议栈中,然后逐个通过每一层直到被当做二串比特流送人网络。其中每一层对收到的数据都要增加一些

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档