|
作者: ljw0088 [ljw0088] 论坛用户 | 登录 |
目 录 1. 概述 1 1.1. 数据库安全在信息安全中的地位 1 1.2. 基于应用的数据库安全解决办法及弱点 1 1.3. 数据库安全保密支撑平台 1 1.4. 适用领域 2 2. 系统架构与工作原理 2 2.1. 安全的数据库应用系统架构 2 2.2. 总体结构与工作原理 3 2.3. 安全子系统结构与工作原理 4 2.4. 系统组成 5 3. 系统功能 5 3.1. 增强的身份鉴别过程 5 3.2. 数据库存储加密 6 3.3. 数据库访问通信加密 6 3.4. 备份与恢复 6 3.5. 其它安全功能 6 4. 特点 6 4.1. 安全功能应用无关 6 4.1.1. 标准接口 6 4.1.2. 标准SQL支持 6 4.1.3. 加密内容可管理和配置 7 4.2. 高安全性 7 4.2.1. 强调整体安全 7 4.2.2. 高强度加密算法及专用芯片 7 4.2.3. 安全的数据库加密密钥管理 7 4.2.4. 一次一密的通信加密 7 4.2.5. 安全的运行管理 7 4.3. 高效率 8 4.4. 广泛的平台支持 8 4.5. 丰富的产品形态 8 5. 性能与技术指标 8 5.1. 硬件密码装置技术与性能指标 8 5.2. 数据库加密总体性能指标 9 6. 应用系统开发与移植 9 6.1. 应用系统接口技术 9 6.2. 已有系统移植方法和过程 10 6.3. 应用系统开发方法和过程 10 1. 概述 1.1. 数据库安全在信息安全中的地位 “信息化是我国加快实现工业化和现代化的必然选择”,而信息安全问题是影响信息化进程的重要因素之一。近年来,业界对信息安全的重要性有了很深的认识,采取了大量积极有效的措施,但都偏重于对网络和操作系统的保护,真正对数据库中的信息实施直接保护的并不多。 实际上,数据库是信息存放的仓库,其安全性是信息安全的核心,也是信息安全的最后一道防线。目前普遍采用的商品化数据库管理系统在用户身份验证、权限控制等方面一般不能满足安全级别要求比较高的系统需要,因此,这些系统经常在应用中采取一些安全增强的办法。 1.2. 基于应用的数据库安全解决办法及弱点 对安全要求超过普通数据库管理系统能够提供的安全功能的系统来说,在应用中采取加密等措施来提升安全级别是一个可行的办法,但由于数据库应用的特殊性,这种解决办法面临如下主要问题:  开发效率低:需要考虑加密方法、密钥生成与管理、关系运算等复杂的实现问题,开发效率低,可能要为解决简单的问题付出很大的开发代价;  运行效率低:可能涉及大量数据脱密和关系运算等,系统运行效率有可能无法满足实用性要求;  可维护性差:随业务和安全需求的变化,要做大量的程序改动,系统难以维护。 1.3. 数据库安全保密支撑平台 针对普通数据库管理系统上应用系统的安全需求,北京博睿勤技术发展有限公司设计开发了数据库安全保密支撑平台(BRING-SDB)。该平台是为增强普通关系数据库管理系统的安全性而设计的,旨在对通信和数据库存储的内容实施有效保护。该系统中通过通信加密、数据库存储加密等安全方法实现了数据库数据存储和通信的保密和完整性要求。具有自主知识产权的加密算法和密文查询算法在保证安全性的同时兼顾了系统的效率,使数据库内容加密达到实用化水平。 该平台采用开放的体系结构,遵守数据库相关标准,实现了安全功能的封装和隔离,使安全功能和应用无关,在保证安全性的前提下方便了应用的开发,即安全功能的实现不增加应用的开发代价。 1.4. 适用领域  国家机关:政务信息化要求国家机关通过计算机网络系统来处理日常业务,实现信息的互连互通。政务信息系统中有大量涉及国家安全和利益的信息,必须采取确实可靠的保护措施。在计算机硬件和系统软件都掌握在其他国家手中的情况下,BRING-SDB通过国产的安全技术,为政务信息的安全提供可靠保障。  ISP、ASP、门户类网站:客户资料、用户密码和权限、用户访问记录等都存储在数据库中,受到来自整个Internet的安全威胁,保证这些数据的安全已成为健康发展的重要一环。  企事业单位:财务信息、人事信息、员工薪水记录、生产销售记录等都关系到企业的利益并需要保护。BRING-SDB为这些信息的保护提供了便捷的方法和手段。 2. 系统架构与工作原理 2.1. 安全的数据库应用系统架构 采用了数据库安全保密支撑平台的系统总体结构如图: 图 2 1安全数据库应用系统架构 数据库安全保密支撑平台处于应用层(包括应用APP和快速应用开发工具RAD)与数据库管理系统(DBMS)之间,相当于在应用程序与数据库之间多加了一道“防盗门”。 2.2. 总体结构与工作原理 BRING-SDB总体结构如下图: 图 2 2总体结构与工作原理图 SDBC(Security DataBase Connection)为应用和开发工具访问密文数据提供安全而标准的接口,包括ODBC、OLEDB、JDBC、CLI等接口方式,在接口中调用安全子系统客户端为应用层透明的实现了通信的加密功能。 安全子系统客户端为SDBC提供基本的安全通信支持,包括与服务器进行相互的身份验证、协商会话密钥、通信加密和脱密等。安全子系统的服务端除完成与安全子系统客户端对应的安全功能外,还提供数据库存储加密的支持,包括数据库存储加密密钥的管理、存储加密和脱密、密文查询算法等。 系统服务部分提供服务器管理功能。 密文SQL服务是BRING-SDB的核心服务部分,在安全子系统服务端的支持下完成数据库存储加密功能。该部分包括SQL解析系统、密文SQL执行引擎等。 系统内部通信和处理流程如下图: 图 2 3内部通信与流程图 2.3. 安全子系统结构与工作原理 安全子系统结构与工作原理如下图: 图 2 4安全子系统结构图 2.4. 系统组成 BRING-SDB组成结构如下图: 图 2 5组成结构图 服务器:服务器上运行的软件和插入服务器中的密码装置。 管理工具集:包括企业管理器、交互式命令工具、密钥管理工具。 ODBC驱动器:符合ODBC规范的驱动器软件。 OLEDB Provider:符合Microsoft OLEDB规范的软件。 JDBC驱动器:符合JDBC规范的驱动器软件。 对于软硬件结合的系统,客户机中包含有硬件密码装置来实现基本密码操作。 3. 系统功能 3.1. 增强的身份鉴别过程 BRING-SDB增强了普通数据库管理系统的身份鉴别功能,可以根据需要增加终端控制、终端密钥、用户USB-Key等,对原数据库管理系统身份鉴别过程中的敏感信息(例如口令等)实施了加密保护。 3.2. 数据库存储加密 对存储在数据库中的内容进行加密保护,实现了数据库数据存储的保密性和完整性要求,可以防止数据的非授权访问和修改。 3.3. 数据库访问通信加密 对数据库的访问在网络传输中都被加密,防止数据在通信过程中泄密和被篡改,实现了数据在通信过程中的保密和完整性要求。 3.4. 备份与恢复  数据库明文备份和恢复功能  密钥和配置信息的备份和恢复功能 3.5. 其它安全功能  数据校验  基于RBAC模型的访问控制  安全审计 4. 特点 4.1. 安全功能应用无关 BRING-SDB在外部提供标准的访问接口,内部采用标准的SQL支持,加密内容可以通过管理工具灵活配置,实现了安全功能的应用无关性。 4.1.1. 标准接口  ODBC  OLEDB  JDBC  CLI 4.1.2. 标准SQL支持 支持SQL92标准。支持数据库存储过程、视图、触发器等。 4.1.3. 加密内容可管理和配置 系统中可以选择需要加密的数据库列,以便于用户选择那些敏感信息进行加密而不是全部数据都加密。 4.2. 高安全性 BRING-SDB通过总体安全考虑,采用高强度加密算法和科学的密钥管理,实现了系统的高安全性,提供了一个开放而不可绕过的数据库安全保密支撑平台。 4.2.1. 强调整体安全 从身份认证、通信安全、存储安全全面考虑,保证系统各环节的安全性,使系统安全不存在薄弱环节。 4.2.2. 高强度加密算法及专用芯片 采用自主研制、经国密办批准的数据库加密算法(SSF22-A),密钥长度为128b。系统为该算法设计了一片专用的密码芯片。 4.2.3. 安全的数据库加密密钥管理 采用多级密钥管理模式,处于最高层的主密钥和主密钥变量保存在硬件密码装置中,禁止以任何方式读取。密钥数据集中的二级密钥受主密钥变量加密保护,保存在硬盘中。数据加密密钥存储或传输时利用二级密钥加密保护,使用时受主密钥保护。 采用安全的密码操作,使得运行过程中没有明的密钥暴露在密码装置外。 4.2.4. 一次一密的通信加密 系统通信过程中采用一次会话一个密钥的加密方式,可以防止重放和篡改。 4.2.5. 安全的运行管理 系统对程序和加密装置采取了保护措施。 4.3. 高效率 系统中采用独创的数据库密文查询算法保证了系统的运行效率。 4.4. 广泛的平台支持 支持AIX、HP-UX、Solaris、Sco Open Server、Linux和Windows等操作系统,支持DB2、Oracle、Sybase、MS SQL Server等数据库管理系统。 4.5. 丰富的产品形态 从安全级别分:  普密版:密码操作采用专用芯片实现。  商密版:软硬件结合,硬件用来实现密码操作。 从支持的功能和复杂度分:  企业版  标准版  桌面版 5. 性能与技术指标 5.1. 硬件密码装置技术与性能指标 采用并行性和流水线结构提高芯片的加解密速度,在PCI接口的设计中采用成熟的IP核提高设计的可靠性,根据加密算法中的各种运算的特点,充分采用迭代结构,尽可能使芯片门数减少。在S-盒的硬件实现中,充分考虑硬件实现效率,并立足于芯片的制造工艺和特点,使S-盒尽可能用简单的硬件逻辑有效地实现。 密码芯片工作的最高频率为10MHZ;数据库加密芯片的加脱密速率达32Mbps;服务器硬件密码装置的通信加脱密速率约15Mbps, 客户端硬件密码装置的通信加脱密速率约8Mbps。 硬件密码装置的连接方式:PCI接口 工作电压:5V,由PCI总线供电 工作环境:温度0℃~45℃ 5.2. 数据库加密总体性能指标 与直接连接数据库管理系统相比,应用系统加载数据库加密系统后:  对不加密内容的处理总体效率损失一般不超过10%;  往数据库中增加密文内容时,系统总耗时一般在1到3倍,具体要看加密内容项数和数据量;  非密文作为条件的查询、更新操作,系统总耗时一般在1到3倍,具体要看加密内容的项数和数据量;  非密文作为条件的删除操作,系统总体效率损失一般不超过10%; 6. 应用系统开发与移植 BRING-SDB实现的安全功能与应用无关,因此,在BRING-SDB上的应用开发和移植工作十分容易,与在普通数据库管理系统上的应用开发和移植工作相似。 6.1. 应用系统接口技术 应用与数据库管理系统的接口大致可以分为两类,一类是专用接口,另一类是通用和标准的接口。这里只对后者进行介绍。 目前访问数据库的通用接口和标准主要包括ODBC、OLEDB、JDBC。ODBC和OLEDB是Microsoft推出的标准,目前已经成为基于Microsoft的平台的应用系统访问数据库的最主要接口。支持ODBC和OLEDB的开发工具包括PowerBuilder、Delphi、Visual Basic、Visual C++、InterDev等。 JDBC是Sun公司提出的标准,是Java应用系统访问数据库的标准接口。Java集成开发工具基本上都支持JDBC,如Jbuilder等。 BRING-SDB对这些标准接口提供的全面支持,因此,只要应用是采用这些标准中的一个来访问数据库的,该应用就可以不加修改的在BRING-SDB上工作。 6.2. 已有系统移植方法和过程 通过ODBC、OLEDB或JDBC的应用系统可以方便的移植到BRING-SDB上来。具体方法和过程如下:  安装配置好BRING-SDB:可以参考BRING-SDB相关文档;  设置需要加密的内容:通过BRING-SDB提供的工具指定那些需要加密的内容;  修改应用到数据库的连接:应用到数据库的连接信息一般记录在配置文件中,可以直接编辑该文件,具体内容可以参考BRING-SDB相关文档;  启动应用系统:这时应用系统就已经具备通信加密、数据库存储加密等安全功能。 6.3. 应用系统开发方法和过程 支持ODBC、OLEDB或JDBC的开发工具可以在BRING-SDB上进行快速应用开发。在BRING-SDB上进行应用开发的方法和过程如下:  安装配置好BRING-SDB:可以参考BRING-SDB相关文档;  在开发工具中建立到BRING-SDB的连接:具体内容参考BRING-SDB相关文档;  设计表,指定要加密的内容:前者可以在开发工具中完成,后者要用BRING-SDB管理工具完成;  开发应用:与在普通数据库管理系统上的开发一样;  执行开发完成的程序。 无论是开发过程中还是开发完成的应用都具有通信加密、存储加密等BRING-SDB提供的安全功能。 |
地主 发表时间: 06-06-19 16:35 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号