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

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:caidingfu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  中图分类号:TV348 文献标识码:A 文章编号:1009-914X(2015)04-0065-01
  1. 引言
  [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传送数据时,数据被送人协议栈中,然后逐个通过每一层直到被当做二串比特流送人网络。其中每一层对收
  到的数据都要增加一些首部信息。其实真正需要安全服务的是应用程序传来的用户数据;有四种方式获取用户数据,其一,截取以太网帧;其二,截取IP数据报;其三,、截取TCP段/UDP数据报;其四,直接截取用户数据。如果采用前三种办法,都需要对数据报或帧进行分解,比较烦琐,故采用第四种办法。而应用程序使用网络的时候,都是通过调用Winsock.dll来进行网络通信。也就是说,当应用程序要发送用户数据时,应用程序就调用Winsock.dll中的APl函数,将用户数据提交内核空间,然后内核再将用户数据发送出去。如果在应用程序层截取数据,我们就必须了解该应用程序的源程序,然后开发出相应的插件来截取用户数据。但是应用软件的数量很多,而且大多数不公开源程序,即便我们能接触到源程序,对每一个应用程序都要写相应的插件,这也不现实,所以不采用这种方法。如果直接从内核空间读取用户数据就能避免上述问题;但由于安全性方面的考虑,操作系统内核的内核空间一般不能被用户访问,这种方法仍然不可行。如果我们在用户数据从用户空间发往内核空间时截获用户数据,也就是说;在用户数据从用户空间发往内核空间时会激发特定的消息,我们使用Windows提供的Hook先行截获此消息并得到对其的控制权,从而截获用户数据,这种方法对内核没有影响,而且也不需要开发多个插件,故2所述的网络Hook应该在此实现。下面我们将要探讨如何构造该网络Hook。
  构造PKI客户端网络Hook的过程为:当操作系统中有某一个应用程序发送数据包时,提交到内核之前,PKI客户端截获此消息,对其引用的网络缓冲包中的数据进行PKI安全服务,再进行原来的下一步操作,由系统的TCP/IP协议栈将其修改过的数据包发送到网络上;—在系统内核接收到数据包后,也就是说经过系统的TCP/IP协议栈解析得到的用户数据之后;提交到应用程序之前,PKI客户端Hook截获此消息+对其引用的网络缓冲包中的数据进行PKI安全服务,再进行下一步操作,即将其修改过的数据包发送到相应的应用程序中。
  上述实现方法能够保证数目不受限制的应用程序、设备和服务器无缝地协调工作,安全地传输、检索数据,安全地访问服务器等等。它可以被网络中的任何需要安全的应用的对象使用,实现了“真”的基础设施的定义。这只是PKI安全基础设施的一方面,在其他方面,我们可以使用其他PKI Hook来实现安全基础设施在其他方面的接入,来达到全面的PKI“真”基础设施的定义。
  4. 小结。本文提出的实现方案,实现了严格意义上的PKI“真”的基础设施的定义,PKI实现“真”基础设施网络方面目前已基本完成。笔者相信,真正实现PKI“真”的基础设施的产品将会有着非常广阔的应用前景。
  参考文献
  [1] [美]Carlisle Adams Steve Lloyd,《公开密钥基础设施——概念、标准和实施》[M),北京,人民邮电出版社,2002.
其他文献
[摘 要]建筑电气设计中的节能技术的应用,是建筑电气设计行业必然的选择,因为传统的设计过于看重用户对电气自身的需求,而没有考虑到节能的问题,所以导致大量的能源被消耗,这对我国整体的建设非常不利,因此国家部门、地方政府以及设计人员都应该注重这一问题,尽可能在建筑电气设计中应用更多的节能技术。本文首先介绍了建筑电气设计中应用节能技术的现状以及重要的意义;其次,概述了其应该遵循的原则;最后,探讨了具体的
期刊
[摘 要]技术与信息化进程和网络化进程同步发展,截止到现阶段已经实现了把地理数据的各种信息转变成为地理知识。尽管,在实现地理信息资源网络服务技术的进一步发展还有很大困难需要克服,但是我们基本上已经运用相关的科学技术对难题进行了分析和界定。在众多的问题当中急需解决的是如何将地理信息资源进行抽象化处理和如何对地理信息资源进行管理,如何制定地理信息资源的服务标准,怎样对地理信息知识进行呈现等等。接下来的
期刊
[摘 要]设备是制药过程中必不可少的一部分,GMP功能就是指在药品生产的过程中一种十分重要也较为常用的一种控制和管理的功能,这种功能对药品生产的质量有着很重要的影响意义,本文主要分析了制药设备GMP功能,以供参考和借鉴。  [关键词]GMP制药设备;功能设计结构  中图分类号:TV998 文献标识码:A 文章编号:1009-914X(2015)04-0052-01  GMP的中文翻译是药品生产质量
期刊
[摘 要]电网的运行管理方式,是整体电网运行安全、经济的决定性因素。随着我国经济的迅猛发展,电网的建设运营也出现逐步扩大的趋势。这就需要对电网的运行给予科学的管理,以保证电网的整体可靠运行。本文主要介绍了电网运行方式的改善,以期实现提高电网运行质量和效益的目标。  [关键词]电网 运行方式 措施  中图分类号:TV646 文献标识码:A 文章编号:1009-914X(2015)04-0055-01
期刊
[摘 要]药物的生产过程的质量控制依据为药品生产质量管理规范(GMP),严格按照规范中的条例和规定对药物的生产进行有效监督,能够保障制药的质量。目前,人们对药品的安全性逐渐开始重视,为了满足人们的用药安全需求,医药领域开始重视对制药机械功能的控制,并对功能控制技术进行有效的分析,以保障药品的安全。本文就基于制药机械功能控制技术的分析进行了简要的探讨,仅供参考。  [关键词]制药机械设备;功能;控制
期刊
[摘 要]本文主要针对电力行业的高压电网继电保护装置进行分析探讨,文章主要分为四个部分。首先介绍继电保护性能应该具备的工作能力,然后分析了继电装置在大中小型企业中的应用现状,并指出了现阶段电力行业中关于继电保护方面存在的问题,最后提出了相应的对策并综述全文。下文所述,仅供交流参考。  [关键词]高压电网;继电保护;运行;研究  中图分类号:TV536 文献标识码:A 文章编号:1009-914X(
期刊
[摘 要]在框剪结构计算中,地下室是否参与计算对于上部结构自振周期、水平荷载下的侧向位移及地震力分配有很大影响。由于层数、高度和质量的增大,周期延长,地上部分受到的地震力可能降低,偏于不安全。对于二级抗震设计的框架柱和剪力墙,应对地上1层予以加强,内力要放大,配筋要增多而将地下室一并计算,加强层转到地下室,地上1层反而得不到加强。为了保证整体计算的正确性,本设计采用两步法计算。第一步取结构±0.0
期刊
[摘 要]我国电气自动化控制设备在科学技术的发展下,在原有的基础上有了很大的提高。同时,电气自动化控制设备的发展也为我国经济的发展、社会的进步作出了巨大的贡献。但是在电气自动化控制设备的实际应用中,其可靠性是我们不得不考虑的一个重点问题。因此,对于电气自动化控制设备可靠性的研究具有十分重要的意义。本文主要分析了电气自动化控制设备的现状,阐述了提高电气自动化设备可靠性的意义,并对提高电气自动化控制设
期刊
[摘 要]介绍一种基于单片机的减速器磨损故障的在线监测系统,利用电导法实时在线监测起重机减速器润滑油中的磨屑状态,来判断齿轮到的磨损故障状态及其发展趋势,同时进行数据传输、超限报警和离线分析等处理。  [关键词]起重机 磨损故障 监测 电导法 系统  中图分类号:TV739 文献标识码:A 文章编号:1009-914X(2015)04-0061-01  起重机在工厂及建筑工地小起着重要的作用,因而
期刊
中图分类号:TV738 文献标识码:A 文章编号:1009-914X(2015)04-0054-01  综述  本设计方案适用于哈尔滨轨道交通1号线工程的低压照明箱、动力箱,针对该项目工程的概况,工程范围、环境条件、现场条件、以及招标文件中《用户需求书》提出的所有要求而进行的; 本设计方案根据招标书的要求和哈尔滨轨道交通1号线工程项目的特点, 制定了适合本项目最优化和严谨的技术方案。  概述  本
期刊