咨询热线:0510 - 8229 3900 | |||||||
保密技术 | 保密技术 | 首页 > 保密技术 >实时加解密技术在Windows系统中的实现 | |||||||||||||||||
|
实时加解密技术在Windows平台上的实现 在Windows操作系统中,代码的运行级别被分为两个特权级RING0和RING3,通常我们把RING3称为用户层,RING0称为内核层。应用程序运行于用户层,操作系统提供应用程序接口(API)支持各种应用程序的运行。用户层与内核层数据是隔离的,用户层不能直接访问内核层的数据,操作系统通过功能调用实现用户层和内核层代码的切换。90%以上的应用程序是不关心这种代码切换机制的,因为一般应用程序只调用API,从用户层到内核层的代码切换是提供API的操作系统组件完成的。日常使用的应用软件如Office办公、CAD设计、工程计算、企业ERP、Internet浏览/电子邮件等都运行于操作系统的用户层。用户层提供了丰富的人机界面和逻辑功能,但用户层实际上是不和任何计算机硬件打交道的,所有应用软件逻辑功能的实现最终必须在计算机硬件动作上体现,操作系统在内核层把所有用户层的逻辑功能转换成内核层的硬件动作,这通过各种硬件驱动实现。存储器也是一种硬件设备,为了管理存储器上存储的数据,操作系统在存储器物理驱动之上设计了文件系统,这通过文件系统驱动实现,操作系统中的所有的文件输入输出请求最终都会经过文件系统驱动进入实际的物理存储器。 1. 通用性 API拦截方式只能对调用API的用户层应用程序有效,如果一个应用程序不是以调用一般文件操作API的方式存取文件(如以VMM的内存映射方式直接读取或修改文件),API拦截方式就无效了。Windows操作系统中最经典的记事本(NotePad)程序就是以内存映射方式存取文件的,经常看到一些保密系统可以支持大型软件的文件格式,却不能支持最简单的TXT文本文件。这是因为API拦截方式从原理无法支持内存映射方式存取文件。因此API拦截方式只能适用于测试通过的已知软件。 2. 规范性 API拦截方式是一种编程技巧,却不是公开的编程规范。由于没有规范,当系统中有两个以上采用这种技术的软件存在时常会发生冲突造成应用程序崩溃。而文件系统驱动和存储驱动都可以使用标准的操作系统过滤驱动方案,多个采用相同技术的软件并存时也能协同工作。 3. 性能 API拦截方式处于操作系统的用户层,操作系统在这一层更多地考虑到应用程序调用的方便性,与驱动层的实际功能并没有一对一的关系,实际上用户层的API接口数量远大于驱动层的功能数量。操作系统一般在文件系统驱动中对来自用户层的请求重新优化整合,以减少实际的物理存取。操作系统的文件系统缓存技术就是这一优化技术的体现。在缓存技术的作用下,大部分用户层的文件操作并没有产生真正的物理存储器动作。如果以API拦截方式实现实时加解密,因为用户层无法确定一次文件存取是否会实际产生存储器动作,就不得不对所有文件输入输出数据请求进行加解密处理。而文件系统驱动层可以仅处理那些产生存储器实际输入输出的请求。可见支持同样的文件实时加解密驱动方式执行的加解密动作次数比API拦截方式要少得多,从而具有更高的性能。
4. 实现难度 API拦截虽然不是规范的编程方式,担这项技术早在16位Windows时代就已经成功应用于商业化软件产品,早期的电子词典软件就是使用这项技术实现抓屏。因此API拦截技术的实现并不难。
关联文档
|
||||||||||||||||||
关于我们|联系方式|资质认证|站点地图|职位招聘|建议与投诉 | ||
地址:江苏省无锡市梁溪区锡澄路260-1号圆融发展中心17F 邮编:214031 总机:(0510)82293900 传真:(0510)82702019 | ||
版权所有 © 2003-2024 无锡万华数据科技有限公司 | ||
苏ICP备05009260号 | ||
苏公网安备 32021302000919号 | ||