李文宝
(中国铁路总公司 信息技术中心,北京 100844)
杂费核收系统是货运制票系列软件中一个子系统,在铁路货运业务流程中处于站到站运输末端,货物到站交付是一批站到站运输的结束标志,在整个运输过程中占有非常重要的地位。本系统主要完成货物到站后的票货确认,是否发生匿报、变更作业等,根据在到站实际发生的货运作业及票货核对情况核算到站杂费,交付完成后对本次运输销号。对发现的漏收、多收通过本系统进行补退,保障铁路收入安全的重要手段。按自然日上报财收包至铁路局,各铁路局汇总至铁路总公司。杂费票据信息同时是收入部门、资金清算部门、货运运输部门等业务处室统计、分析重要数据依据,保障杂费数据的不被篡改、盗取和有效共享对整个铁路运输具有非常重要的意义。
货运杂费子系统自投入生产以来,为了满足不同车站的需求,根据车站实际情况开发了单机与网络两种运行模式。
单机模式不需要安装数据库软件,以嵌入式数据库作为系统数据存储介质,适用于单制票点、硬件和网络服务条件不佳车站部署;或有多制票机但各制票机工作物理分离,数据共享需求弱的车站。
网络模式需要有一台单独的安装有Oracle数据库的服务器,各制票机均连接到该服务器运行。适用于多制票点及硬件和网络条件较好,且需要多制票机间共享数据的车站部署。
国际标准化组织(ISO)对计算机系统安全的定义:为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。数据安全有对立的3方面的含义 :(1)数据本身的安全,主要是指采用现代密码算法对数据进行主动保护,如数据保密、数据完整性、双向强身份认证等。(2)数据防护的安全,主要是采用现代信息存储手段对数据进行主动防护,数据安全是一种主动的包含措施,数据本身的安全必须基于可靠的加密算法与安全体系,主要是有对称算法与公开密钥密码体系两种。(3)数据存储的安全,主要是指数据库在系统运行之外的可读性,数据本身是否进行安全设计,例如:一个标准的ACCESS数据库,懂得一些基本方法的计算机人员,都可以打开阅读或修改。一旦数据库被盗,即使没有原来的系统程序,照样可以另外编写程序对盗取的数据库进行查看或修改。
(1)保密性:又称机密性,是指个人或团体的信息不为其他不应获得者获得。(2)完整性:数据完整性是信息安全的3个基本要点之一,指在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。(3)可用性:数据可用性是一种以使用者为中心的设计概念,易用性设计的重点在于让产品的设计能够符合使用者的习惯与需求。
本系统为运行在车站制票机上的桌面程序,为适应全路不同货运车站开发设计单机版和网络版系统。单机模式数据存储于本地嵌入式数据库,本系统采用的SQL Lite数据库。网络模式存储于Oracle数据库。
为保障数据的安全,同时兼顾系统开发难度,设计数据库中间层负责系统与数据的交互,保障数据的保密性、完整性、可用性。
2.3.1 单机版系统数据安全设计实现
(1)保密性:单机版系统采用开源嵌入式数据库Sq l Lite。为保障其保密性,在其源码基础上增加本系统信息,重新编译生成本系统能用的版本,使通用Sq l Lite驱动无法读取打开而实现数据文件的安全隐蔽。数据文件按数据属性随机分隔成多个文件,各文件间存在必要的逻辑校验,杜绝第三方软件或黑客盗取数据文件后还原数据。
(2)完整性、可用性:单机版系统数据库文件分散存储后,使数据完整、可用变得极为重要,如何还原数据、保障数据不被篡改,确保数据完整正确是系统正常运行的保障。数据库中间层的设计实现解决了数据的完整、可用。
单机模式下数据库中间层根据货运站杂费系统本地配置参数,打开对应的数据库文件,按照与杂费核收系统约定的一组数据访问接口实现数据的读、写、查。数据库中间层定义一组可能发生的返回情况,系统通过调用接口获得数据和执行返回值,通过执行返回值获知操作的成功与否。
单机版杂费核收系统、数据库中间层、逻辑数据库与物理存储如图1所示。
图1 单机版杂费核收系统、数据库中间层、逻辑数据库与物理存储
2.3.2 网络版系统数据安全设计实现
(1)保密性:网络版系统采用Oracle数据库。为保障其保密性,对数据库中重要数据库表、关键数据项进行加密处理,保障了数据的不可读、不可篡改。数据库用户系统设定规则,按照货运站创建,避免不同车站用相同用户名造成的数据库用户、口令被盗。
(2)完整性、可用性:网络版系统对数据库中重要数据库表、关键数据项进行加密处理,数据完整、可用变得极为重要,如何还原数据、保障数据不被篡改,确保数据完整正确是系统正常运行的保障。数据库中间层的设计实现解决了数据的完整、可用。
网络模式下数据库中间层会根据货运站杂费系统本地配置参数,连接到Oracle数据库,按照与杂费核收系统约定的一组数据访问接口实现数据的读、写、查。数据库中间层定义一组可能发生的返回情况,系统通过调用接口获得数据和执行返回值,通过执行返回值获知操作的成功与否。
网络版杂费核收系统、数据库中间层、逻辑数据库与物理存储如图2所示。
2.3.3 数据安全设计实现总结
图2 网络版杂费核收系统、数据库中间层、逻辑数据库与物理存储
因杂费核收系统的特殊要求与在货运运输中的地位,在数据源头,车站级软件进行的数据安全方面的设计是必要的。但是同时也为系统软件设计开发带了极大困难,数据库中间层的设计有效的解决了系统的复杂性,同时保障了数据安全性,但数据的加密存储、分散存储也为后续的数据应用带来的不便,在下一章节将介绍数据共享。
数据共享就是让在不同地方使用不同计算机、不同软件的用户能够读取他人数据并进行各种操作运算和分析。本系统的数据共享是车站级其它货运系统间的数据交互。因杂费核收系统处于运输的环节末端,与车站作业紧密相关,所以本系统的数据共享程度将直接影响整个货运系统运行。
车站级杂费核收系统按运行模式分为单机模式与网络模式,因数据库存储方式的区别,在设计数据共享方面也同时考虑到两种共享模式:文件方式数据共享与数据库方式数据共享。
本系统在保障数据机密性的前提下结合其它相关货运系统对杂费核收系统数据的需求,制定了相应共享等级,不同共享等级获得的数据不同,即:实现可控的数据共享。共享的实现通过数据库中间层来实现,共享等级与货运站、具体应用系统相关。共享的格式及数据项以文电方式发布通知各应用系统。
(1)文件方式数据共享,顾名思义该方式是以文件方式进行交互,文件的格式是在文电中定义好的,接收共享数据的应用系统在指定目录下按照自身共享级别及对应的文件格式解析共享数据。是否共享的开关在杂费核收系统中设置。
文件方式数据共享示意图如图3所示。
图3 文件方式数据共享示意图
(2)数据库方式数据共享,因系统运行模式的区别,该方式只适用于杂费核收系统的网络模式。该方式共享交互是在数据库中进行的,接收共享数据的应用系统需要到本系统指定的共享数据表中读取数据。共享数据单向不循环,修改后的数据不会写会杂费核收系统。接收共享数据的应用系统按照自身共享级别及对应的共享数据项在共享表中读取数据。不同共享级别的共享数据项不同。数据库方式数据共享示意图如4所示。
图4 数据库方式数据共享示意图
(3)数据共享设计实现总结,本系统数据共享按照事先约定的共享方式、共享程度做到了对数据进行有效可控的共享,根据不同货运站、应用系统控制共享级别既是数据安全的延伸又做到了灵活可控。数据共享与否的开关可以在杂费核收系统中设置,杂费核收系统运行中对数据的操作通过数据库中间层实时反映到共享数据表或数据文件中,为其他的货运系统提供及时、便捷、准确的数据支撑。
车站级杂费核收系统是整个站到站货运运输末端,一批运输的完结标志,对货运数据统计分析及组织、生产、运输起着重要的作用,同时又是杂费费用核收、补退款唯一手段,对保障铁路货运财务安全起着重要的作用。在数据源头车站级设计开发配套数据安全与共享机制是必要的。