为了解决信息传输到信息存储过程中的存在的信息安全问题,我们应用到了一种刀片加密服务器,那么什么是刀片加密服务器,刀片加密服务器中的文件如何加密和解密,我们今天就来看一下。

一、刀片加密服务器

1、刀片加密服务器的概念

刀片加密服务器是一种新型服务器,它与传统刀片服务器的不同之处有二:一是它实现了在操作系统层面上的数据加密和解密技术,用户不需要通过编写应用程序来实现数据的加密和解密,二是采用了基于安全证书的网络全过程的安全措施,数字签名、签名验证、SSL和SSH技术的采用可保证用户能够安全有效地在远端控制刀片加密服务器,并同时实现了数据传输、数据存储的加密和解密。

2、刀片加密服务器设计的基本原则

是在公用信息平台中的数据信息只有授权用户通过证书认证后,经过安全通道才可以看到明文,而非授权用户无论通过什么途径都得不到任何有效信息。保障信息传输和信息存储的安全性,同时不改变用户的使用习惯,不影响数据库的结构,对于合法用户应保持透明。

图1中用户终端通过宽带网或PSTN拨号方式连到服务器,刀片加密服务器通过1OOOM以太网口连接到网络磁盘阵列,刀片加密服务器和磁盘阵列构成了公用信息平台H。

3、刀片加密服务器设计的工作原理

用户通过因特网、刀片加密服务器来访问磁盘阵列中的数据。在刀片加密服务器中装有改进的L操作系统,用户的数据通过加密型刀片服务器进行加密后存储在磁盘阵列中。用户在访问磁盘阵列中的数据时必须通过安全认证和建立SSL或SSH后才能访问通过加密型刀片服务器解密后的数据。以上的加解密过程均是在操作系统层次上完成的,因此对于用户的应用来讲加密和解密过程是透明的。

加密型刀片服务器实现了以下功能:基于SSL和SSH的密传;基于安全证书的安全认证;在操作系统层上并基于对称算法的密存;用户通过SSL和SSH安全通道在远端对系过数字签名和签名验证来确认用户的身份,然后根据用户的身份确定是否对相应的信息进行解密。由于存放在硬盘上的信息是密文存储,即使是超级用户也只能看到密文,无法得到有效的信息。

刀片加密服务器文件的加密解密操作是在网络文件系统NFS上实现的,由算法芯片SSP02-A完成文件加密和解密运算。由于刀片加密服务器系统主要是面向公共信息平台用户,而公共信息平台是由若干个刀片加密服务器和公用磁盘阵列构成,数据集中存储在磁盘阵列上。每个刀片加密服务器可以通过NFS方式访问磁盘阵列,将磁盘阵列上的某一部分空间挂载到刀片加密服务器上,让刀片加密服务器方便地使用磁盘阵列上的文件,就像本地操作一样,同时便于实现集中管理。

Linux操作系统通过虚拟文件系统VFS实现对多种不同类型文件系统的支持。每一种文件系统都有自己的组织结构和文件操作函数,相互之间差别很大,VFS的作用就是屏蔽掉这些差异,给用户、应用程序、甚至Linux的其他管理模块提供一个统一的界面。

二、改造网络文件系统NFS的优点

1、改造后的网络文件系统对系统和应用程序保持透明

首先我们分析一下网络文件系统的文件结构。网络文件系统和fXt、ext2、mlrux等文件系统结构类似,是由超级块、inode、文件操作函数入口等部分组成。超级块主要用来描述目录和文件在磁盘上的静态分布(包括目录、文件的大小和结构);文件系统由子目录和文件构成,每个子目录或文件只能有唯一的inode描述,inode是管理文件系统的最基本单位,也是文件系统连接任何子目录、文件的桥梁;文件操作函数是指对文件读写操作的函数,我们对网络文件系统NFS的改造是在文件操作函数入口上进行的。

应用程序对文件的访问过程是从应用程序向系统发布一个调用请求开始的。当某个进程发布了一个面向磁盘阵列文件的系统调用请求时,操作系统内核将调用VFS中的相应函数,这个函数将处理一些与物理结构无关的操作,并且把它重定向为网络文件系统中的函数调用,网络文件系统则处理与物理结构相关的操作。

通过对以上过程的描述可以看出,如果在网络文件系统层进行改造,那么存储在磁盘阵列上的文件对于系统和应用程序都是透明的。

2、对于通过网络文件系统访问的文件,具有对文件的加密和解密功能,加脱密处理由SSP02A算法芯片完成

当网络文件系统进行文件写入操作时,把需要写入的文件数据加密,并将密文数据写入到磁盘阵列上;相反,当网络文件系统进行文件读取操作时,把读取到的密文数据解密,并将解密后的明文返回给文件系统。通过以上两个过程完成对存储在磁盘阵列上的文件数据的加密和解密操作。

3、过网络系统保存的文件,用块加密的方式实现

块加密比流式加密具有更好的安全性,但是块加密时对于不到一块的数据需要进行填充,所以需要改变文件的大小。

三、刀片加密服务器的文件加密和解密

下面我们通过图1所示的文件定位示意图来描述文件加密解密的实现过程。

如果网络文件系统NFS对图1中三段的数据进行随机读写操作时,对称加密算法对L段数据信息的加密处理是将£长的明文加密后得到l长的密文,解密处理是将l长的密的明文加密后得到l长的密文,解密处理是将L长的密文解密后得到l长的明文,该过程要求L段的数据长度(字节数)为加密长度F(F=16)的整数倍。下面我们以文件写操作过程为例介绍NFS对文件的读写操作处理。文件读操作过程和文件写操作过程类似。

在进行文件写操作时,假设被写入的明文数据段的起点——即该段数据在文件中的起始偏移量为a,结束点——即结束偏移量为b、长度为L,NFS首先判断口是否是加密长度F的整数倍:

①如果不是,那么需将起始偏移量.向前移动到加密长度F的整数倍的位置(假设向前移动了c个位置,到达d处。

②如果是,则新的写人数据L1的起点——即起始偏移量与原数据l的起点一样,为d=a,L1的长度=L的长度,L1的结束点——即结束偏移量与L的结束点相同,为b。

通过以上操作确定出新的写入数据L1的起点为d。然后再确定结束点s,首先判断需要写入的数据L1的长度是否为加密长度F的整数倍。

③如果不是(假设少g =f -b个数据),可能会有三种情况:

如果从b点再向后移动g个数据到达f点,仍未超出文件结束位置(即f点在文件内),则需要从(b- b%F)位置——即图2中e处开始读取F(加密长度)个数据(到达f处)进行解密,得到F个明文数据,将这F个明文数据中的后g个与L1段长的明文数据一起构成写入数据L2,即:L2的长度=L1的长度+g,g个新脱密的数据在L1个原数据的后面,L2的起点——即起始偏移量与L1的相同,为d,L2的结束点s-即结束偏移量为s =f。

如果从b点再向后移动g个数据到达f点,已超出文件结束位置(即f点在文件外,b点后面只有x个数据,x<g),则将结束偏移量b向前移动至(b-b%F)位置——即图2中e处,将e点作为新的写入数据L2的结束点——即结束偏移量为s=e,L2的长度=/1的长度- (F-g),L2的起点——即起始偏移量与L1的相同。对剩余的(F-g+x)个明文数据进行填充然后再加密处理。

④如果是,则新的写入数据L2的起点——即起始偏移量与原数据L1的起点一样,为d,L2的长度l1的长度,L2的结束点——即结束偏移量s与L1的结束点相同,为s=b。

通过以上操作确定出最终的写入数据L2的起点为d、终点为趴长度为L2,L2的起点、终点偏移量均为加密长度F的整数倍。

最后将L2段明文加密后写入磁盘阵列。

现在讨论一下对可能剩余的F-g+x(0<(g-x)<F,x>0或x=0)个明文数据进行填充后加密:由于这部分数据的长度小于加密长度F,也就是说,如果F为16个字节,那么这部分数据最多为15个字节,这时需要填充(g-x)个数据,填充后进行加密处理,并将(g-x)写入文件结束的一个字节。无论需不需要填充,文件都需要增加一个字节保存填充的个数,不填充时为O,填充时为填充的个数,脱密时根据填充的个数去除填充数据。

总之,刀片加密服务器使用户免除后顾之忧;通过服务器加密和解密技术使人们开发、应用因特网的商机成为可能,它将能逐步改变企业传统的建网观念,使企业由独立建网逐步转变为租用公网,计算机网络将真正走向公用化。

小知识之刀片服务器

刀片服务器是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,是一种实现HAHD(HighAvaiMabiMityHighDensity,高可用高密度)的低成本服务器平台。