网学网为广大网友收集整理了, 数据库加密模型设计探讨 ,希望对大家有所帮助!
随着网络的发展,基于网络的服务也得到飞速发展。类似数据库服务,以加密引擎和密钥库为核心的数据加密也可以作为1种网络服务,向客户端提供数据加密功能。通常由于加密服务器安全性的要求,向局域网内的多个客户端系统提供数据加密服务。客户端以一定的协议连接加密服务器,调用其提供的加密服务接口,即可完成加密任务。而加密的数据格式,是可以灵活配置的,可以是关系数据库表中的数据,XML文件格式的数据或其它文件格式的数据。文中所采用的数据库加密模型是在Kevin Ke-nan提出的数据库加密模型基础上进行了改进而形成的。
文中针对上述模型进行了如下改进:(1)将加密作为1种网络服务,特别是作为局域网网络服务,能为同1企业的多个系统提供敏感数据加密服务。将加密服务使用者作为系统的客户端,其余部分作为服务器端,在概念上将加密服务的提供和加密服务的使用分离开。同一数据库加密系统可同时具有多个服务使用者。(2)在服务使用者和密钥清单之间增加了密钥配置表,从而可以为敏感数据灵活配置密钥。原模型密钥清单的作用是为了隔离使用密钥的应用程序和密钥,虽然有提到根据密钥族和条带划分的概念,但并没有提出具体如何给敏感数据配置密钥。改进的模型增加了密钥配置表,可以很灵活的配置敏感数据对应的密钥。(3)密钥配置表和密钥清单面向应用程序,而不是面向服务提供者。文中认为服务提供者是服务器端组件,而密钥清单是服务使用者的组成部分,是客户端组件。
新模型的4个核心模块是:加密引擎模块、密钥管理模块、服务提供模块和服务使用模块。4个部分相互独立,只要对外接口不变,可任意更改其实现。1加密引擎模块加密引擎是整个加密系统的核心,实现了具体的加密算法。任何由服务使用模块发送给服务提供模块的加密、解密请求最终都是由加密引擎来完成的。通常可以将加密引擎分为该地引擎和专用引擎2种。该地引擎是指加密引擎的加解密操作和应用程序在同1个(组)CPU上运行,该地引擎中的算法直接在应用程序中使用。专用引擎中有1个专门用于加解密操作的专用CPU,和应用程序通过某种方式进行通信来实现加解密处理。该地引擎实质上是1组用于加解密的算法库,如Ccypto++、CryTool和JCE提供的加解密算法,被应用程序调用以完成加解密操作。其实现简单且成本低,可以在网上下载到开源的加密库作为本地引擎,也可以将加解密算法库进行包装,修改其对外接口以适应系统需要。而专用引擎是1套能提供加解密服务的软硬件有机集合,给应用程序提供加解密数据库加密模型设计。