目前,在各种资料、各项数据实现信息化的同时,每台工作站、服务器上存储的重要机密空间信息越来越多,对如何保证这些数据在基于GIS的电网信息系统中的安全应用也提出了更高的要求。为此我们提出了一种基于GIS的信息加密技术的设计思想,在操作系统驱动层之间嵌入一个数据转换层来达到数据的加密和解密,并以此来实现信息加密技术在空间信息中的应用。
一、风险分析及研究内容
在福建电力GIS生产管理系统实际应用过程中,地图信息、电网数据在应用系统中均属于开放信息,福建电力的所有权限用户都可以查询使用。在信息安全方面,地图数据和电网数据又分别属于国家和电网企业的秘密信息,需要在确保系统正常快速访问的同时保证数据应用的绝对安全。但是以目前系统的运行方式,在数据访问保密性上还存在着诸多安全隐患。
1、风险分析
(1)涉密地理数据泄漏风险
涉密地理数据主要指高精度电子地图,包括影像图、矢量图和高程等,这些数据特别是应用系统瓦片服务器上的地图瓦片数据,以文件形式存储,可通过多种方式访问和导出,存在数据泄漏的风险。
(2)重要电网GIS数据外传风险
电网空间数据、重要台账信息和基础资料存储在生产管理系统Oracle数据库中,可从程序接口通过多种方式导出,存在数据外泄的风险。
2、研究内容
(1)防止涉密地理数据泄漏
针对服务器上存储的地理数据文件或者目录,使用指定的加密算法、密钥,进行加密和解密操作,从而达到防止地理数据文件或目录泄密的目标。
(2)基于电网GIS数据导出外传加密
针对目前电力生产与GIS系统的结合,部分数据需要进行导出传递,应对导出数据做加密处理,并对解密外传行为进行监督管控。
(3)满足用户使用习惯
在不改变用户原有文件使用习惯的前提卞,对需要保护的文件进行加密,对不需要保护的文件则进行条件控制,适当地进行加密或不加密处理。
(4)降低性能影响
对GIS数据应用访问进行加密解密处理,势必将增加系统处理响应时间,影响GIS程序性能。因此,需在确保数据安全性的同时,简化加密、解密环节,最大限度降低信息加密、解密过程对程序性能的影响。
二、系统设计与实现
1、系统总体架构
在EPGIS平台的基础上,采用自动加密解密技术、文件过滤驱动技术、瓦片数据加密技术、基于Flex的解密浏览、多算法联合加密技术、多级安全模型等技术,对福建电网GIS中的地理瓦片数据进行信息加密保护,对空间数据库中的电网设备模型的导出和外传进行加密控制,构建了空间信息自动加密解密系统,从而提高了电网GIS的数据安全级别(见图1)。
2、网络架构模型
系统的信息加密保护需要考虑B/S方式和C/S方式的访问,并按图2所示架构实现数据的加密解密流转和处理。
实现过程大致可以分为以下几个步聚:
1)客户端的建模工作站、网页浏览工作站使用GPMS、GDPRS等系统访问相关GIS数据时,会对Web应用服务器先发出调用请求。
2) Web应用服务器根据用户的请求向已经部署GIS地图加密所在的数据服务器发出服务请求。对于读取请求,加密系统会等待文件系统从磁盘中读取加密后的数据,后返回给用户界面。
3)地图服务器将已加密的GIS地图数据信息返还给客户端的建模工作站、网页浏览器工作站。客户端凭借建模客户端或Flex客户端的解密浏览技术对加密的GIS数据进行授权、自动解密浏览。
3、技术设计
(1)加密、解密技术
信息自动加密解密的主要原理是采用文件系统过滤驱动技术,在操作系统驱动层之间嵌入一个数据转换中间层来完成数据的自动加密和自动解密。系统通过数据转换层,在应用程序写入读取数据时,对涉密数据进行动态加密解密(见图3)。
手动加密的原理主要是根据文件大小生成随机加密段,使用联合加密算法对随机段进行加密,加密完成之后将随机段的信息记录到文件中。手动解密原理就是上述流程的逆向过程。首先从文件中获取随机段内容,然后使用解密算法进行解密。解密完所有的随机段后在文件中去掉随机段位置信息,就得到了原始的文件信息。
(2)文件过滤驱动技术
文件过滤驱动是Windows中间层驱动程序,处于文件系统之上,可以截取发往下层驱动程序设备对象的请求。在本系统中,使用文件过滤驱动技术截取发往下层设备的数据读写请求,在写数据时对数据进行加密,在读取时进行解密。
因为该技术是中间层驱动程序,不涉及应用层,所以数据操作人员感觉不到系统的存在,所有的工作都是在后台自动完成的。
(3)GIS瓦片数据加密应用
瓦片GIS就是使用金字塔技术把一整张地图切割成不同级别的图片,首先按照一定的比例和大小,预生成规则的瓦片地图存储于硬盘目录下,以链接图片的方式快速定制。用户访问瓦片GIS数据,将先用到网格索引;如果服务器上Cache已经有图片,则直接显示,如果没有,则采用网格索引对数据范围进行计算,再从后台取出需要加载的数据进行显示。采用金字塔技术可大大提高显示效率,但是会增加存储空间的占用。相对于传统的WebGIS实时请求地图服务的方式,可加快地图的出图速度。
GIS瓦片数据的加密,就是在对服务器进行数据切割处理的同时,对所有的瓦片数据进行批量的加密,并保证数据在服务器存储、网络传输和客户端缓存存储时,都是以加密的形态进行存储的。只有最后用户在客户端使用解密浏览技术对瓦片数据进行调用访问的时候,才会在内存中进行解密,并在用户的客户端浏览界面进行展示。
(4)基于Flex的解密浏览技术
目前GPMS的Web地图展现采用Flex解密浏览技术来实现。Flex是一个免费的开源框架,用于构建交互性较高、表现力较强的Web应用程序。使用Flex创建的RIA可运行于支持Adobe Flash layer软件的浏览器,并且支持所有的常用主流浏览器和桌面操作系统。Flex提供的相关对象可以灵活地和当前网页的JavaScript相互进行调用,同样也可以调用已有的Ajax功能。
为了实现基于Flex开发的FlashGIS中加载加密的地图瓦片,Flex将先把加密数据转换成Base64格式的字符串,通过ActionScri-pt3.0调用来获取解密后的Base64格式的字符串,解密后在系统客户端即可正常显示瓦片地图数据。
考虑系统实现的效率,需采用Adobe Alchemy技术将C/C++带入到Flash之中,由于函数在C/C++程序中运行的效率明显比在Flash内部运行的效率高,而AdobeAlchemy又为C/C++程序自动生成一个ActionScript的接口文件,方便ActionScript程序进行调用。使用Adobe Alchemy对C/C++编译之后,会以SWC函数库的形式生成,在空间效率上将会具有明显优势,从而提高瓦片数据浏览速度。
(5)多加密算法联合加密技术
系统采用AES算法和自主研发设计的圆周率加密算法相结合的方式对数据进行加密。AES加密算法是美国标准与技术研究院( NIST)制订的高级加密标准。它基于排列和置换运算,排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES使用几种不同的方法来执行排列和置换运算。AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。与公共密钥加密使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。
AES加密算法在执行过程中,对系统资源的需求比较大。系统如果全部采用AES加密算法进行加密,将会对数据的读写造成一定的延时,给操作和使用带来很大影响。考虑到效率的问题,同时增加加密后数据的破解难度,系统将采用2种算法进行联合,即AES算法和圆周率加密算法。
圆周率加密算法是自主研发的加密算法。算法主要针对整数据段进行设计。设计过程中引进AES算法的先进思想,主要基于置换运算和位运算。它在加密解密过程中对数据进行不同方法的置换运算和位运算,以此来保证数据的安全。同时算法在效率方面做了大量的改进,引入区段关联性选择加密法,满足了算法效率上的需求。
结合后的多算法联合加密技术完全解决了数据实时需求的效率问题,同时在安全性方面也得到了进一步的提高。
(6)多级安全模型
多级安全模型最初起源手支持军用系统和数据库的安全保密,它可以是不同密级包含不同的信息。通常将密级由低到高分为秘密级、机密级和绝密级,以确保每一密级的信息仅能让那些具有高于或等于该级权限的人使用。
系统使用多级安全模型来实现权限的划分和控制。对电力使用单位划分群组,每个群组有不同级别权限,级别权限共有3个:秘密级、机密级和绝密级。权限级别达不到数据属性级别,则无法使用数据。在具体实现时,是通过密钥来进行控制,不同级别的密钥不同。高级别的群组拥有所有密级文件的密钥,而低级别的群组只有本级别和更低级别的密钥。
三、系统功能实现
1、地图数据加密解密管理
局域网内所有需保密的地图数据都会被空间信息自动加密解密系统在后台进行强制加密。操作人员在使用或浏览这些文件时,加密系统会自动将其解密,并存入系统内存中进行展示。具体加解密的效果如图4所示,其左半部分为加密状态下的瓦片数据显示画面,右半部分为未加密状态下的瓦片数据。
2、数据导出加密管理
提供可定制的加密软件接口,对于福建电力现有GIS相关业务系统中的电子地图及电网的导出数据进行加密,防止因数据(包括地图数据和电网业务数据)导出造成的数据泄漏。
3、Web浏览控制
客户端访问电力生产管理的相关系统时,不需要下载任何形式的控件,只需要到服务器上同步下载文件加密密钥,Web上的Flash即可自动为客户端完成浏览加密数据文件时的解密工作,所有解密的临时文件都只保存在客户端本地临时缓存内。
系统具有网络监测功能,如果客户机脱离了福建电力局域网环境,客户端系统将在30s之后监测到,并通知解密组件关闭解密浏览功能,则客户机上的所有加密文档将不能正常浏览。当客户机重新接入福建电力局域网后,系统也将自动监测并恢复解密浏览功能。
4、终端管理
系统管理员可以通过控制中心服务端管理局域网内的各台计算机,控制所有计算机的USB接口、剪贴功能以及打印功能,防止技术资料、文档以纸质的方式泄密。
5、数据解密管理
数据解密包含2部分,根据数据安全级别的不同,可自动选择控制台的自动解密和管理员的手动解密2种方式进行解密申请操作。
6、日志管理
系统具有日志管理功能,会记载文件被手工加解密的情况,自动生成历史记录,历史记录保存在数据库中。记录是强制进行的,便于事后进行查阅。
测试结果表明,系统性能达到了既定的设计目标,实现了矢量地图、影像地图、电网分布图等重要信息在电力系统内的安全应用。
系统经过了在福建电力中的实践应用,证明可有效地杜绝地理信息和电网数据在电力系统内因广泛应用而存在的重要保密数据泄密的隐患,辅助GIS在电力生产中的深入应用。
信息加密技术成功地解决了电网数据在电力网中的传播和数据保密不能外传的矛盾,实现了地图数据通过Web进行安全展现。在系统后期的应用推广中,还需要继续广泛采纳使用者的合理性建议,不断改进系统功能,优化加解密算法,使得操作更加简便,推动信息加密技术在电力信息化工作中的深入应用。
小知识之GIS
GIS即地理信息系统,它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。