通用数据安全体系

作者:    更新时间:2008-1-30 10:34:39
一、背景
 
      近年来,黑客攻击事件上升幅度增加,网络犯罪事件不断增多,计算机攻击手段更加多样化。从来源角度看,对计算机系统和数据以及通信的攻击大概分为以下三类:
 

(1) 来自于计算机系统外部的威胁,攻击者突破通信访问控制限制,但仍在通信协议基础上操作,常见的黑客攻击就属于这一类。针对这类攻击,通过编制相应的访问控制协议和安全隔离机制就能进行很好的预防,不需要过多地采用各种安全设备或系统。

(2) 攻击来自系统所在的平台,攻击者利用各种途径将恶意代码安置在本地的平台或操作系统上,该类攻击发生在通信边界内,但由于使用了操作系统和BIOS的接口,所以仍受到一定的限制。这些恶意软件的植入和发作,用户有时能察觉到,有时察觉不到,病毒就属于这一类的攻击。

(3) 攻击者完全控制了计算机,并可能替换硬件或系统软件,还能对各种通信协议进行截取、分析。对于这种攻击,在计算机系统上是很难预防的,不过可以通过利用各种技术手段设置足够的障碍,使攻击者的“回报/投入”值很低,以拖延攻击者的破坏速度,打击他的积极性。进行此类攻击可能所需的“投入”包括:软件分析工具、硬件分析工具、技术水平等。

 
      信息安全分为通信安全和数据安全,通信安全技术和产品目前已相当成熟,相关的标准也有很多,但数据安全的发展相对还不能满足用户的需要。以上三类攻击的后两种都是数据安全急需解决的问题。针对这种情况,Intel体系结构实验室(Intel Architecture Labs——IAL)提出了一项工作计划,并得到了Apple、Entrust、Hewlett-Packard、IBM、Motorola、Netscape、Sun、Trusted Information Systems,以及PKI Task Group许多成员组织的参与和大力支持。该计划的目标是设计一个通用数据安全体系(Common Data Security Architecture ——CDSA),并通过它为不同的用户提供多平台、多层次、多密级的信息安全服务。本文对CDSA的设计原则、体系结构以及它的互操作性进行了综合分析和介绍。
 
 
二、设计原则
 
      CDSA的设计应遵循以下四个原则:
 

(1)分层设计:CDSA有多个横向的层次组成,每个层次都为上层提供服务,并接受下层的服务,这种实现方法保证了它的移植性、适应性和模块化程度。

(2)模块化可扩展性:CDSA的每个层次都是由相互分离的、可选的模块组成,灵活的结构框架允许随需插入新的模块和服务,并支持与商用模块的集成。

(3)注重细节的管理:CDSA能够管理安全细节,因此各应用程序不需关心与安全有关的琐碎事务。为便于开发者的使用,CDSA对各种安全服务进行了逻辑分类。

(4)囊括最先进的技术:CDSA集成了数据安全领域内的先进技术,最基本的是便携式数字令牌(Token)和数字证书,这也是本体系的两个基础构成模块。

 
 
三、体系结构
 
      CDSA是一个开放的、可扩展的体系,各应用程序可自由选择、动态访问体系中的服务。如图1所示,CDSA有三个基本的层次:系统安全服务层、通用安全服务管理器(CSSM)层、安全模块层(密码服务、信任策略、证书库、数据存储库、授权计算等模块)。
 

      CDSA的目标是成为一个先进的、跨平台的安全体系,横向广阔、纵向健壮。横向的广阔性通过可扩展的设计来实现,能够纳入新的安全服务及相应的服务访问编程接口。纵向的健壮性通过定义支持不同安全应用需求的层次来实现。CSSM是CDSA的核心,它负责对各种安全服务进行管理,同时管理着这些服务的实现模块。CSSM定义了访问安全服务的应用编程接口,为安全服务模块规定了服务提供接口(SPI),动态地为应用扩展所需的安全服务,控制着可信计算基的核心,监视着动态环境的完整性。

应用程序通过CSSM安全API、系统安全服务或在CSSM API基础上实现的工具来获取某项服务,所请求的服务由相应的插件式安全模块执行。CDSA中定义了以下五种基本的服务:

 

(1)密码服务;

(2)信任策略服务;

(3)证书库服务;

(4)数据存储库服务;

(5)授权服务。

 
      随着技术的发展,可能需要增加新的安全服务及相应的管理模块,CSSM支持服务和模块的动态扩展,从而保证了CDSA的安全效能。
 
      CSSM层以下的是插件式安全模块,执行密码处理和操作认证等任务。这些模块可以是由商业厂商提供的相互独立的软件或硬件。应用程序通过CSSM将它们的请求提交给相应的服务模块,新模块的加入将扩展安全服务的功能范围。
 
      CDSA可扩展的体系结构使其在具有很强灵活性的同时,也能实现合理的分工,如在系统安全服务层和安全插件模块层可以加入签名服务和密钥管理服务。各生产厂商可根据其专长生产各自的软件或硬件,并根据实际需求将这些软件或硬件进行组装,例如可以在硬件加密模块中加入存储功能等。
 
1、系统安全服务层
 
      系统安全服务层处在应用程序和CSSM层之间,它的主要功能是:
 

(1)定义上层的安全需求(如安全电子邮件);

(2)提供透明的安全服务(如安全文件系统或保密通信);

(3)为上层应用的开发提供各种访问CSSM安全服务的语言接口(非C语言);

(4)提供用于管理安全架构的工具。

 
      应用程序可以直接调用CSSM API或通过系统安全服务层来访问安全服务,通过系统服务对安全服务的访问可以是非透明的。现有的系统服务,如套节字(SOCKET)协议和HTTP协议,可以利用加密和认证等来加强其安全性。如果这类安全功能的实现没有改动服务接口,那么上层应用程序也就不需做任何改动。这种应用模式的案例很多,如基于SSL的HTTP协议和用于文件加密的PGP等。
 
      定义了新接口的系统安全服务可以对CDSA进行扩充,使其具有很强的灵活性和可扩展性。使用这些服务的高层应用程序不需涉及安全细节,只需对其代码稍作修改即可。用于安全电子商务的SET协议和用于安全邮件的PGP等就是这种应用模式的典型案例。
 
      另外,在系统安全服务中还实现了语言适配器的功能,它扩展了CSSM API的适用范围。CSSM API是用标准的C语言实现的,语言适配器可将其它编程语言的调用转换成C语言规范的代码后再提交给CSSM API。
 
      CDSA的系统服务支持很多新的和现有的标准,系统服务的这种“纵向到底、横向到边”的安全能力是通过CSSM的模块化设计来实现的。
 
2、通用安全服务管理器(CSSM)层
      第二层的CSSM是CDSA的关键部分,它管理着所有的安全服务,能将各种互操作模块提供的服务有机地结合起来。为便于安全应用和服务的开发,CSSM定义了一套丰富的、可扩展的API接口和服务提供接口(SPI)。CSSM还提供了一套常用的核心服务,如:
 

(1)安全模块的动态插入;

(2)动态装载时的完整性验证和认证检查,卸载时的验证;

(3)服务提供模块的安全链接检查;

(4)一般的完整性服务。

      CSSM中的模块管理器负责将来自应用的API调用定向到一个或多个SPI,从而将请求的服务提交给相应的插件式安全模块处理。
 
 
      为便于应用开发者的理解、充分发挥安全API的功效,CSSM从逻辑上将API按功能分成了几个部分。CSSM本身也分成了几部分,包括一套核心服务、上下文管理服务、完整性服务和一套基本的模块管理器。CSSM API的每一个功能子集都有一个模块管理器(MM),每个模块管理器按其功能管理着多个服务模块。CSSM定义了以下五种基本的服务及其管理器:
 

(1)密码服务管理器;

(2)信任策略服务管理器;

(3)证书服务管理器;

(4)数据存储库服务管理器;

(5)授权计算服务管理器。

 
密码服务管理器
 
      管理着各种密码服务提供(CSP)模块,它定义了访问所有CSP的通用API接口,所有与密码有关的功能都是由CSP实现的。
 
 
信任策略服务管理器
      管理着各种信任策略模块,它为这些模块库定义了通用的API接口,该接口允许应用程序在请求服务前查阅相关的策略和操作认可,某项操作是否认可取决于数字证书中的身份标识、完整性以及授权。
 
 
证书服务管理器
      负责对证书库进行管理,同时也定义了通用的API接口,允许应用程序操作驻留在内存中的证书撤消列表(CRL)。可进行的操作包括:产生、签名、验证、获取属性信息等,所有的证书操作由插件式证书库实现,每个库都有证书格式及其使用说明。
 
 
数据存储服务管理器
      为证书、证书撤消列表及其它安全对象的可靠、持久的存储定义了API接口。该接口允许应用程序选择数据存储对象、查询每个数据对象的基本信息(如名字、最近更改时间、大小等),数据存储操作由插件式数据存储模块实现。
 
 
授权计算服务管理器
      负责对授权计算服务提供模块进行统一管理,并为访问授权计算服务的应用定义通用的API接口,用于验证某证书是否允许在某对象上执行相应的操作。
 
      CSSM还允许对其扩充可选的模块管理器,这些管理器为新加的服务定义API接口。比如,若要增加一个密钥恢复服务,那么密钥恢复模块管理器就得负责为应用程序定义API接口,允许应用访问密钥恢复服务和SPI。如果应用所选择的是扩展服务的API,CSSM就会动态地将相应的模块管理器和服务实现模块装载进来。
 
      CSSM还有两个另加的核心服务,一个是完整性服务,另一个是安全上下文管理。作为安全架构的基础,CSSM需要为自己、模块管理器、插件式模块以及应用程序提供完整性服务,以验证它们本身的完整性,同时也验证CSSM环境中其它组件的完整性、标识、授权使用等。
 
      CSSM有一套自我保护的安全服务机制,利用它为自己构造了防护带,这些服务综合各种技术来防止如前所述的第二类攻击和大部分的第三类攻击。由于应用程序和插件式安全服务模块都是动态的组件,所以CSSM可以利用高强度的认证机制来验证各程序及模块的合法性。
 
      应用程序在动态绑定过程中使用了双向的认证检查和完整性校验,这保证了CSSM的安全性。CSSM在嵌入式完整性服务中对该过程和接口进行了定义,利用该功能,CSSM可以提高应用程序对抗第二和第三类攻击的能力。
 
      CSSM的安全上下文服务允许应用程序指定和管理密码操作过程中涉及到的各种参数。
 
3、插件式安全模块层
 
      该层是CDSA的最底层,是各种服务的执行、实现部分,允许用户根据需要向里扩充其它功能模块。CDSA中提供了以下五类服务模块:

(1)密码服务提供模块(CSP);

(2)信任策略模块(TP);

(3)证书库模块(CL);

(4)数据存储库模块(DL);

(5)授权计算模块(AC)。

 
      CSP执行与密码有关的操作、保护密钥存放安全,具体的功能包括:块加密算法、数字签名算法、密码HASH算法、唯一标识算法、随机数产生器、安全密钥存储、专用的定制工具等。
 
      TP负责执行由权威或管理单元定义的策略,策略规定了某项操作所需的信任级别。基于证书的信任域中有三类基本操作:与证书有关的操作、与证书撤消列表有关的操作、域操作。CSSM信任策略API定义了每个TP模块应该支持的通用操作,每个模块根据需要可实现其中的一部分。
 
      CL实现了对内存驻留证书和证书撤消列表的语法处理,CSSM证书API定义了每个CL模块应该支持的操作,各模块应根据其所处理的证书数据的格式实现所需的操作,如X.509、SDSI等等。操作的实现应该是语义无关,证书数据的语义解释应在TP模块、系统服务或应用程序中完成。
 
      DL能可靠地存放安全相关的对象,这些对象包括:证书、证书撤消列表、密钥、完整性和授权证明、策略对象以及应用程序指定的对象等。稳固的存储可以采用商用的数据库、文件系统、其它硬件存储器、远程目录服务等。DL模块的实现应该是语义无关的,所存储对象(如证书、证书撤消列表、密钥)数据的解释在TP模块、系统服务或应用程序中完成。为保证DL模块间必要的互操作性,为每一个DL记录类型定义了一个最小模式,它规定了所有应用程序可访问记录的最小属性集。DL还支持程序自定义或模块自定义的记录类型属性。DL API中还定义了可扩展的函数接口,该机制允许DL提供其它读写安全对象的功能。
 
      AC负责根据调用者的输入对授权进行评估,调用者提供的信息有:调用者策略的前提条件、要进行授权检查的请求、能够证明授权的证据。
 
 
四、CDSA的互操作性
 
      互操作性是CDSA各模块和各服务的重要设计目标,包括:

(1)使用CSSM API的应用不需做较大的改动就能访问多家厂商提供的模块;

(2)应用不需做较大的改动就能在不同的CSSM实现上运行;

(3)应用通过不同CSSM的实现、使用相同的插入式服务模块能达到相同的效果;

(4)应用使用同一插入式服务模块的不同的实现能达到相同的效果。

 
      为实现以上目标,CDSA制定了标准的安全服务API和SPI,支持不同的实现方式,提供了丰富、详实的安全服务API和SPI规范文档,并为各接口、模块开发了一致性测试工具,还为不同平台上的CDSA规定了标准的对象代码签名机制。
 
      通用数据安全体系(CDSA)是一种能提供多层安全服务的基础设施,它为应用程序提供了一个集成的、动态的安全服务集,为保证在愈来愈复杂的网络环境下的数据安全提供了有力的技术支持和重要的参考标准以及完整的安全解决方案。目前我国信息安全建设正处于一个发展时期,怎样构建一个符合实际需要的CDSA,这是一个需要认真分析研究的问题。
上一篇:C语言变量的作用域和存储类型
下一篇:椭圆曲线密码体制与电子政务
站内搜索
无忧学术网 | 论文写作研究网 | 支付宝 | 电子工程师论坛 | 上海交通大学 | 东南大学 | 复旦大学 | 同济大学 | 浙江大学 | 清华大学 | 北京大学 | 承运天成 | 搜狐 | 百度 | google | 搜狗 | 雅虎 | 新浪 | 网易 | 麻省理工学院 | 中华英才网 | 无忧工作网 | 智联招聘 | 爱词霸 | 淘宝网 | 阿里巴巴 | 校友录 | 哈佛大学 | 耶鲁大学 | 腾讯 |
代写硕士论文 | 代写工程硕士论文 | 上海代写硕士论文 | 上海代写论文 | 职称论文 | 代写研究生论文 | 代写MBA论文 | 代写MPA论文 | 代写论文网